]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.ui/src/org/simantics/document/ui/DocumentView.java
Sync git svn branch with SVN repository r33153.
[simantics/platform.git] / bundles / org.simantics.document.ui / src / org / simantics / document / ui / DocumentView.java
index ccbfbd5083fe415a6b570274ddeaee431934d0bd..025b88b0808348357691bbb9c0f169f3eb65c7f6 100644 (file)
  *******************************************************************************/\r
 package org.simantics.document.ui;\r
 \r
+import org.eclipse.jface.action.Action;\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.ui.IWorkbenchPart;\r
 import org.simantics.ui.workbench.IPropertyPage;\r
+import org.simantics.utils.ui.BundleUtils;\r
 import org.simantics.views.swt.ModelledView;\r
 \r
 /**\r
@@ -19,6 +24,8 @@ import org.simantics.views.swt.ModelledView;
  */\r
 public class DocumentView extends ModelledView {\r
 \r
+    private boolean pinSelection = false;\r
+\r
     @Override\r
     protected String configurationURI() {\r
         return DocumentUIResource.URIs.View;\r
@@ -29,4 +36,32 @@ public class DocumentView extends ModelledView {
         return null;\r
     }\r
 \r
+    @Override\r
+    protected void inputChanged(IWorkbenchPart provider, Object input) {\r
+        if (pinSelection)\r
+            return;\r
+        super.inputChanged(provider, input);\r
+    }\r
+\r
+    @Override\r
+    public void createPartControl(Composite parent) {\r
+        super.createPartControl(parent);\r
+        getViewSite().getActionBars().getToolBarManager().add(new PinSelection());\r
+    }\r
+\r
+    private class PinSelection extends Action {\r
+        public PinSelection() {\r
+            super("Pin Selection", IAction.AS_CHECK_BOX);\r
+            setImageDescriptor(\r
+                    BundleUtils.getImageDescriptorFromPlugin(\r
+                            "org.eclipse.ui",\r
+                            "icons/full/etool16/pin_editor.png"));\r
+        }\r
+\r
+        @Override\r
+        public void run() {\r
+            pinSelection = isChecked();\r
+        }\r
+    }\r
+\r
 }\r