static void dlg_resize_cb (void *data, void *user_data) { Dlg_head *d = data; (void) user_data; d->callback (d, NULL, DLG_RESIZE, 0, NULL); }
static void dlg_resize_cb (void *data, void *user_data) { Dlg_head *d = data; (void) user_data; if (d->state == DLG_ACTIVE) d->callback (d, NULL, DLG_RESIZE, 0, NULL); else d->winch_pending = TRUE; }
static cb_ret_t check_callback (Widget * w, widget_msg_t msg, int parm) { WCheck *c = (WCheck *) w; Dlg_head *h = c->widget.owner; switch (msg) { case WIDGET_HOTKEY: if (c->text.hotkey != NULL) { if (g_ascii_tolower ((gchar) c->text.hotkey[0]) == parm) { check_callback (w, WIDGET_KEY, ' '); /* make action */ return MSG_HANDLED; } } return MSG_NOT_HANDLED; case WIDGET_KEY: if (parm != ' ') return MSG_NOT_HANDLED; c->state ^= C_BOOL; c->state ^= C_CHANGE; h->callback (h, w, DLG_ACTION, 0, NULL); check_callback (w, WIDGET_FOCUS, ' '); return MSG_HANDLED; case WIDGET_CURSOR: widget_move (&c->widget, 0, 1); return MSG_HANDLED; case WIDGET_FOCUS: case WIDGET_UNFOCUS: case WIDGET_DRAW: widget_selectcolor (w, msg == WIDGET_FOCUS, FALSE); widget_move (&c->widget, 0, 0); tty_print_string ((c->state & C_BOOL) ? "[x] " : "[ ] "); hotkey_draw (w, c->text, msg == WIDGET_FOCUS); return MSG_HANDLED; case WIDGET_DESTROY: release_hotkey (c->text); return MSG_HANDLED; default: return default_proc (msg, parm); } }
static int button_event (Gpm_Event * event, void *data) { WButton *b = data; if ((event->type & (GPM_DOWN | GPM_UP)) != 0) { Dlg_head *h = b->widget.owner; dlg_select_widget (b); if ((event->type & GPM_UP) != 0) { button_callback (&b->widget, WIDGET_KEY, ' '); h->callback (h, &b->widget, DLG_POST_KEY, ' ', NULL); return MOU_NORMAL; } } return MOU_NORMAL; }