From f4ae9090f4cb7308d76d08fd2d30d9b2859bff04 Mon Sep 17 00:00:00 2001 From: Paul Richards Date: Wed, 11 Jan 1995 06:08:45 +0000 Subject: [PATCH] Added emacs ^A,^E,^B & ^F keybindings to field editor. Changed a constant to a sizeof in test.c --- lib/libforms/examples/test.c | 2 +- lib/libforms/forms.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/libforms/examples/test.c b/lib/libforms/examples/test.c index 8725c2b17c1..d58735491b8 100644 --- a/lib/libforms/examples/test.c +++ b/lib/libforms/examples/test.c @@ -35,7 +35,7 @@ main() struct text_field field4 = {string4}; struct input_field field5 = {1,"A place filler",0}; struct text_field field6 = {string6}; - struct menu_field field7 = {4, 0, options7}; + struct menu_field field7 = {sizeof &options7, 0, options7}; struct action_field field8 = {"EXIT",&exit_form}; struct action_field field9 = {"CANCEL",&cancel_form}; diff --git a/lib/libforms/forms.c b/lib/libforms/forms.c index c865b34d94c..72dd90ff048 100644 --- a/lib/libforms/forms.c +++ b/lib/libforms/forms.c @@ -101,6 +101,8 @@ int update_form(struct form *form) { + show_form(form); + switch (form->field[form->current_field].type) { case F_MENU: field_menu(form); @@ -115,8 +117,6 @@ update_form(struct form *form) default: } - show_form(form); - return (done); } @@ -379,11 +379,11 @@ field_input(struct form *form) if (field->field.input->lbl_flag) { field->field.input->lbl_flag = 0; } - if (ch == F_CHOME) { + if ((ch == F_CHOME) || (ch == '')) { disp_off = 0; cursor = 0; abspos = 0; - } else if (ch == F_CEND) { + } else if ((ch == F_CEND) || (ch == '')) { disp_off = DISPOFF; abspos = len; cursor = CURSPOS; @@ -396,7 +396,7 @@ field_input(struct form *form) len - abspos); --len; } - } else if ((ch == F_CLEFT) || (ch == F_CBS)) { + } else if ((ch == F_CLEFT) || (ch == F_CBS) || (ch == '')) { if (!abspos) beep(); else { @@ -413,7 +413,7 @@ field_input(struct form *form) ++cursor; } } - } else if (ch == F_CRIGHT) { + } else if ((ch == F_CRIGHT) || (ch == '')) { if (abspos == len) beep(); else {