*******************************************************************************/\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
*/\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
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