X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fmenu%2FTMenu.java;h=6dfb5fcfabe71f2f1d961572c0a877045b0e85a2;hb=efb7af1f330223bfe9ac67112149d7a3f1b68421;hp=99add703c18fe2d9e59d241bb325b549c16638f1;hpb=8582f35a3ffb8212463076217eb89278f42331d4;p=fanfix.git diff --git a/src/jexer/menu/TMenu.java b/src/jexer/menu/TMenu.java index 99add70..6dfb5fc 100644 --- a/src/jexer/menu/TMenu.java +++ b/src/jexer/menu/TMenu.java @@ -309,18 +309,15 @@ public final class TMenu extends TWindow { } /** - * Convenience function to add a custom menu item. + * Convenience function to add a menu item. * * @param id menu item ID. Must be greater than 1024. * @param label menu item label - * @param key global keyboard accelerator * @return the new menu item */ - public final TMenuItem addItem(final int id, final String label, - final TKeypress key) { - + public final TMenuItem addItem(final int id, final String label) { assert (id >= 1024); - return addItemInternal(id, label, key); + return addItemInternal(id, label, null); } /** @@ -331,51 +328,29 @@ public final class TMenu extends TWindow { * @param key global keyboard accelerator * @return the new menu item */ - private TMenuItem addItemInternal(final int id, final String label, + public final TMenuItem addItem(final int id, final String label, final TKeypress key) { - int newY = getChildren().size() + 1; - assert (newY < getHeight()); - - TMenuItem menuItem = new TMenuItem(this, id, 1, newY, label); - menuItem.setKey(key); - setHeight(getHeight() + 1); - if (menuItem.getWidth() + 2 > getWidth()) { - setWidth(menuItem.getWidth() + 2); - } - for (TWidget widget: getChildren()) { - widget.setWidth(getWidth() - 2); - } - getApplication().addAccelerator(menuItem, key.toLowerCase()); - getApplication().recomputeMenuX(); - activate(0); - return menuItem; + assert (id >= 1024); + return addItemInternal(id, label, key); } /** - * Convenience function to add a menu item. + * Convenience function to add a custom menu item. * * @param id menu item ID. Must be greater than 1024. * @param label menu item label + * @param key global keyboard accelerator * @return the new menu item */ - public final TMenuItem addItem(final int id, final String label) { - assert (id >= 1024); - return addItemInternal(id, label); - } + private TMenuItem addItemInternal(final int id, final String label, + final TKeypress key) { - /** - * Convenience function to add a menu item. - * - * @param id menu item ID - * @param label menu item label - * @return the new menu item - */ - private TMenuItem addItemInternal(final int id, final String label) { int newY = getChildren().size() + 1; assert (newY < getHeight()); TMenuItem menuItem = new TMenuItem(this, id, 1, newY, label); + menuItem.setKey(key); setHeight(getHeight() + 1); if (menuItem.getWidth() + 2 > getWidth()) { setWidth(menuItem.getWidth() + 2); @@ -383,6 +358,7 @@ public final class TMenu extends TWindow { for (TWidget widget: getChildren()) { widget.setWidth(getWidth() - 2); } + getApplication().addMenuItem(menuItem); getApplication().recomputeMenuX(); activate(0); return menuItem; @@ -401,7 +377,6 @@ public final class TMenu extends TWindow { String label; TKeypress key = null; - boolean hasKey = true; switch (id) { @@ -412,7 +387,6 @@ public final class TMenu extends TWindow { case MID_SHELL: label = "O&S Shell"; - hasKey = false; break; case MID_OPEN_FILE: @@ -434,21 +408,17 @@ public final class TMenu extends TWindow { break; case MID_CLEAR: label = "C&lear"; - hasKey = false; // key = kbDel; break; case MID_TILE: label = "&Tile"; - hasKey = false; break; case MID_CASCADE: label = "C&ascade"; - hasKey = false; break; case MID_CLOSE_ALL: label = "Cl&ose All"; - hasKey = false; break; case MID_WINDOW_MOVE: label = "&Size/Move"; @@ -468,7 +438,6 @@ public final class TMenu extends TWindow { break; case MID_WINDOW_CLOSE: label = "&Close"; - hasKey = false; // key = kbCtrlW; break; @@ -476,10 +445,7 @@ public final class TMenu extends TWindow { throw new IllegalArgumentException("Invalid menu ID: " + id); } - if (hasKey) { - return addItemInternal(id, label, key); - } - return addItemInternal(id, label); + return addItemInternal(id, label, key); } /**