X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fmenu%2FTMenuItem.java;h=e3600bca4f9c79a2cd9ca2ef1f5460cca7cea999;hb=4b257bd88a40bb1b7ad6b14c3ecaf6a3d5d10a9b;hp=43ea8f03cccc1f5e6f6f2d4b1e82ef7646f7b2d1;hpb=7c870d89433346ccb5505f8f9ba62d3fc18fe996;p=nikiroo-utils.git diff --git a/src/jexer/menu/TMenuItem.java b/src/jexer/menu/TMenuItem.java index 43ea8f0..e3600bc 100644 --- a/src/jexer/menu/TMenuItem.java +++ b/src/jexer/menu/TMenuItem.java @@ -1,4 +1,4 @@ -/** +/* * Jexer - Java Text User Interface * * License: LGPLv3 or later @@ -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); + } } } @@ -218,10 +233,10 @@ public class TMenuItem extends TWidget { getScreen().vLineXY(getWidth() - 1, 0, 1, cVSide, background); getScreen().hLineXY(1, 0, getWidth() - 2, ' ', menuColor); - getScreen().putStrXY(2, 0, mnemonic.getRawLabel(), menuColor); - if (hasKey) { + getScreen().putStringXY(2, 0, mnemonic.getRawLabel(), menuColor); + if (key != null) { String keyLabel = key.toString(); - getScreen().putStrXY((getWidth() - keyLabel.length() - 2), 0, + getScreen().putStringXY((getWidth() - keyLabel.length() - 2), 0, keyLabel, menuColor); } if (mnemonic.getShortcutIdx() >= 0) {