1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
<!-- Originally Copyright (c) 2000 Federico David Sacerdoti <[email protected]>
Modifications/Extensions by Simon Hausmann <[email protected]>
Minor updates by Richard J. Moore <[email protected]>
This DTD module is identified by the PUBLIC and SYSTEM
identifiers:
PUBLIC "-//KDE Project//KPartGUI DTD//EN"
SYSTEM "kpartgui.dtd"
This DTD should be included at the head of an xmlguibuilder XML file like this:
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-->
<!--The root element that must enclose all other tags in the document. This element
replaces the kpartgui element used previously.
NOTE: do not forget to increase the version attribute for each change in
your file or the changes will not be taken!!
-->
<!ELEMENT gui ((ActionProperties | MenuBar | ToolBar | Merge | MergeLocal | DefineGroup | MainWindow | StatusBar | Menu | State)*)>
<!ATTLIST gui
name CDATA #REQUIRED
version CDATA #REQUIRED
library CDATA #IMPLIED
>
<!-- DEPRECATED: The old root element that must enclose all other tags in the document. -->
<!ELEMENT kpartgui ((ActionProperties | MenuBar | ToolBar | Merge | MergeLocal | DefineGroup | MainWindow | StatusBar | Menu | State)*)>
<!ATTLIST kpartgui
name CDATA #REQUIRED
version CDATA #REQUIRED
library CDATA #IMPLIED
>
<!-- Allows standard actions to be customized -->
<!ELEMENT ActionProperties (Action+)>
<!-- A menu bar -->
<!ELEMENT MenuBar ((Menu | Separator | Action | ActionList | Merge | MergeLocal | DefineGroup )*)>
<!ATTLIST MenuBar
name CDATA #IMPLIED
group CDATA #IMPLIED
>
<!-- A tool bar
- Attributes: name: a unique name for the toolbar, use mainToolBar for the main one
- fullWidth: if true (default), the toolbar extends to the full width of the window
- position: the position of the toolbar in the window
- iconText: whether to show icon or text or both
- iconSize: the size of the icons (0 for default, or usually 22 or 32)
- index: the index in the toolbar dock (see QMainWindow::moveToolBar; starts at 0)
- offset: the X offset in the toolbar dock (see QMainWindow::moveToolBar)
- newline: if true, this toolbar will start a new line (i.e. under the ones before it).
- group: optional group name, for named merging (?)
- hidden: if true, the toolbar is initially hidden. There should be a menu entry for showing it.
- noEdit: if true, the toolbar won't appear in the toolbar editor
-->
<!ELEMENT ToolBar (text?, (Action | Separator | WeakSeparator | ActionList | Merge | MergeLocal | DefineGroup)*)>
<!ATTLIST ToolBar
name CDATA #REQUIRED
fullWidth (true|false) "true"
position (top|bottom|left|right) "top"
iconText (icononly|textonly|icontextright|icontextbottom) #IMPLIED
iconSize CDATA #IMPLIED
index CDATA #IMPLIED
offset CDATA #IMPLIED
newline (true|false) "false"
group CDATA #IMPLIED
hidden (true|false) "false"
noEdit (true|false) "false"
>
<!-- A Menu such as the "File" or "Edit" menu. Can be used to define popup menus as well. -->
<!ELEMENT Menu (text?, (title | Action | ActionList | Separator | WeakSeparator | TearOffHandle | Merge | MergeLocal | DefineGroup | Menu )*)>
<!ATTLIST Menu
append CDATA #IMPLIED
name CDATA #REQUIRED
group CDATA #IMPLIED
icon CDATA #IMPLIED
noMerge (0|1) "0"
>
<!-- Defines both Standard and app-specific actions. An action can appear in a menu, a toolbar or in a
menubar.
Attributes:
- name of the action: this is matched with the KAction name.
- group: this is used to control the placement of the action when merging
e.g. a part, it matches the name of a DefineGroup in the mainwindow's rc file.
- append: this is used to control the placement of the action during the
merging with ui_standards.rc. This is mapped to MergeLocal tags there.
Note that this feature is currently only available for the mainwindow, not for parts/plugins.
- text, whatsThis, toolTip, shortText, shortcut, icon: all those are mapped
to KAction properties.
-->
<!ELEMENT Action EMPTY>
<!-- We defined only a few standard KAction properties here. Theoritically we can have
any property here -->
<!ATTLIST Action
name CDATA #REQUIRED
group CDATA #IMPLIED
append CDATA #IMPLIED
text CDATA #IMPLIED
whatsThis CDATA #IMPLIED
toolTip CDATA #IMPLIED
shortText CDATA #IMPLIED
shortcut CDATA #IMPLIED
icon CDATA #IMPLIED
>
<!-- Inserts a separator item into a menubar or toolbar -->
<!ELEMENT Separator EMPTY>
<!ATTLIST Separator
lineSeparator (true|false) "true"
group CDATA #IMPLIED
>
<!ELEMENT WeakSeparator EMPTY>
<!-- Inserts a tear-off handle into a menu -->
<!ELEMENT TearOffHandle EMPTY>
<!ATTLIST TearOffHandle
group CDATA #IMPLIED
>
<!-- Used to insert titles, only for popup menus -->
<!ELEMENT title (#PCDATA)>
<!ATTLIST title
icon CDATA #IMPLIED
>
<!-- Used to name a menu, the first letter in is generally preceded by an '&' to specify
the menu's shortcut key -->
<!ELEMENT text (#PCDATA)>
<!ATTLIST text
context CDATA #IMPLIED
>
<!-- Specifies a dynamic list of actions, each of which can be changed by plugging/unplugging it -->
<!ELEMENT ActionList EMPTY>
<!ATTLIST ActionList
name CDATA #REQUIRED
>
<!-- Not explicitly defined or in widely used yet. -->
<!ELEMENT MainWindow (ANY)>
<!-- Not explicitly defined or in widely used yet. -->
<!ELEMENT StatusBar (ANY)>
<!-- Specifies the entry index for merging in a gui client -->
<!ELEMENT Merge EMPTY>
<!ATTLIST Merge
name CDATA #IMPLIED
>
<!-- Specifies an entry index for merging application defined actions into
those with positions fixed by the style guide and ui_standards.rc. This
tag should not be used anywhere except ui_standards.rc. -->
<!ELEMENT MergeLocal EMPTY>
<!ATTLIST MergeLocal
name CDATA #IMPLIED
>
<!-- Specifies a entry index for merging, similar to the Merge tag, but with a global scope and
accessible via the group attribute of other tags -->
<!ELEMENT DefineGroup EMPTY>
<!ATTLIST DefineGroup
name CDATA #REQUIRED
>
<!-- Defines a GUI state, esp. which actions to enable and which ones to -->
<!-- disable on entering this state (see KXMLGUIClient::stateChanged()) -->
<!ELEMENT State ( enable | disable | (enable, disable))>
<!ATTLIST State
name CDATA #REQUIRED
>
<!-- used in State to collect actions to be enabled and disabled, resp., -->
<!-- on entering the state -->
<!ELEMENT enable (Action+)>
<!ELEMENT disable (Action+)>
|