]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/plugin.xml
Configurable connection crossing styles
[simantics/platform.git] / bundles / org.simantics.modeling.ui / plugin.xml
index c837e4ea93193d69e1c524219bc033c6a59ef1b8..039fed00abfe428941bbec2434e2aad109b1e487 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<plugin>\r
-\r
-   <extension\r
-         point="org.eclipse.core.expressions.propertyTesters">\r
-      <propertyTester\r
-            properties="nodeClass,deletable,modifiable,refreshable"\r
-            namespace="org.simantics.modeling.ui"\r
-            type="org.eclipse.jface.viewers.IStructuredSelection"\r
-            class="org.simantics.browsing.ui.swt.NodePropertyTester"\r
-            id="org.simantics.browsing.ui.nodePropertyTester">\r
-      </propertyTester>\r
-      <propertyTester\r
-            properties="partOf"\r
-            namespace="org.simantics.modeling.componentType"\r
-            type="java.lang.Object"\r
-            class="org.simantics.modeling.ui.property.ComponentTypePropertyTester"\r
-            id="org.simantics.modeling.componentTypePropertyTester">\r
-      </propertyTester>\r
-      <propertyTester\r
-            properties="hasActiveModelsOfType"\r
-            namespace="org.simantics.modeling.model"\r
-            type="java.lang.Object"\r
-            class="org.simantics.modeling.ui.property.ModelPropertyTester"\r
-            id="org.simantics.modeling.modelPropertyTester">\r
-      </propertyTester>\r
-      <propertyTester\r
-            properties="isMasterEditor,isInstanceEditor"\r
-            namespace="org.simantics.modeling.typical"\r
-            type="org.eclipse.ui.IEditorPart"\r
-            class="org.simantics.modeling.ui.property.TypicalPropertyTester"\r
-            id="org.simantics.modeling.typicalPropertyTester">\r
-      </propertyTester>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.perspectives">\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.perspectiveExtensions">\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.views">\r
-      <view\r
-            name="Diagram Tools"\r
-            icon="platform:/plugin/com.famfamfam.silk/icons/wrench.png"\r
-            category="org.simantics.diagram.views"\r
-            class="org.simantics.modeling.ui.diagramEditor.tools.DiagramToolViewPart"\r
-            restorable="true"\r
-            id="org.simantics.modeling.ui.diagramtool">\r
-      </view>\r
-      <view\r
-            allowMultiple="true"\r
-            name="Change Information"\r
-            icon="platform:/plugin/com.famfamfam.silk/icons/report.png"\r
-            category="org.simantics.modeling.category"\r
-            class="org.simantics.modeling.ui.view.ChangeInformationView"\r
-            id="org.simantics.modeling.changeInformation">\r
-      </view>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.editors">\r
-      <editor\r
-            name="Diagram Editor"\r
-            icon="icons/shape_square.png"\r
-            class="org.simantics.modeling.ui.diagramEditor.DiagramEditor:viewer=org.simantics.modeling.ui.diagramEditor.DiagramViewer"\r
-            contributorClass="org.simantics.modeling.ui.diagramEditor.DiagramViewerActionContributor"\r
-            matchingStrategy="org.simantics.ui.workbench.editor.input.ResourceEditorInputMatchingStrategy"\r
-            id="org.simantics.modeling.ui.diagramEditor">\r
-      </editor>\r
-      <editor\r
-            name="Diagram Editor (plain)"\r
-            icon="icons/shape_square.png"\r
-            class="org.simantics.modeling.ui.diagramEditor.DiagramEditor:viewer=org.simantics.modeling.ui.diagramEditor.PlainDiagramViewer"\r
-            contributorClass="org.simantics.modeling.ui.diagramEditor.DiagramViewerActionContributor"\r
-            matchingStrategy="org.simantics.ui.workbench.editor.input.ResourceEditorInputMatchingStrategy"\r
-            id="org.simantics.modeling.ui.plainDiagramEditor">\r
-      </editor>\r
-      <editor\r
-            name="Symbol Editor"\r
-            icon="icons/photo.png"\r
-            class="org.simantics.modeling.ui.diagramEditor.DiagramEditor:viewer=org.simantics.modeling.ui.symbolEditor.SymbolViewer"\r
-            matchingStrategy="org.simantics.ui.workbench.editor.input.ResourceEditorInputMatchingStrategy"\r
-            id="org.simantics.modeling.ui.symbolEditor">\r
-      </editor>\r
-      <editor\r
-            default="false"\r
-            name="User Component Editor"\r
-            icon="icons/box.png"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.ComponentTypeEditor"\r
-            id="org.simantics.modeling.ui.componentTypeEditor">\r
-      </editor>\r
-      <editor\r
-            default="false"\r
-            name="Ontology Definition File Editor"\r
-            icon="icons/box.png"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.PGraphEditor"\r
-            id="org.simantics.modeling.ui.pgraphEditor">\r
-      </editor>\r
-      <editor\r
-            default="false"\r
-            name="SCL Query Editor"\r
-            icon="icons/box.png"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SCLQueryEditor"\r
-            id="org.simantics.modeling.ui.sclQueryEditor">\r
-      </editor>\r
-      <editor\r
-            default="false"\r
-            name="Procedural User Component Code Editor"\r
-            icon="icons/book_open.png"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.ProceduralComponentTypeCodeEditor"\r
-            id="org.simantics.modeling.ui.proceduralComponentTypeCodeEditor">\r
-      </editor>\r
-      <editor\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SymbolCodeEditor"\r
-            default="false"\r
-            icon="icons/book_open.png"\r
-            id="org.simantics.modeling.ui.symbolCodeEditor"\r
-            name="Symbol Code Editor">\r
-      </editor>\r
-      <editor\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SymbolDropHandlerEditor"\r
-            default="false"\r
-            icon="icons/book_open.png"\r
-            id="org.simantics.modeling.ui.symbolDropHandlerEditor"\r
-            name="Symbol Drop Handler Code Editor">\r
-      </editor>\r
-      <editor\r
-            default="false"\r
-            name="Procedural User Component Instance Viewer"\r
-            icon="icons/shape_3d_gray.png"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.ProceduralComponentInstanceViewer"\r
-            id="org.simantics.modeling.ui.proceduralComponentInstanceViewer">\r
-      </editor>\r
-      <editor\r
-            default="true"\r
-            name="User Component Script Editor"\r
-            icon="icons/book_open.png"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.ComponentTypeScriptEditor"\r
-            id="org.simantics.modeling.ui.componentTypeScriptEditor">\r
-      </editor>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.core.expressions.definitions">\r
-      <definition\r
-            id="org.simantics.modeling.ui.diagram.editorActive">\r
-         <with\r
-               variable="activeEditor">\r
-            <instanceof\r
-                  value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">\r
-            </instanceof>\r
-         </with>\r
-      </definition>\r
-      <definition\r
-            id="org.simantics.modeling.ui.inSCLModuleEditor">\r
-         <with\r
-               variable="activePartId">\r
-            <equals\r
-                  value="org.simantics.modeling.ui.sclModuleEditor2">\r
-            </equals>\r
-         </with>\r
-      </definition>\r
-      <definition\r
-            id="org.simantics.modeling.ui.inPGraphEditor">\r
-         <with variable="activePartId">\r
-            <equals\r
-                  value="org.simantics.modeling.ui.pgraphEditor">\r
-            </equals>\r
-         </with>\r
-      </definition>\r
-      <definition\r
-            id="org.simantics.modeling.ui.inSCLQueryEditor">\r
-         <with\r
-               variable="activePartId">\r
-            <equals\r
-                  value="org.simantics.modeling.ui.sclQueryEditor">\r
-            </equals>\r
-         </with>\r
-      </definition>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.commands">\r
-      <category\r
-            name="Modeling Commands"\r
-            id="org.simantics.modeling.ui.category">\r
-      </category>\r
-      <category\r
-            name="Data Category"\r
-            id="org.simantics.data.category">\r
-      </category>\r
-      <command\r
-            name="Pin Selection"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.pinSelection">\r
-      </command>\r
-      <command\r
-            name="Create Issue"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.createIssue">\r
-      </command>\r
-      <command\r
-            name="Help"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.contextualHelp">\r
-      </command>\r
-      <command\r
-            name="Toggle Flag External State"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.toggleExternalFlag">\r
-      </command>\r
-      <command\r
-            name="Duplicate View and Pin Selection"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.duplicatePinnedView">\r
-      </command>\r
-      <command\r
-            name="Open"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.open">\r
-      </command>\r
-      <!--<command\r
-            name="Import image from SVG file"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.importSVG">\r
-      </command>-->\r
-      <command\r
-            name="Create Rectangle"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.createRectangle">\r
-      </command>\r
-      <command\r
-            name="Create Ellipse"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.createEllipse">\r
-      </command>\r
-      <command\r
-            name="Create Path"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.createPath">\r
-      </command>\r
-      <command\r
-            name="Create Text"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.createText">\r
-      </command>\r
-      <command\r
-            name="New Experiment"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newExperiment">\r
-      </command>\r
-      <command\r
-            name="New State"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newState">\r
-      </command>\r
-      <command\r
-            name="New Spreadsheet"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newSpreadsheet">\r
-      </command>\r
-      <command\r
-            name="New Chart"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newChart">\r
-      </command>\r
-      <command\r
-            name="New Chart Group"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newChartGroup">\r
-      </command>\r
-      <command\r
-            name="New Subscription"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newSubscription">\r
-      </command>\r
-      <command\r
-            name="Restore Default Value"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.properties.restoreDefaultValue">\r
-      </command>\r
-      <command\r
-            name="Activate Filter"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.activateFilter">\r
-      </command>\r
-      <command\r
-            name="Expand Selection"\r
-            description="Expand current selection to neighboring connections and nodes"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="expandSelection">\r
-      </command>\r
-      <!--<command\r
-            name="Edit Style"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.editStyle">\r
-      </command>\r
-      <command\r
-            name="Page Settings"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.pagesettings">\r
-      </command>-->\r
-      <command\r
-            name="Align Vertical"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.alignvert">\r
-      </command>\r
-      <command\r
-            name="Align Horizontal"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.alignhoriz">\r
-      </command>\r
-      <command\r
-            defaultHandler="org.simantics.modeling.ui.actions.ValidateMappingHandler"\r
-            name="Validate Mapping"\r
-            id="org.simantics.modeling.ui.validateMapping">\r
-      </command>\r
-      <command\r
-            name="Alignment"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.align">\r
-      </command>\r
-      <command\r
-            name="New User Component"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.newComponentType">\r
-      </command>\r
-      <command\r
-            name="Create Terminal"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.ui.createConnectionPoint">\r
-      </command>\r
-      <command\r
-            name="Merge flags"\r
-            categoryId="org.simantics.diagram.category"\r
-            id="mergeFlags">\r
-      </command>\r
-      <command\r
-            name="Merge related flags"\r
-            categoryId="org.simantics.diagram.category"\r
-            id="mergeRelatedFlags">\r
-      </command>\r
-      <command\r
-            name="Expand flags"\r
-            categoryId="org.simantics.diagram.category"\r
-            id="expandFlags">\r
-      </command>\r
-      <command\r
-            name="Disconnect Flags"\r
-            description="Disconnects those flags from the current selection that are connected to counterparts."\r
-            categoryId="org.simantics.diagram.category"\r
-            id="org.simantics.modeling.ui.disconnectFlag">\r
-      </command>\r
-      <command\r
-            name="Synchronize All Master Templates in Active Model with All Instances"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.typical.sync.activeModel">\r
-      </command>\r
-      <command\r
-            name="Synchronize Current Typical Master Template with All Instances in Active Model"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.typical.sync.currentTemplate">\r
-      </command>\r
-      <command\r
-            name="Synchronize Current Typical Instance with Template"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.typical.sync.currentInstance">\r
-      </command>\r
-      <command\r
-            name="Toggle Real-time Typical Synchronization"\r
-            categoryId="org.simantics.modeling.ui.category"\r
-            id="org.simantics.modeling.typical.sync.toggleRealtime">\r
-      </command>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.core.expressions.definitions">\r
-      <definition\r
-            id="org.simantics.modeling.browser.selection.deletable">\r
-         <and>\r
-            <with\r
-                  variable="activeContexts">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="or">\r
-                  <equals\r
-                        value="org.simantics.modeling.ui.modelBrowser">\r
-                  </equals>\r
-               </iterate>\r
-            </with>\r
-            <with\r
-                  variable="selection">\r
-               <and>\r
-                  <test\r
-                        property="org.simantics.modeling.ui.deletable">\r
-                  </test>\r
-               </and>\r
-            </with>\r
-         </and>\r
-      </definition>\r
-      <definition\r
-            id="org.simantics.modeling.browser.selection.modifiable">\r
-         <and>\r
-            <with\r
-                  variable="activeContexts">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="or">\r
-                  <equals\r
-                        value="org.simantics.modeling.ui.modelBrowser">\r
-                  </equals>\r
-               </iterate>\r
-            </with>\r
-            <with\r
-                  variable="selection">\r
-               <test\r
-                     property="org.simantics.modeling.ui.modifiable">\r
-               </test>\r
-            </with>\r
-         </and>\r
-      </definition>\r
-      <definition\r
-            id="org.simantics.modeling.browser.selection.refreshable">\r
-         <and>\r
-            <with\r
-                  variable="activeContexts">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="or">\r
-                  <equals\r
-                        value="org.simantics.modeling.ui.modelBrowser">\r
-                  </equals>\r
-               </iterate>\r
-            </with>\r
-            <with\r
-                  variable="selection">\r
-               <test\r
-                     property="org.simantics.modeling.ui.refreshable">\r
-               </test>\r
-            </with>\r
-         </and>\r
-      </definition>\r
-      <definition\r
-            id="org.simantics.modeling.ui.modelBrowser.active">\r
-         <with\r
-               variable="activeContexts">\r
-            <and>\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="or">\r
-                  <equals\r
-                        value="org.simantics.modeling.ui.modelBrowser">\r
-                  </equals>\r
-               </iterate>\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="and">\r
-                  <not>\r
-                     <equals\r
-                           value="org.simantics.browsing.ui.inlineEditing">\r
-                     </equals>\r
-                  </not>\r
-               </iterate>\r
-            </and>\r
-         </with>\r
-      </definition>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.handlers">\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.cut"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.StandardCutHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.modelBrowser.active">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.copy"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.StandardCopyHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.modelBrowser.active">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.paste"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.StandardPasteHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.modelBrowser.active">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.createIssue"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.CreateIssue">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="selection">\r
-               <and>\r
-                  <test\r
-                        args="http://www.simantics.org/Diagram-0.0/Element"\r
-                        property="org.simantics.graph.resourceType">\r
-                  </test>\r
-                  <test\r
-                        value="true"\r
-                        property="org.simantics.diagram.element.mapped">\r
-                  </test>\r
-               </and>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.contextualHelp"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.ContextualHelp">\r
-         <activeWhen>\r
-            <with\r
-                  variable="selection">\r
-               <and>\r
-                  <test\r
-                        args="http://www.simantics.org/Diagram-0.0/Element"\r
-                        property="org.simantics.graph.resourceType">\r
-                  </test>\r
-               </and>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.toggleExternalFlag"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.ToggleExternalFlag">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="selection">\r
-               <and>\r
-                  <test\r
-                        args="http://www.simantics.org/Diagram-0.0/Flag"\r
-                        property="org.simantics.graph.resourceType">\r
-                  </test>\r
-                  <test\r
-                        value="false"\r
-                        property="org.simantics.diagram.flag.connected">\r
-                  </test>\r
-               </and>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.newSubscription"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.NewSubscriptionHandler">\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.pinSelection"\r
-            class="org.simantics.modeling.ui.actions.PinSelectionHandler">\r
-         <enabledWhen>\r
-            <test\r
-                  args="org.simantics.modeling.ui,property.pinmode"\r
-                  property="org.simantics.preference"\r
-                  value="Pin">\r
-            </test>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.duplicatePinnedView"\r
-            class="org.simantics.modeling.ui.actions.DuplicatePinnedViewHandler">\r
-      </handler>\r
-      <!--<handler\r
-            commandId="org.simantics.modeling.ui.importSVG"\r
-            class="org.simantics.modeling.ui.actions.ImportSVG">\r
-      </handler>-->\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.createRectangle"\r
-            class="org.simantics.modeling.ui.actions.CreateRectangle">\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.createEllipse"\r
-            class="org.simantics.modeling.ui.actions.CreateEllipse">\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.createPath"\r
-            class="org.simantics.modeling.ui.actions.CreatePath">\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.createText"\r
-            class="org.simantics.modeling.ui.actions.CreateText">\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.newSpreadsheet"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.NewSpreadsheetHandler">\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.properties.restoreDefaultValue"\r
-            class="org.simantics.modeling.ui.property.RestoreDefaultValueHandler">\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.file.refresh"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.RefreshNodeHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.browser.selection.refreshable">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.activateFilter"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.ActivateFilterHandler">\r
-         <activeWhen>\r
-            <with\r
-                  variable="activeContexts">\r
-               <iterate\r
-                     operator="or">\r
-                  <or>\r
-                     <equals\r
-                           value="org.simantics.modeling.ui.modelBrowser">\r
-                     </equals>\r
-                     <equals\r
-                           value="org.simantics.modeling.ui.properties">\r
-                     </equals>\r
-                  </or>\r
-               </iterate>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="expandSelection"\r
-            class="org.simantics.diagram.handler.CanvasCommandDelegate">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.diagram.active">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.delete"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.DeleteNodeHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.browser.selection.deletable">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.rename"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.RenameNodeHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.browser.selection.modifiable">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <!--<handler\r
-            commandId="org.simantics.modeling.ui.editStyle"\r
-            class="org.simantics.modeling.ui.actions.EditStyleHandler">\r
-         <enabledWhen>\r
-            <and>\r
-               <with\r
-                     variable="selection">\r
-                  <iterate\r
-                        ifEmpty="false"\r
-                        operator="and">\r
-                     <test\r
-                           args="http://www.simantics.org/Diagram-0.0/StyleProvider"\r
-                           property="org.simantics.graph.resourceType">\r
-                     </test>\r
-                  </iterate>\r
-               </with>\r
-            </and>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.pagesettings"\r
-            class="org.simantics.modeling.ui.actions.PageSettingsHandler">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="activePart">\r
-               <and>\r
-                  <instanceof\r
-                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">\r
-                  </instanceof>\r
-               </and>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>-->\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.alignvert"\r
-            class="org.simantics.modeling.ui.diagramEditor.handlers.AlignVerticalHandler">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="activePart">\r
-               <and>\r
-                  <instanceof\r
-                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">\r
-                  </instanceof>\r
-               </and>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.alignhoriz"\r
-            class="org.simantics.modeling.ui.diagramEditor.handlers.AlignHorizontalHandler">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="activePart">\r
-               <and>\r
-                  <instanceof\r
-                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">\r
-                  </instanceof>\r
-               </and>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.undo"\r
-            class="org.simantics.ui.workbench.handler.SessionUndoHandler">\r
-         <activeWhen>\r
-            <with\r
-                  variable="activeContexts">\r
-               <test\r
-                     property="org.simantics.ui.tester.canUndo">\r
-               </test>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.redo"\r
-            class="org.simantics.ui.workbench.handler.SessionRedoHandler">\r
-         <activeWhen>\r
-            <with\r
-                  variable="activeContexts">\r
-               <test\r
-                     property="org.simantics.ui.tester.canRedo">\r
-               </test>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.undo"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.inSCLModuleEditor">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            class="org.simantics.modeling.ui.componentTypeEditor.PGraphUndoHandler"\r
-            commandId="org.eclipse.ui.edit.undo">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.inPGraphEditor">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.redo"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.inSCLModuleEditor">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            class="org.simantics.modeling.ui.componentTypeEditor.PGraphUndoHandler"\r
-            commandId="org.eclipse.ui.edit.redo">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.inPGraphEditor">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.undo"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.inSCLQueryEditor">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.eclipse.ui.edit.redo"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">\r
-         <activeWhen>\r
-            <reference\r
-                  definitionId="org.simantics.modeling.ui.inSCLQueryEditor">\r
-            </reference>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.align"\r
-            class="org.simantics.modeling.ui.diagramEditor.handlers.AlignHandler">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="activePart">\r
-               <and>\r
-                  <instanceof\r
-                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">\r
-                  </instanceof>\r
-               </and>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.createConnectionPoint"\r
-            class="org.simantics.modeling.ui.modelBrowser.handlers.CreateConnectionPoint">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="selection">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="and">\r
-                  <and>\r
-                     <test\r
-                           args="http://www.simantics.org/Diagram-0.0/Flag"\r
-                           property="org.simantics.graph.resourceType">\r
-                     </test>\r
-                     <test\r
-                           property="org.simantics.diagram.flag.connected"\r
-                           value="false">\r
-                     </test>\r
-                     <test\r
-                           property="org.simantics.modeling.componentType.partOf"\r
-                           value="true">\r
-                     </test>\r
-                  </and>\r
-               </iterate>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="mergeFlags"\r
-            class="org.simantics.modeling.ui.actions.MergeFlagsHandler">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="selection">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="and">\r
-                  <and>\r
-                     <test\r
-                           args="http://www.simantics.org/Diagram-0.0/Flag"\r
-                           property="org.simantics.graph.resourceType">\r
-                     </test>\r
-                     <test\r
-                           property="org.simantics.diagram.flag.connected"\r
-                           value="true">\r
-                     </test>\r
-                  </and>\r
-               </iterate>\r
-               <count\r
-                     value="(1-">\r
-               </count>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="mergeRelatedFlags"\r
-            class="org.simantics.modeling.ui.actions.MergeRelatedFlagsHandler">\r
-         <activeWhen>\r
-            <with\r
-                  variable="selection">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="and">\r
-                  <and>\r
-                     <test\r
-                           args="http://www.simantics.org/Diagram-0.0/Flag"\r
-                           property="org.simantics.graph.resourceType">\r
-                     </test>\r
-                     <test\r
-                           property="org.simantics.diagram.flag.connected"\r
-                           value="true">\r
-                     </test>\r
-                  </and>\r
-               </iterate>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="expandFlags"\r
-            class="org.simantics.modeling.ui.actions.ExpandFlagsHandler">\r
-         <activeWhen>\r
-            <with\r
-                  variable="selection">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="and">\r
-                  <and>\r
-                     <test\r
-                           args="http://www.simantics.org/Diagram-0.0/Flag"\r
-                           property="org.simantics.graph.resourceType">\r
-                     </test>\r
-                     <test\r
-                           property="org.simantics.diagram.flag.connected"\r
-                           value="true">\r
-                     </test>\r
-                     <test\r
-                           property="org.simantics.diagram.flag.merged"\r
-                           value="true">\r
-                     </test>\r
-                  </and>\r
-               </iterate>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.ui.disconnectFlag"\r
-            class="org.simantics.modeling.ui.diagramEditor.handlers.DisconnectFlagHandler">\r
-         <enabledWhen>\r
-            <with\r
-                  variable="selection">\r
-               <iterate\r
-                     ifEmpty="false"\r
-                     operator="and">\r
-                  <and>\r
-                     <test\r
-                           args="http://www.simantics.org/Diagram-0.0/Flag"\r
-                           property="org.simantics.graph.resourceType">\r
-                     </test>\r
-                     <test\r
-                           args="true"\r
-                           property="org.simantics.diagram.flag.connected">\r
-                     </test>\r
-                  </and>\r
-               </iterate>\r
-            </with>\r
-         </enabledWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.typical.sync.currentTemplate"\r
-            class="org.simantics.modeling.ui.typicals.SyncCurrentTypicalTemplateToInstances">\r
-         <activeWhen>\r
-            <with\r
-                  variable="activeEditor">\r
-               <test\r
-                     property="org.simantics.modeling.typical.isMasterEditor">\r
-               </test>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.typical.sync.currentInstance"\r
-            class="org.simantics.modeling.ui.typicals.SyncCurrentTypicalInstanceWithTemplate">\r
-         <activeWhen>\r
-            <with\r
-                  variable="activeEditor">\r
-               <test\r
-                     property="org.simantics.modeling.typical.isInstanceEditor">\r
-               </test>\r
-            </with>\r
-         </activeWhen>\r
-      </handler>\r
-      <handler\r
-            commandId="org.simantics.modeling.typical.sync.toggleRealtime"\r
-            class="org.simantics.modeling.ui.typicals.ToggleTypicalRealtimeSync">\r
-      </handler>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.bindings">\r
-      <key\r
-            commandId="org.simantics.modeling.ui.activateFilter"\r
-            contextId="org.simantics.modeling.ui.modelBrowser"\r
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
-            sequence="M1+F">\r
-      </key>\r
-      <key\r
-            commandId="org.simantics.modeling.ui.activateFilter"\r
-            contextId="org.simantics.modeling.ui.properties"\r
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
-            sequence="M1+F">\r
-      </key>\r
-      <key\r
-            commandId="expandSelection"\r
-            contextId="org.simantics.modeling.ui.diagramming"\r
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
-            sequence="E">\r
-      </key>\r
-      <key\r
-            commandId="mergeFlags"\r
-            contextId="org.simantics.modeling.ui.diagramming"\r
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
-            sequence="M">\r
-      </key>\r
-      <key\r
-            commandId="mergeRelatedFlags"\r
-            contextId="org.simantics.modeling.ui.diagramming"\r
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
-            sequence="M1+M2+M">\r
-      </key>\r
-      <key\r
-            commandId="org.simantics.modeling.ui.contextualHelp"\r
-            contextId="org.simantics.modeling.ui.diagramming"\r
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
-            sequence="F1">\r
-      </key>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.menus">\r
-      <menuContribution\r
-            locationURI="menu:sFile?after=new.ext">\r
-         <menu\r
-               label="New"\r
-               id="#FileNewMenu">\r
-            <dynamic\r
-                  class="org.simantics.modeling.ui.actions.ModelingProjectOperationsContribution"\r
-                  id="org.simantics.modeling.ui.actions">\r
-            </dynamic>\r
-         </menu>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#GraphExplorerPopup?after=wbStart">\r
-         <separator\r
-               name="new.begin"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="new.ext"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="new.end"\r
-               visible="true">\r
-         </separator>\r
-         <separator\r
-               name="open.begin"\r
-               visible="false">\r
-         </separator>\r
-         <dynamic\r
-               class="org.simantics.ui.contribution.OpenWithMenuContribution"\r
-               id="openWith">\r
-         </dynamic>\r
-         <separator\r
-               name="open.ext"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="open.end"\r
-               visible="true">\r
-         </separator>\r
-         <separator\r
-               name="edit.begin"\r
-               visible="false">\r
-         </separator>\r
-         <command\r
-               commandId="org.eclipse.ui.file.refresh"\r
-               label="Refresh"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.open"\r
-               label="Open"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.eclipse.ui.edit.delete"\r
-               label="Delete"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="false">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.eclipse.ui.edit.rename"\r
-               label="Rename"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="false">\r
-            </visibleWhen>\r
-         </command>\r
-         <separator\r
-               name="edit.ext"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="edit.end"\r
-               visible="true">\r
-         </separator>\r
-         <separator\r
-               name="import.begin"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="import.ext"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="import.end"\r
-               visible="true">\r
-         </separator>\r
-         <separator\r
-               name="modelling.begin"\r
-               visible="false">\r
-         </separator>\r
-         <dynamic\r
-               class="org.simantics.modeling.ui.actions.SetInitialState"\r
-               id="org.simantics.modeling.ui.setInitialState">\r
-            <visibleWhen\r
-                  checkEnabled="false">\r
-               <with\r
-                     variable="selection">\r
-                  <test\r
-                        args="http://www.simantics.org/Simulation-0.0/Experiment"\r
-                        property="org.simantics.graph.resourceType">\r
-                  </test>\r
-               </with>\r
-            </visibleWhen>\r
-         </dynamic>\r
-         <dynamic\r
-               class="org.simantics.modeling.ui.actions.ModelingOperationsContribution"\r
-               id="org.simantics.modeling.ui.actions">\r
-         </dynamic>\r
-         <separator\r
-               name="modelling.ext"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="modelling.end"\r
-               visible="true">\r
-         </separator>\r
-         <separator\r
-               name="additions"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="wbEnd"\r
-               visible="false">\r
-         </separator>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#GraphExplorerPopup?after=modelling.ext">\r
-         <dynamic\r
-               id="org.simantics.modeling.ui.disableSubscription">\r
-            <class\r
-                  class="org.simantics.modeling.ui.modelBrowser2.contributions.SetSubscriptionEnabledContribution">\r
-               <parameter\r
-                     name="name"\r
-                     value="Disable">\r
-               </parameter>\r
-               <parameter\r
-                     name="image"\r
-                     value="stop">\r
-               </parameter>\r
-               <parameter\r
-                     name="include"\r
-                     value="false">\r
-               </parameter>\r
-            </class>\r
-         </dynamic>\r
-         <dynamic\r
-               id="org.simantics.modeling.ui.enableSubscription">\r
-            <class\r
-                  class="org.simantics.modeling.ui.modelBrowser2.contributions.SetSubscriptionEnabledContribution">\r
-               <parameter\r
-                     name="name"\r
-                     value="Enable">\r
-               </parameter>\r
-               <parameter\r
-                     name="image"\r
-                     value="tick">\r
-               </parameter>\r
-               <parameter\r
-                     name="include"\r
-                     value="true">\r
-               </parameter>\r
-            </class>\r
-         </dynamic>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#GraphExplorerPopup?after=import.ext">\r
-         <command\r
-               commandId="org.eclipse.ui.file.import"\r
-               label="Import..."\r
-               style="push"\r
-               mnemonic="I">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.eclipse.ui.file.export"\r
-               label="Export..."\r
-               style="push"\r
-               mnemonic="E">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:org.simantics.new?after=begin">\r
-         <command\r
-               commandId="org.simantics.modeling.ui.newSpreadsheet"\r
-               label="New Spreadsheet"\r
-               icon="icons/table_add.png"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-               <with\r
-                     variable="selection">\r
-                  <and>\r
-                     <test\r
-                           args="org.simantics.modeling.ui.modelBrowser2.model.SheetsNode"\r
-                           property="org.simantics.modeling.ui.nodeClass">\r
-                     </test>\r
-                  </and>\r
-               </with>\r
-            </visibleWhen>\r
-         </command>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#GraphExplorerPopup?after=new.ext">\r
-         <dynamic\r
-               class="org.simantics.modeling.ui.actions.ModeledActions"\r
-               id="org.simantics.modeling.ui.modeledActions">\r
-         </dynamic>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#GraphExplorerPopup?after=modelling.ext">\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#ModelingDiagramPopup">\r
-         <dynamic\r
-               class="org.simantics.modeling.ui.actions.DiagramOperationsContribution"\r
-               id="org.simantics.modeling.ui.diagramOperations">\r
-         </dynamic>\r
-         <dynamic\r
-               class="org.simantics.ui.contribution.OpenWithMenuContribution"\r
-               id="openWith">\r
-         </dynamic>\r
-         <dynamic\r
-               class="org.simantics.diagram.handler.ConnectionRoutingMenuContribution"\r
-               id="connectionRouting">\r
-         </dynamic>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="toolbar:org.simantics.browsing.ui.graph.propertyView">\r
-         <command\r
-               commandId="org.simantics.modeling.ui.pinSelection"\r
-               label="Pin Selection"\r
-               icon="icons/etool16/pin_editor.gif"\r
-               style="toggle"\r
-               tooltip="Pin Current Selection"\r
-               disabledIcon="icons/dtool16/pin_editor.gif">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.duplicatePinnedView"\r
-               label="Duplicate View and Pin Selection"\r
-               icon="icons/etool16/open_pinned_view.gif"\r
-               style="push"\r
-               tooltip="Open New Pinned View">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#SymbolViewerPopup">\r
-         <separator\r
-               name="wbStart"\r
-               visible="false">\r
-         </separator>\r
-         <separator\r
-               name="new.begin"\r
-               visible="false">\r
-         </separator>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.importSVG"\r
-               label="Add Image"\r
-               icon="icons/photo.png"\r
-               style="push"\r
-               id="Import SVG">\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.createRectangle"\r
-               label="Add Rectangle"\r
-               icon="icons/shape_square.png"\r
-               style="push"\r
-               id="Add Rectangle">\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.createEllipse"\r
-               label="Add Ellipse"\r
-               icon="icons/stop.png"\r
-               style="push"\r
-               id="Add Ellipse">\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.createPath"\r
-               label="Add Path"\r
-               icon="icons/chart_line.png"\r
-               style="push"\r
-               id="Add Path">\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.createText"\r
-               label="Add Text"\r
-               icon="icons/style.png"\r
-               style="push"\r
-               id="Add Text">\r
-         </command>\r
-         <separator\r
-               name="new.end"\r
-               visible="true">\r
-         </separator>\r
-         <separator\r
-               name="edit.begin"\r
-               visible="false">\r
-         </separator>\r
-         <command\r
-               commandId="org.eclipse.ui.edit.delete"\r
-               label="Delete"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="false">\r
-            </visibleWhen>\r
-         </command>\r
-         <separator\r
-               name="edit.end"\r
-               visible="true">\r
-         </separator>\r
-         <dynamic\r
-               class="org.simantics.diagram.handler.TerminalConnectionDirectionsMenuContribution"\r
-               id="org.simantics.modeling.ui.setTerminalConnectionDirections">\r
-         </dynamic>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#ModelingDiagramPopup?after=import.ext">\r
-         <command\r
-               commandId="org.simantics.modeling.ui.editStyle"\r
-               label="Edit Style"\r
-               icon="icons/silk/palette.png"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.createIssue"\r
-               label="Create Issue"\r
-               icon="platform:/plugin/com.famfamfam.silk/icons/error.png"\r
-               style="toggle">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.contextualHelp"\r
-               label="Help"\r
-               icon="platform:/plugin/com.famfamfam.silk/icons/help.png"\r
-               style="toggle">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.toggleExternalFlag"\r
-               label="External"\r
-               icon="icons/tick.png"\r
-               style="toggle">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-         <command\r
-               commandId="org.simantics.modeling.ui.createConnectionPoint"\r
-               label="Create Terminal"\r
-               icon="icons/tick.png"\r
-               style="push">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="popup:#PropertiesPopup">\r
-         <command\r
-               commandId="org.simantics.modeling.ui.properties.restoreDefaultValue"\r
-               label="Restore Default Values"\r
-               icon="icons/elcl16/defaults_ps.gif"\r
-               style="push"\r
-               disabledIcon="icons/dlcl16/defaults_ps.gif">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="toolbar:org.simantics.browsing.ui.graph.propertyView">\r
-         <command\r
-               commandId="org.simantics.modeling.ui.properties.restoreDefaultValue"\r
-               label="Restore Default Values"\r
-               icon="icons/elcl16/defaults_ps.gif"\r
-               style="push"\r
-               tooltip="Restore Default Values for Selection"\r
-               disabledIcon="icons/dlcl16/defaults_ps.gif">\r
-            <visibleWhen\r
-                  checkEnabled="true">\r
-            </visibleWhen>\r
-         </command>\r
-      </menuContribution>\r
-      <menuContribution\r
-            locationURI="toolbar:org.eclipse.ui.main.toolbar">\r
-         <toolbar\r
-               label="Diagram Toolbar"\r
-               id="org.simantics.modeling.ui.diagramtoolbar">\r
-            <separator\r
-                  name="tool.begin"\r
-                  visible="true">\r
-            </separator>\r
-            <separator\r
-                  name="tool.additions">\r
-            </separator>\r
-            <separator\r
-                  name="tool.end">\r
-            </separator>\r
-         </toolbar>\r
-      </menuContribution>\r
-      <!--<menuContribution\r
-            locationURI="toolbar:org.eclipse.ui.main.toolbar">\r
-         <toolbar\r
-               label="Element Toolbar"\r
-               id="org.simantics.modeling.ui.elementtoolbar">\r
-         </toolbar>\r
-      </menuContribution>-->\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.contexts">\r
-      <context\r
-            name="In Modelling Perspective"\r
-            id="org.simantics.modeling.ui.context"\r
-            parentId="org.eclipse.ui.contexts.window">\r
-      </context>\r
-      <context\r
-            name="In Model Browser"\r
-            id="org.simantics.modeling.ui.modelBrowser"\r
-            parentId="org.eclipse.ui.contexts.window">\r
-      </context>\r
-      <context\r
-            name="In Property View"\r
-            id="org.simantics.modeling.ui.properties"\r
-            parentId="org.eclipse.ui.contexts.window">\r
-      </context>\r
-      <context\r
-            name="Undo Context"\r
-            id="org.simantics.ui.undoContext"\r
-            parentId="org.eclipse.ui.contexts.window">\r
-      </context>\r
-   </extension>\r
-   <extension\r
-         point="org.simantics.ui.perspectiveContextBinding">\r
-      <binding\r
-            contextIds="org.simantics.modeling.ui.context"\r
-            perspectiveId="org.simantics.modeling.ui.perspective">\r
-      </binding>\r
-   </extension>\r
-   <extension\r
-         point="org.simantics.ui.resourceEditorAdapter">\r
-      <group\r
-            id="org.simantics.diagramEditor.group">\r
-      </group>\r
-      <group\r
-            id="org.simantics.componentTypeEditor.group">\r
-      </group>\r
-      <adapterClass\r
-            groupId="org.simantics.diagramEditor.group"\r
-            priority="50"\r
-            class="org.simantics.modeling.ui.diagramEditor.OpenDiagramFromConfigurationAdapter">\r
-         <!--<inContext\r
-               id="org.simantics.modeling.ui.context">\r
-         </inContext>-->\r
-      </adapterClass>\r
-      <adapterClass\r
-            priority="150"\r
-            class="org.simantics.modeling.ui.diagramEditor.OpenSheetAdapter">\r
-         <!--<inContext\r
-               id="org.simantics.modeling.ui.context">\r
-         </inContext>-->\r
-      </adapterClass>\r
-      <adapterClass\r
-            priority="50"\r
-            class="org.simantics.modeling.ui.diagramEditor.OpenDiagramFromSymbolAdapter">\r
-         <inContext\r
-               id="org.simantics.modeling.ui.context">\r
-         </inContext>\r
-      </adapterClass>\r
-      <adapter\r
-            label="User Component Editor"\r
-            priority="10"\r
-            groupId="org.simantics.componentTypeEditor.group"\r
-            editorId="org.simantics.modeling.ui.componentTypeEditor"\r
-            type_uris="http://www.simantics.org/Structural-0.0/ComponentType">\r
-      </adapter>\r
-      <adapter\r
-            label="User Component Editor"\r
-            priority="11"\r
-            groupId="org.simantics.componentTypeEditor.group"\r
-            editorId="org.simantics.modeling.ui.componentTypeEditor"\r
-            type_uris="http://www.simantics.org/Structural-0.0/ProceduralComponentType">\r
-      </adapter>\r
-      <adapter\r
-            label="Ontology Definition File Editor"\r
-            priority="11"\r
-            editorId="org.simantics.modeling.ui.pgraphEditor"\r
-            type_uris="http://www.simantics.org/Layer0-0.0/PGraph">\r
-      </adapter>\r
-      <adapter\r
-            label="SCL Query Editor"\r
-            priority="11"\r
-            editorId="org.simantics.modeling.ui.sclQueryEditor"\r
-            type_uris="http://www.simantics.org/Modeling-1.2/SCLQueryType,http://www.simantics.org/Modeling-1.2/SCLQuery">\r
-      </adapter>\r
-      <adapter\r
-            label="Procedural User Component Code Editor"\r
-            priority="11"\r
-            editorId="org.simantics.modeling.ui.proceduralComponentTypeCodeEditor"\r
-            type_uris="http://www.simantics.org/Structural-0.0/ProceduralComponentTypeCode">\r
-      </adapter>\r
-      <adapter\r
-            editorId="org.simantics.modeling.ui.symbolCodeEditor"\r
-            label="Symbol Code Editor"\r
-            priority="11"\r
-            type_uris="http://www.simantics.org/Diagram-0.0/ElementClass">\r
-      </adapter>\r
-      <adapter\r
-            editorId="org.simantics.modeling.ui.symbolDropHandlerEditor"\r
-            label="Symbol Drop Handler Editor"\r
-            priority="11"\r
-            type_uris="http://www.simantics.org/Diagram-0.0/ElementClass">\r
-      </adapter>\r
-      <adapter\r
-            label="User Component Script Editor"\r
-            priority="11"\r
-            editorId="org.simantics.modeling.ui.componentTypeScriptEditor"\r
-            type_uris="http://www.simantics.org/Structural-0.0/ComponentTypeScript">\r
-      </adapter>\r
-      <adapterClass\r
-            priority="-10"\r
-            class="org.simantics.modeling.ui.componentTypeEditor.ProceduralComponentInstanceViewerEditorAdapter">\r
-      </adapterClass>\r
-      <adapterClass\r
-            class="org.simantics.modeling.ui.componentTypeEditor.SCLModuleEditorAdapter"\r
-            id="org.simantics.modeling.ui.sclModuleEditor2"\r
-            priority="10">\r
-      </adapterClass>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.core.runtime.preferences">\r
-      <initializer\r
-            class="org.simantics.modeling.ui.preferences.PreferenceInitializer">\r
-      </initializer>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.preferencePages">\r
-      <page\r
-            name="Diagram"\r
-            class="org.simantics.modeling.ui.preferences.DiagramPreferencePage"\r
-            id="org.simantics.modeling.diagram.preferences">\r
-      </page>\r
-      <page\r
-            name="Connection Flags"\r
-            category="org.simantics.modeling.diagram.preferences"\r
-            class="org.simantics.modeling.ui.preferences.DiagramFlagPreferencePage"\r
-            id="org.simantics.modeling.diagram.flag.preferences">\r
-      </page>\r
-      <page\r
-            name="Subscription"\r
-            class="org.simantics.modeling.ui.preferences.SubscriptionPreferencePage"\r
-            id="org.simantics.modeling.ui.subscription.preferences">\r
-      </page>\r
-      <page\r
-            name="CSV (Comma separated value)"\r
-            class="org.simantics.modeling.ui.preferences.CSVPreferencePage"\r
-            id="org.simantics.modeling.csv.preferences">\r
-      </page>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.exportWizards">\r
-      <category\r
-            name="Generic Modeling"\r
-            id="org.simantics.export.export">\r
-      </category>\r
-      <wizard\r
-            name="Diagrams to PDF"\r
-            icon="icons/page_white_acrobat.png"\r
-            category="org.simantics.export.export"\r
-            class="org.simantics.modeling.ui.pdf.PDFDiagramExportWizard"\r
-            id="org.simantics.modeling.ui.pdf.wizard">\r
-         <description>\r
-         </description>\r
-      </wizard>\r
-      <wizard\r
-            name="Shared Library"\r
-            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"\r
-            category="org.simantics.export.export"\r
-            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:sharedOntologyExportWizard"\r
-            id="org.simantics.modeling.ui.sharedOntologyExportWizard">\r
-         <description>\r
-         </description>\r
-      </wizard>\r
-      <wizard\r
-            name="Model"\r
-            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"\r
-            category="org.simantics.export.export"\r
-            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:modelExportWizard"\r
-            id="org.simantics.modeling.ui.modelExportWizard">\r
-         <description>\r
-         </description>\r
-      </wizard>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.ui.importWizards">\r
-      <category\r
-            name="Generic Modeling"\r
-            id="org.simantics.modeling.import">\r
-      </category>\r
-      <wizard\r
-            name="Shared Library"\r
-            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"\r
-            category="org.simantics.modeling.import"\r
-            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:sharedOntologyImportWizard"\r
-            id="org.simantics.modeling.ui.sharedOntologyImportWizard">\r
-         <description>\r
-         </description>\r
-      </wizard>\r
-   </extension>\r
-   <extension\r
-         point="org.simantics.ui.doubleClick">\r
-      <doubleClickAction\r
-            name="Expand Browser Node"\r
-            priority="0.5"\r
-            class="org.simantics.modeling.ui.ExpandNodeHandler">\r
-      </doubleClickAction>\r
-   </extension>\r
-   <extension\r
-         point="org.simantics.scl.reflection.binding">\r
-      <namespace\r
-            path="http://www.simantics.org/Modeling-0.0/Functions">\r
-         <externalClass\r
-               className="org.simantics.db.Resource">\r
-         </externalClass>\r
-         <externalClass\r
-               className="org.simantics.db.ReadGraph">\r
-         </externalClass>\r
-         <externalClass\r
-               className="org.simantics.db.layer0.variable.Variable">\r
-         </externalClass>\r
-         <externalClass\r
-               className="org.simantics.browsing.ui.StatePersistor">\r
-         </externalClass>\r
-         <class\r
-               className="org.simantics.modeling.ui.function.All">\r
-         </class>\r
-      </namespace>\r
-   </extension>\r
-   <extension\r
-         point="org.eclipse.core.runtime.adapters">\r
-      <factory\r
-            class="org.simantics.diagram.adapter.CanvasAdapterFactory"\r
-            adaptableType="org.simantics.modeling.ui.diagramEditor.DiagramEditor">\r
-         <adapter\r
-               type="org.simantics.g2d.canvas.ICanvasContext">\r
-         </adapter>\r
-      </factory>\r
-   </extension>\r
-   <extension\r
-         id="org.simantics.modeling.ui.fragment"\r
-         point="org.eclipse.e4.workbench.model">\r
-      <fragment\r
-            uri="fragment.e4xmi">\r
-      </fragment>\r
-   </extension>\r
-\r
-</plugin>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin>
+
+   <extension
+         point="org.eclipse.core.expressions.propertyTesters">
+      <propertyTester
+            properties="nodeClass,deletable,modifiable,refreshable"
+            namespace="org.simantics.modeling.ui"
+            type="org.eclipse.jface.viewers.IStructuredSelection"
+            class="org.simantics.browsing.ui.swt.NodePropertyTester"
+            id="org.simantics.browsing.ui.nodePropertyTester">
+      </propertyTester>
+      <propertyTester
+            properties="partOf"
+            namespace="org.simantics.modeling.componentType"
+            type="java.lang.Object"
+            class="org.simantics.modeling.ui.property.ComponentTypePropertyTester"
+            id="org.simantics.modeling.componentTypePropertyTester">
+      </propertyTester>
+      <propertyTester
+            properties="hasActiveModelsOfType"
+            namespace="org.simantics.modeling.model"
+            type="java.lang.Object"
+            class="org.simantics.modeling.ui.property.ModelPropertyTester"
+            id="org.simantics.modeling.modelPropertyTester">
+      </propertyTester>
+      <propertyTester
+            properties="isMasterEditor,isInstanceEditor"
+            namespace="org.simantics.modeling.typical"
+            type="org.eclipse.ui.IEditorPart"
+            class="org.simantics.modeling.ui.property.TypicalPropertyTester"
+            id="org.simantics.modeling.typicalPropertyTester">
+      </propertyTester>
+   </extension>
+   <extension
+         point="org.eclipse.ui.perspectives">
+   </extension>
+   <extension
+         point="org.eclipse.ui.perspectiveExtensions">
+   </extension>
+   <extension
+         point="org.eclipse.ui.views">
+      <view
+            allowMultiple="false"
+            category="org.simantics.scl.ui.category"
+            class="org.simantics.modeling.ui.scl.expressions.SCLExpressionView"
+            id="org.simantics.modeling.ui.scl.expressionsView"
+            name="Used SCL Expressions"
+            restorable="true">
+      </view>
+      <view
+            name="Diagram Tools"
+            icon="platform:/plugin/com.famfamfam.silk/icons/wrench.png"
+            category="org.simantics.diagram.views"
+            class="org.simantics.modeling.ui.diagramEditor.tools.DiagramToolViewPart"
+            restorable="true"
+            id="org.simantics.modeling.ui.diagramtool">
+      </view>
+      <view
+            allowMultiple="true"
+            name="Change Information"
+            icon="platform:/plugin/com.famfamfam.silk/icons/report.png"
+            category="org.simantics.modeling.category"
+            class="org.simantics.modeling.ui.view.ChangeInformationView"
+            id="org.simantics.modeling.changeInformation">
+      </view>
+   </extension>
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            name="Diagram Editor"
+            icon="icons/shape_square.png"
+            class="org.simantics.modeling.ui.diagramEditor.DiagramEditor:viewer=org.simantics.modeling.ui.diagramEditor.DiagramViewer"
+            contributorClass="org.simantics.modeling.ui.diagramEditor.DiagramViewerActionContributor"
+            matchingStrategy="org.simantics.ui.workbench.editor.input.ResourceEditorInputMatchingStrategy"
+            id="org.simantics.modeling.ui.diagramEditor">
+      </editor>
+      <editor
+            name="Diagram Editor (plain)"
+            icon="icons/shape_square.png"
+            class="org.simantics.modeling.ui.diagramEditor.DiagramEditor:viewer=org.simantics.modeling.ui.diagramEditor.PlainDiagramViewer"
+            contributorClass="org.simantics.modeling.ui.diagramEditor.DiagramViewerActionContributor"
+            matchingStrategy="org.simantics.ui.workbench.editor.input.ResourceEditorInputMatchingStrategy"
+            id="org.simantics.modeling.ui.plainDiagramEditor">
+      </editor>
+      <editor
+            name="Symbol Editor"
+            icon="icons/photo.png"
+            class="org.simantics.modeling.ui.diagramEditor.DiagramEditor:viewer=org.simantics.modeling.ui.symbolEditor.SymbolViewer"
+            matchingStrategy="org.simantics.ui.workbench.editor.input.ResourceEditorInputMatchingStrategy"
+            id="org.simantics.modeling.ui.symbolEditor">
+      </editor>
+      <editor
+            default="false"
+            name="User Component Editor"
+            icon="icons/box.png"
+            class="org.simantics.modeling.ui.componentTypeEditor.ComponentTypeEditor"
+            id="org.simantics.modeling.ui.componentTypeEditor">
+      </editor>
+      <editor
+            default="false"
+            name="Ontology Definition File Editor"
+            icon="icons/box.png"
+            class="org.simantics.modeling.ui.componentTypeEditor.PGraphEditor"
+            id="org.simantics.modeling.ui.pgraphEditor">
+      </editor>
+      <editor
+            default="false"
+            name="SCL Query Editor"
+            icon="icons/box.png"
+            class="org.simantics.modeling.ui.componentTypeEditor.SCLQueryEditor"
+            id="org.simantics.modeling.ui.sclQueryEditor">
+      </editor>
+      <editor
+            default="false"
+            name="Procedural User Component Code Editor"
+            icon="icons/book_open.png"
+            class="org.simantics.modeling.ui.componentTypeEditor.ProceduralComponentTypeCodeEditor"
+            id="org.simantics.modeling.ui.proceduralComponentTypeCodeEditor">
+      </editor>
+      <editor
+            class="org.simantics.modeling.ui.componentTypeEditor.SymbolCodeEditor"
+            default="false"
+            icon="icons/book_open.png"
+            id="org.simantics.modeling.ui.symbolCodeEditor"
+            name="Symbol Code Editor">
+      </editor>
+      <editor
+            class="org.simantics.modeling.ui.componentTypeEditor.SymbolDropHandlerEditor"
+            default="false"
+            icon="icons/book_open.png"
+            id="org.simantics.modeling.ui.symbolDropHandlerEditor"
+            name="Symbol Drop Handler Code Editor">
+      </editor>
+      <editor
+            default="false"
+            name="Procedural User Component Instance Viewer"
+            icon="icons/shape_3d_gray.png"
+            class="org.simantics.modeling.ui.componentTypeEditor.ProceduralComponentInstanceViewer"
+            id="org.simantics.modeling.ui.proceduralComponentInstanceViewer">
+      </editor>
+      <editor
+            default="true"
+            name="User Component Script Editor"
+            icon="icons/book_open.png"
+            class="org.simantics.modeling.ui.componentTypeEditor.ComponentTypeScriptEditor"
+            id="org.simantics.modeling.ui.componentTypeScriptEditor">
+      </editor>
+      <editor
+            class="org.simantics.modeling.ui.scl.scriptEditor.SCLScriptEditor"
+            default="false"
+            icon="platform:/plugin/com.famfamfam.silk/icons/script_go.png"
+            id="org.simantics.modeling.ui.scl.scriptEditor"
+            name="SCL Script Editor">
+      </editor>
+   </extension>
+   <extension
+         point="org.eclipse.ui.elementFactories">
+      <factory
+            class="org.simantics.modeling.ui.scl.scriptEditor.SCLScriptEditorInputFactory"
+            id="org.simantics.modeling.ui.scl.scriptEditor.inputFactory">
+      </factory>
+   </extension>
+   <extension
+         point="org.eclipse.core.expressions.definitions">
+      <definition
+            id="org.simantics.modeling.ui.diagram.editorActive">
+         <with
+               variable="activeEditor">
+            <instanceof
+                  value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">
+            </instanceof>
+         </with>
+      </definition>
+      <definition
+            id="org.simantics.modeling.ui.inSCLModuleEditor">
+         <with
+               variable="activePartId">
+            <equals
+                  value="org.simantics.modeling.ui.sclModuleEditor2">
+            </equals>
+         </with>
+      </definition>
+      <definition
+            id="org.simantics.modeling.ui.inPGraphEditor">
+         <with variable="activePartId">
+            <equals
+                  value="org.simantics.modeling.ui.pgraphEditor">
+            </equals>
+         </with>
+      </definition>
+      <definition
+            id="org.simantics.modeling.ui.inSCLQueryEditor">
+         <with
+               variable="activePartId">
+            <equals
+                  value="org.simantics.modeling.ui.sclQueryEditor">
+            </equals>
+         </with>
+      </definition>
+      <definition
+            id="org.simantics.modeling.ui.inSCLScriptEditor">
+         <with
+               variable="activePartId">
+            <equals
+                  value="org.simantics.modeling.ui.scl.scriptEditor">
+            </equals>
+         </with>
+      </definition>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <category
+            name="Modeling Commands"
+            id="org.simantics.modeling.ui.category">
+      </category>
+      <category
+            name="Data Category"
+            id="org.simantics.data.category">
+      </category>
+      <command
+            name="Pin Selection"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.pinSelection">
+      </command>
+      <command
+            name="Create Issue"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.createIssue">
+      </command>
+      <command
+            name="Help"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.contextualHelp">
+      </command>
+      <command
+            name="Toggle Flag External State"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.toggleExternalFlag">
+      </command>
+      <command
+            name="Duplicate View and Pin Selection"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.duplicatePinnedView">
+      </command>
+      <command
+            name="Open"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.open">
+      </command>
+      <!--<command
+            name="Import image from SVG file"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.importSVG">
+      </command>-->
+      <command
+            name="Create Rectangle"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.createRectangle">
+      </command>
+      <command
+            name="Create Ellipse"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.createEllipse">
+      </command>
+      <command
+            name="Create Path"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.createPath">
+      </command>
+      <command
+            name="Create Text"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.createText">
+      </command>
+      <command
+            name="New Experiment"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newExperiment">
+      </command>
+      <command
+            name="New State"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newState">
+      </command>
+      <command
+            name="New Spreadsheet"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newSpreadsheet">
+      </command>
+      <command
+            name="New Chart"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newChart">
+      </command>
+      <command
+            name="New Chart Group"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newChartGroup">
+      </command>
+      <command
+            name="New Subscription"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newSubscription">
+      </command>
+      <command
+            name="Restore Default Value"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.properties.restoreDefaultValue">
+      </command>
+      <command
+            name="Activate Filter"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.activateFilter">
+      </command>
+      <command
+            name="Expand Selection"
+            description="Expand current selection to neighboring connections and nodes"
+            categoryId="org.simantics.modeling.ui.category"
+            id="expandSelection">
+      </command>
+      <!--<command
+            name="Edit Style"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.editStyle">
+      </command>
+      <command
+            name="Page Settings"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.pagesettings">
+      </command>-->
+      <command
+            name="Align Vertical"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.alignvert">
+      </command>
+      <command
+            name="Align Horizontal"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.alignhoriz">
+      </command>
+      <command
+            defaultHandler="org.simantics.modeling.ui.actions.ValidateMappingHandler"
+            name="Validate Mapping"
+            id="org.simantics.modeling.ui.validateMapping">
+      </command>
+      <command
+            name="Alignment"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.align">
+      </command>
+      <command
+            name="New User Component"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.newComponentType">
+      </command>
+      <command
+            name="Create Terminal"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.createConnectionPoint">
+      </command>
+      <command
+            name="Merge flags"
+            categoryId="org.simantics.diagram.category"
+            id="mergeFlags">
+      </command>
+      <command
+            name="Merge related flags"
+            categoryId="org.simantics.diagram.category"
+            id="mergeRelatedFlags">
+      </command>
+      <command
+            name="Expand flags"
+            categoryId="org.simantics.diagram.category"
+            id="expandFlags">
+      </command>
+      <command
+            name="Disconnect Flags"
+            description="Disconnects those flags from the current selection that are connected to counterparts."
+            categoryId="org.simantics.diagram.category"
+            id="org.simantics.modeling.ui.disconnectFlag">
+      </command>
+      <command
+            name="Synchronize All Master Templates in Active Model with All Instances"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.typical.sync.activeModel">
+      </command>
+      <command
+            name="Synchronize Current Typical Master Template with All Instances in Active Model"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.typical.sync.currentTemplate">
+      </command>
+      <command
+            name="Synchronize Current Typical Instance with Template"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.typical.sync.currentInstance">
+      </command>
+      <command
+            name="Toggle Real-time Typical Synchronization"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.typical.sync.toggleRealtime">
+      </command>
+      <command
+            name="Run SCL Script"
+            categoryId="org.simantics.modeling.ui.category"
+            id="org.simantics.modeling.ui.scl.scriptEditor.run">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.core.expressions.definitions">
+      <definition
+            id="org.simantics.modeling.browser.selection.deletable">
+         <and>
+            <with
+                  variable="activeContexts">
+               <iterate
+                     ifEmpty="false"
+                     operator="or">
+                  <equals
+                        value="org.simantics.modeling.ui.modelBrowser">
+                  </equals>
+               </iterate>
+            </with>
+            <with
+                  variable="selection">
+               <and>
+                  <test
+                        property="org.simantics.modeling.ui.deletable">
+                  </test>
+               </and>
+            </with>
+         </and>
+      </definition>
+      <definition
+            id="org.simantics.modeling.browser.selection.modifiable">
+         <and>
+            <with
+                  variable="activeContexts">
+               <iterate
+                     ifEmpty="false"
+                     operator="or">
+                  <equals
+                        value="org.simantics.modeling.ui.modelBrowser">
+                  </equals>
+               </iterate>
+            </with>
+            <with
+                  variable="selection">
+               <test
+                     property="org.simantics.modeling.ui.modifiable">
+               </test>
+            </with>
+         </and>
+      </definition>
+      <definition
+            id="org.simantics.modeling.browser.selection.refreshable">
+         <and>
+            <with
+                  variable="activeContexts">
+               <iterate
+                     ifEmpty="false"
+                     operator="or">
+                  <equals
+                        value="org.simantics.modeling.ui.modelBrowser">
+                  </equals>
+               </iterate>
+            </with>
+            <with
+                  variable="selection">
+               <test
+                     property="org.simantics.modeling.ui.refreshable">
+               </test>
+            </with>
+         </and>
+      </definition>
+      <definition
+            id="org.simantics.modeling.ui.modelBrowser.active">
+         <with
+               variable="activeContexts">
+            <and>
+               <iterate
+                     ifEmpty="false"
+                     operator="or">
+                  <equals
+                        value="org.simantics.modeling.ui.modelBrowser">
+                  </equals>
+               </iterate>
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <not>
+                     <equals
+                           value="org.simantics.browsing.ui.inlineEditing">
+                     </equals>
+                  </not>
+               </iterate>
+            </and>
+         </with>
+      </definition>
+   </extension>
+   <extension
+         point="org.eclipse.ui.handlers">
+      <handler
+            commandId="org.eclipse.ui.edit.cut"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.StandardCutHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.modelBrowser.active">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.copy"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.StandardCopyHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.modelBrowser.active">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.paste"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.StandardPasteHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.modelBrowser.active">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.createIssue"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.CreateIssue">
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <and>
+                  <test
+                        args="http://www.simantics.org/Diagram-0.0/Element"
+                        property="org.simantics.graph.resourceType">
+                  </test>
+                  <test
+                        value="true"
+                        property="org.simantics.diagram.element.mapped">
+                  </test>
+               </and>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.contextualHelp"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.ContextualHelp">
+         <activeWhen>
+            <with
+                  variable="selection">
+               <and>
+                  <test
+                        args="http://www.simantics.org/Diagram-0.0/Element"
+                        property="org.simantics.graph.resourceType">
+                  </test>
+               </and>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.toggleExternalFlag"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.ToggleExternalFlag">
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <and>
+                  <test
+                        args="http://www.simantics.org/Diagram-0.0/Flag"
+                        property="org.simantics.graph.resourceType">
+                  </test>
+                  <test
+                        value="false"
+                        property="org.simantics.diagram.flag.connected">
+                  </test>
+               </and>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.newSubscription"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.NewSubscriptionHandler">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.pinSelection"
+            class="org.simantics.modeling.ui.actions.PinSelectionHandler">
+         <enabledWhen>
+            <test
+                  args="org.simantics.modeling.ui,property.pinmode"
+                  property="org.simantics.preference"
+                  value="Pin">
+            </test>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.duplicatePinnedView"
+            class="org.simantics.modeling.ui.actions.DuplicatePinnedViewHandler">
+      </handler>
+      <!--<handler
+            commandId="org.simantics.modeling.ui.importSVG"
+            class="org.simantics.modeling.ui.actions.ImportSVG">
+      </handler>-->
+      <handler
+            commandId="org.simantics.modeling.ui.createRectangle"
+            class="org.simantics.modeling.ui.actions.CreateRectangle">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.createEllipse"
+            class="org.simantics.modeling.ui.actions.CreateEllipse">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.createPath"
+            class="org.simantics.modeling.ui.actions.CreatePath">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.createText"
+            class="org.simantics.modeling.ui.actions.CreateText">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.newSpreadsheet"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.NewSpreadsheetHandler">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.properties.restoreDefaultValue"
+            class="org.simantics.modeling.ui.property.RestoreDefaultValueHandler">
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.file.refresh"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.RefreshNodeHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.browser.selection.refreshable">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.activateFilter"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.ActivateFilterHandler">
+         <activeWhen>
+            <with
+                  variable="activeContexts">
+               <iterate
+                     operator="or">
+                  <or>
+                     <equals
+                           value="org.simantics.modeling.ui.modelBrowser">
+                     </equals>
+                     <equals
+                           value="org.simantics.modeling.ui.properties">
+                     </equals>
+                  </or>
+               </iterate>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="expandSelection"
+            class="org.simantics.diagram.handler.CanvasCommandDelegate">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.diagram.active">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.delete"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.DeleteNodeHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.browser.selection.deletable">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.rename"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.RenameNodeHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.browser.selection.modifiable">
+            </reference>
+         </activeWhen>
+      </handler>
+      <!--<handler
+            commandId="org.simantics.modeling.ui.editStyle"
+            class="org.simantics.modeling.ui.actions.EditStyleHandler">
+         <enabledWhen>
+            <and>
+               <with
+                     variable="selection">
+                  <iterate
+                        ifEmpty="false"
+                        operator="and">
+                     <test
+                           args="http://www.simantics.org/Diagram-0.0/StyleProvider"
+                           property="org.simantics.graph.resourceType">
+                     </test>
+                  </iterate>
+               </with>
+            </and>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.pagesettings"
+            class="org.simantics.modeling.ui.actions.PageSettingsHandler">
+         <enabledWhen>
+            <with
+                  variable="activePart">
+               <and>
+                  <instanceof
+                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">
+                  </instanceof>
+               </and>
+            </with>
+         </enabledWhen>
+      </handler>-->
+      <handler
+            commandId="org.simantics.modeling.ui.alignvert"
+            class="org.simantics.modeling.ui.diagramEditor.handlers.AlignVerticalHandler">
+         <enabledWhen>
+            <with
+                  variable="activePart">
+               <and>
+                  <instanceof
+                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">
+                  </instanceof>
+               </and>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.alignhoriz"
+            class="org.simantics.modeling.ui.diagramEditor.handlers.AlignHorizontalHandler">
+         <enabledWhen>
+            <with
+                  variable="activePart">
+               <and>
+                  <instanceof
+                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">
+                  </instanceof>
+               </and>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.undo"
+            class="org.simantics.ui.workbench.handler.SessionUndoHandler">
+         <activeWhen>
+            <with
+                  variable="activeContexts">
+            <and>
+               <test
+                     property="org.simantics.ui.tester.canUndo">
+               </test>
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <not>
+                     <equals
+                           value="org.simantics.modeling.ui.diagramming.inlineEdit">
+                     </equals>
+                  </not>
+               </iterate>
+            </and>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.redo"
+            class="org.simantics.ui.workbench.handler.SessionRedoHandler">
+         <activeWhen>
+            <with
+                  variable="activeContexts">
+            <and>
+               <test
+                     property="org.simantics.ui.tester.canRedo">
+               </test>
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <not>
+                     <equals
+                           value="org.simantics.modeling.ui.diagramming.inlineEdit">
+                     </equals>
+                  </not>
+               </iterate>
+            </and>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.undo"
+            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inSCLModuleEditor">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            class="org.simantics.modeling.ui.componentTypeEditor.PGraphUndoHandler"
+            commandId="org.eclipse.ui.edit.undo">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inPGraphEditor">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.redo"
+            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inSCLModuleEditor">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            class="org.simantics.modeling.ui.componentTypeEditor.PGraphUndoHandler"
+            commandId="org.eclipse.ui.edit.redo">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inPGraphEditor">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.undo"
+            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inSCLQueryEditor">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.eclipse.ui.edit.redo"
+            class="org.simantics.modeling.ui.componentTypeEditor.SCLEditorBaseUndoHandler">
+         <activeWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inSCLQueryEditor">
+            </reference>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.align"
+            class="org.simantics.modeling.ui.diagramEditor.handlers.AlignHandler">
+         <enabledWhen>
+            <with
+                  variable="activePart">
+               <and>
+                  <instanceof
+                        value="org.simantics.modeling.ui.diagramEditor.DiagramEditor">
+                  </instanceof>
+               </and>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.createConnectionPoint"
+            class="org.simantics.modeling.ui.modelBrowser.handlers.CreateConnectionPoint">
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <and>
+                     <test
+                           args="http://www.simantics.org/Diagram-0.0/Flag"
+                           property="org.simantics.graph.resourceType">
+                     </test>
+                     <test
+                           property="org.simantics.diagram.flag.connected"
+                           value="false">
+                     </test>
+                     <test
+                           property="org.simantics.modeling.componentType.partOf"
+                           value="true">
+                     </test>
+                  </and>
+               </iterate>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="mergeFlags"
+            class="org.simantics.modeling.ui.actions.MergeFlagsHandler">
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <and>
+                     <test
+                           args="http://www.simantics.org/Diagram-0.0/Flag"
+                           property="org.simantics.graph.resourceType">
+                     </test>
+                     <test
+                           property="org.simantics.diagram.flag.connected"
+                           value="true">
+                     </test>
+                  </and>
+               </iterate>
+               <count
+                     value="(1-">
+               </count>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="mergeRelatedFlags"
+            class="org.simantics.modeling.ui.actions.MergeRelatedFlagsHandler">
+         <activeWhen>
+            <with
+                  variable="selection">
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <and>
+                     <test
+                           args="http://www.simantics.org/Diagram-0.0/Flag"
+                           property="org.simantics.graph.resourceType">
+                     </test>
+                     <test
+                           property="org.simantics.diagram.flag.connected"
+                           value="true">
+                     </test>
+                  </and>
+               </iterate>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="expandFlags"
+            class="org.simantics.modeling.ui.actions.ExpandFlagsHandler">
+         <activeWhen>
+            <with
+                  variable="selection">
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <and>
+                     <test
+                           args="http://www.simantics.org/Diagram-0.0/Flag"
+                           property="org.simantics.graph.resourceType">
+                     </test>
+                     <test
+                           property="org.simantics.diagram.flag.connected"
+                           value="true">
+                     </test>
+                     <test
+                           property="org.simantics.diagram.flag.merged"
+                           value="true">
+                     </test>
+                  </and>
+               </iterate>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.disconnectFlag"
+            class="org.simantics.modeling.ui.diagramEditor.handlers.DisconnectFlagHandler">
+         <enabledWhen>
+            <with
+                  variable="selection">
+               <iterate
+                     ifEmpty="false"
+                     operator="and">
+                  <and>
+                     <test
+                           args="http://www.simantics.org/Diagram-0.0/Flag"
+                           property="org.simantics.graph.resourceType">
+                     </test>
+                     <test
+                           args="true"
+                           property="org.simantics.diagram.flag.connected">
+                     </test>
+                  </and>
+               </iterate>
+            </with>
+         </enabledWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.typical.sync.currentTemplate"
+            class="org.simantics.modeling.ui.typicals.SyncCurrentTypicalTemplateToInstances">
+         <activeWhen>
+            <with
+                  variable="activeEditor">
+               <test
+                     property="org.simantics.modeling.typical.isMasterEditor">
+               </test>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.typical.sync.currentInstance"
+            class="org.simantics.modeling.ui.typicals.SyncCurrentTypicalInstanceWithTemplate">
+         <activeWhen>
+            <with
+                  variable="activeEditor">
+               <test
+                     property="org.simantics.modeling.typical.isInstanceEditor">
+               </test>
+            </with>
+         </activeWhen>
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.typical.sync.toggleRealtime"
+            class="org.simantics.modeling.ui.typicals.ToggleTypicalRealtimeSync">
+      </handler>
+      <handler
+            commandId="org.simantics.modeling.ui.scl.scriptEditor.run"
+            class="org.simantics.modeling.ui.scl.scriptEditor.RunSCLScriptHandler">
+         <enabledWhen>
+            <reference
+                  definitionId="org.simantics.modeling.ui.inSCLScriptEditor">
+            </reference>
+         </enabledWhen>
+      </handler>
+   </extension>
+   <extension
+         point="org.eclipse.ui.bindings">
+      <key
+            commandId="org.simantics.modeling.ui.activateFilter"
+            contextId="org.simantics.modeling.ui.modelBrowser"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="M1+F">
+      </key>
+      <key
+            commandId="org.simantics.modeling.ui.activateFilter"
+            contextId="org.simantics.modeling.ui.properties"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="M1+F">
+      </key>
+      <key
+            commandId="expandSelection"
+            contextId="org.simantics.modeling.ui.diagramming"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="E">
+      </key>
+      <key
+            commandId="mergeFlags"
+            contextId="org.simantics.modeling.ui.diagramming"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="M">
+      </key>
+      <key
+            commandId="mergeRelatedFlags"
+            contextId="org.simantics.modeling.ui.diagramming"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="M1+M2+M">
+      </key>
+      <key
+            commandId="org.simantics.modeling.ui.contextualHelp"
+            contextId="org.simantics.modeling.ui.diagramming"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="F1">
+      </key>
+      <key
+            commandId="org.simantics.modeling.ui.scl.scriptEditor.run"
+            contextId="org.simantics.modeling.ui.scl.scriptEditor.context"
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
+            sequence="Ctrl+R">
+      </key>
+   </extension>
+   <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            locationURI="menu:sFile?after=new.ext">
+         <menu
+               label="New"
+               id="#FileNewMenu">
+            <dynamic
+                  class="org.simantics.modeling.ui.actions.ModelingProjectOperationsContribution"
+                  id="org.simantics.modeling.ui.actions">
+            </dynamic>
+         </menu>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#GraphExplorerPopup?after=wbStart">
+         <separator
+               name="new.begin"
+               visible="false">
+         </separator>
+         <separator
+               name="new.ext"
+               visible="false">
+         </separator>
+         <separator
+               name="new.end"
+               visible="true">
+         </separator>
+         <separator
+               name="open.begin"
+               visible="false">
+         </separator>
+         <dynamic
+               class="org.simantics.ui.contribution.OpenWithMenuContribution"
+               id="openWith">
+         </dynamic>
+         <separator
+               name="open.ext"
+               visible="false">
+         </separator>
+         <separator
+               name="open.end"
+               visible="true">
+         </separator>
+         <separator
+               name="edit.begin"
+               visible="false">
+         </separator>
+         <command
+               commandId="org.eclipse.ui.file.refresh"
+               label="Refresh"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.open"
+               label="Open"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.ui.edit.delete"
+               label="Delete"
+               style="push">
+            <visibleWhen
+                  checkEnabled="false">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.ui.edit.rename"
+               label="Rename"
+               style="push">
+            <visibleWhen
+                  checkEnabled="false">
+            </visibleWhen>
+         </command>
+         <separator
+               name="edit.ext"
+               visible="false">
+         </separator>
+         <separator
+               name="edit.end"
+               visible="true">
+         </separator>
+         <separator
+               name="import.begin"
+               visible="false">
+         </separator>
+         <separator
+               name="import.ext"
+               visible="false">
+         </separator>
+         <separator
+               name="import.end"
+               visible="true">
+         </separator>
+         <separator
+               name="modelling.begin"
+               visible="false">
+         </separator>
+         <dynamic
+               class="org.simantics.modeling.ui.actions.SetInitialState"
+               id="org.simantics.modeling.ui.setInitialState">
+            <visibleWhen
+                  checkEnabled="false">
+               <with
+                     variable="selection">
+                  <test
+                        args="http://www.simantics.org/Simulation-0.0/Experiment"
+                        property="org.simantics.graph.resourceType">
+                  </test>
+               </with>
+            </visibleWhen>
+         </dynamic>
+         <dynamic
+               class="org.simantics.modeling.ui.actions.ModelingOperationsContribution"
+               id="org.simantics.modeling.ui.actions">
+         </dynamic>
+         <separator
+               name="modelling.ext"
+               visible="false">
+         </separator>
+         <separator
+               name="modelling.end"
+               visible="true">
+         </separator>
+         <separator
+               name="additions"
+               visible="false">
+         </separator>
+         <separator
+               name="wbEnd"
+               visible="false">
+         </separator>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#GraphExplorerPopup?after=modelling.ext">
+         <dynamic
+               id="org.simantics.modeling.ui.disableSubscription">
+            <class
+                  class="org.simantics.modeling.ui.modelBrowser2.contributions.SetSubscriptionEnabledContribution">
+               <parameter
+                     name="name"
+                     value="Disable">
+               </parameter>
+               <parameter
+                     name="image"
+                     value="stop">
+               </parameter>
+               <parameter
+                     name="include"
+                     value="false">
+               </parameter>
+            </class>
+         </dynamic>
+         <dynamic
+               id="org.simantics.modeling.ui.enableSubscription">
+            <class
+                  class="org.simantics.modeling.ui.modelBrowser2.contributions.SetSubscriptionEnabledContribution">
+               <parameter
+                     name="name"
+                     value="Enable">
+               </parameter>
+               <parameter
+                     name="image"
+                     value="tick">
+               </parameter>
+               <parameter
+                     name="include"
+                     value="true">
+               </parameter>
+            </class>
+         </dynamic>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#GraphExplorerPopup?after=import.ext">
+         <command
+               commandId="org.eclipse.ui.file.import"
+               label="Import..."
+               style="push"
+               mnemonic="I">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.eclipse.ui.file.export"
+               label="Export..."
+               style="push"
+               mnemonic="E">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:org.simantics.new?after=begin">
+         <command
+               commandId="org.simantics.modeling.ui.newSpreadsheet"
+               label="New Spreadsheet"
+               icon="icons/table_add.png"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <with
+                     variable="selection">
+                  <and>
+                     <test
+                           args="org.simantics.modeling.ui.modelBrowser2.model.SheetsNode"
+                           property="org.simantics.modeling.ui.nodeClass">
+                     </test>
+                  </and>
+               </with>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#GraphExplorerPopup?after=new.ext">
+         <dynamic
+               class="org.simantics.modeling.ui.actions.ModeledActions"
+               id="org.simantics.modeling.ui.modeledActions">
+         </dynamic>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#GraphExplorerPopup?after=modelling.ext">
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#ModelingDiagramPopup">
+         <dynamic
+               class="org.simantics.modeling.ui.actions.DiagramOperationsContribution"
+               id="org.simantics.modeling.ui.diagramOperations">
+         </dynamic>
+         <dynamic
+               class="org.simantics.ui.contribution.OpenWithMenuContribution"
+               id="openWith">
+         </dynamic>
+         <dynamic
+               class="org.simantics.diagram.handler.ConnectionRoutingMenuContribution"
+               id="connectionRouting">
+         </dynamic>
+         <dynamic
+               class="org.simantics.modeling.ui.actions.SwitchComponentTypeContribution"
+               id="org.simantics.modeling.ui.switchComponentType">
+         </dynamic>
+      </menuContribution>
+      <menuContribution
+            locationURI="toolbar:org.simantics.browsing.ui.graph.propertyView">
+         <command
+               commandId="org.simantics.modeling.ui.pinSelection"
+               label="Pin Selection"
+               icon="icons/etool16/pin_editor.gif"
+               style="toggle"
+               tooltip="Pin Current Selection"
+               disabledIcon="icons/dtool16/pin_editor.gif">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.duplicatePinnedView"
+               label="Duplicate View and Pin Selection"
+               icon="icons/etool16/open_pinned_view.gif"
+               style="push"
+               tooltip="Open New Pinned View">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#SymbolViewerPopup">
+         <separator
+               name="wbStart"
+               visible="false">
+         </separator>
+         <separator
+               name="new.begin"
+               visible="false">
+         </separator>
+         <command
+               commandId="org.simantics.modeling.ui.importSVG"
+               label="Add Image"
+               icon="icons/photo.png"
+               style="push"
+               id="Import SVG">
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.createRectangle"
+               label="Add Rectangle"
+               icon="icons/shape_square.png"
+               style="push"
+               id="Add Rectangle">
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.createEllipse"
+               label="Add Ellipse"
+               icon="icons/stop.png"
+               style="push"
+               id="Add Ellipse">
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.createPath"
+               label="Add Path"
+               icon="icons/chart_line.png"
+               style="push"
+               id="Add Path">
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.createText"
+               label="Add Text"
+               icon="icons/style.png"
+               style="push"
+               id="Add Text">
+         </command>
+         <separator
+               name="new.end"
+               visible="true">
+         </separator>
+         <separator
+               name="edit.begin"
+               visible="false">
+         </separator>
+         <command
+               commandId="org.eclipse.ui.edit.delete"
+               label="Delete"
+               style="push">
+            <visibleWhen
+                  checkEnabled="false">
+            </visibleWhen>
+         </command>
+         <separator
+               name="edit.end"
+               visible="true">
+         </separator>
+         <dynamic
+               class="org.simantics.diagram.handler.TerminalConnectionDirectionsMenuContribution"
+               id="org.simantics.modeling.ui.setTerminalConnectionDirections">
+         </dynamic>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#ModelingDiagramPopup?after=import.ext">
+         <command
+               commandId="org.simantics.modeling.ui.editStyle"
+               label="Edit Style"
+               icon="icons/silk/palette.png"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.createIssue"
+               label="Create Issue"
+               icon="platform:/plugin/com.famfamfam.silk/icons/error.png"
+               style="toggle">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.contextualHelp"
+               label="Help"
+               icon="platform:/plugin/com.famfamfam.silk/icons/help.png"
+               style="toggle">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.toggleExternalFlag"
+               label="External"
+               icon="icons/tick.png"
+               style="toggle">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+         <command
+               commandId="org.simantics.modeling.ui.createConnectionPoint"
+               label="Create Terminal"
+               icon="icons/tick.png"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution
+            locationURI="popup:#PropertiesPopup">
+         <command
+               commandId="org.simantics.modeling.ui.properties.restoreDefaultValue"
+               label="Restore Default Values"
+               icon="icons/elcl16/defaults_ps.gif"
+               style="push"
+               disabledIcon="icons/dlcl16/defaults_ps.gif">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution
+            locationURI="toolbar:org.simantics.browsing.ui.graph.propertyView">
+         <command
+               commandId="org.simantics.modeling.ui.properties.restoreDefaultValue"
+               label="Restore Default Values"
+               icon="icons/elcl16/defaults_ps.gif"
+               style="push"
+               tooltip="Restore Default Values for Selection"
+               disabledIcon="icons/dlcl16/defaults_ps.gif">
+            <visibleWhen
+                  checkEnabled="true">
+            </visibleWhen>
+         </command>
+      </menuContribution>
+      <menuContribution
+            locationURI="toolbar:org.eclipse.ui.main.toolbar">
+         <toolbar
+               label="Diagram Toolbar"
+               id="org.simantics.modeling.ui.diagramtoolbar">
+            <separator
+                  name="tool.begin"
+                  visible="true">
+            </separator>
+            <separator
+                  name="tool.additions">
+            </separator>
+            <separator
+                  name="tool.end">
+            </separator>
+         </toolbar>
+      </menuContribution>
+      <!--<menuContribution
+            locationURI="toolbar:org.eclipse.ui.main.toolbar">
+         <toolbar
+               label="Element Toolbar"
+               id="org.simantics.modeling.ui.elementtoolbar">
+         </toolbar>
+      </menuContribution>-->
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:org.simantics.modeling.ui.scl.scriptEditor.EditorContext?after=additions">
+         <command
+               commandId="org.simantics.modeling.ui.scl.scriptEditor.run"
+               label="Run Script"
+               icon="platform:/plugin/com.famfamfam.silk/companion/script_start.png"
+               style="push"
+               tooltip="Run the Current Contents of This SCL Script">
+         </command>
+      </menuContribution>
+   </extension>
+   <extension
+         point="org.eclipse.ui.contexts">
+      <context
+            name="In Modelling Perspective"
+            id="org.simantics.modeling.ui.context"
+            parentId="org.eclipse.ui.contexts.window">
+      </context>
+      <context
+            name="In Model Browser"
+            id="org.simantics.modeling.ui.modelBrowser"
+            parentId="org.eclipse.ui.contexts.window">
+      </context>
+      <context
+            name="In Property View"
+            id="org.simantics.modeling.ui.properties"
+            parentId="org.eclipse.ui.contexts.window">
+      </context>
+      <context
+            name="Undo Context"
+            id="org.simantics.ui.undoContext"
+            parentId="org.eclipse.ui.contexts.window">
+      </context>
+      <context
+            name="In SCL Script Editor"
+            id="org.simantics.modeling.ui.scl.scriptEditor.context"
+            parentId="org.eclipse.ui.contexts.window">
+      </context>
+   </extension>
+   <extension
+         point="org.simantics.ui.perspectiveContextBinding">
+      <binding
+            contextIds="org.simantics.modeling.ui.context"
+            perspectiveId="org.simantics.modeling.ui.perspective">
+      </binding>
+   </extension>
+   <extension
+         point="org.simantics.ui.resourceEditorAdapter">
+      <group
+            id="org.simantics.diagramEditor.group">
+      </group>
+      <group
+            id="org.simantics.componentTypeEditor.group">
+      </group>
+      <adapterClass
+            groupId="org.simantics.diagramEditor.group"
+            priority="50"
+            class="org.simantics.modeling.ui.diagramEditor.OpenDiagramFromConfigurationAdapter">
+         <!--<inContext
+               id="org.simantics.modeling.ui.context">
+         </inContext>-->
+      </adapterClass>
+      <adapterClass
+            groupId="org.simantics.diagramEditor.group"
+            priority="50"
+            class="org.simantics.modeling.ui.diagramEditor.OpenDiagramFromComponentAdapter">
+         <!--<inContext
+               id="org.simantics.modeling.ui.context">
+         </inContext>-->
+      </adapterClass>
+      <adapterClass
+            priority="150"
+            class="org.simantics.modeling.ui.diagramEditor.OpenSheetAdapter">
+         <!--<inContext
+               id="org.simantics.modeling.ui.context">
+         </inContext>-->
+      </adapterClass>
+      <adapterClass
+            priority="50"
+            class="org.simantics.modeling.ui.diagramEditor.OpenDiagramFromSymbolAdapter">
+         <inContext
+               id="org.simantics.modeling.ui.context">
+         </inContext>
+      </adapterClass>
+      <adapter
+            label="User Component Editor"
+            priority="10"
+            groupId="org.simantics.componentTypeEditor.group"
+            editorId="org.simantics.modeling.ui.componentTypeEditor"
+            type_uris="http://www.simantics.org/Structural-0.0/ComponentType">
+      </adapter>
+      <adapter
+            label="User Component Editor"
+            priority="11"
+            groupId="org.simantics.componentTypeEditor.group"
+            editorId="org.simantics.modeling.ui.componentTypeEditor"
+            type_uris="http://www.simantics.org/Structural-0.0/ProceduralComponentType">
+      </adapter>
+      <adapter
+            label="Ontology Definition File Editor"
+            priority="11"
+            editorId="org.simantics.modeling.ui.pgraphEditor"
+            type_uris="http://www.simantics.org/Layer0-0.0/PGraph">
+      </adapter>
+      <adapter
+            label="SCL Query Editor"
+            priority="11"
+            editorId="org.simantics.modeling.ui.sclQueryEditor"
+            type_uris="http://www.simantics.org/Modeling-1.2/SCLQueryType,http://www.simantics.org/Modeling-1.2/SCLQuery">
+      </adapter>
+      <adapter
+            label="Procedural User Component Code Editor"
+            priority="11"
+            editorId="org.simantics.modeling.ui.proceduralComponentTypeCodeEditor"
+            type_uris="http://www.simantics.org/Structural-0.0/ProceduralComponentTypeCode">
+      </adapter>
+      <adapter
+            editorId="org.simantics.modeling.ui.symbolCodeEditor"
+            label="Symbol Code Editor"
+            priority="11"
+            type_uris="http://www.simantics.org/Diagram-0.0/ElementClass">
+      </adapter>
+      <adapter
+            editorId="org.simantics.modeling.ui.symbolDropHandlerEditor"
+            label="Symbol Drop Handler Editor"
+            priority="11"
+            type_uris="http://www.simantics.org/Diagram-0.0/ElementClass">
+      </adapter>
+      <adapter
+            label="User Component Script Editor"
+            priority="11"
+            editorId="org.simantics.modeling.ui.componentTypeScriptEditor"
+            type_uris="http://www.simantics.org/Structural-0.0/ComponentTypeScript">
+      </adapter>
+      <adapterClass
+            priority="-10"
+            class="org.simantics.modeling.ui.componentTypeEditor.ProceduralComponentInstanceViewerEditorAdapter">
+      </adapterClass>
+      <adapterClass
+            class="org.simantics.modeling.ui.componentTypeEditor.SCLModuleEditorAdapter"
+            id="org.simantics.modeling.ui.sclModuleEditor2"
+            priority="10">
+      </adapterClass>
+      <adapterClass
+            class="org.simantics.modeling.ui.scl.scriptEditor.SCLScriptEditorAdapter"
+            id="org.simantics.modeling.ui.scl.scriptEditor.adapter"
+            priority="20">
+      </adapterClass>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.preferences">
+      <initializer
+            class="org.simantics.modeling.ui.preferences.PreferenceInitializer">
+      </initializer>
+   </extension>
+   <extension
+         point="org.eclipse.ui.preferencePages">
+      <page
+            name="Diagram"
+            class="org.simantics.modeling.ui.preferences.DiagramPreferencePage"
+            id="org.simantics.modeling.diagram.preferences">
+      </page>
+      <page
+            name="Connection Flags"
+            category="org.simantics.modeling.diagram.preferences"
+            class="org.simantics.modeling.ui.preferences.DiagramFlagPreferencePage"
+            id="org.simantics.modeling.diagram.flag.preferences">
+      </page>
+      <page
+            name="Subscription"
+            class="org.simantics.modeling.ui.preferences.SubscriptionPreferencePage"
+            id="org.simantics.modeling.ui.subscription.preferences">
+      </page>
+      <page
+            name="CSV (Comma separated value)"
+            class="org.simantics.modeling.ui.preferences.CSVPreferencePage"
+            id="org.simantics.modeling.csv.preferences">
+      </page>
+   </extension>
+   <extension
+         point="org.eclipse.ui.exportWizards">
+      <category
+            name="Generic Modeling"
+            id="org.simantics.export.export">
+      </category>
+      <wizard
+            name="Diagrams to PDF"
+            icon="icons/page_white_acrobat.png"
+            category="org.simantics.export.export"
+            class="org.simantics.modeling.ui.pdf.PDFDiagramExportWizard"
+            id="org.simantics.modeling.ui.pdf.wizard">
+         <description>
+         </description>
+      </wizard>
+      <wizard
+            name="Shared Library"
+            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"
+            category="org.simantics.export.export"
+            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:sharedOntologyExportWizard"
+            id="org.simantics.modeling.ui.sharedOntologyExportWizard">
+         <description>
+         </description>
+      </wizard>
+      <wizard
+            name="Model"
+            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"
+            category="org.simantics.export.export"
+            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:modelExportWizard"
+            id="org.simantics.modeling.ui.modelExportWizard">
+         <description>
+         </description>
+      </wizard>
+   </extension>
+   <extension
+         point="org.eclipse.ui.importWizards">
+      <category
+            name="Generic Modeling"
+            id="org.simantics.modeling.import">
+      </category>
+      <wizard
+            name="Shared Library"
+            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"
+            category="org.simantics.modeling.import"
+            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:sharedOntologyImportWizard"
+            id="org.simantics.modeling.ui.sharedOntologyImportWizard">
+         <description>
+         </description>
+      </wizard>
+      <wizard
+            name="Model"
+            icon="platform:/plugin/com.famfamfam.silk/icons/folder.png"
+            category="org.simantics.modeling.import"
+            class="org.simantics.modeling.ui.sharedontology.wizard.WizardExtensionFactory:modelImportWizard"
+            id="org.simantics.modeling.ui.modelImportWizard">
+         <description>
+         </description>
+      </wizard>
+   </extension>
+   <extension
+         point="org.simantics.ui.doubleClick">
+      <doubleClickAction
+            name="Expand Browser Node"
+            priority="-1"
+            class="org.simantics.modeling.ui.ExpandNodeHandler">
+      </doubleClickAction>
+   </extension>
+   <extension
+         point="org.simantics.scl.reflection.binding">
+      <namespace
+            path="http://www.simantics.org/Modeling-0.0/Functions">
+         <externalClass
+               className="org.simantics.db.Resource">
+         </externalClass>
+         <externalClass
+               className="org.simantics.db.ReadGraph">
+         </externalClass>
+         <externalClass
+               className="org.simantics.db.layer0.variable.Variable">
+         </externalClass>
+         <externalClass
+               className="org.simantics.browsing.ui.StatePersistor">
+         </externalClass>
+         <class
+               className="org.simantics.modeling.ui.function.All">
+         </class>
+      </namespace>
+   </extension>
+   <extension
+         point="org.eclipse.core.runtime.adapters">
+      <factory
+            class="org.simantics.diagram.adapter.CanvasAdapterFactory"
+            adaptableType="org.simantics.modeling.ui.diagramEditor.DiagramEditor">
+         <adapter
+               type="org.simantics.g2d.canvas.ICanvasContext">
+         </adapter>
+      </factory>
+   </extension>
+   <extension
+         id="org.simantics.modeling.ui.fragment"
+         point="org.eclipse.e4.workbench.model">
+      <fragment
+            uri="fragment.e4xmi">
+      </fragment>
+   </extension>
+
+</plugin>