1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!--***********************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2008 by Sun Microsystems, Inc.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * $RCSfile: OptionsDialog.xcs,v $
13 * This file is part of OpenOffice.org.
15 * OpenOffice.org is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License version 3
17 * only, as published by the Free Software Foundation.
19 * OpenOffice.org is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License version 3 for more details
23 * (a copy is included in the LICENSE file that accompanied this code).
25 * You should have received a copy of the GNU Lesser General Public License
26 * version 3 along with OpenOffice.org. If not, see
27 * <http://www.openoffice.org/license.html>
28 * for a copy of the LGPLv3 License.
30 ************************************************************************ -->
31 <!DOCTYPE oor:component-schema SYSTEM
"../../../../component-schema.dtd">
32 <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=
"OptionsDialog" oor:
package=
"org.openoffice.Office" xml:
lang=
"en-US">
35 <desc >Contains general structures used to hide a single option or an option
36 tabpage or a whole option group.
</desc>
39 <group oor:
name=
"SingleOption">
41 <desc>Describes one single option.
</desc>
43 <prop oor:
name=
"Hide" oor:
type=
"xs:boolean">
45 <desc>Should this option be hidden?.
</desc>
49 <group oor:
name=
"OptionsPage">
51 <desc>Describes one options tabpage.
</desc>
53 <prop oor:
name=
"Hide" oor:
type=
"xs:boolean">
55 <desc>Should this page be hidden?
</desc>
58 <set oor:
name=
"Options" oor:
node-type=
"SingleOption">
60 <desc>An optional set to allow to hide single options of this page.
</desc>
64 <group oor:
name=
"OptionsGroup">
66 <desc>Describes a group of options tabpages.
</desc>
68 <prop oor:
name=
"Hide" oor:
type=
"xs:boolean">
70 <desc>Should this whole group of options tabpages be hidden?
</desc>
73 <set oor:
name=
"Pages" oor:
node-type=
"OptionsPage">
75 <desc>An optional set to allow to hide single options tabpages of this
81 <group oor:
name=
"Module">
83 <desc>Defines a Module. The options dialog displays entries in its tree
84 view only if they are defined to belong to the Module for which the
85 options dialog is being displayed. The exception is the options dialog
86 which is invoked from the Extension Manager, where the Module is
89 <set oor:
name=
"Nodes" oor:
node-type=
"OrderedNode">
91 <desc>A set member countains a Node (see type Node) which has been
92 assigned to this Module. Also entities which do not own the Module
93 may add members to the set. Please look at the specification for
95 (http://specs.openoffice.org/appwide/packagemanager/options_dialog_for_extensions.odt)
96 The actual Node|s are kept in a separate set (OptionsDialog/Nodes),
97 to prevent redundancy, because a Node can be assigned to several
98 Module|s. The position of a node (the tree view element) within the
99 tree view of the options dialog is determined by the property Index
100 of each set member. The position can be different dependent on the
101 Module. Therefore the order is determined per Module. Only the owner
102 of the Module should set the position (property Index).
103 The order is undefined if two or more members have the same value for
105 See also the description for OrderedNode.
111 <group oor:
name=
"Node">
113 <desc>Defines a node (the tree view element) which can be displayed in
114 the tree view of the options dialog.
</desc>
116 <prop oor:
name=
"Label" oor:
type=
"xs:string" oor:
localized=
"true"
117 oor:
nillable=
"false">
119 <desc>The localized name which is displayed next to the node in the
120 options dialog. If two different nodes (the tree view element) happen
121 to have the same localized name then both are displayed.
</desc>
124 <prop oor:
name=
"OptionsPage" oor:
type=
"xs:string">
126 <desc>URL which references the dialog editor resource. This options
127 page should only contain information for the user and should not
131 <prop oor:
name=
"AllModules" oor:
type=
"xs:boolean">
133 <desc>If true then this Node shall be displayed independent of the
134 Module for which the options dialog is displayed - that is, always.
135 In this case it must not be assigned directly to one ore more
136 Module|s. That is, it must not exist as member in Module/Nodes of no
138 This is an optimization so that an extension need not provide
139 entries for all Module|s.
140 The default value is false.
145 <prop oor:
name=
"GroupId" oor:
type=
"xs:string">
147 <desc>Identifies a group of Node|s. All nodes (the tree view elements)
148 which refer to the same group are displayed next to each other. If
149 this property is set then GroupIndex must also have a value. The
150 group will be used by Node|s which have been added to existing
151 Module|s. If one defines a Module AND Node|s which are used in this
152 Module, then GroupId must not be set. In this case one uses
153 Module/Nodes/Index to determine the position of the nodes (the tree
155 The empty string is no valid identifier and represents nil.
161 <prop oor:
name=
"GroupIndex" oor:
type=
"xs:int">
163 <desc>The index of the Node within the group. The index starts with
164 null. If this property is set then property GroupId must also have
165 a value. If a Node of this group is displayed depends on the
166 respective Module to which it is assigned. For example, if there are
167 the Nodes A(index
0), B (index
1), and C (index
2) in a group,
168 and B is assigned to a different Module, then only A and
169 B are displayed together although there indices are
0 and
2 (B has
1).
170 The value -
1 is regarded as nil.
171 Actually one could have allowed to define a group per Module, so that
172 the order could be different depending on the Module. But this would
173 have added more complexity to the data structures.
178 <set oor:
name=
"Leaves" oor:
node-type=
"Leaf">
180 <desc>Leaves which are assigned to this node. Extensions can add to this
181 set new Leaf|s.
</desc>
186 <group oor:
name=
"Leaf">
188 <desc>Defines a leaf (the tree view element). A Leaf must be assigned to
189 exactly one Node.
</desc>
191 <prop oor:
name=
"Id" oor:
type=
"xs:string">
193 <desc>The unique identifier of the Leaf. This must be the extension
194 identifier if this Leaf was defined by an extension.
</desc>
197 <prop oor:
name=
"Label" oor:
type=
"xs:string" oor:
localized=
"true"
198 oor:
nillable=
"false">
200 <desc>The localized name that is displayed for the leaf in the options
204 <prop oor:
name=
"OptionsPage" oor:
type=
"xs:string" oor:
nillable=
"false">
206 <desc>A URL which references the window resource.
</desc>
209 <prop oor:
name=
"EventHandlerService" oor:
type=
"xs:string" oor:
nillable=
"false">
211 <desc>Name of the event handler service which is used as argument in
212 com.sun.star.awt.XContainerWindowProvider.createContainerWindow. This
213 handler does not even process events from the options page but also
214 provides for saving and reading the respective values.
</desc>
217 <prop oor:
name=
"GroupId" oor:
type=
"xs:string">
219 <desc>Identifies a group of Leaf|s. All Leaf|s which have the same
220 GroupId form a group and the corresponding entries in the tree view
221 are displayed next to each other.
222 If this property is set then the property GroupIndex must
224 The GroupIndex represents the position within the group. If one
225 owns the Node (e.g. defined it oneself) then one can set the GroupId
226 to the name of the Node to which this Leaf is assigned. The Leaf|s of
227 this particular group are displayed first under the node (the tree
228 view element) before any other groups.
229 If one does not own the Node then one should not use the Node name as
231 The empty string is regarded as nil.
236 <prop oor:
name=
"GroupIndex" oor:
type=
"xs:int">
238 <desc>The index of the Leaf within the group. The index starts with
239 null. If this property is set then GroupId must also have
240 a value. If there are two Leaf|s with the same index in the same
241 group then then their order is undefined.
242 The value -
1 is regarded as nil.
</desc>
248 <group oor:
name=
"OrderedNode">
250 <desc>Represents a reference to a Node and an optional index.
251 Instances of this type are used in a set (see Module). The name of the
252 set member must be the same as the one of the respective Node. The
253 index determines the position of the node (the tree view element) in
254 the options dialog for a particular Module.
</desc>
256 <prop oor:
name=
"Index" oor:
type=
"xs:int">
258 <desc>Determines the position of the node in the options dialog.
259 The index starts with null. That is, the corresponding node
260 appears at the first position in the tree view of the options dialog.
261 If the value is -
1 then the index is undefined. If one adds
262 Node|s to a Module which one does not define oneself (e.g. the Module
263 is owned by someone else), then one must not set the Index. This
264 applies, for example, to extensions which add their Node|s to existing
266 The value -
1 is regarded as nil.
275 <set oor:
name=
"OptionsDialogGroups" oor:
node-type=
"OptionsGroup">
277 <desc>Contains the set of single options, options tabpages and options
278 groups which should be hidden.
</desc>
279 <label>Hidden options
</label>
283 <set oor:
name=
"Modules" oor:
node-type=
"Module">
285 <desc>List of availabe application contexts
</desc>
288 <set oor:
name=
"Nodes" oor:
node-type=
"Node">
290 <desc>List of available nodes.
</desc>
295 </oor:component-schema>