Statistics
| Revision:

svn-gvsig-desktop / tags / Root_v051 / frameworks / _fwAndami / schemas / plugin-config.xsd @ 44644

History | View | Annotate | Download (8.98 KB)

1
<?xml version="1.0" encoding="UTF-8" ?>
2

    
3
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
4

    
5
<!--
6
	action-tool => Button which fires the execution of this extension
7

    
8
	action-command	Text to identify different action-tools inside a plugin
9
	icon		Tool icon
10
	last		If true, a separator is added.
11
	tooltip		Tooltip
12
	enable-text Text that describes the necessary conditions to enable a tool
13
-->
14
  <xs:element name="action-tool">
15
    <xs:complexType>
16
      <xs:attribute name="text" type="xs:string" use="optional" />
17
      <xs:attribute name="action-command" type="xs:string" use="optional" />
18
      <xs:attribute name="icon" type="xs:string" use="required" />
19
      <xs:attribute name="last" type="xs:boolean" use="optional" />
20
      <xs:attribute name="tooltip" type="xs:string" use="optional" />
21
      <xs:attribute name="enable-text" type="xs:string" use="optional" />
22
    </xs:complexType>
23
  </xs:element>
24

    
25
<!--
26
	Plugin dependencies from other plugins
27
	plugin-name		Name of the other plugin (name of the directory.)
28
					Example; com.iver.cig.gvsig
29
-->
30
  <xs:element name="depends">
31
    <xs:complexType>
32
      <xs:attribute name="plugin-name" type="xs:string" use="required" />
33
    </xs:complexType>
34
  </xs:element>
35

    
36
<!--
37
	Extension to Andami
38
	
39
	class-name		Class that handles the extension
40
	menu			Menus installed by the extension
41
	tool-bar		Toolbar installed by this plugin
42
	priority	Orden en el que se procesaran las extensiones durante la
43
				carga de Andami. Se inicializan primero y se instalan sus controles
44
				en las barras de tareas primero. La prioridad es
45
				mayor cuanto más grande es el valor del atributo
46
-->
47
  
48
	
49
	<xs:element name="extension" type="extension-type"/>
50
	<xs:complexType name="extension-type">
51
		<xs:complexContent>
52
		<xs:extension base="skin-extension-type">
53
	    <xs:attribute name="priority" type="xs:int" use="optional" />
54
		<xs:attribute name="active" type="xs:boolean" use="optional" />
55
		<xs:attribute name="description" type="xs:string" use="optional" />
56
		<xs:attribute name="alwaysvisible" type="xs:boolean" use="optional" />
57
	  </xs:extension>
58
	</xs:complexContent>
59
  </xs:complexType>
60

    
61
<!--
62
	Extension's section of the plugin
63
-->
64
  <xs:element name="extensions">
65
    <xs:complexType>
66
      <xs:sequence>
67
        <xs:element ref="extension" maxOccurs="unbounded" />
68
        <xs:element ref="skin-extension" minOccurs="0" maxOccurs="1" />
69
      </xs:sequence>
70
	  
71
    </xs:complexType>
72
  </xs:element>
73

    
74
<!--
75
	Main application's Icon
76
	
77
	text 	Title of main window.
78
	src	    path to an icon file
79
-->
80
  <xs:element name="icon">
81
    <xs:complexType>
82
      <xs:attribute name="text" type="xs:string" use="required" />
83
      <xs:attribute name="src" type="xs:string" use="required" />
84
    </xs:complexType>
85
  </xs:element>
86

    
87
<!--
88
	label => In this element you can put the mesages that must appear in the
89
			status bar
90
	
91
	size	Size in pixels of the status label
92
	id		Id assigned to this label
93
-->
94
  <xs:element name="label">
95
    <xs:complexType>
96
      <xs:attribute name="size" type="xs:int" use="required" />
97
      <xs:attribute name="id" type="xs:NMTOKEN" use="required" />
98
    </xs:complexType>
99
  </xs:element>
100

    
101
<!--
102
	Group of labels on the status bar. The order from up to down in xml file
103
	stands for the order right to left in Andami's principal frame.
104
	
105
	class-name	When the active view is an instance of class-name, this 
106
			labelSet will be shown.
107
-->
108
  <xs:element name="label-set">
109
    <xs:complexType>
110
      <xs:sequence>
111
        <xs:element ref="label" maxOccurs="unbounded" />
112
      </xs:sequence>
113
      <xs:attribute name="class-name" type="xs:NMTOKEN" use="required" />
114
    </xs:complexType>
115
  </xs:element>
116

    
117
<!--
118
	jars that are used by this plugin
119
	library-dir     Relative path where the jar files are. Usually ./ or ./lib
120
-->
121
  <xs:element name="libraries">
122
    <xs:complexType>
123
      <xs:attribute name="library-dir" type="xs:string" use="required" />
124
    </xs:complexType>
125
  </xs:element>
126

    
127
<!--
128
	action-command	Text to identify different menus inside the same plugin
129

    
130
	key		    Abreviatura de teclado del menu
131
	icon		Menu Icon
132
	enable-text Texto con la descripción de las condiciones que se tienen que dar
133
				para que se visualice la opción
134
	tooltip		Tooltip
135
	mnemonic	Accelerator key
136
	text 		Menu Text
137
	is_separator true means to add a JSeparator to the parent menu defined by text
138
-->
139
  <xs:element name="menu">
140
    <xs:complexType>
141
      <xs:attribute name="action-command" type="xs:NMTOKEN" use="optional" />
142
      <xs:attribute name="key" type="xs:string" use="optional" />
143
      <xs:attribute name="icon" type="xs:string" use="optional" />
144
      <xs:attribute name="tooltip" type="xs:string" use="optional" />
145
      <xs:attribute name="enable-text" type="xs:string" use="optional" />
146
      <xs:attribute name="mnemonic" type="xs:string" use="optional" />
147
      <xs:attribute name="text" type="xs:string" use="required" />
148
      <xs:attribute name="position" type="xs:int" use="optional" />
149
	  <xs:attribute name="is_separator" type="xs:boolean" use="optional" />
150
    </xs:complexType>
151
  </xs:element>
152

    
153
<!--
154
	XML File Root 
155
	
156
	name		Plugin's Name
157
	updateURL	URL of zip-file with a new plugin's version.
158
-->
159
  <xs:element name="plugin-config">
160
    <xs:complexType>
161
      <xs:sequence>
162
        <xs:element ref="icon" minOccurs="0"/>
163
        <xs:element ref="depends" minOccurs="0" maxOccurs="unbounded"/>
164
        <xs:element ref="resourceBundle" minOccurs="0"/>
165
        <xs:element ref="label-set" minOccurs="0" maxOccurs="unbounded"/>
166
        <xs:element ref="libraries"/>
167
        <xs:element ref="popup-menus" minOccurs="0"/>
168
        <xs:element ref="extensions" />
169
      </xs:sequence>
170
      <xs:attribute name="update-url" type="xs:string" use="optional" />
171
    </xs:complexType>
172
  </xs:element>
173

    
174
<!--
175
	Popup menu by the plugin. The plugin must register itself as a 
176
	popup-menu listener.
177
-->
178
  <xs:element name="popup-menu">
179
    <xs:complexType>
180
      <xs:sequence>
181
        <xs:element ref="menu" maxOccurs="unbounded" />
182
      </xs:sequence>
183
      <xs:attribute name="name" type="xs:string" use="required" />
184
    </xs:complexType>
185
  </xs:element>
186

    
187
<!--
188
	Section to define popup-menus
189
-->
190
  <xs:element name="popup-menus">
191
    <xs:complexType>
192
      <xs:sequence>
193
        <xs:element ref="popup-menu" maxOccurs="unbounded" />
194
      </xs:sequence>
195
    </xs:complexType>
196
  </xs:element>
197

    
198
<!--
199
	Properties file with translations used by the tool.
200
	
201
	name	Name of resource bundle file
202
-->
203
  <xs:element name="resourceBundle">
204
    <xs:complexType>
205
      <xs:attribute name="name" type="xs:NMTOKEN" use="required" />
206
    </xs:complexType>
207
  </xs:element>
208

    
209
<!--
210
	tool button that remains pressed when it is selected.
211

    
212
	text		Button's text.
213
	action-command	Text to identigy the different action-tools inside a plugin.
214

    
215
	group		Group where the selectable-tool belongs. It will be only one selectable-tool
216
				selected inside the group.
217
	is-default  If true, the selectable-tool will be selected by default.
218
	icon		Icon to use.
219
	last		If true, after the tool it will appears a separator.
220
	tooltip		Tooltip
221
-->
222
  <xs:element name="selectable-tool">
223
    <xs:complexType>
224
      <xs:attribute name="text" type="xs:string" use="optional" />
225
      <xs:attribute name="action-command" type="xs:string" use="optional" />
226
      <xs:attribute name="is-default" type="xs:boolean" use="optional" />
227
      <xs:attribute name="last" type="xs:boolean" use="optional" />
228
      <xs:attribute name="icon" type="xs:string" use="required" />
229
      <xs:attribute name="tooltip" type="xs:string" use="optional" />
230
      <xs:attribute name="enable-text" type="xs:string" use="optional" />
231
      <xs:attribute name="group" type="xs:string" use="optional" default="unico" />
232
    </xs:complexType>
233
  </xs:element>
234
  
235
<!--
236
	Extension plugin to andami
237
	
238
	class-name		Class which handles the plugin
239
	menu			Menus installed by the plugin
240
	tool-bar		Toolbar of the plugin. If it doesn't exist, it will be created.
241
-->
242
  <xs:element name="skin-extension" type="skin-extension-type"/>
243

    
244
  <xs:complexType name="skin-extension-type">
245
    <xs:sequence>
246
      <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
247
      <xs:element ref="tool-bar" minOccurs="0" maxOccurs="unbounded" />
248
    </xs:sequence>
249
    <xs:attribute name="class-name" type="xs:NMTOKEN" use="required" />
250
  </xs:complexType>
251

    
252
<!--
253
	tool-bar => Application's main toolbar
254
	
255
	name	Toolbar name. This way, other plugins can refer to this toolbar
256
			and add tools to this toolbar.
257
-->
258
  <xs:element name="tool-bar">
259
    <xs:complexType>
260
      <xs:sequence>
261
        <xs:element ref="action-tool" minOccurs="0" maxOccurs="unbounded" />
262
        <xs:element ref="selectable-tool" minOccurs="0" maxOccurs="unbounded" />
263
      </xs:sequence>
264
      <xs:attribute name="name" type="xs:string" use="required" />
265
       <xs:attribute name="position" type="xs:int" use="optional" />
266
    </xs:complexType>
267
  </xs:element>
268
  
269
</xs:schema>