From: ewt Date: Tue, 16 Apr 1996 22:14:06 +0000 (+0000) Subject: ignores all EARLY and LATE events X-Git-Tag: 0-1~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1a075d93a98598cdc0c79ad0c061fad30513431;p=thirdparty%2Fnewt.git ignores all EARLY and LATE events --- diff --git a/button.c b/button.c index f29c30c..b1aaa27 100644 --- a/button.c +++ b/button.c @@ -96,32 +96,35 @@ static struct eventResult buttonEvent(struct newtComponent * co, struct event ev) { struct eventResult er; - switch (ev.event) { - case EV_FOCUS: - buttonDrawIt(co, 1, 0); - er.result = ER_SWALLOWED; - break; - - case EV_UNFOCUS: - buttonDrawIt(co, 0, 0); - er.result = ER_SWALLOWED; - break; - - case EV_KEYPRESS: - if (ev.u.key == ' ' || ev.u.key == '\r') { - /* look pushed */ - buttonDrawIt(co, 1, 1); - newtRefresh(); - newtDelay(300000); + if (ev.when == EV_NORMAL) { + switch (ev.event) { + case EV_FOCUS: buttonDrawIt(co, 1, 0); - newtRefresh(); - newtDelay(300000); - - er.result = ER_EXITFORM; - } else - er.result = ER_IGNORED; - break; - } - - return er; + er.result = ER_SWALLOWED; + break; + + case EV_UNFOCUS: + buttonDrawIt(co, 0, 0); + er.result = ER_SWALLOWED; + break; + + case EV_KEYPRESS: + if (ev.u.key == ' ' || ev.u.key == '\r') { + /* look pushed */ + buttonDrawIt(co, 1, 1); + newtRefresh(); + newtDelay(300000); + buttonDrawIt(co, 1, 0); + newtRefresh(); + newtDelay(300000); + + er.result = ER_EXITFORM; + } else + er.result = ER_IGNORED; + break; + } + } else + er.result = ER_IGNORED; + + return er; } diff --git a/checkbox.c b/checkbox.c index b728a32..0cb912f 100644 --- a/checkbox.c +++ b/checkbox.c @@ -159,47 +159,50 @@ struct eventResult cbEvent(struct newtComponent * co, struct event ev) { struct eventResult er; char * cur; - switch (ev.event) { - case EV_FOCUS: - if (cb->type == LISTITEM) - makeActive(co); - else - cbDrawIt(co, 1); - - er.result = ER_SWALLOWED; - break; - - case EV_UNFOCUS: - cbDrawIt(co, 0); - er.result = ER_SWALLOWED; - break; - - case EV_KEYPRESS: - if (ev.u.key == ' ' || ev.u.key == '\r') { - if (cb->type == RADIO) { + if (ev.when == EV_NORMAL) { + switch (ev.event) { + case EV_FOCUS: + if (cb->type == LISTITEM) makeActive(co); - } else if (cb->type == CHECK) { - cur = strchr(cb->seq, *cb->result); - if (!cur) - *cb->result = *cb->seq; - else { - cur++; - if (! *cur) + else + cbDrawIt(co, 1); + + er.result = ER_SWALLOWED; + break; + + case EV_UNFOCUS: + cbDrawIt(co, 0); + er.result = ER_SWALLOWED; + break; + + case EV_KEYPRESS: + if (ev.u.key == ' ' || ev.u.key == '\r') { + if (cb->type == RADIO) { + makeActive(co); + } else if (cb->type == CHECK) { + cur = strchr(cb->seq, *cb->result); + if (!cur) *cb->result = *cb->seq; - else - *cb->result = *cur; + else { + cur++; + if (! *cur) + *cb->result = *cb->seq; + else + *cb->result = *cur; + } + cbDrawIt(co, 1); + er.result = ER_SWALLOWED; + } else { + er.result = ER_IGNORED; } - cbDrawIt(co, 1); - er.result = ER_SWALLOWED; } else { er.result = ER_IGNORED; } - } else { - er.result = ER_IGNORED; } - } + } else + er.result = ER_IGNORED; - return er; + return er; } static void makeActive(newtComponent co) { diff --git a/entry.c b/entry.c index 799f526..9e9f9fa 100644 --- a/entry.c +++ b/entry.c @@ -126,23 +126,27 @@ static struct eventResult entryEvent(struct newtComponent * co, struct entry * en = co->data; struct eventResult er; - switch (ev.event) { - case EV_FOCUS: - /*SLtt_set_cursor_visibility(0);*/ - newtGotorc(co->top, co->left + (en->cursorPosition - en->firstChar)); - er.result = ER_SWALLOWED; - break; - - case EV_UNFOCUS: - /*SLtt_set_cursor_visibility(1);*/ - newtGotorc(0, 0); - er.result = ER_SWALLOWED; - break; - - case EV_KEYPRESS: - er = entryHandleKey(co, ev.u.key); - break; - } + if (ev.when == EV_NORMAL) { + switch (ev.event) { + case EV_FOCUS: + /*SLtt_set_cursor_visibility(0);*/ + newtGotorc(co->top, co->left + + (en->cursorPosition - en->firstChar)); + er.result = ER_SWALLOWED; + break; + + case EV_UNFOCUS: + /*SLtt_set_cursor_visibility(1);*/ + newtGotorc(0, 0); + er.result = ER_SWALLOWED; + break; + + case EV_KEYPRESS: + er = entryHandleKey(co, ev.u.key); + break; + } + } else + er.result = ER_IGNORED; return er; } @@ -249,7 +253,7 @@ static struct eventResult entryHandleKey(struct newtComponent * co, int key) { } else { er.result = ER_IGNORED; } - } + } entryDraw(co);