]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.ui/src/org/simantics/ui/workbench/PerspectiveBarsActivator.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.ui / src / org / simantics / ui / workbench / PerspectiveBarsActivator.java
index 82cddaa6eff4e9fae0d96eeb2da7a9869b4738ac..5a94281cf97b418707de8caa7359b72d249ee8f5 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- *     VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.ui.workbench;\r
-\r
-import java.util.List;\r
-\r
-import org.eclipse.swt.widgets.Menu;\r
-import org.eclipse.ui.IPerspectiveDescriptor;\r
-import org.eclipse.ui.IPerspectiveListener4;\r
-import org.eclipse.ui.IWindowListener;\r
-\r
-import org.eclipse.ui.IWorkbenchPage;\r
-import org.eclipse.ui.IWorkbenchPartReference;\r
-import org.eclipse.ui.IWorkbenchWindow;\r
-import org.eclipse.ui.PlatformUI;\r
-import org.eclipse.ui.internal.WorkbenchWindow;\r
-import org.eclipse.ui.internal.progress.ProgressRegion;\r
-\r
-/**\r
- * Handler for perspectiveBars ExtensionPoint\r
- * \r
- * FIXME : statusLine widgets are not restored into original positions.\r
- * \r
- * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
- *\r
- */\r
-@SuppressWarnings("restriction")\r
-public class PerspectiveBarsActivator implements IPerspectiveListener4, IWindowListener {\r
-\r
-    private IWorkbenchWindow                    activeWindow;\r
-\r
-\r
-    public PerspectiveBarsActivator() {\r
-        PlatformUI.getWorkbench().addWindowListener(this);\r
-    }\r
-\r
-    public void dispose() {\r
-        PlatformUI.getWorkbench().removeWindowListener(this);\r
-    }\r
-\r
-    //------------------------------------------------------------------------\r
-    // IPerspectiveListener4\r
-    //------------------------------------------------------------------------\r
-\r
-    @Override\r
-    public void perspectivePreDeactivate(IWorkbenchPage page, IPerspectiveDescriptor perspective) {\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) {\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveDeactivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveSavedAs(IWorkbenchPage page, IPerspectiveDescriptor oldPerspective,\r
-            IPerspectiveDescriptor newPerspective) {\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective,\r
-            IWorkbenchPartReference partRef, String changeId) {\r
-        // See IWorkbenchPage.CHANGED_* constants for change id's.\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {\r
-        activatePerspective(perspective.getId());\r
-    }\r
-\r
-    @Override\r
-    public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {\r
-        // See IWorkbenchPage.CHANGED_* constants for change id's.\r
-    }\r
-\r
-    //------------------------------------------------------------------------\r
-    // IWindowListener\r
-    //------------------------------------------------------------------------\r
-\r
-    @Override\r
-    public void windowActivated(IWorkbenchWindow window) {\r
-//        System.out.println("attaching to window: " + window);\r
-        attachToWindow(window);\r
-    }\r
-\r
-    @Override\r
-    public void windowClosed(IWorkbenchWindow window) {\r
-    }\r
-\r
-    @Override\r
-    public void windowDeactivated(IWorkbenchWindow window) {\r
-//        System.out.println("detaching from window: " + window);\r
-        detachFromWindow(window);\r
-    }\r
-\r
-    @Override\r
-    public void windowOpened(IWorkbenchWindow window) {\r
-    }\r
-\r
-    //------------------------------------------------------------------------\r
-    // UTILITIES\r
-    //------------------------------------------------------------------------\r
-\r
-    private void attachToWindow(IWorkbenchWindow window) {\r
-        activeWindow = window;\r
-        window.addPerspectiveListener(this);\r
-        IPerspectiveDescriptor perspective = window.getActivePage().getPerspective();\r
-        if (perspective != null) {\r
-            activatePerspective(perspective.getId());\r
-        }\r
-    }\r
-\r
-    private void detachFromWindow(IWorkbenchWindow window) {\r
-        window.removePerspectiveListener(this);\r
-    }\r
-\r
-\r
-\r
-\r
-    private Menu menu;\r
-    \r
-       private void activatePerspective(String perspectiveId) {\r
-//        System.out.println("activating perspective: " + perspectiveId);\r
-       \r
-        \r
-        List<IPerspectiveBarsExtension> exts = PerspectiveBarsManager.getInstance().getExtensions(perspectiveId);\r
-        Boolean menuBar = null;\r
-        Boolean coolBar = null;\r
-        Boolean statusLine = null;\r
-        Boolean perspectiveBar = null;\r
-        Boolean fastViewBar = null;\r
-        Boolean progressIndicator = null;\r
-        for (IPerspectiveBarsExtension ext : exts) {\r
-            if (menuBar == null)\r
-               menuBar = ext.getMenuBar();\r
-            if (coolBar == null)\r
-               coolBar = ext.getCoolBar();\r
-            if (statusLine == null)\r
-               statusLine = ext.getStatusLine();\r
-            if (perspectiveBar == null)\r
-               perspectiveBar = ext.getPerspectiveBar();\r
-            if (fastViewBar == null)\r
-               fastViewBar = ext.getFastViewBar();\r
-            if (progressIndicator == null)\r
-               progressIndicator = ext.getProgressIndicator();\r
-        }\r
-        \r
-        if (activeWindow instanceof WorkbenchWindow) {\r
-               WorkbenchWindow window = (WorkbenchWindow)activeWindow;\r
-               \r
-               if (menuBar == null || menuBar == true) {\r
-                       Menu m = window.getShell().getMenuBar();\r
-                       if (m == null && menu != null) {\r
-                               window.getShell().setMenuBar(menu);\r
-                       }\r
-               } else {\r
-                       Menu m = window.getShell().getMenuBar();\r
-                       if (m != null) {\r
-                               menu = m;\r
-                               window.getShell().setMenuBar(null);\r
-                               \r
-                       }\r
-               }\r
-               \r
-               if (coolBar == null || coolBar == true) {\r
-                       window.setCoolBarVisible(true);\r
-               } else {\r
-                       window.setCoolBarVisible(false);\r
-               }\r
-               \r
-               if (statusLine == null || statusLine == true) {\r
-                       window.setStatusLineVisible(true);\r
-                       //window.showHeapStatus(true);\r
-               } else {\r
-                       window.setStatusLineVisible(false);\r
-                       //window.showHeapStatus(false);\r
-               }\r
-               \r
-               if (perspectiveBar == null || perspectiveBar == true) {\r
-                       window.setPerspectiveBarVisible(true);\r
-               } else {\r
-                       window.setPerspectiveBarVisible(false);\r
-               }\r
-\r
-               // Bug 479522 - Remove unused fastView methods in WorkbenchWindow \r
-               //if (fastViewBar == null || fastViewBar == true) {\r
-               //      window.setFastViewBarVisible(true);\r
-               //} else {\r
-               //      window.setFastViewBarVisible(false);\r
-               //}\r
-               \r
-               if (progressIndicator == null || progressIndicator == true) {\r
-                       ProgressRegion r = window.getProgressRegion();\r
-                       if (r != null)\r
-                               r.getControl().setVisible(true);\r
-                       \r
-               } else {\r
-                       ProgressRegion r = window.getProgressRegion();\r
-                       if (r != null)\r
-                               r.getControl().setVisible(false);\r
-               }\r
-               // Bug 486768 - Delete unused internal ITrimManager\r
-               //window.getTrimManager().forceLayout();\r
-        }\r
-      \r
-    }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.ui.workbench;
+
+import java.util.List;
+
+import org.eclipse.swt.widgets.Menu;
+import org.eclipse.ui.IPerspectiveDescriptor;
+import org.eclipse.ui.IPerspectiveListener4;
+import org.eclipse.ui.IWindowListener;
+
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchPartReference;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.internal.WorkbenchWindow;
+import org.eclipse.ui.internal.progress.ProgressRegion;
+
+/**
+ * Handler for perspectiveBars ExtensionPoint
+ * 
+ * FIXME : statusLine widgets are not restored into original positions.
+ * 
+ * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
+ *
+ */
+@SuppressWarnings("restriction")
+public class PerspectiveBarsActivator implements IPerspectiveListener4, IWindowListener {
+
+    private IWorkbenchWindow                    activeWindow;
+
+
+    public PerspectiveBarsActivator() {
+        PlatformUI.getWorkbench().addWindowListener(this);
+    }
+
+    public void dispose() {
+        PlatformUI.getWorkbench().removeWindowListener(this);
+    }
+
+    //------------------------------------------------------------------------
+    // IPerspectiveListener4
+    //------------------------------------------------------------------------
+
+    @Override
+    public void perspectivePreDeactivate(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
+    }
+
+    @Override
+    public void perspectiveClosed(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
+    }
+
+    @Override
+    public void perspectiveDeactivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
+    }
+
+    @Override
+    public void perspectiveOpened(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
+    }
+
+    @Override
+    public void perspectiveSavedAs(IWorkbenchPage page, IPerspectiveDescriptor oldPerspective,
+            IPerspectiveDescriptor newPerspective) {
+    }
+
+    @Override
+    public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective,
+            IWorkbenchPartReference partRef, String changeId) {
+        // See IWorkbenchPage.CHANGED_* constants for change id's.
+    }
+
+    @Override
+    public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) {
+        activatePerspective(perspective.getId());
+    }
+
+    @Override
+    public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) {
+        // See IWorkbenchPage.CHANGED_* constants for change id's.
+    }
+
+    //------------------------------------------------------------------------
+    // IWindowListener
+    //------------------------------------------------------------------------
+
+    @Override
+    public void windowActivated(IWorkbenchWindow window) {
+//        System.out.println("attaching to window: " + window);
+        attachToWindow(window);
+    }
+
+    @Override
+    public void windowClosed(IWorkbenchWindow window) {
+    }
+
+    @Override
+    public void windowDeactivated(IWorkbenchWindow window) {
+//        System.out.println("detaching from window: " + window);
+        detachFromWindow(window);
+    }
+
+    @Override
+    public void windowOpened(IWorkbenchWindow window) {
+    }
+
+    //------------------------------------------------------------------------
+    // UTILITIES
+    //------------------------------------------------------------------------
+
+    private void attachToWindow(IWorkbenchWindow window) {
+        activeWindow = window;
+        window.addPerspectiveListener(this);
+        IPerspectiveDescriptor perspective = window.getActivePage().getPerspective();
+        if (perspective != null) {
+            activatePerspective(perspective.getId());
+        }
+    }
+
+    private void detachFromWindow(IWorkbenchWindow window) {
+        window.removePerspectiveListener(this);
+    }
+
+
+
+
+    private Menu menu;
+    
+       private void activatePerspective(String perspectiveId) {
+//        System.out.println("activating perspective: " + perspectiveId);
+       
+        
+        List<IPerspectiveBarsExtension> exts = PerspectiveBarsManager.getInstance().getExtensions(perspectiveId);
+        Boolean menuBar = null;
+        Boolean coolBar = null;
+        Boolean statusLine = null;
+        Boolean perspectiveBar = null;
+        Boolean fastViewBar = null;
+        Boolean progressIndicator = null;
+        for (IPerspectiveBarsExtension ext : exts) {
+            if (menuBar == null)
+               menuBar = ext.getMenuBar();
+            if (coolBar == null)
+               coolBar = ext.getCoolBar();
+            if (statusLine == null)
+               statusLine = ext.getStatusLine();
+            if (perspectiveBar == null)
+               perspectiveBar = ext.getPerspectiveBar();
+            if (fastViewBar == null)
+               fastViewBar = ext.getFastViewBar();
+            if (progressIndicator == null)
+               progressIndicator = ext.getProgressIndicator();
+        }
+        
+        if (activeWindow instanceof WorkbenchWindow) {
+               WorkbenchWindow window = (WorkbenchWindow)activeWindow;
+               
+               if (menuBar == null || menuBar == true) {
+                       Menu m = window.getShell().getMenuBar();
+                       if (m == null && menu != null) {
+                               window.getShell().setMenuBar(menu);
+                       }
+               } else {
+                       Menu m = window.getShell().getMenuBar();
+                       if (m != null) {
+                               menu = m;
+                               window.getShell().setMenuBar(null);
+                               
+                       }
+               }
+               
+               if (coolBar == null || coolBar == true) {
+                       window.setCoolBarVisible(true);
+               } else {
+                       window.setCoolBarVisible(false);
+               }
+               
+               if (statusLine == null || statusLine == true) {
+                       window.setStatusLineVisible(true);
+                       //window.showHeapStatus(true);
+               } else {
+                       window.setStatusLineVisible(false);
+                       //window.showHeapStatus(false);
+               }
+               
+               if (perspectiveBar == null || perspectiveBar == true) {
+                       window.setPerspectiveBarVisible(true);
+               } else {
+                       window.setPerspectiveBarVisible(false);
+               }
+
+               // Bug 479522 - Remove unused fastView methods in WorkbenchWindow 
+               //if (fastViewBar == null || fastViewBar == true) {
+               //      window.setFastViewBarVisible(true);
+               //} else {
+               //      window.setFastViewBarVisible(false);
+               //}
+               
+               if (progressIndicator == null || progressIndicator == true) {
+                       ProgressRegion r = window.getProgressRegion();
+                       if (r != null)
+                               r.getControl().setVisible(true);
+                       
+               } else {
+                       ProgressRegion r = window.getProgressRegion();
+                       if (r != null)
+                               r.getControl().setVisible(false);
+               }
+               // Bug 486768 - Delete unused internal ITrimManager
+               //window.getTrimManager().forceLayout();
+        }
+      
+    }
+
+}