xref: /trunk/main/officecfg/registry/schema/org/openoffice/Office/OptionsDialog.xcs (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--***********************************************************************
3 *
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 *
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 *
8 * OpenOffice.org - a multi-platform office productivity suite
9 *
10 * This file is part of OpenOffice.org.
11 *
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
15 *
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
21 *
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org.  If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
26 *
27 ************************************************************************ -->
28<!DOCTYPE oor:component-schema SYSTEM "../../../../component-schema.dtd">
29<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">
30  <info>
31    <author>PB</author>
32    <desc >Contains general structures used to hide a single option or an option
33      tabpage or a whole option group.</desc>
34  </info>
35  <templates>
36    <group oor:name="SingleOption">
37      <info>
38    <desc>Describes one single option.</desc>
39      </info>
40      <prop oor:name="Hide" oor:type="xs:boolean">
41    <info>
42      <desc>Should this option be hidden?.</desc>
43    </info>
44      </prop>
45    </group>
46    <group oor:name="OptionsPage">
47      <info>
48    <desc>Describes one options tabpage.</desc>
49      </info>
50      <prop oor:name="Hide" oor:type="xs:boolean">
51    <info>
52      <desc>Should this page be hidden?</desc>
53    </info>
54      </prop>
55      <set oor:name="Options" oor:node-type="SingleOption">
56    <info>
57      <desc>An optional set to allow to hide single options of this page.</desc>
58    </info>
59      </set>
60    </group>
61    <group oor:name="OptionsGroup">
62      <info>
63    <desc>Describes a group of options tabpages.</desc>
64      </info>
65      <prop oor:name="Hide" oor:type="xs:boolean">
66    <info>
67      <desc>Should this whole group of options tabpages be hidden?</desc>
68    </info>
69      </prop>
70      <set oor:name="Pages" oor:node-type="OptionsPage">
71    <info>
72      <desc>An optional set to allow to hide single options tabpages of this
73        group.</desc>
74    </info>
75      </set>
76    </group>
77
78    <group oor:name="Module">
79      <info>
80    <desc>Defines a Module. The options dialog displays entries in its tree
81      view only if they are defined to belong to the Module for which the
82      options dialog is being displayed. The exception is the options dialog
83      which is invoked from the Extension Manager, where the Module is
84      irrelevant.</desc>
85      </info>
86      <set oor:name="Nodes" oor:node-type="OrderedNode">
87    <info>
88      <desc>A set member countains a Node (see type Node) which has been
89        assigned to this Module. Also entities which do not own the Module
90        may add members to the set. Please look at the specification for
91        applying restrictions
92        (http://specs.openoffice.org/appwide/packagemanager/options_dialog_for_extensions.odt)
93        The actual Node|s are kept in a separate set (OptionsDialog/Nodes),
94        to prevent redundancy, because a Node can be assigned to several
95        Module|s. The position of a node (the tree view element) within the
96        tree view of the options dialog is determined by the property Index
97        of each set member. The position can be different dependent on the
98        Module. Therefore the order is determined per Module. Only the owner
99        of the Module should set the position (property Index).
100        The order is undefined if two or more members have the same value for
101        the Index property.
102        See also the description for OrderedNode.
103      </desc>
104    </info>
105      </set>
106    </group>
107
108    <group oor:name="Node">
109      <info>
110    <desc>Defines a node (the tree view element) which can be displayed in
111      the tree view of the options dialog.</desc>
112      </info>
113      <prop oor:name="Label" oor:type="xs:string" oor:localized="true"
114        oor:nillable="false">
115    <info>
116      <desc>The localized name which is displayed next to the node in the
117        options dialog. If two different nodes (the tree view element) happen
118        to have the same localized name then both are displayed.</desc>
119    </info>
120      </prop>
121      <prop oor:name="OptionsPage" oor:type="xs:string">
122    <info>
123      <desc>URL which references the dialog editor resource. This options
124      page should only contain information for the user and should not
125      accept input.</desc>
126    </info>
127      </prop>
128      <prop oor:name="AllModules" oor:type="xs:boolean">
129    <info>
130      <desc>If true then this Node shall be displayed independent of the
131        Module for which the options dialog is displayed -  that is, always.
132        In this case it must not be assigned directly to one ore more
133        Module|s. That is, it must not exist as member in Module/Nodes of no
134        existing Module.
135        This is an optimization so that an extension need not provide
136        entries for all Module|s.
137        The default value is false.
138      </desc>
139    </info>
140    <value>false</value>
141      </prop>
142      <prop oor:name="GroupId" oor:type="xs:string">
143    <info>
144      <desc>Identifies a group of Node|s. All nodes (the tree view elements)
145        which refer to the same group are displayed next to each other. If
146        this property is set then GroupIndex must also have a value. The
147        group will be used by Node|s which have been added to existing
148        Module|s. If one defines a Module AND Node|s which are used in this
149        Module, then GroupId must not be set. In this case one uses
150        Module/Nodes/Index to determine the position of the nodes (the tree
151        view element).
152        The empty string is no valid identifier and represents nil.
153        See also GroupIndex.
154      </desc>
155    </info>
156    <value></value>
157      </prop>
158      <prop oor:name="GroupIndex" oor:type="xs:int">
159    <info>
160      <desc>The index of the Node within the group. The index starts with
161        null. If this property is set then property GroupId must also have
162        a value. If a Node of this group is displayed depends on the
163        respective Module to which it is assigned. For example, if there are
164        the Nodes A(index 0), B (index 1), and C (index 2) in a group,
165        and B is assigned to a different Module, then only A and
166        B are displayed together although there indices are 0 and 2 (B has 1).
167        The value -1 is regarded as nil.
168        Actually one could have allowed to define a group per Module, so that
169        the order could be different depending on the Module. But this would
170        have added more complexity to the data structures.
171      </desc>
172    </info>
173    <value>-1</value>
174      </prop>
175      <set oor:name="Leaves" oor:node-type="Leaf">
176    <info>
177      <desc>Leaves which are assigned to this node. Extensions can add to this
178        set new Leaf|s.</desc>
179    </info>
180      </set>
181    </group>
182
183    <group oor:name="Leaf">
184      <info>
185    <desc>Defines a leaf (the tree view element). A Leaf must be assigned to
186      exactly one Node. </desc>
187      </info>
188      <prop oor:name="Id" oor:type="xs:string">
189    <info>
190      <desc>The unique identifier of the Leaf. This must be the extension
191        identifier if this Leaf was defined by an extension.</desc>
192    </info>
193      </prop>
194      <prop oor:name="Label" oor:type="xs:string" oor:localized="true"
195        oor:nillable="false">
196    <info>
197      <desc>The localized name that is displayed for the leaf in the options
198        dialog.</desc>
199    </info>
200      </prop>
201      <prop oor:name="OptionsPage" oor:type="xs:string" oor:nillable="false">
202    <info>
203      <desc>A URL which references the window resource.</desc>
204    </info>
205      </prop>
206      <prop oor:name="EventHandlerService" oor:type="xs:string" oor:nillable="false">
207    <info>
208      <desc>Name of the event handler service which is used as argument in
209        com.sun.star.awt.XContainerWindowProvider.createContainerWindow. This
210        handler does not even process events from the options page but also
211        provides for saving and reading the respective values.</desc>
212    </info>
213      </prop>
214      <prop oor:name="GroupId" oor:type="xs:string">
215    <info>
216      <desc>Identifies a group of Leaf|s. All Leaf|s which have the same
217        GroupId form a group and the corresponding entries in the tree view
218        are displayed next to each other.
219        If this property is set then the property GroupIndex must
220        also be set.
221        The GroupIndex represents the position within the group. If one
222        owns the Node (e.g. defined it oneself) then one can set the GroupId
223        to the name of the Node to which this Leaf is assigned. The Leaf|s of
224        this particular group are displayed first under the node (the tree
225        view element) before any other groups.
226        If one does not own the Node then one should not use the Node name as
227        group id.
228        The empty string is regarded as nil.
229      </desc>
230    </info>
231    <value></value>
232      </prop>
233      <prop oor:name="GroupIndex" oor:type="xs:int">
234    <info>
235      <desc>The index of the Leaf within the group. The index starts with
236        null. If this property is set then GroupId must also have
237        a value. If there are two Leaf|s with the same index in the same
238        group then then their order is undefined.
239        The value -1 is regarded as nil.</desc>
240    </info>
241    <value>-1</value>
242      </prop>
243    </group>
244
245    <group oor:name="OrderedNode">
246      <info>
247    <desc>Represents a reference to a Node and an optional index.
248      Instances of this type are used in a set (see Module). The name of the
249      set member must be the same as the one of the respective Node. The
250      index determines the position of the node (the tree view element) in
251      the options dialog for a particular Module.</desc>
252      </info>
253      <prop oor:name="Index" oor:type="xs:int">
254    <info>
255      <desc>Determines the position of the node in the options dialog.
256        The index starts with null. That is, the corresponding node
257        appears at the first position in the tree view of the options dialog.
258        If the value is -1 then the index is undefined. If one adds
259        Node|s to a Module which one does not define oneself (e.g. the Module
260        is owned by someone else), then one must not set the Index. This
261        applies, for example, to extensions which add their Node|s to existing
262        Module|s.
263        The value -1 is regarded as nil.
264      </desc>
265    </info>
266    <value>-1</value>
267      </prop>
268    </group>
269  </templates>
270
271  <component>
272    <set oor:name="OptionsDialogGroups" oor:node-type="OptionsGroup">
273      <info>
274    <desc>Contains the set of single options, options tabpages and options
275      groups which should be hidden.</desc>
276    <label>Hidden options</label>
277      </info>
278    </set>
279
280    <set oor:name="Modules" oor:node-type="Module">
281      <info>
282    <desc>List of availabe application contexts</desc>
283      </info>
284    </set>
285    <set oor:name="Nodes" oor:node-type="Node">
286      <info>
287    <desc>List of available nodes.</desc>
288      </info>
289    </set>
290
291  </component>
292</oor:component-schema>
293
294