Statistics
| Revision:

svn-gvsig-desktop / tags / v1_0_2_Build_916 / frameworks / _fwAndami / schemas / plugin-config.xsd @ 12327

History | View | Annotate | Download (11.7 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
	text		Button's text.
10
	name			Button name (to retrive it)
11
	icon		Tool icon
12
	last		If true, a separator is added.
13
	tooltip		Tooltip
14
	enable-text Text that describes the necessary conditions to enable a tool
15
	position    The position inside the toolbar
16
-->
17
  <xs:element name="action-tool">
18
    <xs:complexType>
19
      <xs:attribute name="text" type="xs:string" use="optional" />
20
      <xs:attribute name="name" type="xs:string" use="optional" />
21
      <xs:attribute name="action-command" type="xs:string" use="optional" />
22
      <xs:attribute name="icon" type="xs:string" use="required" />
23
      <xs:attribute name="last" type="xs:boolean" use="optional" />
24
      <xs:attribute name="tooltip" type="xs:string" use="optional" />
25
      <xs:attribute name="enable-text" type="xs:string" use="optional" />
26
      <xs:attribute name="position" type="xs:int" use="optional" />
27
    </xs:complexType>
28
  </xs:element>
29

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

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

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

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

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

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

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

    
132
<!--
133
	action-command	Text to identify different menus inside the same plugin
134

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

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

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

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

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

    
214
<!--
215
	tool button that remains pressed when it is selected.
216

    
217
	text		Button's text.
218
	name			Button name (to retrive it)
219
	action-command	Text to identify the different action-tools inside a plugin.
220

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

    
255
  <xs:complexType name="skin-extension-type">
256
    <xs:sequence>
257
      <xs:element ref="menu" minOccurs="0" maxOccurs="unbounded" />
258
      <xs:element ref="tool-bar" minOccurs="0" maxOccurs="unbounded" />
259
      <xs:element ref="combo-button" minOccurs="0" maxOccurs="unbounded" />
260
      <xs:element ref="combo-scale" minOccurs="0" maxOccurs="unbounded" />
261
    </xs:sequence>
262
    <xs:attribute name="class-name" type="xs:NMTOKEN" use="required" />
263
  </xs:complexType>
264

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