1<?xml version="1.0" encoding="UTF-8"?>
2<!--***********************************************************
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements.  See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership.  The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License.  You may obtain a copy of the License at
11 *
12 *   http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied.  See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 *
21 ***********************************************************-->
22
23
24<!DOCTYPE oor:component-schema SYSTEM "../../../../component-schema.dtd">
25<oor:component-schema xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oor:name="Addons" oor:package="org.openoffice.Office" xml:lang="en-US"> <info>
26		<author>CD</author>
27		<desc >Contains general structures used to integrate external components into the Office user interface.</desc>
28	</info>
29	<templates>
30		<group oor:name="MenuItem">
31			<info>
32				<desc>Describes a menu item representing a function of of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes.</desc>
33			</info>
34			<prop oor:name="URL" oor:type="xs:string">
35				<info>
36					<desc>A command URL which represents the function to execute.</desc>
37				</info>
38			</prop>
39			<prop oor:name="Title" oor:type="xs:string" oor:localized="true">
40				<info>
41					<desc>A localized string used to as the menu item title.</desc>
42				</info>
43			</prop>
44			<prop oor:name="ImageIdentifier" oor:type="xs:string">
45				<info>
46					<desc>A private URL used to reference an optional internal menu image. Example: private:image/3216 addresses the internal Office image with id=3216.</desc>
47				</info>
48			</prop>
49			<prop oor:name="Target" oor:type="xs:string">
50				<info>
51					<desc>This is the target URL which is used for the dispatch command. There are special URL's to address certain targets: _self, current frame; _default, default; _blank, create new frame.</desc>
52				</info>
53			</prop>
54			<prop oor:name="Context" oor:type="xs:string">
55				<info>
56					<desc>An property to define the context of a menu item that has a sub menu. It can be empty or a colon separated list of the supported application modules.</desc>
57				</info>
58			</prop>
59			<set oor:name="Submenu" oor:node-type="MenuItem">
60				<info>
61					<desc>An optional set to allow sub menus.</desc>
62				</info>
63			</set>
64		</group>
65		<group oor:name="PopupMenu">
66			<info>
67				<desc>Describes a menu item/toolbar item representing a function of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes.</desc>
68			</info>
69			<prop oor:name="Title" oor:type="xs:string" oor:localized="true">
70				<info>
71					<desc>A localized string used to as the menu title.</desc>
72				</info>
73			</prop>
74			<prop oor:name="Context" oor:type="xs:string">
75				<info>
76					<desc>An property to define the context of a top-level popup-menu . It can be empty or a colon separated list of the supported application modules.</desc>
77				</info>
78			</prop>
79			<set oor:name="Submenu" oor:node-type="MenuItem">
80				<info>
81					<desc>An optional set to allow sub menus. This property cannot be used for toolbar item definitions.</desc>
82				</info>
83			</set>
84		</group>
85		<group oor:name="MergeMenuInstruction">
86			<info>
87				<desc>Describes a merge menu instruction of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes. A menu instruction describes how the attached menu items should be merged into the Office menubar.</desc>
88			</info>
89			<prop oor:name="MergePoint" oor:type="xs:string">
90				<info>
91					<desc>A command path describe the reference point for the merge command.</desc>
92				</info>
93			</prop>
94			<prop oor:name="MergeCommand" oor:type="xs:string">
95				<info>
96					<desc>A command to be processed for this merge menu instruction.</desc>
97				</info>
98			</prop>
99			<prop oor:name="MergeCommandParameter" oor:type="xs:string">
100			    <info>
101			        <desc>Optional parameters for a merge command. Interpretation depends on the individual command.</desc>
102			    </info>
103			</prop>
104			<prop oor:name="MergeFallback" oor:type="xs:string">
105				<info>
106					<desc>A fallback command to be used if MergeCommand cannot be applied.</desc>
107				</info>
108			</prop>
109			<prop oor:name="MergeContext" oor:type="xs:string">
110				<info>
111					<desc>A property to define the context of this merge instruction. It can be empty or a colon separated list of the supported application modules.</desc>
112				</info>
113			</prop>
114			<set oor:name="MenuItems" oor:node-type="MenuItem">
115				<info>
116					<desc>Defines the menu item(s) to be merged into the menu bar.</desc>
117				</info>
118			</set>
119		</group>
120		<group oor:name="MergeToolBarInstruction">
121			<info>
122				<desc>Describes a merge menu instruction of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes. A menu instruction describes how the attached menu items should be merged into the Office menubar.</desc>
123			</info>
124			<prop oor:name="MergeToolBar" oor:type="xs:string">
125				<info>
126					<desc>Defines the toolbar resource URL.</desc>
127				</info>
128			</prop>
129			<prop oor:name="MergePoint" oor:type="xs:string">
130			    <info>
131			        <desc>Describes the command that should be used as a reference point for the merge command.</desc>
132			    </info>
133			</prop>
134			<prop oor:name="MergeCommand" oor:type="xs:string">
135				<info>
136					<desc>A command to be processed for this merge menu instruction.</desc>
137				</info>
138			</prop>
139			<prop oor:name="MergeCommandParameter" oor:type="xs:string">
140				<info>
141					<desc>Optional parameters for a merge command. Interpretation depends on the individual command.</desc>
142				</info>
143			</prop>
144			<prop oor:name="MergeFallback" oor:type="xs:string">
145				<info>
146					<desc>A fallback command to be used if MergeCommand cannot be applied.</desc>
147				</info>
148			</prop>
149			<prop oor:name="MergeContext" oor:type="xs:string">
150				<info>
151					<desc>A property to define the context of this merge instruction. It can be empty or a colon separated list of the supported application modules.</desc>
152				</info>
153			</prop>
154    		<set oor:name="ToolBarItems" oor:node-type="ToolBarItem">
155    			<info>
156    				<desc>Contains a list of toolbar items used by an Add-On.</desc>
157    			</info>
158    		</set>
159		</group>
160        <group oor:name="ToolBar">
161            <info>
162                <desc>Contains the structure of a toolbar.</desc>
163            </info>
164            <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
165                <info>
166                    <desc>A localized string used as the toolbar title.</desc>
167                </info>
168                <value></value>
169            </prop>
170            <set oor:name="ToolBarItems" oor:node-type="ToolBarItem">
171                <info>
172                    <desc>Contains a list of sets of toolbar items that are part of add-on toolbars.</desc>
173                </info>
174            </set>
175        </group>
176		<group oor:name="ToolBarItem">
177			<info>
178				<desc>Describes a toolbar item representing a function of of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes.</desc>
179			</info>
180			<prop oor:name="URL" oor:type="xs:string">
181				<info>
182					<desc>A command URL which represents the function to execute.</desc>
183				</info>
184			</prop>
185			<prop oor:name="Title" oor:type="xs:string" oor:localized="true">
186				<info>
187					<desc>A localized string used to as the menu item title.</desc>
188				</info>
189			</prop>
190			<prop oor:name="ImageIdentifier" oor:type="xs:string">
191				<info>
192					<desc>A private URL used to reference an optional internal menu image. Example: private:image/3216 addresses the internal Office image with id=3216.</desc>
193				</info>
194			</prop>
195			<prop oor:name="Target" oor:type="xs:string">
196				<info>
197					<desc>This is the target URL which is used for the dispatch command. There are special URL's to address certain targets: _self, current frame; _default, default; _blank, create new frame.</desc>
198				</info>
199			</prop>
200			<prop oor:name="Context" oor:type="xs:string">
201				<info>
202					<desc>A property to define the context of a toolbar item. It can be empty or a colon separated list of the supported application modules.</desc>
203				</info>
204			</prop>
205			<prop oor:name="ControlType" oor:type="xs:string">
206			    <info>
207					<desc>A property to define the control type of the toolbar item. An will be interpreted as OpenOffice.org default toggle button.</desc>
208			    </info>
209			</prop>
210			<prop oor:name="Width" oor:type="xs:long">
211			    <info>
212					<desc>A property to define the size of a toolbar item. This property works only ControlTypes which can have a dynamic size (e.g. comboboxes, edit fields, spin fields)</desc>
213			    </info>
214			</prop>
215		</group>
216        <group oor:name="MergeStatusBarInstruction">
217            <info>
218                <desc>Describes a merge status bar instruction of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes. A merge instruction describes how the attached status bar items should be merged into the Office status bar.</desc>
219            </info>
220            <prop oor:name="MergePoint" oor:type="xs:string">
221                <info>
222                    <desc>Describes the command that should be used as a reference point for the merge command.</desc>
223                </info>
224            </prop>
225            <prop oor:name="MergeCommand" oor:type="xs:string">
226                <info>
227                    <desc>A command to be processed for this merge instruction.</desc>
228                </info>
229            </prop>
230            <prop oor:name="MergeCommandParameter" oor:type="xs:string">
231                <info>
232                    <desc>Optional parameters for a merge command. Interpretation depends on the individual command.</desc>
233                </info>
234            </prop>
235            <prop oor:name="MergeFallback" oor:type="xs:string">
236                <info>
237                    <desc>A fallback command to be used if MergeCommand cannot be applied.</desc>
238                </info>
239            </prop>
240            <prop oor:name="MergeContext" oor:type="xs:string">
241                <info>
242                    <desc>A property to define the context of this merge instruction. It can be empty or a colon separated list of the supported application modules.</desc>
243                </info>
244            </prop>
245            <set oor:name="StatusBarItems" oor:node-type="StatusBarItem">
246                <info>
247                    <desc>Contains a list of status bar items used by an Add-On.</desc>
248                </info>
249            </set>
250        </group>
251        <group oor:name="StatusBarItem">
252            <info>
253                <desc>Describes a status bar item representing a function of an external component. The name must be unique and should be written using a package-scheme like org.openoffice.external.applicationexecuter to minimize name clashes.</desc>
254            </info>
255            <prop oor:name="Context" oor:type="xs:string">
256                <info>
257                    <desc>A property to define the context of a status bar item. It can be empty or a colon separated list of the supported application modules.</desc>
258                </info>
259            </prop>
260            <prop oor:name="URL" oor:type="xs:string">
261                <info>
262                    <desc>A command URL which represents the function to execute.</desc>
263                </info>
264            </prop>
265            <prop oor:name="Title" oor:type="xs:string" oor:localized="true">
266                <info>
267                    <desc>A localized string used as the status bar item label.</desc>
268                </info>
269                <value></value>
270            </prop>
271            <prop oor:name="Alignment" oor:type="xs:string">
272                <info>
273                    <desc>The alignment of the status bar item.</desc>
274                </info>
275                <constraints>
276                    <enumeration oor:value="left">
277                        <info>
278                            <desc>The status bar control is aligned to the left</desc>
279                        </info>
280                    </enumeration>
281                    <enumeration oor:value="center">
282                        <info>
283                            <desc>The status bar control is aligned in the center</desc>
284                        </info>
285                    </enumeration>
286                    <enumeration oor:value="right">
287                        <info>
288                            <desc>The status bar control is aligned to the right</desc>
289                        </info>
290                    </enumeration>
291                </constraints>
292                <value>left</value>
293            </prop>
294            <prop oor:name="AutoSize" oor:type="xs:boolean">
295                <info>
296                    <desc>Specifies whether the size of the status bar item is fixed (false) or not (true).</desc>
297                </info>
298                <value>false</value>
299            </prop>
300            <prop oor:name="OwnerDraw" oor:type="xs:boolean">
301                <info>
302                    <desc>Specifies whether the contents of the status bar item are drawn by the client (true) or by the internal implemenetation (false).</desc>
303                </info>
304                <value>false</value>
305            </prop>
306            <prop oor:name="Width" oor:type="xs:long">
307                <info>
308                    <desc>A property to define the size of a status bar item.</desc>
309                </info>
310                <value>0</value>
311            </prop>
312        </group>
313		<group oor:name="UserDefinedImages">
314			<info>
315				<desc>A group of optional user-defined images. There are two ways to define image - 1. Embed the image data directly into the configuration. 2. Use file URLs to address external bitmap files. Embedded image data has a higher priority than file URLs.</desc>
316			</info>
317			<prop oor:name="ImageSmall" oor:type="xs:hexBinary">
318				<info>
319					<desc>Binary bitmap data used for menu images and small toolbox buttons. Standard size of a small image is 16x16 pixel.</desc>
320				</info>
321			</prop>
322			<prop oor:name="ImageBig" oor:type="xs:hexBinary">
323				<info>
324					<desc>Binary bitmap data used for big toolbox buttons. Standard size of a big image is 26x26 pixel.</desc>
325				</info>
326			</prop>
327			<prop oor:name="ImageSmallHC" oor:type="xs:hexBinary">
328				<info>
329					<desc>Binary bitmap data used for high contrast displays. Standard size of a small image is 16x16 pixel.</desc>
330				</info>
331			</prop>
332			<prop oor:name="ImageBigHC" oor:type="xs:hexBinary">
333				<info>
334					<desc>Binary bitmap data used for high contrast displays. Standard size of a big image is 26x26 pixel.</desc>
335				</info>
336			</prop>
337			<prop oor:name="ImageSmallURL" oor:type="xs:string">
338				<info>
339					<desc>A file URL to address a external bitmap file used for menu images and/or small toolbox buttons. Standard size of an small image is 16x16 pixel.</desc>
340				</info>
341			</prop>
342			<prop oor:name="ImageBigURL" oor:type="xs:string">
343				<info>
344					<desc>A file URL to address a external bitmap file used for big toolbox buttons. Standard size of an big image is 26x26 pixel.</desc>
345				</info>
346			</prop>
347			<prop oor:name="ImageSmallHCURL" oor:type="xs:string">
348				<info>
349					<desc>A file URL to address a external bitmap file used for high contrast menu images and/or toolbox buttons. Standard size of an small image is 16x16 pixel.</desc>
350				</info>
351			</prop>
352			<prop oor:name="ImageBigHCURL" oor:type="xs:string">
353				<info>
354					<desc>A file URL to address a external bitmap file used for big high contrast toolbox buttons. Standard size of an big image is 26x26 pixel.</desc>
355				</info>
356			</prop>
357		</group>
358		<group oor:name="Images">
359			<info>
360				<desc>A group that associates images to a command URL</desc>
361			</info>
362			<prop oor:name="URL" oor:type="xs:string">
363				<info>
364					<desc>The command URL that is bound to the defined images.</desc>
365				</info>
366			</prop>
367			<node-ref oor:name="UserDefinedImages" oor:node-type="UserDefinedImages">
368				<info>
369					<desc>An user-defined images group.</desc>
370				</info>
371			</node-ref>
372		</group>
373		<set oor:name="ToolBarItems" oor:node-type="ToolBarItem">
374			<info>
375				<desc>Contains a list of toolbar items used by an Add-On.</desc>
376			</info>
377		</set>
378		<set oor:name="MergeMenuItems" oor:node-type="MergeMenuInstruction">
379			<info>
380				<desc>Contains a list of merge menu instructions defined by an Add-On which specify how to merge menu items into the Office menubar.</desc>
381			</info>
382		</set>
383		<set oor:name="MergeToolBarItems" oor:node-type="MergeToolBarInstruction">
384			<info>
385				<desc>Contains a list of merge toolbar instructions defined by an Add-On which specify how to merge toolbar items into an existing toolbar.</desc>
386			</info>
387		</set>
388        <set oor:name="MergeStatusBarItems" oor:node-type="MergeStatusBarInstruction">
389            <info>
390                <desc>Contains a list of merge status bar instructions defined by an Add-On which specify how to merge status bar items into an existing status bar.</desc>
391            </info>
392        </set>
393	</templates>
394	<component>
395		<group oor:name="AddonUI">
396			<info>
397				<desc>Contains information about the structure of addon user interface.</desc>
398			</info>
399			<set oor:name="AddonMenu" oor:node-type="MenuItem">
400				<info>
401					<desc>Contains the structure of the addon menu used by the Office. It provide functions of external components to the user.</desc>
402				</info>
403			</set>
404			<set oor:name="Images" oor:node-type="Images">
405				<info>
406					<desc>Contains the structure for user-defined images which can be used by menu items and toolbar buttons.</desc>
407				</info>
408			</set>
409			<set oor:name="OfficeMenuBar" oor:node-type="PopupMenu">
410				<info>
411					<desc>Contains the structure of addon popup-menus inserted into the Office menubar. It provide functions of external components to the user.</desc>
412				</info>
413			</set>
414			<set oor:name="OfficeMenuBarMerging" oor:node-type="MergeMenuItems">
415				<info>
416					<desc>Contains a list of menu merging instructions of different add-ons.</desc>
417				</info>
418			</set>
419			<set oor:name="OfficeToolBar" oor:node-type="ToolBar">
420                <info>
421                    <desc>Contains a lists of addon toolbars.</desc>
422                </info>
423			</set>
424			<set oor:name="OfficeToolbarMerging" oor:node-type="MergeToolBarItems">
425			    <info>
426			        <desc>Contains a list of toolbar merging instructions of different add-ons. </desc>
427			    </info>
428			</set>
429            <set oor:name="OfficeStatusbarMerging" oor:node-type="MergeStatusBarItems">
430                <info>
431                    <desc>Contains a list of status bar merging instructions of different add-ons. </desc>
432                </info>
433            </set>
434			<set oor:name="OfficeHelp" oor:node-type="MenuItem">
435				<info>
436					<desc>Contains a list of functions inserted into the Office help menu. The optional property 'Submeno' will be ignored for this set.</desc>
437				</info>
438			</set>
439		</group>
440	</component>
441</oor:component-schema>
442