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
|
<!-- Originally Copyright (c) 2000 Federico David Sacerdoti <tech@slinuxmachines.com>
Modifications/Extensions by Simon Hausmann <hausmann@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. -->
<!ELEMENT kpartgui ((ActionProperties | MenuBar | ToolBar | Merge | DefineGroup | MainWindow | StatusBar | Menu)*)>
<!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 | 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)
-- 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 ((Action | Separator | ActionList | Merge | 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?, (Action | ActionList | Separator | TearOffHandle | Merge | DefineGroup | Menu )*)>
<!ATTLIST Menu
name CDATA #REQUIRED
group CDATA #IMPLIED
icon CDATA #IMPLIED
>
<!-- Defines both Standard and app-specific actions. An action can appear in a menu, a toolbar or in a
menubar . -->
<!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
text CDATA #IMPLIED
whatsThis CDATA #IMPLIED
toolTip CDATA #IMPLIED
shortText CDATA #IMPLIED
icon CDATA #IMPLIED
>
<!-- Inserts a separator item into a menubar or toolbar -->
<!ELEMENT Separator EMPTY>
<!ATTLIST Separator
lineSeparator (true|false) "false"
group CDATA #IMPLIED
>
<!-- Inserts a tear-off handle into a menu -->
<!ELEMENT TearOffHandle EMPTY>
<!ATTLIST TearOffHandle
group 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)>
<!-- 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 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
>
|