fix eclipse warnings
[fanfix.git] / src / jexer / menu / TSubMenu.java
index 24cc67d6739290c7803f42f356a906fa8d6914f4..bd1815f9e6bcfa5cc155694063b47dc192874d8a 100644 (file)
@@ -30,6 +30,7 @@
  */
 package jexer.menu;
 
+import jexer.TKeypress;
 import jexer.TWidget;
 import jexer.bits.CellAttributes;
 import jexer.bits.GraphicsChars;
@@ -39,7 +40,7 @@ import static jexer.TKeypress.*;
 /**
  * TSubMenu is a special case menu item that wraps another TMenu.
  */
-public class TSubMenu extends TMenuItem {
+public final class TSubMenu extends TMenuItem {
 
     /**
      * The menu window.  Note package private access.
@@ -75,19 +76,14 @@ public class TSubMenu extends TMenuItem {
     public void draw() {
         super.draw();
 
-        CellAttributes background = getTheme().getColor("tmenu");
         CellAttributes menuColor;
-        CellAttributes menuMnemonicColor;
         if (getAbsoluteActive()) {
             menuColor = getTheme().getColor("tmenu.highlighted");
-            menuMnemonicColor = getTheme().getColor("tmenu.mnemonic.highlighted");
         } else {
             if (getEnabled()) {
                 menuColor = getTheme().getColor("tmenu");
-                menuMnemonicColor = getTheme().getColor("tmenu.mnemonic");
             } else {
                 menuColor = getTheme().getColor("tmenu.disabled");
-                menuMnemonicColor = getTheme().getColor("tmenu.disabled");
             }
         }
 
@@ -173,4 +169,59 @@ public class TSubMenu extends TMenuItem {
         return this;
     }
 
+    /**
+     * Convenience function to add a custom menu item.
+     *
+     * @param id menu item ID.  Must be greater than 1024.
+     * @param label menu item label
+     * @param key global keyboard accelerator
+     * @return the new menu item
+     */
+    public TMenuItem addItem(final int id, final String label,
+        final TKeypress key) {
+
+        return menu.addItem(id, label, key);
+    }
+
+    /**
+     * Convenience function to add a menu item.
+     *
+     * @param id menu item ID.  Must be greater than 1024.
+     * @param label menu item label
+     * @return the new menu item
+     */
+    public TMenuItem addItem(final int id, final String label) {
+        return menu.addItem(id, label);
+    }
+
+    /**
+     * Convenience function to add one of the default menu items.
+     *
+     * @param id menu item ID.  Must be between 0 (inclusive) and 1023
+     * (inclusive).
+     * @return the new menu item
+     */
+    public TMenuItem addDefaultItem(final int id) {
+        return menu.addDefaultItem(id);
+    }
+
+    /**
+     * Convenience function to add a menu separator.
+     */
+    public void addSeparator() {
+        menu.addSeparator();
+    }
+
+    /**
+     * Convenience function to add a sub-menu.
+     *
+     * @param title menu title.  Title must contain a keyboard shortcut,
+     * denoted by prefixing a letter with "&", e.g. "&File"
+     * @return the new sub-menu
+     */
+    public TSubMenu addSubMenu(final String title) {
+        return menu.addSubMenu(title);
+    }
+
+
 }