box drawing intersections
[fanfix.git] / src / jexer / TApplication.java
index 872266d7af9021513838db3a2f15aea94dd19981..927f1f713a37c053ca4e0efbcbb2ed9cbbc8e5bc 100644 (file)
@@ -433,9 +433,9 @@ public class TApplication implements Runnable {
                         // resumes working on the primary.
                         application.secondaryEventHandler = null;
 
-                        // DO NOT UNLOCK.  Primary thread just came back from
-                        // primaryHandleEvent() and will unlock in the else
-                        // block below.  Just wake it up.
+                        // We are ready to exit, wake up the primary thread.
+                        // Remember that it is currently sleeping inside its
+                        // primaryHandleEvent().
                         synchronized (application.primaryEventHandler) {
                             application.primaryEventHandler.notify();
                         }
@@ -2923,6 +2923,21 @@ public class TApplication implements Runnable {
         }
     }
 
+    /**
+     * Get the menu item associated with this ID.
+     *
+     * @param id the menu item ID
+     * @return the menu item, or null if not found
+     */
+    public final TMenuItem getMenuItem(final int id) {
+        for (TMenuItem item: menuItems) {
+            if (item.getId() == id) {
+                return item;
+            }
+        }
+        return null;
+    }
+
     /**
      * Recompute menu x positions based on their title length.
      */
@@ -3025,9 +3040,8 @@ public class TApplication implements Runnable {
      */
     public final TMenu addFileMenu() {
         TMenu fileMenu = addMenu(i18n.getString("fileMenuTitle"));
-        fileMenu.addDefaultItem(TMenu.MID_OPEN_FILE);
-        fileMenu.addSeparator();
         fileMenu.addDefaultItem(TMenu.MID_SHELL);
+        fileMenu.addSeparator();
         fileMenu.addDefaultItem(TMenu.MID_EXIT);
         TStatusBar statusBar = fileMenu.newStatusBar(i18n.
             getString("fileMenuStatus"));
@@ -3102,10 +3116,19 @@ public class TApplication implements Runnable {
      */
     public final TMenu addTableMenu() {
         TMenu tableMenu = addMenu(i18n.getString("tableMenuTitle"));
+        TSubMenu viewMenu = tableMenu.addSubMenu(i18n.
+            getString("tableSubMenuView"));
+        viewMenu.addDefaultItem(TMenu.MID_TABLE_VIEW_ROW_LABELS, false);
+        viewMenu.addDefaultItem(TMenu.MID_TABLE_VIEW_COLUMN_LABELS, false);
+        viewMenu.addDefaultItem(TMenu.MID_TABLE_VIEW_HIGHLIGHT_ROW, false);
+        viewMenu.addDefaultItem(TMenu.MID_TABLE_VIEW_HIGHLIGHT_COLUMN, false);
+
         TSubMenu borderMenu = tableMenu.addSubMenu(i18n.
             getString("tableSubMenuBorders"));
         borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_NONE, false);
         borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_ALL, false);
+        borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_CELL_NONE, false);
+        borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_CELL_ALL, false);
         borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_RIGHT, false);
         borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_LEFT, false);
         borderMenu.addDefaultItem(TMenu.MID_TABLE_BORDER_TOP, false);