]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.ui/schema/toolbarCommand.exsd
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.ui / schema / toolbarCommand.exsd
diff --git a/bundles/org.simantics.ui/schema/toolbarCommand.exsd b/bundles/org.simantics.ui/schema/toolbarCommand.exsd
new file mode 100644 (file)
index 0000000..52d1dd0
--- /dev/null
@@ -0,0 +1,163 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<!-- Schema file written by PDE -->\r
+<schema targetNamespace="org.simantics.ui" xmlns="http://www.w3.org/2001/XMLSchema">\r
+<annotation>\r
+      <appInfo>\r
+         <meta.schema plugin="org.simantics.ui" id="toolbarCommand" name="toolbarCommand"/>\r
+      </appInfo>\r
+      <documentation>\r
+         Binds commands to editor tool bar, similarly to org.eclipse.ui.menus that binds commands to menus (and toolbars).\r
+\r
+The difference is, that this system tracks state of the commands spearately for each editor, and automatically updates toggle- and radio buttons, when focus changes.\r
+\r
+The editor must use org.simantics.ui.toolbar.ToolbarContributor as  a contributorClass, and &quot;toolbar&quot; paramater pointing to used toolbar ID.\r
+\r
+Example:\r
+org.simantics.ui.toolbar.ToolbarContributor:toolbar=org.simantics.kcleco.ui.diagramToolbar\r
+\r
+Toggle buttons must use command state &quot;org.eclipse.ui.commands.toggleState&quot;.\r
+Radio and combo buttons must use  state &quot;org.eclipse.ui.commands.radioState&quot;.\r
+It&apos;s recommended to set state persistence off for the commands. \r
+\r
+\r
+TODO: investigate, if the mechanism could be used with menus aswell.\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <element name="extension">\r
+      <annotation>\r
+         <appInfo>\r
+            <meta.element />\r
+         </appInfo>\r
+      </annotation>\r
+      <complexType>\r
+         <sequence>\r
+            <element ref="command" minOccurs="0" maxOccurs="unbounded"/>\r
+         </sequence>\r
+         <attribute name="point" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="id" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="name" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+               <appInfo>\r
+                  <meta.attribute translatable="true"/>\r
+               </appInfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <element name="command">\r
+      <complexType>\r
+         <attribute name="commandId" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="toolbarId" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="name" type="string" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="type" use="required">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+            </annotation>\r
+            <simpleType>\r
+               <restriction base="string">\r
+                  <enumeration value="push">\r
+                  </enumeration>\r
+                  <enumeration value="toggle">\r
+                  </enumeration>\r
+                  <enumeration value="radio">\r
+                  </enumeration>\r
+                  <enumeration value="combo">\r
+                  </enumeration>\r
+               </restriction>\r
+            </simpleType>\r
+         </attribute>\r
+         <attribute name="value" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  Used with radio buttons.\r
+               </documentation>\r
+            </annotation>\r
+         </attribute>\r
+         <attribute name="image" type="string">\r
+            <annotation>\r
+               <documentation>\r
+                  \r
+               </documentation>\r
+               <appInfo>\r
+                  <meta.attribute kind="resource"/>\r
+               </appInfo>\r
+            </annotation>\r
+         </attribute>\r
+      </complexType>\r
+   </element>\r
+\r
+   <annotation>\r
+      <appInfo>\r
+         <meta.section type="since"/>\r
+      </appInfo>\r
+      <documentation>\r
+         [Enter the first release in which this extension point appears.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <annotation>\r
+      <appInfo>\r
+         <meta.section type="examples"/>\r
+      </appInfo>\r
+      <documentation>\r
+         [Enter extension point usage example here.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <annotation>\r
+      <appInfo>\r
+         <meta.section type="apiinfo"/>\r
+      </appInfo>\r
+      <documentation>\r
+         [Enter API information here.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+   <annotation>\r
+      <appInfo>\r
+         <meta.section type="implementation"/>\r
+      </appInfo>\r
+      <documentation>\r
+         [Enter information about supplied implementation of this extension point.]\r
+      </documentation>\r
+   </annotation>\r
+\r
+\r
+</schema>\r