Statistics
| Revision:

svn-gvsig-desktop / trunk / frameworks / _fwAndami / schemas / plugin-config.xsd @ 6431

History | View | Annotate | Download (11.2 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
	position    The position inside the toolbar
14
-->
15
  <xs:element name="action-tool">
16
    <xs:complexType>
17
      <xs:attribute name="text" type="xs:string" use="optional" />
18
      <xs:attribute name="action-command" type="xs:string" use="optional" />
19
      <xs:attribute name="icon" type="xs:string" use="required" />
20
      <xs:attribute name="last" type="xs:boolean" use="optional" />
21
      <xs:attribute name="tooltip" type="xs:string" use="optional" />
22
      <xs:attribute name="enable-text" type="xs:string" use="optional" />
23
      <xs:attribute name="position" type="xs:int" use="optional" />
24
    </xs:complexType>
25
  </xs:element>
26

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

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

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

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

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

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

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

    
129
<!--
130
	action-command	Text to identify different menus inside the same plugin
131

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

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

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

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

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

    
211
<!--
212
	tool button that remains pressed when it is selected.
213

    
214
	text		Button's text.
215
	action-command	Text to identify the different action-tools inside a plugin.
216

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

    
250
  <xs:complexType name="skin-extension-type">
251
    <xs:sequence>
252
      <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
253
      <xs:element ref="tool-bar" minOccurs="0" maxOccurs="unbounded" />
254
      <xs:element ref="combo-button" minOccurs="0" maxOccurs="unbounded" />
255
      <xs:element ref="combo-scale" minOccurs="0" maxOccurs="unbounded" />
256
    </xs:sequence>
257
    <xs:attribute name="class-name" type="xs:NMTOKEN" use="required" />
258
  </xs:complexType>
259

    
260
<!--
261
	tool-bar => Application's main toolbar
262
	
263
	name	Toolbar name. This way, other plugins can refer to this toolbar
264
			and add tools to this toolbar.
265
	position
266
	
267
	combo-button	combo-button to be added to the toolbar
268
	commbo-scale	combo-scale to be added to the toolbar
269
-->
270
  <xs:element name="tool-bar">
271
    <xs:complexType>
272
      <xs:sequence>
273
        <xs:element ref="action-tool" minOccurs="0" maxOccurs="unbounded" />
274
        <xs:element ref="selectable-tool" minOccurs="0" maxOccurs="unbounded" />
275
        <xs:element ref="combo-button" minOccurs="0" maxOccurs="unbounded" />
276
        <xs:element ref="combo-scale" minOccurs="0" maxOccurs="unbounded" />
277
      </xs:sequence>
278
      <xs:attribute name="name" type="xs:string" use="required" />
279
       <xs:attribute name="position" type="xs:int" use="optional" />
280
    </xs:complexType>
281
  </xs:element>
282
  
283
 <!--
284
 	combo-scale => A combo box with numeric values, and editable.
285
 	
286
 	name		A name to identify the combo-scale.
287
 	
288
 	elements    A semicolon separated list of the combo box' elements
289
 	
290
 	value		The initial selected value. If ommited, the first element is selected
291
 	
292
	action-command	Text to identify the different action-tools inside a plugin.
293
 -->
294
  <xs:element name="combo-scale">
295
  	<xs:complexType>
296
  		<xs:attribute name="name" use="required" />
297
  		<xs:attribute name="elements" use="required" />
298
  		<xs:attribute name="value" use="optional" />
299
  		<xs:attribute name="action-command" use="required" />
300
  	</xs:complexType>
301
  </xs:element>
302
  
303
<!--
304
	combo-button => A combo button (drop-down list of selectable buttons).
305
	
306
	name		A name to identify the combo-button
307
	
308
-->
309
  <xs:element name="combo-button">
310
  	<xs:complexType>
311
  		<xs:sequence>
312
        	<xs:element ref="combo-button-element" minOccurs="0" maxOccurs="unbounded" />
313
      	</xs:sequence>
314
  		<xs:attribute name="name" use="required" />
315
  	</xs:complexType>
316
  </xs:element>
317
  
318
<!--
319
	combo-button-element => An entry (icon) on the combo-button list
320
	
321
	action-command	Text to identify the different action-tools inside a plugin.
322
	
323
	icon		Icon to use.
324
-->
325
	<xs:element name="combo-button-element">
326
		<xs:complexType>
327
			<xs:attribute name="icon" use="required"/>
328
			<xs:attribute name="action-command" use="required"/>
329
		</xs:complexType>
330
	</xs:element>
331
  
332
</xs:schema>