diff --git a/150_gfui/src/gplx/gfui/ipts/IptKey_.java b/150_gfui/src/gplx/gfui/ipts/IptKey_.java index 41a35ece8..7445f2460 100644 --- a/150_gfui/src/gplx/gfui/ipts/IptKey_.java +++ b/150_gfui/src/gplx/gfui/ipts/IptKey_.java @@ -113,9 +113,9 @@ public class IptKey_ { , Numpad_decimal = new_(KeyEvent.VK_DECIMAL, "numpad_decimal") , Numpad_divide = new_(KeyEvent.VK_DIVIDE, "numpad_divide") // NOTE: mapping numpad_enter to enter b/c don't want to define two sets of enters for every binding - , Numpad_enter = new_(KeyEvent.VK_ENTER, "numpad_enter") + //, Numpad_enter = new_(KeyEvent.VK_ENTER, "numpad_enter") // NOTE: using same value as SWT; SWING value is not available - // , Numpad_enter = new_(16777296, "numpad_enter") + , Numpad_enter = new_(16777296, "numpad_enter") // function keys; not supporting f13-f24 b/c only for IBM 3270 keyboards and can't test; also, note that codes differ between .net and swing , F1 = new_(KeyEvent.VK_F1, "f1") @@ -209,7 +209,7 @@ public class IptKey_ { , IptKey_.Numpad_0, IptKey_.Numpad_1, IptKey_.Numpad_2, IptKey_.Numpad_3, IptKey_.Numpad_4 , IptKey_.Numpad_5, IptKey_.Numpad_6, IptKey_.Numpad_7, IptKey_.Numpad_8, IptKey_.Numpad_9 , IptKey_.Numpad_multiply, IptKey_.Numpad_add, IptKey_.Numpad_subtract, IptKey_.Numpad_decimal, IptKey_.Numpad_divide - // , IptKey_.Numpad_enter + , IptKey_.Numpad_enter ); } return ui_str_hash; diff --git a/150_gfui/src/gplx/gfui/kits/swts/Swt_core_lnrs.java b/150_gfui/src/gplx/gfui/kits/swts/Swt_core_lnrs.java index 37e908833..3a9813bb7 100644 --- a/150_gfui/src/gplx/gfui/kits/swts/Swt_core_lnrs.java +++ b/150_gfui/src/gplx/gfui/kits/swts/Swt_core_lnrs.java @@ -92,27 +92,47 @@ class Swt_lnr_key implements KeyListener { case Byte_ascii.Ltr_u: case Byte_ascii.Ltr_v: case Byte_ascii.Ltr_w: case Byte_ascii.Ltr_x: case Byte_ascii.Ltr_y: case Byte_ascii.Ltr_z: val -= 32; break; - - // numpad numbers - case SWT.KEYPAD_0: val = IptKey_.Numpad_0.Val(); break; - case SWT.KEYPAD_1: val = IptKey_.Numpad_1.Val(); break; - case SWT.KEYPAD_2: val = IptKey_.Numpad_2.Val(); break; - case SWT.KEYPAD_3: val = IptKey_.Numpad_3.Val(); break; - case SWT.KEYPAD_4: val = IptKey_.Numpad_4.Val(); break; - case SWT.KEYPAD_5: val = IptKey_.Numpad_5.Val(); break; - case SWT.KEYPAD_6: val = IptKey_.Numpad_6.Val(); break; - case SWT.KEYPAD_7: val = IptKey_.Numpad_7.Val(); break; - case SWT.KEYPAD_8: val = IptKey_.Numpad_8.Val(); break; - case SWT.KEYPAD_9: val = IptKey_.Numpad_9.Val(); break; - // symbols; extended + // // numpad numbers + // case SWT.KEYPAD_0: val = IptKey_.Numpad_0.Val(); break; + // case SWT.KEYPAD_1: val = IptKey_.Numpad_1.Val(); break; + // case SWT.KEYPAD_2: val = IptKey_.Numpad_2.Val(); break; + // case SWT.KEYPAD_3: val = IptKey_.Numpad_3.Val(); break; + // case SWT.KEYPAD_4: val = IptKey_.Numpad_4.Val(); break; + // case SWT.KEYPAD_5: val = IptKey_.Numpad_5.Val(); break; + // case SWT.KEYPAD_6: val = IptKey_.Numpad_6.Val(); break; + // case SWT.KEYPAD_7: val = IptKey_.Numpad_7.Val(); break; + // case SWT.KEYPAD_8: val = IptKey_.Numpad_8.Val(); break; + // case SWT.KEYPAD_9: val = IptKey_.Numpad_9.Val(); break; + // + // // numpad symbols + // case SWT.KEYPAD_MULTIPLY: val = IptKey_.Numpad_multiply.Val(); break; + // case SWT.KEYPAD_ADD: val = IptKey_.Numpad_add.Val(); break; + // case SWT.KEYPAD_SUBTRACT: val = IptKey_.Numpad_subtract.Val(); break; + // case SWT.KEYPAD_DECIMAL: val = IptKey_.Numpad_decimal.Val(); break; + // case SWT.KEYPAD_DIVIDE: val = IptKey_.Numpad_divide.Val(); break; + // case SWT.KEYPAD_CR: val = IptKey_.Numpad_enter.Val(); break; + + // numpad numbers + case SWT.KEYPAD_0: val = IptKey_.D0.Val(); break; + case SWT.KEYPAD_1: val = IptKey_.D1.Val(); break; + case SWT.KEYPAD_2: val = IptKey_.D2.Val(); break; + case SWT.KEYPAD_3: val = IptKey_.D3.Val(); break; + case SWT.KEYPAD_4: val = IptKey_.D4.Val(); break; + case SWT.KEYPAD_5: val = IptKey_.D5.Val(); break; + case SWT.KEYPAD_6: val = IptKey_.D6.Val(); break; + case SWT.KEYPAD_7: val = IptKey_.D7.Val(); break; + case SWT.KEYPAD_8: val = IptKey_.D8.Val(); break; + case SWT.KEYPAD_9: val = IptKey_.D9.Val(); break; + + // numpad symbols case SWT.KEYPAD_MULTIPLY: val = IptKey_.Numpad_multiply.Val(); break; - case SWT.KEYPAD_ADD: val = IptKey_.Numpad_add.Val(); break; - case SWT.KEYPAD_SUBTRACT: val = IptKey_.Numpad_subtract.Val(); break; - case SWT.KEYPAD_DECIMAL: val = IptKey_.Numpad_decimal.Val(); break; + case SWT.KEYPAD_ADD: val = IptKey_.Equal.Val(); break; + case SWT.KEYPAD_SUBTRACT: val = IptKey_.Minus.Val(); break; + case SWT.KEYPAD_DECIMAL: val = IptKey_.Period.Val(); break; case SWT.KEYPAD_DIVIDE: val = IptKey_.Numpad_divide.Val(); break; case SWT.KEYPAD_CR: val = IptKey_.Enter.Val(); break; - + // function keys case SWT.F1: val = IptKey_.F1.Val(); break; case SWT.F2: val = IptKey_.F2.Val(); break; diff --git a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java index 1c14fb2f2..90144dc0c 100644 --- a/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java +++ b/400_xowa/src/gplx/gfui/Gfui_bnd_parser.java @@ -206,7 +206,6 @@ public class Gfui_bnd_parser { Init_itm("key.tab", "Tab"); Init_itm("key.clear", "Clear"); Init_itm("key.enter", "Enter"); - Init_itm("key.keypad_enter", "Keypad Enter"); Init_itm("key.shiftKey", "ShiftKey"); Init_itm("key.ctrlKey", "CtrlKey"); Init_itm("key.altKey", "AltKey"); @@ -256,7 +255,7 @@ public class Gfui_bnd_parser { Init_itm("key.numpad_subtract", "Numpad Subtract"); Init_itm("key.numpad_decimal", "Numpad Decimal"); Init_itm("key.numpad_divide", "Numpad Divide"); - // Init_itm("key.numpad_enter", "Numpad Enter"); + Init_itm("key.numpad_enter", "Numpad Enter"); return this; } private void Init_itm(String gfui, String norm) {Init_itm(Gfui_bnd_tkn.Tid_key, gfui, norm);} diff --git a/400_xowa/src/gplx/gfui/Gfui_bnd_parser_tst.java b/400_xowa/src/gplx/gfui/Gfui_bnd_parser_tst.java index f928d063f..965fd753e 100644 --- a/400_xowa/src/gplx/gfui/Gfui_bnd_parser_tst.java +++ b/400_xowa/src/gplx/gfui/Gfui_bnd_parser_tst.java @@ -42,8 +42,8 @@ public class Gfui_bnd_parser_tst { fxt.Test__to_gfui("Ctrl + Alt + Shift + A" , "mod.cas+key.a"); } @Test public void Keypad_enter() { - fxt.Test__to_norm("key.keypad_enter" , "Keypad Enter"); - fxt.Test__to_norm("mod.c+key.keypad_enter" , "Ctrl + Keypad Enter"); + fxt.Test__to_norm("key.numpad_enter" , "Numpad Enter"); + fxt.Test__to_norm("mod.c+key.numpad_enter" , "Ctrl + Numpad Enter"); } @Test public void None() { fxt.Test__to_gfui("None" , "key.none"); diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java index 02e927ea2..ffd92f232 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/objs/Xoedit_itm_html.java @@ -18,6 +18,7 @@ along with this program. If not, see . package gplx.xowa.addons.apps.cfgs.specials.edits.objs; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.apps.*; import gplx.xowa.addons.apps.cfgs.*; import gplx.xowa.addons.apps.cfgs.specials.*; import gplx.xowa.addons.apps.cfgs.specials.edits.*; import gplx.xowa.addons.apps.cfgs.enums.*; import gplx.xowa.addons.apps.cfgs.mgrs.types.*; +import gplx.xowa.guis.bnds.*; public class Xoedit_itm_html { public static void Build_html(Bry_bfr bfr, Xocfg_type_mgr type_mgr, String key, String name, String type, String html_atrs, String html_cls, byte[] val) { // prepend space for html insertion; EX: "type='checkbox'{1}>" with "a=b" -> "type='checkbox' a='b'" x> "type='checkbox'a='b'" @@ -25,6 +26,7 @@ public class Xoedit_itm_html { if (String_.Len_gt_0(html_cls)) html_cls = " " + html_cls; // build html + bfr.Add_byte_nl(); switch (Xoitm_type_enum.To_uid(type)) { case Xoitm_type_enum.Tid__bool: bfr.Add_str_u8_fmt @@ -71,22 +73,42 @@ public class Xoedit_itm_html { case Xoitm_type_enum.Tid__io_cmd: String[] lines = Xocfg_mgr.Parse_io_cmd(String_.new_u8(val)); bfr.Add_str_u8_fmt - ( "\n" + ( "\n" + "
\n" , type, html_atrs, html_cls, key, lines[0]); bfr.Add_str_u8_fmt - ( "\n" + ( "\n" , type, html_atrs, html_cls, key, lines[1]); break; - case Xoitm_type_enum.Tid__gui_binding: + case Xoitm_type_enum.Tid__gui_binding: { String[] flds = Xoitm_gui_binding.To_gui(String_.new_u8(val)); +// bfr.Add_str_u8_fmt +// ( "\n" +// , type, html_atrs, html_cls, key, flds[0]); bfr.Add_str_u8_fmt - ( "\n" + ( "\n"); bfr.Add_str_u8_fmt - ( "\n" + ( "\n" , type, html_atrs, html_cls, key, flds[1]); + bfr.Add_str_u8_fmt + ( " \n" + , type, html_atrs, html_cls, key, name); break; + } case Xoitm_type_enum.Tid__btn: bfr.Add_str_u8_fmt ( "" diff --git a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_svc.java b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_svc.java index 68859910d..b22cb3ebb 100644 --- a/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_svc.java +++ b/400_xowa/src/gplx/xowa/addons/apps/cfgs/specials/edits/services/Xocfg_edit_svc.java @@ -40,14 +40,18 @@ public class Xocfg_edit_svc { try { app.Cfg().Set_str(ctx, key, val); } catch (Exception exc) { - app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__fail", Gfobj_nde.New().Add_str("key", key).Add_str("new_val", val).Add_str("old_val", grp.Get(ctx)).Add_str("err", Err_.Message_lang(exc))); + app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__fail", Gfobj_nde.New().Add_str("key", key).Add_str("new_val", args.Get_as_str("val")).Add_str("old_val", grp.Get(ctx)).Add_str("err", Err_.Message_lang(exc))); return; } - if (!String_.Eq(type, "btn") && String_.Eq(grp.Dflt(), val)) - app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.delete__recv", Gfobj_nde.New().Add_str("key", key).Add_str("val", val).Add_str("type", type)); + if (!String_.Eq(type, "btn") && String_.Eq(grp.Dflt(), val)) { + if (String_.Has_at_bgn(type, "gui.binding")) { + val = String_.Concat_with_str("|", gplx.xowa.addons.apps.cfgs.enums.Xoitm_gui_binding.To_gui(val)); + } + app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.delete__recv", Gfobj_nde.New().Add_str("key", key).Add_str("type", type).Add_str("val", val)); + } else - app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__pass", Gfobj_nde.New().Add_str("key", key).Add_str("val", val).Add_str("type", type)); + app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.update__pass", Gfobj_nde.New().Add_str("key", key).Add_str("type", type)); } public void Delete(Json_nde args) { String ctx = args.Get_as_str("ctx"); diff --git a/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java b/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java index ee294df17..e84a89601 100644 --- a/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java +++ b/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_mgr.java @@ -25,7 +25,6 @@ public class Xog_bnd_mgr implements Gfo_invk { private List_adp startup_itms = List_adp_.New(); private Ordered_hash regy = Ordered_hash_.New(); public Xog_bnd_mgr(Xog_win_itm win) {this.win = win; invk_mgr = win.Gui_mgr().Cmd_mgr().Invk_mgr();} - public Gfui_bnd_parser Bnd_parser() {if (bnd_parser == null) bnd_parser = Gfui_bnd_parser.new_en_(); return bnd_parser;} private Gfui_bnd_parser bnd_parser; public int Len() {return regy.Count();} public Xog_bnd_itm Get_at(int i) {return (Xog_bnd_itm)regy.Get_at(i);} public Xog_bnd_itm Get_or_null(String v) {return (Xog_bnd_itm)regy.Get_by(v);} @@ -88,16 +87,12 @@ public class Xog_bnd_mgr implements Gfo_invk { , "xowa.gui.shortcuts.xowa.gui.browser.url.focus-1" , "xowa.gui.shortcuts.xowa.gui.browser.url.focus-2" , "xowa.gui.shortcuts.xowa.gui.browser.url.exec-1" - , "xowa.gui.shortcuts.xowa.gui.browser.url.exec-2" , "xowa.gui.shortcuts.xowa.gui.browser.url.exec_by_paste-1" , "xowa.gui.shortcuts.xowa.gui.browser.url.exec_by_paste-2" - , "xowa.gui.shortcuts.xowa.gui.browser.url.exec_by_paste-3" , "xowa.gui.shortcuts.xowa.gui.browser.url.exec_new_tab_by_paste-1" - , "xowa.gui.shortcuts.xowa.gui.browser.url.exec_new_tab_by_paste-2" , "xowa.gui.shortcuts.xowa.gui.browser.url.restore-1" , "xowa.gui.shortcuts.xowa.gui.browser.search.focus-1" , "xowa.gui.shortcuts.xowa.gui.browser.search.exec-1" - , "xowa.gui.shortcuts.xowa.gui.browser.search.exec-2" , "xowa.gui.shortcuts.xowa.gui.browser.html.focus-1" , "xowa.gui.shortcuts.xowa.gui.browser.html.focus-2" , "xowa.gui.shortcuts.xowa.gui.browser.html.focus-3" @@ -107,7 +102,6 @@ public class Xog_bnd_mgr implements Gfo_invk { , "xowa.gui.shortcuts.xowa.gui.browser.find.show_by_paste-1" , "xowa.gui.shortcuts.xowa.gui.browser.find.hide-1" , "xowa.gui.shortcuts.xowa.gui.browser.find.exec-1" - , "xowa.gui.shortcuts.xowa.gui.browser.find.exec-2" , "xowa.gui.shortcuts.xowa.gui.browser.find.find_fwd-1" , "xowa.gui.shortcuts.xowa.gui.browser.find.find_bwd-1" , "xowa.gui.shortcuts.xowa.gui.browser.find.case_toggle-1" @@ -269,12 +263,12 @@ public class Xog_bnd_mgr implements Gfo_invk { Init_itm(Xog_cmd_itm_.Key_gui_edit_dbg_html , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.h"); Init_itm(Xog_cmd_itm_.Key_gui_edit_exec , Xog_bnd_box_.Tid_browser , "mod.c+key.e,mod.c+key.g"); Init_itm(Xog_cmd_itm_.Key_gui_browser_url_focus , Xog_bnd_box_.Tid_browser , "mod.a+key.d", "mod.c+key.l"); - Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec , Xog_bnd_box_.Tid_browser_url , "key.enter", "key.keypad_enter"); - Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_new_tab_by_paste , Xog_bnd_box_.Tid_browser_url , "mod.c+key.enter", "mod.c+key.keypad_enter"); - Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_by_paste , Xog_bnd_box_.Tid_browser_url , "mouse.middle", "mod.a+key.enter", "mod.a+key.keypad_enter"); + Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec , Xog_bnd_box_.Tid_browser_url , "key.enter"); + Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_new_tab_by_paste , Xog_bnd_box_.Tid_browser_url , "mod.c+key.enter"); + Init_itm(Xog_cmd_itm_.Key_gui_browser_url_exec_by_paste , Xog_bnd_box_.Tid_browser_url , "mouse.middle", "mod.a+key.enter"); Init_itm(Xog_cmd_itm_.Key_gui_browser_url_restore , Xog_bnd_box_.Tid_browser_url , "mod.c+key.u"); Init_itm(Xog_cmd_itm_.Key_gui_browser_search_focus , Xog_bnd_box_.Tid_browser , "mod.ca+key.s"); - Init_itm(Xog_cmd_itm_.Key_gui_browser_search_exec , Xog_bnd_box_.Tid_browser_search , "key.enter", "key.keypad_enter"); + Init_itm(Xog_cmd_itm_.Key_gui_browser_search_exec , Xog_bnd_box_.Tid_browser_search , "key.enter"); Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_dflt__at_dflt__focus_y , Xog_bnd_box_.Tid_browser , "mod.c+key.t"); Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_link__at_dflt__focus_n , Xog_bnd_box_.Tid_browser_html , "mouse.middle"); Init_itm(Xog_cmd_itm_.Key_gui_browser_tabs_new_href__at_dflt__focus_y , Xog_bnd_box_.Tid_browser , "mod.c+key.g,mod.c+key.f"); @@ -305,7 +299,7 @@ public class Xog_bnd_mgr implements Gfo_invk { Init_itm(Xog_cmd_itm_.Key_gui_browser_find_show , Xog_bnd_box_.Tid_browser , "mod.c+key.f"); Init_itm(Xog_cmd_itm_.Key_gui_browser_find_show_by_paste , Xog_bnd_box_.Tid_browser , ""); Init_itm(Xog_cmd_itm_.Key_gui_browser_find_hide , Xog_bnd_box_.Tid_browser_find , "key.escape"); - Init_itm(Xog_cmd_itm_.Key_gui_browser_find_exec , Xog_bnd_box_.Tid_browser_find , "key.enter", "key.keypad_enter"); + Init_itm(Xog_cmd_itm_.Key_gui_browser_find_exec , Xog_bnd_box_.Tid_browser_find , "key.enter"); Init_itm(Xog_cmd_itm_.Key_gui_browser_find_find_fwd , Xog_bnd_box_.Tid_browser_find , "mod.a+key.n"); Init_itm(Xog_cmd_itm_.Key_gui_browser_find_find_bwd , Xog_bnd_box_.Tid_browser_find , "mod.a+key.p"); Init_itm(Xog_cmd_itm_.Key_gui_browser_find_case_toggle , Xog_bnd_box_.Tid_browser_find , "mod.a+key.c"); @@ -372,7 +366,8 @@ public class Xog_bnd_mgr implements Gfo_invk { public Object Invk(GfsCtx ctx, int ikey, String k, GfoMsg m) { if (String_.Eq(k, Run__show_remap_win)) { Xog_bnd_win win = new Xog_bnd_win(); - win.Show(app, app.Gui_mgr().Kit(), app.Gui_mgr().Browser_win().Win_box(), this.Bnd_parser(), "", ""); + String[] args = m.ReadStrAry("v", "\n"); + win.Show(app, app.Gui_mgr().Kit(), app.Gui_mgr().Browser_win().Win_box(), args[0], args[1], args[2]); } else { String[] flds = gplx.xowa.addons.apps.cfgs.enums.Xoitm_gui_binding.To_ary(m.ReadStr("v")); diff --git a/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_win.java b/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_win.java index 4ca67b1f1..335fac2b9 100644 --- a/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_win.java +++ b/400_xowa/src/gplx/xowa/guis/bnds/Xog_bnd_win.java @@ -22,14 +22,15 @@ public class Xog_bnd_win implements Gfo_invk { private GfuiWin win; private GfuiTextBox shortcut_txt, binding_txt, keycode_txt; private GfuiBtn ok_btn, cxl_btn; - private Gfui_bnd_parser bnd_parser; + private Gfui_bnd_parser bnd_parser = Gfui_bnd_parser.new_en_(); private Xoa_app app; - public void Show(Xoa_app app, Gfui_kit kit, GfuiWin owner_win, Gfui_bnd_parser bnd_parser, String shortcut_text, String binding_text) { + private String key_text; + public void Show(Xoa_app app, Gfui_kit kit, GfuiWin owner_win, String key_text, String shortcut_text, String binding_text) { this.app = app; + this.key_text = key_text; // create controls this.win = kit.New_win_utl("shortcut_win", owner_win); win.BackColor_(ColorAdp_.White).Size_(240, 140); - this.bnd_parser = bnd_parser; GfuiLbl shortcut_lbl = Make_lbl(kit, win, "shortcut_lbl" , "Shortcut:"); GfuiLbl binding_lbl = Make_lbl(kit, win, "binding_lbl" , "Binding:"); GfuiLbl keycode_lbl = Make_lbl(kit, win, "keycode_lbl" , "Keycode:"); @@ -38,17 +39,20 @@ public class Xog_bnd_win implements Gfo_invk { this.keycode_txt = Make_txt(kit, win, "keycode_txt" , ""); this.ok_btn = Make_btn(kit, win, "ok_btn" , "Ok"); this.cxl_btn = Make_btn(kit, win, "cxl_btn" , "Cancel"); + // layout controls Layout( 0, shortcut_lbl , shortcut_txt); Layout(20, binding_lbl , binding_txt); Layout(40, keycode_lbl , keycode_txt); ok_btn.Pos_(110, 70); cxl_btn.Pos_(150, 70); + // hookup events IptCfg null_cfg = IptCfg_.Null; IptEventType btn_event_type = IptEventType_.add_(IptEventType_.MouseDown, IptEventType_.KeyDown); IptArg[] btn_args = IptArg_.Ary(IptMouseBtn_.Left, IptKey_.Enter, IptKey_.Space); IptBnd_.ipt_to_(null_cfg , binding_txt , this, Invk_when_key_down , IptEventType_.KeyDown, IptArg_.Wildcard); IptBnd_.ipt_to_(null_cfg , binding_txt , this, Invk_when_key_up , IptEventType_.KeyUp, IptArg_.Wildcard); IptBnd_.ipt_to_(null_cfg , ok_btn , this, "when_ok" , btn_event_type, btn_args); IptBnd_.ipt_to_(null_cfg , cxl_btn , this, "when_cxl" , btn_event_type, btn_args); + // open win.Pos_(SizeAdp_.center_(ScreenAdp_.Primary.Size(), win.Size())); win.Show(); @@ -86,7 +90,8 @@ public class Xog_bnd_win implements Gfo_invk { else if (ctx.Match(k, Invk_when_key_press)) When_key_up(m); else if (ctx.Match(k, Invk_when_key_up)) When_key_up(m); else if (ctx.Match(k, Invk_when_ok)) { - app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.gui_binding__remap_recv", gplx.core.gfobjs.Gfobj_nde.New().Add_str("bnd", binding_txt.Text())); + app.Gui__cbk_mgr().Send_json(cbk_trg, "xo.cfg_edit.gui_binding__remap_recv" + , gplx.core.gfobjs.Gfobj_nde.New().Add_str("key", key_text).Add_str("bnd", binding_txt.Text())); win.Close(); } else if (ctx.Match(k, Invk_when_cxl)) {win.Close();}