X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fmenu%2FTMenu.java;h=165d951b283df63b8d18b818f1a2534a78676b24;hb=0d47c5460c8e9d1198928308767a63ad35f46eb8;hp=da349bf3ccc7d7faa5dbf066b7cad7f51be8c258;hpb=928811d8e292801029b7b6605453524f65e9ebd9;p=fanfix.git diff --git a/src/jexer/menu/TMenu.java b/src/jexer/menu/TMenu.java index da349bf..165d951 100644 --- a/src/jexer/menu/TMenu.java +++ b/src/jexer/menu/TMenu.java @@ -126,16 +126,9 @@ public final class TMenu extends TWindow { */ @Override public void draw() { - CellAttributes menuColor; CellAttributes background = getTheme().getColor("tmenu"); - if (getAbsoluteActive()) { - menuColor = getTheme().getColor("tmenu.highlighted"); - } else { - menuColor = getTheme().getColor("tmenu"); - } - - assert (getAbsoluteActive()); + assert (isAbsoluteActive()); // Fill in the interior background for (int i = 0; i < getHeight(); i++) { @@ -177,7 +170,6 @@ public final class TMenu extends TWindow { @Override public void onMouseDown(final TMouseEvent mouse) { this.mouse = mouse; - setRepaint(); // Pass to children for (TWidget widget: getChildren()) { @@ -202,7 +194,6 @@ public final class TMenu extends TWindow { @Override public void onMouseUp(final TMouseEvent mouse) { this.mouse = mouse; - setRepaint(); // Pass to children for (TWidget widget: getChildren()) { @@ -227,11 +218,10 @@ public final class TMenu extends TWindow { @Override public void onMouseMotion(final TMouseEvent mouse) { this.mouse = mouse; - setRepaint(); // See if we should activate a different menu item for (TWidget widget: getChildren()) { - if ((mouse.getMouse1()) + if ((mouse.isMouse1()) && (widget.mouseWouldHit(mouse)) ) { // Activate this menu item @@ -286,14 +276,14 @@ public final class TMenu extends TWindow { } // Switch to a menuItem if it has an mnemonic - if (!keypress.getKey().getIsKey() - && !keypress.getKey().getAlt() - && !keypress.getKey().getCtrl()) { + if (!keypress.getKey().isFnKey() + && !keypress.getKey().isAlt() + && !keypress.getKey().isCtrl()) { for (TWidget widget: getChildren()) { TMenuItem item = (TMenuItem) widget; if ((item.getMnemonic() != null) && (Character.toLowerCase(item.getMnemonic().getShortcut()) - == Character.toLowerCase(keypress.getKey().getCh())) + == Character.toLowerCase(keypress.getKey().getChar())) ) { // Send an enter keystroke to it activate(item); @@ -305,8 +295,7 @@ public final class TMenu extends TWindow { // Dispatch the keypress to an active widget for (TWidget widget: getChildren()) { - if (widget.getActive()) { - setRepaint(); + if (widget.isActive()) { widget.handleEvent(keypress); return; } @@ -321,7 +310,7 @@ public final class TMenu extends TWindow { * @param key global keyboard accelerator * @return the new menu item */ - public TMenuItem addItem(final int id, final String label, + public final TMenuItem addItem(final int id, final String label, final TKeypress key) { assert (id >= 1024); @@ -351,7 +340,7 @@ public final class TMenu extends TWindow { for (TWidget widget: getChildren()) { widget.setWidth(getWidth() - 2); } - getApplication().addAccelerator(menuItem, toLower(key)); + getApplication().addAccelerator(menuItem, key.toLowerCase()); getApplication().recomputeMenuX(); activate(0); return menuItem; @@ -364,7 +353,7 @@ public final class TMenu extends TWindow { * @param label menu item label * @return the new menu item */ - public TMenuItem addItem(final int id, final String label) { + public final TMenuItem addItem(final int id, final String label) { assert (id >= 1024); return addItemInternal(id, label); } @@ -400,7 +389,7 @@ public final class TMenu extends TWindow { * (inclusive). * @return the new menu item */ - public TMenuItem addDefaultItem(final int id) { + public final TMenuItem addDefaultItem(final int id) { assert (id >= 0); assert (id < 1024); @@ -439,7 +428,8 @@ public final class TMenu extends TWindow { break; case MID_CLEAR: label = "C&lear"; - key = kbDel; + hasKey = false; + // key = kbDel; break; case MID_TILE: @@ -472,7 +462,8 @@ public final class TMenu extends TWindow { break; case MID_WINDOW_CLOSE: label = "&Close"; - key = kbCtrlW; + hasKey = false; + // key = kbCtrlW; break; default: @@ -488,11 +479,13 @@ public final class TMenu extends TWindow { /** * Convenience function to add a menu separator. */ - public void addSeparator() { + public final void addSeparator() { int newY = getChildren().size() + 1; assert (newY < getHeight()); - TMenuItem menuItem = new TMenuSeparator(this, 1, newY); + // We just have to construct it, don't need to hang onto what it + // makes. + new TMenuSeparator(this, 1, newY); setHeight(getHeight() + 1); } @@ -503,7 +496,7 @@ public final class TMenu extends TWindow { * denoted by prefixing a letter with "&", e.g. "&File" * @return the new sub-menu */ - public TSubMenu addSubMenu(final String title) { + public final TSubMenu addSubMenu(final String title) { int newY = getChildren().size() + 1; assert (newY < getHeight());