From: ornse01 Date: Sun, 6 May 2012 13:13:59 +0000 (+0000) Subject: fix text box menu event handling mistake. X-Git-Url: http://git.osdn.net/view?p=bbk%2Fbchanf.git;a=commitdiff_plain;h=e9d2aff402ab7ccf8707f40335861e208c4e0ed8 fix text box menu event handling mistake. git-svn-id: http://svn.sourceforge.jp/svnroot/bchan/bchanf/trunk@478 20a0b8eb-f62a-4a12-8fe1-b598822500fb --- diff --git a/src/tools/hmi_generator.rb b/src/tools/hmi_generator.rb index b50e7a1..b4ee6e0 100644 --- a/src/tools/hmi_generator.rb +++ b/src/tools/hmi_generator.rb @@ -443,8 +443,22 @@ LOCAL VOID <%= window_name %>_action<%= self.name() %>(<%= window_name %>_t *win i = cact_par(window-><%= self.name() %>.id, wev); if (i & 0x2000) { window-><%= self.name() %>.nextaction = True; - <%= window_name %>_setflag(window, <%= window_name.upcase %>_FLAG_PARTS_OTHEREVENT); - wugt_evt(wev); + switch (i) { + case P_MENU: + if ((wev->s.type == EV_KEYDWN)&&(wev->s.stat & ES_CMD)) { + evt->type = <%= main_name.upcase %>EVENT_TYPE_<%= window_name.upcase %>_PARTS_<%= self.name().upcase %>_KEYMENU; + evt->data.<%= window_name %>_<%= self.name() %>_keymenu.keycode = wev->e.data.key.code; + } else { + evt->type = <%= main_name.upcase %>EVENT_TYPE_<%= window_name.upcase %>_PARTS_<%= self.name().upcase %>_MENU; + evt->data.<%= window_name %>_<%= self.name() %>_menu.pos = wev->s.pos; + } + <%= window_name %>_setflag(window, <%= window_name.upcase %>_FLAG_PARTS_NEXTACTION); + break; + default: + wugt_evt(wev); + <%= window_name %>_setflag(window, <%= window_name.upcase %>_FLAG_PARTS_OTHEREVENT); + break; + } return; } window-><%= self.name() %>.nextaction = False; @@ -478,18 +492,6 @@ LOCAL VOID <%= window_name %>_action<%= self.name() %>(<%= window_name %>_t *win evt->data.<%= window_name %>_<%= self.name() %>_copy.rel_wid = wev->s.wid; evt->data.<%= window_name %>_<%= self.name() %>_copy.pos = wev->s.pos; break; - case P_MENU: - if ((wev->s.type == EV_KEYDWN)&&(wev->s.stat & ES_CMD)) { - evt->type = <%= main_name.upcase %>EVENT_TYPE_<%= window_name.upcase %>_PARTS_<%= self.name().upcase %>_KEYMENU; - evt->data.<%= window_name %>_<%= self.name() %>_keymenu.keycode = wev->e.data.key.code; - } else { - evt->type = <%= main_name.upcase %>EVENT_TYPE_<%= window_name.upcase %>_PARTS_<%= self.name().upcase %>_MENU; - evt->data.<%= window_name %>_<%= self.name() %>_menu.pos = wev->s.pos; - } - window-><%= self.name() %>.nextaction = True; - <%= window_name %>_setflag(window, <%= window_name.upcase %>_FLAG_PARTS_NEXTACTION); - wugt_evt(wev); - break; } }