More PMD warnings
[nikiroo-utils.git] / src / jexer / demos / DesktopDemoApplication.java
index 395817d073fe541eb18a9cef77cf2ce20b166981..0393860a3b0addfebf0e3b25004d70ca31c2b7aa 100644 (file)
@@ -40,36 +40,26 @@ import jexer.menu.*;
  */
 public class DesktopDemoApplication extends TApplication {
 
+    // ------------------------------------------------------------------------
+    // Constructors -----------------------------------------------------------
+    // ------------------------------------------------------------------------
+
     /**
-     * Add all the widgets of the demo.
+     * Public constructor.
+     *
+     * @param backendType one of the TApplication.BackendType values
+     * @throws Exception if TApplication can't instantiate the Backend.
      */
-    private void addAllWidgets() {
-
-        // Add the menus
-        addFileMenu();
-        addEditMenu();
-        addWindowMenu();
-        addHelpMenu();
-
-        final DesktopDemo desktop = new DesktopDemo(this);
-        setDesktop(desktop);
-
-        desktop.addButton("&Remove HATCH", 2, 5,
-            new TAction() {
-                public void DO() {
-                    desktop.drawHatch = false;
-                }
-            }
-        );
-        desktop.addButton("&Show HATCH", 2, 8,
-            new TAction() {
-                public void DO() {
-                    desktop.drawHatch = true;
-                }
-            }
-        );
+    public DesktopDemoApplication(final BackendType backendType) throws Exception {
+        super(backendType);
+        addAllWidgets();
+        getBackend().setTitle("Jexer Demo Application");
     }
 
+    // ------------------------------------------------------------------------
+    // TApplication -----------------------------------------------------------
+    // ------------------------------------------------------------------------
+
     /**
      * Handle menu events.
      *
@@ -111,15 +101,157 @@ public class DesktopDemoApplication extends TApplication {
         return super.onMenu(menu);
     }
 
+    // ------------------------------------------------------------------------
+    // DesktopDemoApplication -------------------------------------------------
+    // ------------------------------------------------------------------------
+
     /**
-     * Public constructor.
-     *
-     * @param backendType one of the TApplication.BackendType values
-     * @throws Exception if TApplication can't instantiate the Backend.
+     * Add all the widgets of the demo.
      */
-    public DesktopDemoApplication(final BackendType backendType) throws Exception {
-        super(backendType);
-        addAllWidgets();
-        getBackend().setTitle("Jexer Demo Application");
+    private void addAllWidgets() {
+
+        // Add the menus
+        addFileMenu();
+        addEditMenu();
+        addWindowMenu();
+        addHelpMenu();
+
+        final DesktopDemo desktop = new DesktopDemo(this);
+        setDesktop(desktop);
+
+        desktop.addButton("&Remove HATCH", 2, 5,
+            new TAction() {
+                public void DO() {
+                    desktop.drawHatch = false;
+                }
+            }
+        );
+        desktop.addButton("&Show HATCH", 2, 8,
+            new TAction() {
+                public void DO() {
+                    desktop.drawHatch = true;
+                }
+            }
+        );
+
+        final TWindow windowA = addWindow("Window A", 25, 14);
+        final TWindow windowB = addWindow("Window B", 25, 14);
+        windowA.addButton("&Show Window B", 2, 2,
+            new TAction() {
+                public void DO() {
+                    windowB.show();
+                }
+            }
+        );
+        windowA.addButton("H&ide Window B", 2, 4,
+            new TAction() {
+                public void DO() {
+                    windowB.hide();
+                }
+            }
+        );
+        windowA.addButton("&Maximize Window B", 2, 6,
+            new TAction() {
+                public void DO() {
+                    windowB.maximize();
+                }
+            }
+        );
+        windowA.addButton("&Restore Window B", 2, 8,
+            new TAction() {
+                public void DO() {
+                    windowB.restore();
+                }
+            }
+        );
+        windowB.addButton("&Show Window A", 2, 2,
+            new TAction() {
+                public void DO() {
+                    windowA.show();
+                }
+            }
+        );
+        windowB.addButton("H&ide Window A", 2, 4,
+            new TAction() {
+                public void DO() {
+                    windowA.hide();
+                }
+            }
+        );
+        windowB.addButton("&Maximize Window A", 2, 6,
+            new TAction() {
+                public void DO() {
+                    windowA.maximize();
+                }
+            }
+        );
+        windowB.addButton("&Restore Window A", 2, 8,
+            new TAction() {
+                public void DO() {
+                    windowA.restore();
+                }
+            }
+        );
+
+        desktop.addButton("S&how Window B", 25, 2,
+            new TAction() {
+                public void DO() {
+                    windowB.show();
+                }
+            }
+        );
+        desktop.addButton("H&ide Window B", 25, 5,
+            new TAction() {
+                public void DO() {
+                    windowB.hide();
+                }
+            }
+        );
+        desktop.addButton("Sh&ow Window A", 25, 8,
+            new TAction() {
+                public void DO() {
+                    windowA.show();
+                }
+            }
+        );
+        desktop.addButton("Hid&e Window A", 25, 11,
+            new TAction() {
+                public void DO() {
+                    windowA.hide();
+                }
+            }
+        );
+        desktop.addButton("&Create Window C", 25, 15,
+            new TAction() {
+                public void DO() {
+                    final TWindow windowC = desktop.getApplication().addWindow(
+                        "Window C", 30, 20, TWindow.NOCLOSEBOX);
+                    windowC.addButton("&Close Me", 5, 5,
+                        new TAction() {
+                            public void DO() {
+                                windowC.close();
+                            }
+                        }
+                    );
+                }
+            }
+        );
+
+        desktop.addButton("Enable focusFollowsMouse", 25, 18,
+            new TAction() {
+                public void DO() {
+                    DesktopDemoApplication.this.setFocusFollowsMouse(true);
+                }
+            }
+        );
+        desktop.addButton("Disable focusFollowsMouse", 25, 21,
+            new TAction() {
+                public void DO() {
+                    DesktopDemoApplication.this.setFocusFollowsMouse(false);
+                }
+            }
+        );
+
     }
+
 }