--- /dev/null
+<?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 "toolbar" 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 "org.eclipse.ui.commands.toggleState".\r
+Radio and combo buttons must use state "org.eclipse.ui.commands.radioState".\r
+It'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