git://git.nikiroo.be
/
nikiroo-utils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
clean readme
[nikiroo-utils.git]
/
src
/
jexer
/
menu
/
TMenuItem.java
diff --git
a/src/jexer/menu/TMenuItem.java
b/src/jexer/menu/TMenuItem.java
index 607341b2734eaa4e35d5e941d3d34c3c94917802..e3600bca4f9c79a2cd9ca2ef1f5460cca7cea999 100644
(file)
--- 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
* Jexer - Java Text User Interface
*
* License: LGPLv3 or later
@@
-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);
+ }
}
}
}
}
@@
-200,11
+215,11
@@
public class TMenuItem extends TWidget {
CellAttributes background = getTheme().getColor("tmenu");
CellAttributes menuColor;
CellAttributes menuMnemonicColor;
CellAttributes background = getTheme().getColor("tmenu");
CellAttributes menuColor;
CellAttributes menuMnemonicColor;
- if (
get
AbsoluteActive()) {
+ if (
is
AbsoluteActive()) {
menuColor = getTheme().getColor("tmenu.highlighted");
menuMnemonicColor = getTheme().getColor("tmenu.mnemonic.highlighted");
} else {
menuColor = getTheme().getColor("tmenu.highlighted");
menuMnemonicColor = getTheme().getColor("tmenu.mnemonic.highlighted");
} else {
- if (
get
Enabled()) {
+ if (
is
Enabled()) {
menuColor = getTheme().getColor("tmenu");
menuMnemonicColor = getTheme().getColor("tmenu.mnemonic");
} else {
menuColor = getTheme().getColor("tmenu");
menuMnemonicColor = getTheme().getColor("tmenu.mnemonic");
} else {
@@
-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().vLineXY(getWidth() - 1, 0, 1, cVSide, background);
getScreen().hLineXY(1, 0, getWidth() - 2, ' ', menuColor);
- getScreen().putStrXY(2, 0, mnemonic.getRawLabel(), menuColor);
- if (
hasKey
) {
+ getScreen().putStr
ing
XY(2, 0, mnemonic.getRawLabel(), menuColor);
+ if (
key != null
) {
String keyLabel = key.toString();
String keyLabel = key.toString();
- getScreen().putStrXY((getWidth() - keyLabel.length() - 2), 0,
+ getScreen().putStr
ing
XY((getWidth() - keyLabel.length() - 2), 0,
keyLabel, menuColor);
}
if (mnemonic.getShortcutIdx() >= 0) {
keyLabel, menuColor);
}
if (mnemonic.getShortcutIdx() >= 0) {
@@
-239,7
+254,7
@@
public class TMenuItem extends TWidget {
* Dispatch event(s) due to selection or click.
*/
public void dispatch() {
* Dispatch event(s) due to selection or click.
*/
public void dispatch() {
- assert (
get
Enabled());
+ assert (
is
Enabled());
getApplication().addMenuEvent(new TMenuEvent(id));
if (checkable) {
getApplication().addMenuEvent(new TMenuEvent(id));
if (checkable) {
@@
-269,7
+284,7
@@
public class TMenuItem extends TWidget {
*/
@Override
public void onMouseUp(final TMouseEvent mouse) {
*/
@Override
public void onMouseUp(final TMouseEvent mouse) {
- if ((mouseOnMenuItem(mouse)) && (mouse.
get
Mouse1())) {
+ if ((mouseOnMenuItem(mouse)) && (mouse.
is
Mouse1())) {
dispatch();
return;
}
dispatch();
return;
}