git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
window focus events and enable/disable menu items
[fanfix.git]
/
src
/
jexer
/
menu
/
TMenuItem.java
diff --git
a/src/jexer/menu/TMenuItem.java
b/src/jexer/menu/TMenuItem.java
index ce57cc24e2c1095acefecb966c8e8ec440ac278e..e3600bca4f9c79a2cd9ca2ef1f5460cca7cea999 100644
(file)
--- 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;
*/
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.
*/
/**
* 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;
}
public final void setCheckable(final boolean checkable) {
this.checkable = checkable;
}
-
+
/**
* When true, this item is checked.
*/
/**
* When true, this item is checked.
*/
@@
-80,11
+89,6
@@
public class TMenuItem extends TWidget {
*/
private TKeypress key;
*/
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.
/**
* 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;
}
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) {
/**
* 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;
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);
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);
String keyLabel = key.toString();
getScreen().putStringXY((getWidth() - keyLabel.length() - 2), 0,
keyLabel, menuColor);