*
* The MIT License (MIT)
*
- * Copyright (C) 2017 Kevin Lamonte
+ * Copyright (C) 2019 Kevin Lamonte
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
}
char cVSide = GraphicsChars.WINDOW_SIDE;
- getScreen().vLineXY(0, 0, 1, cVSide, background);
- getScreen().vLineXY(getWidth() - 1, 0, 1, cVSide, background);
+ vLineXY(0, 0, 1, cVSide, background);
+ vLineXY(getWidth() - 1, 0, 1, cVSide, background);
- getScreen().hLineXY(1, 0, getWidth() - 2, ' ', menuColor);
- getScreen().putStringXY(2, 0, mnemonic.getRawLabel(), menuColor);
+ hLineXY(1, 0, getWidth() - 2, ' ', menuColor);
+ putStringXY(2, 0, mnemonic.getRawLabel(), menuColor);
if (key != null) {
String keyLabel = key.toString();
- getScreen().putStringXY((getWidth() - keyLabel.length() - 2), 0,
- keyLabel, menuColor);
+ putStringXY((getWidth() - keyLabel.length() - 2), 0, keyLabel,
+ menuColor);
}
if (mnemonic.getShortcutIdx() >= 0) {
- getScreen().putCharXY(2 + mnemonic.getShortcutIdx(), 0,
- mnemonic.getShortcut(), menuMnemonicColor);
+ putCharXY(2 + mnemonic.getShortcutIdx(), 0, mnemonic.getShortcut(),
+ menuMnemonicColor);
}
if (checked) {
assert (checkable);
- getScreen().putCharXY(1, 0, GraphicsChars.CHECK, menuColor);
+ putCharXY(1, 0, GraphicsChars.CHECK, menuColor);
}
}
this.checkable = checkable;
}
+ /**
+ * Get checkable flag.
+ *
+ * @return true if this menu item is both checkable and checked
+ */
+ public final boolean getChecked() {
+ return ((checkable == true) && (checked == true));
+ }
+
+ /**
+ * Set checked flag. Note that setting checked on an item checkable will
+ * do nothing.
+ *
+ * @param checked if true, and if this menu item is checkable, then
+ * getChecked() will return true
+ */
+ public final void setChecked(final boolean checked) {
+ if (checkable) {
+ this.checked = checked;
+ } else {
+ this.checked = false;
+ }
+ }
+
/**
* Get the mnemonic string for this menu item.
*