X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Fedit_field.c;h=5ac096dcfb7b59aba8c1a9b3ab690d79a978128e;hp=d4fa7f765c851d8ecc944e84c482a0d0412924c4;hb=95a30fbbfc81d5eb0a76e139c86e0a6505cad871;hpb=55ccd2b959766810cf7db8d1c4462f338ce0afc8 diff --git a/test/edit_field.c b/test/edit_field.c index d4fa7f76..5ac096dc 100644 --- a/test/edit_field.c +++ b/test/edit_field.c @@ -1,5 +1,32 @@ +/**************************************************************************** + * Copyright (c) 2003-2006,2008 Free Software Foundation, Inc. * + * * + * Permission is hereby granted, free of charge, to any person obtaining a * + * copy of this software and associated documentation files (the * + * "Software"), to deal in the Software without restriction, including * + * without limitation the rights to use, copy, modify, merge, publish, * + * distribute, distribute with modifications, sublicense, and/or sell * + * copies of the Software, and to permit persons to whom the Software is * + * furnished to do so, subject to the following conditions: * + * * + * The above copyright notice and this permission notice shall be included * + * in all copies or substantial portions of the Software. * + * * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * + * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * + * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * + * * + * Except as contained in this notice, the name(s) of the above copyright * + * holders shall not be used in advertising or otherwise to promote the * + * sale, use or other dealings in this Software without prior written * + * authorization. * + ****************************************************************************/ /* - * $Id: edit_field.c,v 1.11 2005/10/01 16:21:55 tom Exp $ + * $Id: edit_field.c,v 1.15 2008/12/20 19:23:01 tom Exp $ * * A wrapper for form_driver() which keeps track of the user's editing changes * for each field, and makes the result available as a null-terminated string @@ -264,13 +291,19 @@ offset_in_field(FORM * form) return form->curcol + form->currow * field->dcols; } +static void +inactive_field(FIELD * f) +{ + FieldAttrs *ptr = (FieldAttrs *) field_userptr(f); + set_field_back(f, ptr->background); +} + int edit_field(FORM * form, int *result) { int ch = wgetch(form_win(form)); int status; FIELD *before; - FIELD *after; unsigned n; char lengths[80]; int length; @@ -284,7 +317,7 @@ edit_field(FORM * form, int *result) if (ch <= KEY_MAX) { set_field_back(before, A_REVERSE); } else if (ch <= MAX_FORM_COMMAND) { - set_field_back(before, A_UNDERLINE); + inactive_field(before); } *result = ch; @@ -412,8 +445,8 @@ edit_field(FORM * form, int *result) set_field_buffer(before, 1, lengths); } - if ((after = current_field(form)) != before) - set_field_back(before, A_UNDERLINE); + if (current_field(form) != before) + inactive_field(before); return status; } #else