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">
26	<info>
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. It will be interpreted as OpenOffice 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 implementation (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 an 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 provides 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 provides 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 'Submenu' will be ignored for this set.</desc>
437				</info>
438			</set>
439		</group>
440	</component>
441</oor:component-schema>
442