summaryrefslogtreecommitdiffstats
path: root/kdeui/kpartgui.dtd
blob: 36cbe2a4d11f0c44fe1c4980d0fc50275d984463 (plain)
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 <tech@slinuxmachines.com>
     Modifications/Extensions by Simon Hausmann <hausmann@kde.org>
     Minor updates by Richard J. Moore <rich@kde.org>

  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
  tqreplaces 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+)>