X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fmenu%2FTMenuItem.java;h=e3600bca4f9c79a2cd9ca2ef1f5460cca7cea999;hb=efb7af1f330223bfe9ac67112149d7a3f1b68421;hp=ce57cc24e2c1095acefecb966c8e8ec440ac278e;hpb=8582f35a3ffb8212463076217eb89278f42331d4;p=fanfix.git diff --git a/src/jexer/menu/TMenuItem.java b/src/jexer/menu/TMenuItem.java index ce57cc2..e3600bc 100644 --- a/src/jexer/menu/TMenuItem.java +++ b/src/jexer/menu/TMenuItem.java @@ -56,6 +56,15 @@ public class TMenuItem extends TWidget { */ private int id = TMenu.MID_UNUSED; + /** + * Get the menu item ID. + * + * @return the id + */ + public final int getId() { + return id; + } + /** * When true, this item can be checked or unchecked. */ @@ -69,7 +78,7 @@ public class TMenuItem extends TWidget { public final void setCheckable(final boolean checkable) { this.checkable = checkable; } - + /** * When true, this item is checked. */ @@ -80,11 +89,6 @@ public class TMenuItem extends TWidget { */ private TKeypress key; - /** - * When true, a global accelerator can be used to select this item. - */ - private boolean hasKey = false; - /** * The title string. Use '&' to specify a mnemonic, i.e. "&File" will * highlight the 'F' and allow 'f' or 'F' to select it. @@ -100,18 +104,29 @@ public class TMenuItem extends TWidget { return mnemonic; } + /** + * Get a global accelerator key for this menu item. + * + * @return global keyboard accelerator, or null if no key is associated + * with this item + */ + public final TKeypress getKey() { + return key; + } + /** * Set a global accelerator key for this menu item. * * @param key global keyboard accelerator */ public final void setKey(final TKeypress key) { - hasKey = true; this.key = key; - int newWidth = (label.length() + 4 + key.toString().length() + 2); - if (newWidth > getWidth()) { - setWidth(newWidth); + if (key != null) { + int newWidth = (label.length() + 4 + key.toString().length() + 2); + if (newWidth > getWidth()) { + setWidth(newWidth); + } } } @@ -219,7 +234,7 @@ public class TMenuItem extends TWidget { getScreen().hLineXY(1, 0, getWidth() - 2, ' ', menuColor); getScreen().putStringXY(2, 0, mnemonic.getRawLabel(), menuColor); - if (hasKey) { + if (key != null) { String keyLabel = key.toString(); getScreen().putStringXY((getWidth() - keyLabel.length() - 2), 0, keyLabel, menuColor);