]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/gui/SidebarController.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / gui / SidebarController.java
diff --git a/tim/prune/gui/SidebarController.java b/tim/prune/gui/SidebarController.java
deleted file mode 100644 (file)
index 252a359..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-package tim.prune.gui;
-
-import java.awt.Component;
-
-import javax.swing.JSplitPane;
-import javax.swing.SwingUtilities;
-
-/**
- * Class to control the showing and hiding of the sidebars
- * (left panel, right panel and profile display)
- */
-public class SidebarController
-{
-       /** array of hideable components */
-       private Component[] _components = null;
-       /** array of splitter panes */
-       private JSplitPane[] _splitters = null;
-       /** array of splitter positions */
-       private int[] _positions = null;
-
-
-       /**
-        * Constructor
-        * @param inComponents array of components to hide/show
-        * @param inSplitters array of splitter panes
-        */
-       public SidebarController(Component[] inComponents, JSplitPane[] inSplitters)
-       {
-               _components = inComponents;
-               _splitters = inSplitters;
-               _positions = new int[inSplitters.length];
-       }
-
-       /**
-        * Toggle full screen mode on or off
-        */
-       public void toggle()
-       {
-               if (_components != null && _components.length > 0)
-               {
-                       boolean visible = _components[0].isVisible();
-                       if (visible) {
-                               // Store divider locations
-                               for (int i=0; i<_components.length; i++) {
-                                       _positions[i] = _splitters[i].getDividerLocation();
-                               }
-                       }
-                       // Set visibility of components
-                       for (int i=0; i<_components.length; i++) {
-                               _components[i].setVisible(!visible);
-                       }
-                       // Restore divider locations
-                       for (int i=0; i<_components.length; i++) {
-                               if (!visible) {
-                                       _splitters[i].setDividerLocation(_positions[i]);
-                               }
-                       }
-                       // Hiding of panels has to occur in separate thread to update properly
-                       if (visible) SwingUtilities.invokeLater(new Runnable() {
-                               public void run() {
-                                       for (int i=0; i<_components.length; i++) {
-                                               _splitters[i].setDividerLocation(i==0?0.0:1.0);
-                                               _splitters[i].invalidate();
-                                       }
-                               }
-                       });
-               }
-       }
-}