1 /****************************************************************************
2 **
3 ** Copyright (C) 2018 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the tools applications of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** BSD License Usage
18 ** Alternatively, you may use this file under the terms of the BSD license
19 ** as follows:
20 **
21 ** "Redistribution and use in source and binary forms, with or without
22 ** modification, are permitted provided that the following conditions are
23 ** met:
24 **   * Redistributions of source code must retain the above copyright
25 **     notice, this list of conditions and the following disclaimer.
26 **   * Redistributions in binary form must reproduce the above copyright
27 **     notice, this list of conditions and the following disclaimer in
28 **     the documentation and/or other materials provided with the
29 **     distribution.
30 **   * Neither the name of The Qt Company Ltd nor the names of its
31 **     contributors may be used to endorse or promote products derived
32 **     from this software without specific prior written permission.
33 **
34 **
35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46 **
47 ** $QT_END_LICENSE$
48 **
49 ****************************************************************************/
50 
51 //
52 //  W A R N I N G
53 //  -------------
54 //
55 // This file is not part of the Qt API.  It exists for the convenience
56 // of Qt Designer.  This header
57 // file may change from version to version without notice, or even be removed.
58 //
59 // We mean it.
60 //
61 
62 // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT!
63 
64 #ifndef UI4_H
65 #define UI4_H
66 
67 #include <qlist.h>
68 #include <qstring.h>
69 #include <qstringlist.h>
70 #include <qvector.h>
71 #include <qxmlstream.h>
72 #include <qglobal.h>
73 
74 QT_BEGIN_NAMESPACE
75 
76 #define QDESIGNER_UILIB_EXTERN Q_DECL_EXPORT
77 #define QDESIGNER_UILIB_IMPORT Q_DECL_IMPORT
78 
79 #if defined(QT_DESIGNER_STATIC) || defined(QT_UIC) || defined(QT_UIC3)
80 #  define QDESIGNER_UILIB_EXPORT
81 #elif defined(QDESIGNER_UILIB_LIBRARY)
82 #  define QDESIGNER_UILIB_EXPORT QDESIGNER_UILIB_EXTERN
83 #else
84 #  define QDESIGNER_UILIB_EXPORT QDESIGNER_UILIB_IMPORT
85 #endif
86 
87 #ifndef QDESIGNER_UILIB_EXPORT
88 #    define QDESIGNER_UILIB_EXPORT
89 #endif
90 
91 #ifdef QFORMINTERNAL_NAMESPACE
92 namespace QFormInternal
93 {
94 #endif
95 
96 
97 /*******************************************************************************
98 ** Forward declarations
99 */
100 
101 class DomUI;
102 class DomIncludes;
103 class DomInclude;
104 class DomResources;
105 class DomResource;
106 class DomActionGroup;
107 class DomAction;
108 class DomActionRef;
109 class DomButtonGroup;
110 class DomButtonGroups;
111 class DomCustomWidgets;
112 class DomHeader;
113 class DomCustomWidget;
114 class DomLayoutDefault;
115 class DomLayoutFunction;
116 class DomTabStops;
117 class DomLayout;
118 class DomLayoutItem;
119 class DomRow;
120 class DomColumn;
121 class DomItem;
122 class DomWidget;
123 class DomSpacer;
124 class DomColor;
125 class DomGradientStop;
126 class DomGradient;
127 class DomBrush;
128 class DomColorRole;
129 class DomColorGroup;
130 class DomPalette;
131 class DomFont;
132 class DomPoint;
133 class DomRect;
134 class DomLocale;
135 class DomSizePolicy;
136 class DomSize;
137 class DomDate;
138 class DomTime;
139 class DomDateTime;
140 class DomStringList;
141 class DomResourcePixmap;
142 class DomResourceIcon;
143 class DomString;
144 class DomPointF;
145 class DomRectF;
146 class DomSizeF;
147 class DomChar;
148 class DomUrl;
149 class DomProperty;
150 class DomConnections;
151 class DomConnection;
152 class DomConnectionHints;
153 class DomConnectionHint;
154 class DomDesignerData;
155 class DomSlots;
156 class DomPropertySpecifications;
157 class DomPropertyToolTip;
158 class DomStringPropertySpecification;
159 
160 /*******************************************************************************
161 ** Declarations
162 */
163 
164 class QDESIGNER_UILIB_EXPORT DomUI {
165     Q_DISABLE_COPY_MOVE(DomUI)
166 public:
167     DomUI() = default;
168     ~DomUI();
169 
170     void read(QXmlStreamReader &reader);
171     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
172 
173     // attribute accessors
hasAttributeVersion()174     inline bool hasAttributeVersion() const { return m_has_attr_version; }
attributeVersion()175     inline QString attributeVersion() const { return m_attr_version; }
setAttributeVersion(const QString & a)176     inline void setAttributeVersion(const QString &a) { m_attr_version = a; m_has_attr_version = true; }
clearAttributeVersion()177     inline void clearAttributeVersion() { m_has_attr_version = false; }
178 
hasAttributeLanguage()179     inline bool hasAttributeLanguage() const { return m_has_attr_language; }
attributeLanguage()180     inline QString attributeLanguage() const { return m_attr_language; }
setAttributeLanguage(const QString & a)181     inline void setAttributeLanguage(const QString &a) { m_attr_language = a; m_has_attr_language = true; }
clearAttributeLanguage()182     inline void clearAttributeLanguage() { m_has_attr_language = false; }
183 
hasAttributeDisplayname()184     inline bool hasAttributeDisplayname() const { return m_has_attr_displayname; }
attributeDisplayname()185     inline QString attributeDisplayname() const { return m_attr_displayname; }
setAttributeDisplayname(const QString & a)186     inline void setAttributeDisplayname(const QString &a) { m_attr_displayname = a; m_has_attr_displayname = true; }
clearAttributeDisplayname()187     inline void clearAttributeDisplayname() { m_has_attr_displayname = false; }
188 
hasAttributeIdbasedtr()189     inline bool hasAttributeIdbasedtr() const { return m_has_attr_idbasedtr; }
attributeIdbasedtr()190     inline bool attributeIdbasedtr() const { return m_attr_idbasedtr; }
setAttributeIdbasedtr(bool a)191     inline void setAttributeIdbasedtr(bool a) { m_attr_idbasedtr = a; m_has_attr_idbasedtr = true; }
clearAttributeIdbasedtr()192     inline void clearAttributeIdbasedtr() { m_has_attr_idbasedtr = false; }
193 
hasAttributeConnectslotsbyname()194     inline bool hasAttributeConnectslotsbyname() const { return m_has_attr_connectslotsbyname; }
attributeConnectslotsbyname()195     inline bool attributeConnectslotsbyname() const { return m_attr_connectslotsbyname; }
setAttributeConnectslotsbyname(bool a)196     inline void setAttributeConnectslotsbyname(bool a) { m_attr_connectslotsbyname = a; m_has_attr_connectslotsbyname = true; }
clearAttributeConnectslotsbyname()197     inline void clearAttributeConnectslotsbyname() { m_has_attr_connectslotsbyname = false; }
198 
hasAttributeStdsetdef()199     inline bool hasAttributeStdsetdef() const { return m_has_attr_stdsetdef; }
attributeStdsetdef()200     inline int attributeStdsetdef() const { return m_attr_stdsetdef; }
setAttributeStdsetdef(int a)201     inline void setAttributeStdsetdef(int a) { m_attr_stdsetdef = a; m_has_attr_stdsetdef = true; }
clearAttributeStdsetdef()202     inline void clearAttributeStdsetdef() { m_has_attr_stdsetdef = false; }
203 
hasAttributeStdSetDef()204     inline bool hasAttributeStdSetDef() const { return m_has_attr_stdSetDef; }
attributeStdSetDef()205     inline int attributeStdSetDef() const { return m_attr_stdSetDef; }
setAttributeStdSetDef(int a)206     inline void setAttributeStdSetDef(int a) { m_attr_stdSetDef = a; m_has_attr_stdSetDef = true; }
clearAttributeStdSetDef()207     inline void clearAttributeStdSetDef() { m_has_attr_stdSetDef = false; }
208 
209     // child element accessors
elementAuthor()210     inline QString elementAuthor() const { return m_author; }
211     void setElementAuthor(const QString &a);
hasElementAuthor()212     inline bool hasElementAuthor() const { return m_children & Author; }
213     void clearElementAuthor();
214 
elementComment()215     inline QString elementComment() const { return m_comment; }
216     void setElementComment(const QString &a);
hasElementComment()217     inline bool hasElementComment() const { return m_children & Comment; }
218     void clearElementComment();
219 
elementExportMacro()220     inline QString elementExportMacro() const { return m_exportMacro; }
221     void setElementExportMacro(const QString &a);
hasElementExportMacro()222     inline bool hasElementExportMacro() const { return m_children & ExportMacro; }
223     void clearElementExportMacro();
224 
elementClass()225     inline QString elementClass() const { return m_class; }
226     void setElementClass(const QString &a);
hasElementClass()227     inline bool hasElementClass() const { return m_children & Class; }
228     void clearElementClass();
229 
elementWidget()230     inline DomWidget *elementWidget() const { return m_widget; }
231     DomWidget *takeElementWidget();
232     void setElementWidget(DomWidget *a);
hasElementWidget()233     inline bool hasElementWidget() const { return m_children & Widget; }
234     void clearElementWidget();
235 
elementLayoutDefault()236     inline DomLayoutDefault *elementLayoutDefault() const { return m_layoutDefault; }
237     DomLayoutDefault *takeElementLayoutDefault();
238     void setElementLayoutDefault(DomLayoutDefault *a);
hasElementLayoutDefault()239     inline bool hasElementLayoutDefault() const { return m_children & LayoutDefault; }
240     void clearElementLayoutDefault();
241 
elementLayoutFunction()242     inline DomLayoutFunction *elementLayoutFunction() const { return m_layoutFunction; }
243     DomLayoutFunction *takeElementLayoutFunction();
244     void setElementLayoutFunction(DomLayoutFunction *a);
hasElementLayoutFunction()245     inline bool hasElementLayoutFunction() const { return m_children & LayoutFunction; }
246     void clearElementLayoutFunction();
247 
elementPixmapFunction()248     inline QString elementPixmapFunction() const { return m_pixmapFunction; }
249     void setElementPixmapFunction(const QString &a);
hasElementPixmapFunction()250     inline bool hasElementPixmapFunction() const { return m_children & PixmapFunction; }
251     void clearElementPixmapFunction();
252 
elementCustomWidgets()253     inline DomCustomWidgets *elementCustomWidgets() const { return m_customWidgets; }
254     DomCustomWidgets *takeElementCustomWidgets();
255     void setElementCustomWidgets(DomCustomWidgets *a);
hasElementCustomWidgets()256     inline bool hasElementCustomWidgets() const { return m_children & CustomWidgets; }
257     void clearElementCustomWidgets();
258 
elementTabStops()259     inline DomTabStops *elementTabStops() const { return m_tabStops; }
260     DomTabStops *takeElementTabStops();
261     void setElementTabStops(DomTabStops *a);
hasElementTabStops()262     inline bool hasElementTabStops() const { return m_children & TabStops; }
263     void clearElementTabStops();
264 
elementIncludes()265     inline DomIncludes *elementIncludes() const { return m_includes; }
266     DomIncludes *takeElementIncludes();
267     void setElementIncludes(DomIncludes *a);
hasElementIncludes()268     inline bool hasElementIncludes() const { return m_children & Includes; }
269     void clearElementIncludes();
270 
elementResources()271     inline DomResources *elementResources() const { return m_resources; }
272     DomResources *takeElementResources();
273     void setElementResources(DomResources *a);
hasElementResources()274     inline bool hasElementResources() const { return m_children & Resources; }
275     void clearElementResources();
276 
elementConnections()277     inline DomConnections *elementConnections() const { return m_connections; }
278     DomConnections *takeElementConnections();
279     void setElementConnections(DomConnections *a);
hasElementConnections()280     inline bool hasElementConnections() const { return m_children & Connections; }
281     void clearElementConnections();
282 
elementDesignerdata()283     inline DomDesignerData *elementDesignerdata() const { return m_designerdata; }
284     DomDesignerData *takeElementDesignerdata();
285     void setElementDesignerdata(DomDesignerData *a);
hasElementDesignerdata()286     inline bool hasElementDesignerdata() const { return m_children & Designerdata; }
287     void clearElementDesignerdata();
288 
elementSlots()289     inline DomSlots *elementSlots() const { return m_slots; }
290     DomSlots *takeElementSlots();
291     void setElementSlots(DomSlots *a);
hasElementSlots()292     inline bool hasElementSlots() const { return m_children & Slots; }
293     void clearElementSlots();
294 
elementButtonGroups()295     inline DomButtonGroups *elementButtonGroups() const { return m_buttonGroups; }
296     DomButtonGroups *takeElementButtonGroups();
297     void setElementButtonGroups(DomButtonGroups *a);
hasElementButtonGroups()298     inline bool hasElementButtonGroups() const { return m_children & ButtonGroups; }
299     void clearElementButtonGroups();
300 
301 private:
302     // attribute data
303     QString m_attr_version;
304     bool m_has_attr_version = false;
305 
306     QString m_attr_language;
307     bool m_has_attr_language = false;
308 
309     QString m_attr_displayname;
310     bool m_has_attr_displayname = false;
311 
312     bool m_attr_idbasedtr = false;
313     bool m_has_attr_idbasedtr = false;
314 
315     bool m_attr_connectslotsbyname = false;
316     bool m_has_attr_connectslotsbyname = false;
317 
318     int m_attr_stdsetdef = 0;
319     bool m_has_attr_stdsetdef = false;
320 
321     int m_attr_stdSetDef = 0;
322     bool m_has_attr_stdSetDef = false;
323 
324     // child element data
325     uint m_children = 0;
326     QString m_author;
327     QString m_comment;
328     QString m_exportMacro;
329     QString m_class;
330     DomWidget *m_widget = nullptr;
331     DomLayoutDefault *m_layoutDefault = nullptr;
332     DomLayoutFunction *m_layoutFunction = nullptr;
333     QString m_pixmapFunction;
334     DomCustomWidgets *m_customWidgets = nullptr;
335     DomTabStops *m_tabStops = nullptr;
336     DomIncludes *m_includes = nullptr;
337     DomResources *m_resources = nullptr;
338     DomConnections *m_connections = nullptr;
339     DomDesignerData *m_designerdata = nullptr;
340     DomSlots *m_slots = nullptr;
341     DomButtonGroups *m_buttonGroups = nullptr;
342 
343     enum Child {
344         Author = 1,
345         Comment = 2,
346         ExportMacro = 4,
347         Class = 8,
348         Widget = 16,
349         LayoutDefault = 32,
350         LayoutFunction = 64,
351         PixmapFunction = 128,
352         CustomWidgets = 256,
353         TabStops = 512,
354         Includes = 1024,
355         Resources = 2048,
356         Connections = 4096,
357         Designerdata = 8192,
358         Slots = 16384,
359         ButtonGroups = 32768
360     };
361 };
362 
363 class QDESIGNER_UILIB_EXPORT DomIncludes {
364     Q_DISABLE_COPY_MOVE(DomIncludes)
365 public:
366     DomIncludes() = default;
367     ~DomIncludes();
368 
369     void read(QXmlStreamReader &reader);
370     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
371 
372     // child element accessors
elementInclude()373     inline QVector<DomInclude *> elementInclude() const { return m_include; }
374     void setElementInclude(const QVector<DomInclude *> &a);
375 
376 private:
377 
378     // child element data
379     uint m_children = 0;
380     QVector<DomInclude *> m_include;
381 
382     enum Child {
383         Include = 1
384     };
385 };
386 
387 class QDESIGNER_UILIB_EXPORT DomInclude {
388     Q_DISABLE_COPY_MOVE(DomInclude)
389 public:
390     DomInclude() = default;
391     ~DomInclude();
392 
393     void read(QXmlStreamReader &reader);
394     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
395 
text()396     inline QString text() const { return m_text; }
setText(const QString & s)397     inline void setText(const QString &s) { m_text = s; }
398 
399     // attribute accessors
hasAttributeLocation()400     inline bool hasAttributeLocation() const { return m_has_attr_location; }
attributeLocation()401     inline QString attributeLocation() const { return m_attr_location; }
setAttributeLocation(const QString & a)402     inline void setAttributeLocation(const QString &a) { m_attr_location = a; m_has_attr_location = true; }
clearAttributeLocation()403     inline void clearAttributeLocation() { m_has_attr_location = false; }
404 
hasAttributeImpldecl()405     inline bool hasAttributeImpldecl() const { return m_has_attr_impldecl; }
attributeImpldecl()406     inline QString attributeImpldecl() const { return m_attr_impldecl; }
setAttributeImpldecl(const QString & a)407     inline void setAttributeImpldecl(const QString &a) { m_attr_impldecl = a; m_has_attr_impldecl = true; }
clearAttributeImpldecl()408     inline void clearAttributeImpldecl() { m_has_attr_impldecl = false; }
409 
410 private:
411     QString m_text;
412 
413     // attribute data
414     QString m_attr_location;
415     bool m_has_attr_location = false;
416 
417     QString m_attr_impldecl;
418     bool m_has_attr_impldecl = false;
419 };
420 
421 class QDESIGNER_UILIB_EXPORT DomResources {
422     Q_DISABLE_COPY_MOVE(DomResources)
423 public:
424     DomResources() = default;
425     ~DomResources();
426 
427     void read(QXmlStreamReader &reader);
428     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
429 
430     // attribute accessors
hasAttributeName()431     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()432     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)433     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()434     inline void clearAttributeName() { m_has_attr_name = false; }
435 
436     // child element accessors
elementInclude()437     inline QVector<DomResource *> elementInclude() const { return m_include; }
438     void setElementInclude(const QVector<DomResource *> &a);
439 
440 private:
441     // attribute data
442     QString m_attr_name;
443     bool m_has_attr_name = false;
444 
445     // child element data
446     uint m_children = 0;
447     QVector<DomResource *> m_include;
448 
449     enum Child {
450         Include = 1
451     };
452 };
453 
454 class QDESIGNER_UILIB_EXPORT DomResource {
455     Q_DISABLE_COPY_MOVE(DomResource)
456 public:
457     DomResource() = default;
458     ~DomResource();
459 
460     void read(QXmlStreamReader &reader);
461     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
462 
463     // attribute accessors
hasAttributeLocation()464     inline bool hasAttributeLocation() const { return m_has_attr_location; }
attributeLocation()465     inline QString attributeLocation() const { return m_attr_location; }
setAttributeLocation(const QString & a)466     inline void setAttributeLocation(const QString &a) { m_attr_location = a; m_has_attr_location = true; }
clearAttributeLocation()467     inline void clearAttributeLocation() { m_has_attr_location = false; }
468 
469 private:
470     // attribute data
471     QString m_attr_location;
472     bool m_has_attr_location = false;
473 };
474 
475 class QDESIGNER_UILIB_EXPORT DomActionGroup {
476     Q_DISABLE_COPY_MOVE(DomActionGroup)
477 public:
478     DomActionGroup() = default;
479     ~DomActionGroup();
480 
481     void read(QXmlStreamReader &reader);
482     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
483 
484     // attribute accessors
hasAttributeName()485     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()486     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)487     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()488     inline void clearAttributeName() { m_has_attr_name = false; }
489 
490     // child element accessors
elementAction()491     inline QVector<DomAction *> elementAction() const { return m_action; }
492     void setElementAction(const QVector<DomAction *> &a);
493 
elementActionGroup()494     inline QVector<DomActionGroup *> elementActionGroup() const { return m_actionGroup; }
495     void setElementActionGroup(const QVector<DomActionGroup *> &a);
496 
elementProperty()497     inline QList<DomProperty*> elementProperty() const { return m_property; }
498     void setElementProperty(const QList<DomProperty *> &a);
499 
elementAttribute()500     inline QList<DomProperty*> elementAttribute() const { return m_attribute; }
501     void setElementAttribute(const QList<DomProperty *> &a);
502 
503 private:
504     // attribute data
505     QString m_attr_name;
506     bool m_has_attr_name = false;
507 
508     // child element data
509     uint m_children = 0;
510     QVector<DomAction *> m_action;
511     QVector<DomActionGroup *> m_actionGroup;
512     QList<DomProperty*> m_property;
513     QList<DomProperty*> m_attribute;
514 
515     enum Child {
516         Action = 1,
517         ActionGroup = 2,
518         Property = 4,
519         Attribute = 8
520     };
521 };
522 
523 class QDESIGNER_UILIB_EXPORT DomAction {
524     Q_DISABLE_COPY_MOVE(DomAction)
525 public:
526     DomAction() = default;
527     ~DomAction();
528 
529     void read(QXmlStreamReader &reader);
530     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
531 
532     // attribute accessors
hasAttributeName()533     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()534     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)535     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()536     inline void clearAttributeName() { m_has_attr_name = false; }
537 
hasAttributeMenu()538     inline bool hasAttributeMenu() const { return m_has_attr_menu; }
attributeMenu()539     inline QString attributeMenu() const { return m_attr_menu; }
setAttributeMenu(const QString & a)540     inline void setAttributeMenu(const QString &a) { m_attr_menu = a; m_has_attr_menu = true; }
clearAttributeMenu()541     inline void clearAttributeMenu() { m_has_attr_menu = false; }
542 
543     // child element accessors
elementProperty()544     inline QList<DomProperty*> elementProperty() const { return m_property; }
545     void setElementProperty(const QList<DomProperty *> &a);
546 
elementAttribute()547     inline QList<DomProperty*> elementAttribute() const { return m_attribute; }
548     void setElementAttribute(const QList<DomProperty *> &a);
549 
550 private:
551     // attribute data
552     QString m_attr_name;
553     bool m_has_attr_name = false;
554 
555     QString m_attr_menu;
556     bool m_has_attr_menu = false;
557 
558     // child element data
559     uint m_children = 0;
560     QList<DomProperty*> m_property;
561     QList<DomProperty*> m_attribute;
562 
563     enum Child {
564         Property = 1,
565         Attribute = 2
566     };
567 };
568 
569 class QDESIGNER_UILIB_EXPORT DomActionRef {
570     Q_DISABLE_COPY_MOVE(DomActionRef)
571 public:
572     DomActionRef() = default;
573     ~DomActionRef();
574 
575     void read(QXmlStreamReader &reader);
576     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
577 
578     // attribute accessors
hasAttributeName()579     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()580     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)581     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()582     inline void clearAttributeName() { m_has_attr_name = false; }
583 
584 private:
585     // attribute data
586     QString m_attr_name;
587     bool m_has_attr_name = false;
588 };
589 
590 class QDESIGNER_UILIB_EXPORT DomButtonGroup {
591     Q_DISABLE_COPY_MOVE(DomButtonGroup)
592 public:
593     DomButtonGroup() = default;
594     ~DomButtonGroup();
595 
596     void read(QXmlStreamReader &reader);
597     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
598 
599     // attribute accessors
hasAttributeName()600     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()601     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)602     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()603     inline void clearAttributeName() { m_has_attr_name = false; }
604 
605     // child element accessors
elementProperty()606     inline QList<DomProperty*> elementProperty() const { return m_property; }
607     void setElementProperty(const QList<DomProperty *> &a);
608 
elementAttribute()609     inline QList<DomProperty*> elementAttribute() const { return m_attribute; }
610     void setElementAttribute(const QList<DomProperty *> &a);
611 
612 private:
613     // attribute data
614     QString m_attr_name;
615     bool m_has_attr_name = false;
616 
617     // child element data
618     uint m_children = 0;
619     QList<DomProperty*> m_property;
620     QList<DomProperty*> m_attribute;
621 
622     enum Child {
623         Property = 1,
624         Attribute = 2
625     };
626 };
627 
628 class QDESIGNER_UILIB_EXPORT DomButtonGroups {
629     Q_DISABLE_COPY_MOVE(DomButtonGroups)
630 public:
631     DomButtonGroups() = default;
632     ~DomButtonGroups();
633 
634     void read(QXmlStreamReader &reader);
635     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
636 
637     // child element accessors
elementButtonGroup()638     inline QVector<DomButtonGroup *> elementButtonGroup() const { return m_buttonGroup; }
639     void setElementButtonGroup(const QVector<DomButtonGroup *> &a);
640 
641 private:
642 
643     // child element data
644     uint m_children = 0;
645     QVector<DomButtonGroup *> m_buttonGroup;
646 
647     enum Child {
648         ButtonGroup = 1
649     };
650 };
651 
652 class QDESIGNER_UILIB_EXPORT DomCustomWidgets {
653     Q_DISABLE_COPY_MOVE(DomCustomWidgets)
654 public:
655     DomCustomWidgets() = default;
656     ~DomCustomWidgets();
657 
658     void read(QXmlStreamReader &reader);
659     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
660 
661     // child element accessors
elementCustomWidget()662     inline QVector<DomCustomWidget *> elementCustomWidget() const { return m_customWidget; }
663     void setElementCustomWidget(const QVector<DomCustomWidget *> &a);
664 
665 private:
666 
667     // child element data
668     uint m_children = 0;
669     QVector<DomCustomWidget *> m_customWidget;
670 
671     enum Child {
672         CustomWidget = 1
673     };
674 };
675 
676 class QDESIGNER_UILIB_EXPORT DomHeader {
677     Q_DISABLE_COPY_MOVE(DomHeader)
678 public:
679     DomHeader() = default;
680     ~DomHeader();
681 
682     void read(QXmlStreamReader &reader);
683     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
684 
text()685     inline QString text() const { return m_text; }
setText(const QString & s)686     inline void setText(const QString &s) { m_text = s; }
687 
688     // attribute accessors
hasAttributeLocation()689     inline bool hasAttributeLocation() const { return m_has_attr_location; }
attributeLocation()690     inline QString attributeLocation() const { return m_attr_location; }
setAttributeLocation(const QString & a)691     inline void setAttributeLocation(const QString &a) { m_attr_location = a; m_has_attr_location = true; }
clearAttributeLocation()692     inline void clearAttributeLocation() { m_has_attr_location = false; }
693 
694 private:
695     QString m_text;
696 
697     // attribute data
698     QString m_attr_location;
699     bool m_has_attr_location = false;
700 };
701 
702 class QDESIGNER_UILIB_EXPORT DomCustomWidget {
703     Q_DISABLE_COPY_MOVE(DomCustomWidget)
704 public:
705     DomCustomWidget() = default;
706     ~DomCustomWidget();
707 
708     void read(QXmlStreamReader &reader);
709     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
710 
711     // child element accessors
elementClass()712     inline QString elementClass() const { return m_class; }
713     void setElementClass(const QString &a);
hasElementClass()714     inline bool hasElementClass() const { return m_children & Class; }
715     void clearElementClass();
716 
elementExtends()717     inline QString elementExtends() const { return m_extends; }
718     void setElementExtends(const QString &a);
hasElementExtends()719     inline bool hasElementExtends() const { return m_children & Extends; }
720     void clearElementExtends();
721 
elementHeader()722     inline DomHeader *elementHeader() const { return m_header; }
723     DomHeader *takeElementHeader();
724     void setElementHeader(DomHeader *a);
hasElementHeader()725     inline bool hasElementHeader() const { return m_children & Header; }
726     void clearElementHeader();
727 
elementSizeHint()728     inline DomSize *elementSizeHint() const { return m_sizeHint; }
729     DomSize *takeElementSizeHint();
730     void setElementSizeHint(DomSize *a);
hasElementSizeHint()731     inline bool hasElementSizeHint() const { return m_children & SizeHint; }
732     void clearElementSizeHint();
733 
elementAddPageMethod()734     inline QString elementAddPageMethod() const { return m_addPageMethod; }
735     void setElementAddPageMethod(const QString &a);
hasElementAddPageMethod()736     inline bool hasElementAddPageMethod() const { return m_children & AddPageMethod; }
737     void clearElementAddPageMethod();
738 
elementContainer()739     inline int elementContainer() const { return m_container; }
740     void setElementContainer(int a);
hasElementContainer()741     inline bool hasElementContainer() const { return m_children & Container; }
742     void clearElementContainer();
743 
elementPixmap()744     inline QString elementPixmap() const { return m_pixmap; }
745     void setElementPixmap(const QString &a);
hasElementPixmap()746     inline bool hasElementPixmap() const { return m_children & Pixmap; }
747     void clearElementPixmap();
748 
elementSlots()749     inline DomSlots *elementSlots() const { return m_slots; }
750     DomSlots *takeElementSlots();
751     void setElementSlots(DomSlots *a);
hasElementSlots()752     inline bool hasElementSlots() const { return m_children & Slots; }
753     void clearElementSlots();
754 
elementPropertyspecifications()755     inline DomPropertySpecifications *elementPropertyspecifications() const { return m_propertyspecifications; }
756     DomPropertySpecifications *takeElementPropertyspecifications();
757     void setElementPropertyspecifications(DomPropertySpecifications *a);
hasElementPropertyspecifications()758     inline bool hasElementPropertyspecifications() const { return m_children & Propertyspecifications; }
759     void clearElementPropertyspecifications();
760 
761 private:
762 
763     // child element data
764     uint m_children = 0;
765     QString m_class;
766     QString m_extends;
767     DomHeader *m_header = nullptr;
768     DomSize *m_sizeHint = nullptr;
769     QString m_addPageMethod;
770     int m_container = 0;
771     QString m_pixmap;
772     DomSlots *m_slots = nullptr;
773     DomPropertySpecifications *m_propertyspecifications = nullptr;
774 
775     enum Child {
776         Class = 1,
777         Extends = 2,
778         Header = 4,
779         SizeHint = 8,
780         AddPageMethod = 16,
781         Container = 32,
782         Pixmap = 64,
783         Slots = 128,
784         Propertyspecifications = 256
785     };
786 };
787 
788 class QDESIGNER_UILIB_EXPORT DomLayoutDefault {
789     Q_DISABLE_COPY_MOVE(DomLayoutDefault)
790 public:
791     DomLayoutDefault() = default;
792     ~DomLayoutDefault();
793 
794     void read(QXmlStreamReader &reader);
795     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
796 
797     // attribute accessors
hasAttributeSpacing()798     inline bool hasAttributeSpacing() const { return m_has_attr_spacing; }
attributeSpacing()799     inline int attributeSpacing() const { return m_attr_spacing; }
setAttributeSpacing(int a)800     inline void setAttributeSpacing(int a) { m_attr_spacing = a; m_has_attr_spacing = true; }
clearAttributeSpacing()801     inline void clearAttributeSpacing() { m_has_attr_spacing = false; }
802 
hasAttributeMargin()803     inline bool hasAttributeMargin() const { return m_has_attr_margin; }
attributeMargin()804     inline int attributeMargin() const { return m_attr_margin; }
setAttributeMargin(int a)805     inline void setAttributeMargin(int a) { m_attr_margin = a; m_has_attr_margin = true; }
clearAttributeMargin()806     inline void clearAttributeMargin() { m_has_attr_margin = false; }
807 
808 private:
809     // attribute data
810     int m_attr_spacing = 0;
811     bool m_has_attr_spacing = false;
812 
813     int m_attr_margin = 0;
814     bool m_has_attr_margin = false;
815 };
816 
817 class QDESIGNER_UILIB_EXPORT DomLayoutFunction {
818     Q_DISABLE_COPY_MOVE(DomLayoutFunction)
819 public:
820     DomLayoutFunction() = default;
821     ~DomLayoutFunction();
822 
823     void read(QXmlStreamReader &reader);
824     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
825 
826     // attribute accessors
hasAttributeSpacing()827     inline bool hasAttributeSpacing() const { return m_has_attr_spacing; }
attributeSpacing()828     inline QString attributeSpacing() const { return m_attr_spacing; }
setAttributeSpacing(const QString & a)829     inline void setAttributeSpacing(const QString &a) { m_attr_spacing = a; m_has_attr_spacing = true; }
clearAttributeSpacing()830     inline void clearAttributeSpacing() { m_has_attr_spacing = false; }
831 
hasAttributeMargin()832     inline bool hasAttributeMargin() const { return m_has_attr_margin; }
attributeMargin()833     inline QString attributeMargin() const { return m_attr_margin; }
setAttributeMargin(const QString & a)834     inline void setAttributeMargin(const QString &a) { m_attr_margin = a; m_has_attr_margin = true; }
clearAttributeMargin()835     inline void clearAttributeMargin() { m_has_attr_margin = false; }
836 
837 private:
838     // attribute data
839     QString m_attr_spacing;
840     bool m_has_attr_spacing = false;
841 
842     QString m_attr_margin;
843     bool m_has_attr_margin = false;
844 };
845 
846 class QDESIGNER_UILIB_EXPORT DomTabStops {
847     Q_DISABLE_COPY_MOVE(DomTabStops)
848 public:
849     DomTabStops() = default;
850     ~DomTabStops();
851 
852     void read(QXmlStreamReader &reader);
853     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
854 
855     // child element accessors
elementTabStop()856     inline QStringList elementTabStop() const { return m_tabStop; }
857     void setElementTabStop(const QStringList &a);
858 
859 private:
860 
861     // child element data
862     uint m_children = 0;
863     QStringList m_tabStop;
864 
865     enum Child {
866         TabStop = 1
867     };
868 };
869 
870 class QDESIGNER_UILIB_EXPORT DomLayout {
871     Q_DISABLE_COPY_MOVE(DomLayout)
872 public:
873     DomLayout() = default;
874     ~DomLayout();
875 
876     void read(QXmlStreamReader &reader);
877     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
878 
879     // attribute accessors
hasAttributeClass()880     inline bool hasAttributeClass() const { return m_has_attr_class; }
attributeClass()881     inline QString attributeClass() const { return m_attr_class; }
setAttributeClass(const QString & a)882     inline void setAttributeClass(const QString &a) { m_attr_class = a; m_has_attr_class = true; }
clearAttributeClass()883     inline void clearAttributeClass() { m_has_attr_class = false; }
884 
hasAttributeName()885     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()886     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)887     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()888     inline void clearAttributeName() { m_has_attr_name = false; }
889 
hasAttributeStretch()890     inline bool hasAttributeStretch() const { return m_has_attr_stretch; }
attributeStretch()891     inline QString attributeStretch() const { return m_attr_stretch; }
setAttributeStretch(const QString & a)892     inline void setAttributeStretch(const QString &a) { m_attr_stretch = a; m_has_attr_stretch = true; }
clearAttributeStretch()893     inline void clearAttributeStretch() { m_has_attr_stretch = false; }
894 
hasAttributeRowStretch()895     inline bool hasAttributeRowStretch() const { return m_has_attr_rowStretch; }
attributeRowStretch()896     inline QString attributeRowStretch() const { return m_attr_rowStretch; }
setAttributeRowStretch(const QString & a)897     inline void setAttributeRowStretch(const QString &a) { m_attr_rowStretch = a; m_has_attr_rowStretch = true; }
clearAttributeRowStretch()898     inline void clearAttributeRowStretch() { m_has_attr_rowStretch = false; }
899 
hasAttributeColumnStretch()900     inline bool hasAttributeColumnStretch() const { return m_has_attr_columnStretch; }
attributeColumnStretch()901     inline QString attributeColumnStretch() const { return m_attr_columnStretch; }
setAttributeColumnStretch(const QString & a)902     inline void setAttributeColumnStretch(const QString &a) { m_attr_columnStretch = a; m_has_attr_columnStretch = true; }
clearAttributeColumnStretch()903     inline void clearAttributeColumnStretch() { m_has_attr_columnStretch = false; }
904 
hasAttributeRowMinimumHeight()905     inline bool hasAttributeRowMinimumHeight() const { return m_has_attr_rowMinimumHeight; }
attributeRowMinimumHeight()906     inline QString attributeRowMinimumHeight() const { return m_attr_rowMinimumHeight; }
setAttributeRowMinimumHeight(const QString & a)907     inline void setAttributeRowMinimumHeight(const QString &a) { m_attr_rowMinimumHeight = a; m_has_attr_rowMinimumHeight = true; }
clearAttributeRowMinimumHeight()908     inline void clearAttributeRowMinimumHeight() { m_has_attr_rowMinimumHeight = false; }
909 
hasAttributeColumnMinimumWidth()910     inline bool hasAttributeColumnMinimumWidth() const { return m_has_attr_columnMinimumWidth; }
attributeColumnMinimumWidth()911     inline QString attributeColumnMinimumWidth() const { return m_attr_columnMinimumWidth; }
setAttributeColumnMinimumWidth(const QString & a)912     inline void setAttributeColumnMinimumWidth(const QString &a) { m_attr_columnMinimumWidth = a; m_has_attr_columnMinimumWidth = true; }
clearAttributeColumnMinimumWidth()913     inline void clearAttributeColumnMinimumWidth() { m_has_attr_columnMinimumWidth = false; }
914 
915     // child element accessors
elementProperty()916     inline QList<DomProperty*> elementProperty() const { return m_property; }
917     void setElementProperty(const QList<DomProperty *> &a);
918 
elementAttribute()919     inline QList<DomProperty*> elementAttribute() const { return m_attribute; }
920     void setElementAttribute(const QList<DomProperty *> &a);
921 
elementItem()922     inline QVector<DomLayoutItem *> elementItem() const { return m_item; }
923     void setElementItem(const QVector<DomLayoutItem *> &a);
924 
925 private:
926     // attribute data
927     QString m_attr_class;
928     bool m_has_attr_class = false;
929 
930     QString m_attr_name;
931     bool m_has_attr_name = false;
932 
933     QString m_attr_stretch;
934     bool m_has_attr_stretch = false;
935 
936     QString m_attr_rowStretch;
937     bool m_has_attr_rowStretch = false;
938 
939     QString m_attr_columnStretch;
940     bool m_has_attr_columnStretch = false;
941 
942     QString m_attr_rowMinimumHeight;
943     bool m_has_attr_rowMinimumHeight = false;
944 
945     QString m_attr_columnMinimumWidth;
946     bool m_has_attr_columnMinimumWidth = false;
947 
948     // child element data
949     uint m_children = 0;
950     QList<DomProperty*> m_property;
951     QList<DomProperty*> m_attribute;
952     QVector<DomLayoutItem *> m_item;
953 
954     enum Child {
955         Property = 1,
956         Attribute = 2,
957         Item = 4
958     };
959 };
960 
961 class QDESIGNER_UILIB_EXPORT DomLayoutItem {
962     Q_DISABLE_COPY_MOVE(DomLayoutItem)
963 public:
964     DomLayoutItem() = default;
965     ~DomLayoutItem();
966 
967     void read(QXmlStreamReader &reader);
968     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
969 
970     // attribute accessors
hasAttributeRow()971     inline bool hasAttributeRow() const { return m_has_attr_row; }
attributeRow()972     inline int attributeRow() const { return m_attr_row; }
setAttributeRow(int a)973     inline void setAttributeRow(int a) { m_attr_row = a; m_has_attr_row = true; }
clearAttributeRow()974     inline void clearAttributeRow() { m_has_attr_row = false; }
975 
hasAttributeColumn()976     inline bool hasAttributeColumn() const { return m_has_attr_column; }
attributeColumn()977     inline int attributeColumn() const { return m_attr_column; }
setAttributeColumn(int a)978     inline void setAttributeColumn(int a) { m_attr_column = a; m_has_attr_column = true; }
clearAttributeColumn()979     inline void clearAttributeColumn() { m_has_attr_column = false; }
980 
hasAttributeRowSpan()981     inline bool hasAttributeRowSpan() const { return m_has_attr_rowSpan; }
attributeRowSpan()982     inline int attributeRowSpan() const { return m_attr_rowSpan; }
setAttributeRowSpan(int a)983     inline void setAttributeRowSpan(int a) { m_attr_rowSpan = a; m_has_attr_rowSpan = true; }
clearAttributeRowSpan()984     inline void clearAttributeRowSpan() { m_has_attr_rowSpan = false; }
985 
hasAttributeColSpan()986     inline bool hasAttributeColSpan() const { return m_has_attr_colSpan; }
attributeColSpan()987     inline int attributeColSpan() const { return m_attr_colSpan; }
setAttributeColSpan(int a)988     inline void setAttributeColSpan(int a) { m_attr_colSpan = a; m_has_attr_colSpan = true; }
clearAttributeColSpan()989     inline void clearAttributeColSpan() { m_has_attr_colSpan = false; }
990 
hasAttributeAlignment()991     inline bool hasAttributeAlignment() const { return m_has_attr_alignment; }
attributeAlignment()992     inline QString attributeAlignment() const { return m_attr_alignment; }
setAttributeAlignment(const QString & a)993     inline void setAttributeAlignment(const QString &a) { m_attr_alignment = a; m_has_attr_alignment = true; }
clearAttributeAlignment()994     inline void clearAttributeAlignment() { m_has_attr_alignment = false; }
995 
996     // child element accessors
997     enum Kind { Unknown = 0, Widget, Layout, Spacer };
kind()998     inline Kind kind() const { return m_kind; }
999 
elementWidget()1000     inline DomWidget *elementWidget() const { return m_widget; }
1001     DomWidget *takeElementWidget();
1002     void setElementWidget(DomWidget *a);
1003 
elementLayout()1004     inline DomLayout *elementLayout() const { return m_layout; }
1005     DomLayout *takeElementLayout();
1006     void setElementLayout(DomLayout *a);
1007 
elementSpacer()1008     inline DomSpacer *elementSpacer() const { return m_spacer; }
1009     DomSpacer *takeElementSpacer();
1010     void setElementSpacer(DomSpacer *a);
1011 
1012 private:
1013     void clear();
1014 
1015     // attribute data
1016     int m_attr_row = 0;
1017     bool m_has_attr_row = false;
1018 
1019     int m_attr_column = 0;
1020     bool m_has_attr_column = false;
1021 
1022     int m_attr_rowSpan = 0;
1023     bool m_has_attr_rowSpan = false;
1024 
1025     int m_attr_colSpan = 0;
1026     bool m_has_attr_colSpan = false;
1027 
1028     QString m_attr_alignment;
1029     bool m_has_attr_alignment = false;
1030 
1031     // child element data
1032     Kind m_kind = Unknown;
1033     DomWidget *m_widget = nullptr;
1034     DomLayout *m_layout = nullptr;
1035     DomSpacer *m_spacer = nullptr;
1036 };
1037 
1038 class QDESIGNER_UILIB_EXPORT DomRow {
1039     Q_DISABLE_COPY_MOVE(DomRow)
1040 public:
1041     DomRow() = default;
1042     ~DomRow();
1043 
1044     void read(QXmlStreamReader &reader);
1045     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1046 
1047     // child element accessors
elementProperty()1048     inline QList<DomProperty*> elementProperty() const { return m_property; }
1049     void setElementProperty(const QList<DomProperty *> &a);
1050 
1051 private:
1052 
1053     // child element data
1054     uint m_children = 0;
1055     QList<DomProperty*> m_property;
1056 
1057     enum Child {
1058         Property = 1
1059     };
1060 };
1061 
1062 class QDESIGNER_UILIB_EXPORT DomColumn {
1063     Q_DISABLE_COPY_MOVE(DomColumn)
1064 public:
1065     DomColumn() = default;
1066     ~DomColumn();
1067 
1068     void read(QXmlStreamReader &reader);
1069     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1070 
1071     // child element accessors
elementProperty()1072     inline QList<DomProperty*> elementProperty() const { return m_property; }
1073     void setElementProperty(const QList<DomProperty *> &a);
1074 
1075 private:
1076 
1077     // child element data
1078     uint m_children = 0;
1079     QList<DomProperty*> m_property;
1080 
1081     enum Child {
1082         Property = 1
1083     };
1084 };
1085 
1086 class QDESIGNER_UILIB_EXPORT DomItem {
1087     Q_DISABLE_COPY_MOVE(DomItem)
1088 public:
1089     DomItem() = default;
1090     ~DomItem();
1091 
1092     void read(QXmlStreamReader &reader);
1093     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1094 
1095     // attribute accessors
hasAttributeRow()1096     inline bool hasAttributeRow() const { return m_has_attr_row; }
attributeRow()1097     inline int attributeRow() const { return m_attr_row; }
setAttributeRow(int a)1098     inline void setAttributeRow(int a) { m_attr_row = a; m_has_attr_row = true; }
clearAttributeRow()1099     inline void clearAttributeRow() { m_has_attr_row = false; }
1100 
hasAttributeColumn()1101     inline bool hasAttributeColumn() const { return m_has_attr_column; }
attributeColumn()1102     inline int attributeColumn() const { return m_attr_column; }
setAttributeColumn(int a)1103     inline void setAttributeColumn(int a) { m_attr_column = a; m_has_attr_column = true; }
clearAttributeColumn()1104     inline void clearAttributeColumn() { m_has_attr_column = false; }
1105 
1106     // child element accessors
elementProperty()1107     inline QList<DomProperty*> elementProperty() const { return m_property; }
1108     void setElementProperty(const QList<DomProperty *> &a);
1109 
elementItem()1110     inline QVector<DomItem *> elementItem() const { return m_item; }
1111     void setElementItem(const QVector<DomItem *> &a);
1112 
1113 private:
1114     // attribute data
1115     int m_attr_row = 0;
1116     bool m_has_attr_row = false;
1117 
1118     int m_attr_column = 0;
1119     bool m_has_attr_column = false;
1120 
1121     // child element data
1122     uint m_children = 0;
1123     QList<DomProperty*> m_property;
1124     QVector<DomItem *> m_item;
1125 
1126     enum Child {
1127         Property = 1,
1128         Item = 2
1129     };
1130 };
1131 
1132 class QDESIGNER_UILIB_EXPORT DomWidget {
1133     Q_DISABLE_COPY_MOVE(DomWidget)
1134 public:
1135     DomWidget() = default;
1136     ~DomWidget();
1137 
1138     void read(QXmlStreamReader &reader);
1139     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1140 
1141     // attribute accessors
hasAttributeClass()1142     inline bool hasAttributeClass() const { return m_has_attr_class; }
attributeClass()1143     inline QString attributeClass() const { return m_attr_class; }
setAttributeClass(const QString & a)1144     inline void setAttributeClass(const QString &a) { m_attr_class = a; m_has_attr_class = true; }
clearAttributeClass()1145     inline void clearAttributeClass() { m_has_attr_class = false; }
1146 
hasAttributeName()1147     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()1148     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)1149     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()1150     inline void clearAttributeName() { m_has_attr_name = false; }
1151 
hasAttributeNative()1152     inline bool hasAttributeNative() const { return m_has_attr_native; }
attributeNative()1153     inline bool attributeNative() const { return m_attr_native; }
setAttributeNative(bool a)1154     inline void setAttributeNative(bool a) { m_attr_native = a; m_has_attr_native = true; }
clearAttributeNative()1155     inline void clearAttributeNative() { m_has_attr_native = false; }
1156 
1157     // child element accessors
elementClass()1158     inline QStringList elementClass() const { return m_class; }
1159     void setElementClass(const QStringList &a);
1160 
elementProperty()1161     inline QList<DomProperty*> elementProperty() const { return m_property; }
1162     void setElementProperty(const QList<DomProperty *> &a);
1163 
elementAttribute()1164     inline QList<DomProperty*> elementAttribute() const { return m_attribute; }
1165     void setElementAttribute(const QList<DomProperty *> &a);
1166 
elementRow()1167     inline QVector<DomRow *> elementRow() const { return m_row; }
1168     void setElementRow(const QVector<DomRow *> &a);
1169 
elementColumn()1170     inline QVector<DomColumn *> elementColumn() const { return m_column; }
1171     void setElementColumn(const QVector<DomColumn *> &a);
1172 
elementItem()1173     inline QVector<DomItem *> elementItem() const { return m_item; }
1174     void setElementItem(const QVector<DomItem *> &a);
1175 
elementLayout()1176     inline QVector<DomLayout *> elementLayout() const { return m_layout; }
1177     void setElementLayout(const QVector<DomLayout *> &a);
1178 
elementWidget()1179     inline QVector<DomWidget *> elementWidget() const { return m_widget; }
1180     void setElementWidget(const QVector<DomWidget *> &a);
1181 
elementAction()1182     inline QVector<DomAction *> elementAction() const { return m_action; }
1183     void setElementAction(const QVector<DomAction *> &a);
1184 
elementActionGroup()1185     inline QVector<DomActionGroup *> elementActionGroup() const { return m_actionGroup; }
1186     void setElementActionGroup(const QVector<DomActionGroup *> &a);
1187 
elementAddAction()1188     inline QVector<DomActionRef *> elementAddAction() const { return m_addAction; }
1189     void setElementAddAction(const QVector<DomActionRef *> &a);
1190 
elementZOrder()1191     inline QStringList elementZOrder() const { return m_zOrder; }
1192     void setElementZOrder(const QStringList &a);
1193 
1194 private:
1195     // attribute data
1196     QString m_attr_class;
1197     bool m_has_attr_class = false;
1198 
1199     QString m_attr_name;
1200     bool m_has_attr_name = false;
1201 
1202     bool m_attr_native = false;
1203     bool m_has_attr_native = false;
1204 
1205     // child element data
1206     uint m_children = 0;
1207     QStringList m_class;
1208     QList<DomProperty*> m_property;
1209     QList<DomProperty*> m_attribute;
1210     QVector<DomRow *> m_row;
1211     QVector<DomColumn *> m_column;
1212     QVector<DomItem *> m_item;
1213     QVector<DomLayout *> m_layout;
1214     QVector<DomWidget *> m_widget;
1215     QVector<DomAction *> m_action;
1216     QVector<DomActionGroup *> m_actionGroup;
1217     QVector<DomActionRef *> m_addAction;
1218     QStringList m_zOrder;
1219 
1220     enum Child {
1221         Class = 1,
1222         Property = 2,
1223         Attribute = 4,
1224         Row = 8,
1225         Column = 16,
1226         Item = 32,
1227         Layout = 64,
1228         Widget = 128,
1229         Action = 256,
1230         ActionGroup = 512,
1231         AddAction = 1024,
1232         ZOrder = 2048
1233     };
1234 };
1235 
1236 class QDESIGNER_UILIB_EXPORT DomSpacer {
1237     Q_DISABLE_COPY_MOVE(DomSpacer)
1238 public:
1239     DomSpacer() = default;
1240     ~DomSpacer();
1241 
1242     void read(QXmlStreamReader &reader);
1243     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1244 
1245     // attribute accessors
hasAttributeName()1246     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()1247     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)1248     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()1249     inline void clearAttributeName() { m_has_attr_name = false; }
1250 
1251     // child element accessors
elementProperty()1252     inline QList<DomProperty*> elementProperty() const { return m_property; }
1253     void setElementProperty(const QList<DomProperty *> &a);
1254 
1255 private:
1256     // attribute data
1257     QString m_attr_name;
1258     bool m_has_attr_name = false;
1259 
1260     // child element data
1261     uint m_children = 0;
1262     QList<DomProperty*> m_property;
1263 
1264     enum Child {
1265         Property = 1
1266     };
1267 };
1268 
1269 class QDESIGNER_UILIB_EXPORT DomColor {
1270     Q_DISABLE_COPY_MOVE(DomColor)
1271 public:
1272     DomColor() = default;
1273     ~DomColor();
1274 
1275     void read(QXmlStreamReader &reader);
1276     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1277 
1278     // attribute accessors
hasAttributeAlpha()1279     inline bool hasAttributeAlpha() const { return m_has_attr_alpha; }
attributeAlpha()1280     inline int attributeAlpha() const { return m_attr_alpha; }
setAttributeAlpha(int a)1281     inline void setAttributeAlpha(int a) { m_attr_alpha = a; m_has_attr_alpha = true; }
clearAttributeAlpha()1282     inline void clearAttributeAlpha() { m_has_attr_alpha = false; }
1283 
1284     // child element accessors
elementRed()1285     inline int elementRed() const { return m_red; }
1286     void setElementRed(int a);
hasElementRed()1287     inline bool hasElementRed() const { return m_children & Red; }
1288     void clearElementRed();
1289 
elementGreen()1290     inline int elementGreen() const { return m_green; }
1291     void setElementGreen(int a);
hasElementGreen()1292     inline bool hasElementGreen() const { return m_children & Green; }
1293     void clearElementGreen();
1294 
elementBlue()1295     inline int elementBlue() const { return m_blue; }
1296     void setElementBlue(int a);
hasElementBlue()1297     inline bool hasElementBlue() const { return m_children & Blue; }
1298     void clearElementBlue();
1299 
1300 private:
1301     // attribute data
1302     int m_attr_alpha = 0;
1303     bool m_has_attr_alpha = false;
1304 
1305     // child element data
1306     uint m_children = 0;
1307     int m_red = 0;
1308     int m_green = 0;
1309     int m_blue = 0;
1310 
1311     enum Child {
1312         Red = 1,
1313         Green = 2,
1314         Blue = 4
1315     };
1316 };
1317 
1318 class QDESIGNER_UILIB_EXPORT DomGradientStop {
1319     Q_DISABLE_COPY_MOVE(DomGradientStop)
1320 public:
1321     DomGradientStop() = default;
1322     ~DomGradientStop();
1323 
1324     void read(QXmlStreamReader &reader);
1325     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1326 
1327     // attribute accessors
hasAttributePosition()1328     inline bool hasAttributePosition() const { return m_has_attr_position; }
attributePosition()1329     inline double attributePosition() const { return m_attr_position; }
setAttributePosition(double a)1330     inline void setAttributePosition(double a) { m_attr_position = a; m_has_attr_position = true; }
clearAttributePosition()1331     inline void clearAttributePosition() { m_has_attr_position = false; }
1332 
1333     // child element accessors
elementColor()1334     inline DomColor *elementColor() const { return m_color; }
1335     DomColor *takeElementColor();
1336     void setElementColor(DomColor *a);
hasElementColor()1337     inline bool hasElementColor() const { return m_children & Color; }
1338     void clearElementColor();
1339 
1340 private:
1341     // attribute data
1342     double m_attr_position = 0.0;
1343     bool m_has_attr_position = false;
1344 
1345     // child element data
1346     uint m_children = 0;
1347     DomColor *m_color = nullptr;
1348 
1349     enum Child {
1350         Color = 1
1351     };
1352 };
1353 
1354 class QDESIGNER_UILIB_EXPORT DomGradient {
1355     Q_DISABLE_COPY_MOVE(DomGradient)
1356 public:
1357     DomGradient() = default;
1358     ~DomGradient();
1359 
1360     void read(QXmlStreamReader &reader);
1361     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1362 
1363     // attribute accessors
hasAttributeStartX()1364     inline bool hasAttributeStartX() const { return m_has_attr_startX; }
attributeStartX()1365     inline double attributeStartX() const { return m_attr_startX; }
setAttributeStartX(double a)1366     inline void setAttributeStartX(double a) { m_attr_startX = a; m_has_attr_startX = true; }
clearAttributeStartX()1367     inline void clearAttributeStartX() { m_has_attr_startX = false; }
1368 
hasAttributeStartY()1369     inline bool hasAttributeStartY() const { return m_has_attr_startY; }
attributeStartY()1370     inline double attributeStartY() const { return m_attr_startY; }
setAttributeStartY(double a)1371     inline void setAttributeStartY(double a) { m_attr_startY = a; m_has_attr_startY = true; }
clearAttributeStartY()1372     inline void clearAttributeStartY() { m_has_attr_startY = false; }
1373 
hasAttributeEndX()1374     inline bool hasAttributeEndX() const { return m_has_attr_endX; }
attributeEndX()1375     inline double attributeEndX() const { return m_attr_endX; }
setAttributeEndX(double a)1376     inline void setAttributeEndX(double a) { m_attr_endX = a; m_has_attr_endX = true; }
clearAttributeEndX()1377     inline void clearAttributeEndX() { m_has_attr_endX = false; }
1378 
hasAttributeEndY()1379     inline bool hasAttributeEndY() const { return m_has_attr_endY; }
attributeEndY()1380     inline double attributeEndY() const { return m_attr_endY; }
setAttributeEndY(double a)1381     inline void setAttributeEndY(double a) { m_attr_endY = a; m_has_attr_endY = true; }
clearAttributeEndY()1382     inline void clearAttributeEndY() { m_has_attr_endY = false; }
1383 
hasAttributeCentralX()1384     inline bool hasAttributeCentralX() const { return m_has_attr_centralX; }
attributeCentralX()1385     inline double attributeCentralX() const { return m_attr_centralX; }
setAttributeCentralX(double a)1386     inline void setAttributeCentralX(double a) { m_attr_centralX = a; m_has_attr_centralX = true; }
clearAttributeCentralX()1387     inline void clearAttributeCentralX() { m_has_attr_centralX = false; }
1388 
hasAttributeCentralY()1389     inline bool hasAttributeCentralY() const { return m_has_attr_centralY; }
attributeCentralY()1390     inline double attributeCentralY() const { return m_attr_centralY; }
setAttributeCentralY(double a)1391     inline void setAttributeCentralY(double a) { m_attr_centralY = a; m_has_attr_centralY = true; }
clearAttributeCentralY()1392     inline void clearAttributeCentralY() { m_has_attr_centralY = false; }
1393 
hasAttributeFocalX()1394     inline bool hasAttributeFocalX() const { return m_has_attr_focalX; }
attributeFocalX()1395     inline double attributeFocalX() const { return m_attr_focalX; }
setAttributeFocalX(double a)1396     inline void setAttributeFocalX(double a) { m_attr_focalX = a; m_has_attr_focalX = true; }
clearAttributeFocalX()1397     inline void clearAttributeFocalX() { m_has_attr_focalX = false; }
1398 
hasAttributeFocalY()1399     inline bool hasAttributeFocalY() const { return m_has_attr_focalY; }
attributeFocalY()1400     inline double attributeFocalY() const { return m_attr_focalY; }
setAttributeFocalY(double a)1401     inline void setAttributeFocalY(double a) { m_attr_focalY = a; m_has_attr_focalY = true; }
clearAttributeFocalY()1402     inline void clearAttributeFocalY() { m_has_attr_focalY = false; }
1403 
hasAttributeRadius()1404     inline bool hasAttributeRadius() const { return m_has_attr_radius; }
attributeRadius()1405     inline double attributeRadius() const { return m_attr_radius; }
setAttributeRadius(double a)1406     inline void setAttributeRadius(double a) { m_attr_radius = a; m_has_attr_radius = true; }
clearAttributeRadius()1407     inline void clearAttributeRadius() { m_has_attr_radius = false; }
1408 
hasAttributeAngle()1409     inline bool hasAttributeAngle() const { return m_has_attr_angle; }
attributeAngle()1410     inline double attributeAngle() const { return m_attr_angle; }
setAttributeAngle(double a)1411     inline void setAttributeAngle(double a) { m_attr_angle = a; m_has_attr_angle = true; }
clearAttributeAngle()1412     inline void clearAttributeAngle() { m_has_attr_angle = false; }
1413 
hasAttributeType()1414     inline bool hasAttributeType() const { return m_has_attr_type; }
attributeType()1415     inline QString attributeType() const { return m_attr_type; }
setAttributeType(const QString & a)1416     inline void setAttributeType(const QString &a) { m_attr_type = a; m_has_attr_type = true; }
clearAttributeType()1417     inline void clearAttributeType() { m_has_attr_type = false; }
1418 
hasAttributeSpread()1419     inline bool hasAttributeSpread() const { return m_has_attr_spread; }
attributeSpread()1420     inline QString attributeSpread() const { return m_attr_spread; }
setAttributeSpread(const QString & a)1421     inline void setAttributeSpread(const QString &a) { m_attr_spread = a; m_has_attr_spread = true; }
clearAttributeSpread()1422     inline void clearAttributeSpread() { m_has_attr_spread = false; }
1423 
hasAttributeCoordinateMode()1424     inline bool hasAttributeCoordinateMode() const { return m_has_attr_coordinateMode; }
attributeCoordinateMode()1425     inline QString attributeCoordinateMode() const { return m_attr_coordinateMode; }
setAttributeCoordinateMode(const QString & a)1426     inline void setAttributeCoordinateMode(const QString &a) { m_attr_coordinateMode = a; m_has_attr_coordinateMode = true; }
clearAttributeCoordinateMode()1427     inline void clearAttributeCoordinateMode() { m_has_attr_coordinateMode = false; }
1428 
1429     // child element accessors
elementGradientStop()1430     inline QVector<DomGradientStop *> elementGradientStop() const { return m_gradientStop; }
1431     void setElementGradientStop(const QVector<DomGradientStop *> &a);
1432 
1433 private:
1434     // attribute data
1435     double m_attr_startX = 0.0;
1436     bool m_has_attr_startX = false;
1437 
1438     double m_attr_startY = 0.0;
1439     bool m_has_attr_startY = false;
1440 
1441     double m_attr_endX = 0.0;
1442     bool m_has_attr_endX = false;
1443 
1444     double m_attr_endY = 0.0;
1445     bool m_has_attr_endY = false;
1446 
1447     double m_attr_centralX = 0.0;
1448     bool m_has_attr_centralX = false;
1449 
1450     double m_attr_centralY = 0.0;
1451     bool m_has_attr_centralY = false;
1452 
1453     double m_attr_focalX = 0.0;
1454     bool m_has_attr_focalX = false;
1455 
1456     double m_attr_focalY = 0.0;
1457     bool m_has_attr_focalY = false;
1458 
1459     double m_attr_radius = 0.0;
1460     bool m_has_attr_radius = false;
1461 
1462     double m_attr_angle = 0.0;
1463     bool m_has_attr_angle = false;
1464 
1465     QString m_attr_type;
1466     bool m_has_attr_type = false;
1467 
1468     QString m_attr_spread;
1469     bool m_has_attr_spread = false;
1470 
1471     QString m_attr_coordinateMode;
1472     bool m_has_attr_coordinateMode = false;
1473 
1474     // child element data
1475     uint m_children = 0;
1476     QVector<DomGradientStop *> m_gradientStop;
1477 
1478     enum Child {
1479         GradientStop = 1
1480     };
1481 };
1482 
1483 class QDESIGNER_UILIB_EXPORT DomBrush {
1484     Q_DISABLE_COPY_MOVE(DomBrush)
1485 public:
1486     DomBrush() = default;
1487     ~DomBrush();
1488 
1489     void read(QXmlStreamReader &reader);
1490     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1491 
1492     // attribute accessors
hasAttributeBrushStyle()1493     inline bool hasAttributeBrushStyle() const { return m_has_attr_brushStyle; }
attributeBrushStyle()1494     inline QString attributeBrushStyle() const { return m_attr_brushStyle; }
setAttributeBrushStyle(const QString & a)1495     inline void setAttributeBrushStyle(const QString &a) { m_attr_brushStyle = a; m_has_attr_brushStyle = true; }
clearAttributeBrushStyle()1496     inline void clearAttributeBrushStyle() { m_has_attr_brushStyle = false; }
1497 
1498     // child element accessors
1499     enum Kind { Unknown = 0, Color, Texture, Gradient };
kind()1500     inline Kind kind() const { return m_kind; }
1501 
elementColor()1502     inline DomColor *elementColor() const { return m_color; }
1503     DomColor *takeElementColor();
1504     void setElementColor(DomColor *a);
1505 
elementTexture()1506     inline DomProperty *elementTexture() const { return m_texture; }
1507     DomProperty *takeElementTexture();
1508     void setElementTexture(DomProperty *a);
1509 
elementGradient()1510     inline DomGradient *elementGradient() const { return m_gradient; }
1511     DomGradient *takeElementGradient();
1512     void setElementGradient(DomGradient *a);
1513 
1514 private:
1515     void clear();
1516 
1517     // attribute data
1518     QString m_attr_brushStyle;
1519     bool m_has_attr_brushStyle = false;
1520 
1521     // child element data
1522     Kind m_kind = Unknown;
1523     DomColor *m_color = nullptr;
1524     DomProperty *m_texture = nullptr;
1525     DomGradient *m_gradient = nullptr;
1526 };
1527 
1528 class QDESIGNER_UILIB_EXPORT DomColorRole {
1529     Q_DISABLE_COPY_MOVE(DomColorRole)
1530 public:
1531     DomColorRole() = default;
1532     ~DomColorRole();
1533 
1534     void read(QXmlStreamReader &reader);
1535     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1536 
1537     // attribute accessors
hasAttributeRole()1538     inline bool hasAttributeRole() const { return m_has_attr_role; }
attributeRole()1539     inline QString attributeRole() const { return m_attr_role; }
setAttributeRole(const QString & a)1540     inline void setAttributeRole(const QString &a) { m_attr_role = a; m_has_attr_role = true; }
clearAttributeRole()1541     inline void clearAttributeRole() { m_has_attr_role = false; }
1542 
1543     // child element accessors
elementBrush()1544     inline DomBrush *elementBrush() const { return m_brush; }
1545     DomBrush *takeElementBrush();
1546     void setElementBrush(DomBrush *a);
hasElementBrush()1547     inline bool hasElementBrush() const { return m_children & Brush; }
1548     void clearElementBrush();
1549 
1550 private:
1551     // attribute data
1552     QString m_attr_role;
1553     bool m_has_attr_role = false;
1554 
1555     // child element data
1556     uint m_children = 0;
1557     DomBrush *m_brush = nullptr;
1558 
1559     enum Child {
1560         Brush = 1
1561     };
1562 };
1563 
1564 class QDESIGNER_UILIB_EXPORT DomColorGroup {
1565     Q_DISABLE_COPY_MOVE(DomColorGroup)
1566 public:
1567     DomColorGroup() = default;
1568     ~DomColorGroup();
1569 
1570     void read(QXmlStreamReader &reader);
1571     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1572 
1573     // child element accessors
elementColorRole()1574     inline QVector<DomColorRole *> elementColorRole() const { return m_colorRole; }
1575     void setElementColorRole(const QVector<DomColorRole *> &a);
1576 
elementColor()1577     inline QVector<DomColor *> elementColor() const { return m_color; }
1578     void setElementColor(const QVector<DomColor *> &a);
1579 
1580 private:
1581 
1582     // child element data
1583     uint m_children = 0;
1584     QVector<DomColorRole *> m_colorRole;
1585     QVector<DomColor *> m_color;
1586 
1587     enum Child {
1588         ColorRole = 1,
1589         Color = 2
1590     };
1591 };
1592 
1593 class QDESIGNER_UILIB_EXPORT DomPalette {
1594     Q_DISABLE_COPY_MOVE(DomPalette)
1595 public:
1596     DomPalette() = default;
1597     ~DomPalette();
1598 
1599     void read(QXmlStreamReader &reader);
1600     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1601 
1602     // child element accessors
elementActive()1603     inline DomColorGroup *elementActive() const { return m_active; }
1604     DomColorGroup *takeElementActive();
1605     void setElementActive(DomColorGroup *a);
hasElementActive()1606     inline bool hasElementActive() const { return m_children & Active; }
1607     void clearElementActive();
1608 
elementInactive()1609     inline DomColorGroup *elementInactive() const { return m_inactive; }
1610     DomColorGroup *takeElementInactive();
1611     void setElementInactive(DomColorGroup *a);
hasElementInactive()1612     inline bool hasElementInactive() const { return m_children & Inactive; }
1613     void clearElementInactive();
1614 
elementDisabled()1615     inline DomColorGroup *elementDisabled() const { return m_disabled; }
1616     DomColorGroup *takeElementDisabled();
1617     void setElementDisabled(DomColorGroup *a);
hasElementDisabled()1618     inline bool hasElementDisabled() const { return m_children & Disabled; }
1619     void clearElementDisabled();
1620 
1621 private:
1622 
1623     // child element data
1624     uint m_children = 0;
1625     DomColorGroup *m_active = nullptr;
1626     DomColorGroup *m_inactive = nullptr;
1627     DomColorGroup *m_disabled = nullptr;
1628 
1629     enum Child {
1630         Active = 1,
1631         Inactive = 2,
1632         Disabled = 4
1633     };
1634 };
1635 
1636 class QDESIGNER_UILIB_EXPORT DomFont {
1637     Q_DISABLE_COPY_MOVE(DomFont)
1638 public:
1639     DomFont() = default;
1640     ~DomFont();
1641 
1642     void read(QXmlStreamReader &reader);
1643     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1644 
1645     // child element accessors
elementFamily()1646     inline QString elementFamily() const { return m_family; }
1647     void setElementFamily(const QString &a);
hasElementFamily()1648     inline bool hasElementFamily() const { return m_children & Family; }
1649     void clearElementFamily();
1650 
elementPointSize()1651     inline int elementPointSize() const { return m_pointSize; }
1652     void setElementPointSize(int a);
hasElementPointSize()1653     inline bool hasElementPointSize() const { return m_children & PointSize; }
1654     void clearElementPointSize();
1655 
elementWeight()1656     inline int elementWeight() const { return m_weight; }
1657     void setElementWeight(int a);
hasElementWeight()1658     inline bool hasElementWeight() const { return m_children & Weight; }
1659     void clearElementWeight();
1660 
elementItalic()1661     inline bool elementItalic() const { return m_italic; }
1662     void setElementItalic(bool a);
hasElementItalic()1663     inline bool hasElementItalic() const { return m_children & Italic; }
1664     void clearElementItalic();
1665 
elementBold()1666     inline bool elementBold() const { return m_bold; }
1667     void setElementBold(bool a);
hasElementBold()1668     inline bool hasElementBold() const { return m_children & Bold; }
1669     void clearElementBold();
1670 
elementUnderline()1671     inline bool elementUnderline() const { return m_underline; }
1672     void setElementUnderline(bool a);
hasElementUnderline()1673     inline bool hasElementUnderline() const { return m_children & Underline; }
1674     void clearElementUnderline();
1675 
elementStrikeOut()1676     inline bool elementStrikeOut() const { return m_strikeOut; }
1677     void setElementStrikeOut(bool a);
hasElementStrikeOut()1678     inline bool hasElementStrikeOut() const { return m_children & StrikeOut; }
1679     void clearElementStrikeOut();
1680 
elementAntialiasing()1681     inline bool elementAntialiasing() const { return m_antialiasing; }
1682     void setElementAntialiasing(bool a);
hasElementAntialiasing()1683     inline bool hasElementAntialiasing() const { return m_children & Antialiasing; }
1684     void clearElementAntialiasing();
1685 
elementStyleStrategy()1686     inline QString elementStyleStrategy() const { return m_styleStrategy; }
1687     void setElementStyleStrategy(const QString &a);
hasElementStyleStrategy()1688     inline bool hasElementStyleStrategy() const { return m_children & StyleStrategy; }
1689     void clearElementStyleStrategy();
1690 
elementKerning()1691     inline bool elementKerning() const { return m_kerning; }
1692     void setElementKerning(bool a);
hasElementKerning()1693     inline bool hasElementKerning() const { return m_children & Kerning; }
1694     void clearElementKerning();
1695 
1696 private:
1697 
1698     // child element data
1699     uint m_children = 0;
1700     QString m_family;
1701     int m_pointSize = 0;
1702     int m_weight = 0;
1703     bool m_italic = false;
1704     bool m_bold = false;
1705     bool m_underline = false;
1706     bool m_strikeOut = false;
1707     bool m_antialiasing = false;
1708     QString m_styleStrategy;
1709     bool m_kerning = false;
1710 
1711     enum Child {
1712         Family = 1,
1713         PointSize = 2,
1714         Weight = 4,
1715         Italic = 8,
1716         Bold = 16,
1717         Underline = 32,
1718         StrikeOut = 64,
1719         Antialiasing = 128,
1720         StyleStrategy = 256,
1721         Kerning = 512
1722     };
1723 };
1724 
1725 class QDESIGNER_UILIB_EXPORT DomPoint {
1726     Q_DISABLE_COPY_MOVE(DomPoint)
1727 public:
1728     DomPoint() = default;
1729     ~DomPoint();
1730 
1731     void read(QXmlStreamReader &reader);
1732     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1733 
1734     // child element accessors
elementX()1735     inline int elementX() const { return m_x; }
1736     void setElementX(int a);
hasElementX()1737     inline bool hasElementX() const { return m_children & X; }
1738     void clearElementX();
1739 
elementY()1740     inline int elementY() const { return m_y; }
1741     void setElementY(int a);
hasElementY()1742     inline bool hasElementY() const { return m_children & Y; }
1743     void clearElementY();
1744 
1745 private:
1746 
1747     // child element data
1748     uint m_children = 0;
1749     int m_x = 0;
1750     int m_y = 0;
1751 
1752     enum Child {
1753         X = 1,
1754         Y = 2
1755     };
1756 };
1757 
1758 class QDESIGNER_UILIB_EXPORT DomRect {
1759     Q_DISABLE_COPY_MOVE(DomRect)
1760 public:
1761     DomRect() = default;
1762     ~DomRect();
1763 
1764     void read(QXmlStreamReader &reader);
1765     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1766 
1767     // child element accessors
elementX()1768     inline int elementX() const { return m_x; }
1769     void setElementX(int a);
hasElementX()1770     inline bool hasElementX() const { return m_children & X; }
1771     void clearElementX();
1772 
elementY()1773     inline int elementY() const { return m_y; }
1774     void setElementY(int a);
hasElementY()1775     inline bool hasElementY() const { return m_children & Y; }
1776     void clearElementY();
1777 
elementWidth()1778     inline int elementWidth() const { return m_width; }
1779     void setElementWidth(int a);
hasElementWidth()1780     inline bool hasElementWidth() const { return m_children & Width; }
1781     void clearElementWidth();
1782 
elementHeight()1783     inline int elementHeight() const { return m_height; }
1784     void setElementHeight(int a);
hasElementHeight()1785     inline bool hasElementHeight() const { return m_children & Height; }
1786     void clearElementHeight();
1787 
1788 private:
1789 
1790     // child element data
1791     uint m_children = 0;
1792     int m_x = 0;
1793     int m_y = 0;
1794     int m_width = 0;
1795     int m_height = 0;
1796 
1797     enum Child {
1798         X = 1,
1799         Y = 2,
1800         Width = 4,
1801         Height = 8
1802     };
1803 };
1804 
1805 class QDESIGNER_UILIB_EXPORT DomLocale {
1806     Q_DISABLE_COPY_MOVE(DomLocale)
1807 public:
1808     DomLocale() = default;
1809     ~DomLocale();
1810 
1811     void read(QXmlStreamReader &reader);
1812     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1813 
1814     // attribute accessors
hasAttributeLanguage()1815     inline bool hasAttributeLanguage() const { return m_has_attr_language; }
attributeLanguage()1816     inline QString attributeLanguage() const { return m_attr_language; }
setAttributeLanguage(const QString & a)1817     inline void setAttributeLanguage(const QString &a) { m_attr_language = a; m_has_attr_language = true; }
clearAttributeLanguage()1818     inline void clearAttributeLanguage() { m_has_attr_language = false; }
1819 
hasAttributeCountry()1820     inline bool hasAttributeCountry() const { return m_has_attr_country; }
attributeCountry()1821     inline QString attributeCountry() const { return m_attr_country; }
setAttributeCountry(const QString & a)1822     inline void setAttributeCountry(const QString &a) { m_attr_country = a; m_has_attr_country = true; }
clearAttributeCountry()1823     inline void clearAttributeCountry() { m_has_attr_country = false; }
1824 
1825 private:
1826     // attribute data
1827     QString m_attr_language;
1828     bool m_has_attr_language = false;
1829 
1830     QString m_attr_country;
1831     bool m_has_attr_country = false;
1832 };
1833 
1834 class QDESIGNER_UILIB_EXPORT DomSizePolicy {
1835     Q_DISABLE_COPY_MOVE(DomSizePolicy)
1836 public:
1837     DomSizePolicy() = default;
1838     ~DomSizePolicy();
1839 
1840     void read(QXmlStreamReader &reader);
1841     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1842 
1843     // attribute accessors
hasAttributeHSizeType()1844     inline bool hasAttributeHSizeType() const { return m_has_attr_hSizeType; }
attributeHSizeType()1845     inline QString attributeHSizeType() const { return m_attr_hSizeType; }
setAttributeHSizeType(const QString & a)1846     inline void setAttributeHSizeType(const QString &a) { m_attr_hSizeType = a; m_has_attr_hSizeType = true; }
clearAttributeHSizeType()1847     inline void clearAttributeHSizeType() { m_has_attr_hSizeType = false; }
1848 
hasAttributeVSizeType()1849     inline bool hasAttributeVSizeType() const { return m_has_attr_vSizeType; }
attributeVSizeType()1850     inline QString attributeVSizeType() const { return m_attr_vSizeType; }
setAttributeVSizeType(const QString & a)1851     inline void setAttributeVSizeType(const QString &a) { m_attr_vSizeType = a; m_has_attr_vSizeType = true; }
clearAttributeVSizeType()1852     inline void clearAttributeVSizeType() { m_has_attr_vSizeType = false; }
1853 
1854     // child element accessors
elementHSizeType()1855     inline int elementHSizeType() const { return m_hSizeType; }
1856     void setElementHSizeType(int a);
hasElementHSizeType()1857     inline bool hasElementHSizeType() const { return m_children & HSizeType; }
1858     void clearElementHSizeType();
1859 
elementVSizeType()1860     inline int elementVSizeType() const { return m_vSizeType; }
1861     void setElementVSizeType(int a);
hasElementVSizeType()1862     inline bool hasElementVSizeType() const { return m_children & VSizeType; }
1863     void clearElementVSizeType();
1864 
elementHorStretch()1865     inline int elementHorStretch() const { return m_horStretch; }
1866     void setElementHorStretch(int a);
hasElementHorStretch()1867     inline bool hasElementHorStretch() const { return m_children & HorStretch; }
1868     void clearElementHorStretch();
1869 
elementVerStretch()1870     inline int elementVerStretch() const { return m_verStretch; }
1871     void setElementVerStretch(int a);
hasElementVerStretch()1872     inline bool hasElementVerStretch() const { return m_children & VerStretch; }
1873     void clearElementVerStretch();
1874 
1875 private:
1876     // attribute data
1877     QString m_attr_hSizeType;
1878     bool m_has_attr_hSizeType = false;
1879 
1880     QString m_attr_vSizeType;
1881     bool m_has_attr_vSizeType = false;
1882 
1883     // child element data
1884     uint m_children = 0;
1885     int m_hSizeType = 0;
1886     int m_vSizeType = 0;
1887     int m_horStretch = 0;
1888     int m_verStretch = 0;
1889 
1890     enum Child {
1891         HSizeType = 1,
1892         VSizeType = 2,
1893         HorStretch = 4,
1894         VerStretch = 8
1895     };
1896 };
1897 
1898 class QDESIGNER_UILIB_EXPORT DomSize {
1899     Q_DISABLE_COPY_MOVE(DomSize)
1900 public:
1901     DomSize() = default;
1902     ~DomSize();
1903 
1904     void read(QXmlStreamReader &reader);
1905     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1906 
1907     // child element accessors
elementWidth()1908     inline int elementWidth() const { return m_width; }
1909     void setElementWidth(int a);
hasElementWidth()1910     inline bool hasElementWidth() const { return m_children & Width; }
1911     void clearElementWidth();
1912 
elementHeight()1913     inline int elementHeight() const { return m_height; }
1914     void setElementHeight(int a);
hasElementHeight()1915     inline bool hasElementHeight() const { return m_children & Height; }
1916     void clearElementHeight();
1917 
1918 private:
1919 
1920     // child element data
1921     uint m_children = 0;
1922     int m_width = 0;
1923     int m_height = 0;
1924 
1925     enum Child {
1926         Width = 1,
1927         Height = 2
1928     };
1929 };
1930 
1931 class QDESIGNER_UILIB_EXPORT DomDate {
1932     Q_DISABLE_COPY_MOVE(DomDate)
1933 public:
1934     DomDate() = default;
1935     ~DomDate();
1936 
1937     void read(QXmlStreamReader &reader);
1938     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1939 
1940     // child element accessors
elementYear()1941     inline int elementYear() const { return m_year; }
1942     void setElementYear(int a);
hasElementYear()1943     inline bool hasElementYear() const { return m_children & Year; }
1944     void clearElementYear();
1945 
elementMonth()1946     inline int elementMonth() const { return m_month; }
1947     void setElementMonth(int a);
hasElementMonth()1948     inline bool hasElementMonth() const { return m_children & Month; }
1949     void clearElementMonth();
1950 
elementDay()1951     inline int elementDay() const { return m_day; }
1952     void setElementDay(int a);
hasElementDay()1953     inline bool hasElementDay() const { return m_children & Day; }
1954     void clearElementDay();
1955 
1956 private:
1957 
1958     // child element data
1959     uint m_children = 0;
1960     int m_year = 0;
1961     int m_month = 0;
1962     int m_day = 0;
1963 
1964     enum Child {
1965         Year = 1,
1966         Month = 2,
1967         Day = 4
1968     };
1969 };
1970 
1971 class QDESIGNER_UILIB_EXPORT DomTime {
1972     Q_DISABLE_COPY_MOVE(DomTime)
1973 public:
1974     DomTime() = default;
1975     ~DomTime();
1976 
1977     void read(QXmlStreamReader &reader);
1978     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
1979 
1980     // child element accessors
elementHour()1981     inline int elementHour() const { return m_hour; }
1982     void setElementHour(int a);
hasElementHour()1983     inline bool hasElementHour() const { return m_children & Hour; }
1984     void clearElementHour();
1985 
elementMinute()1986     inline int elementMinute() const { return m_minute; }
1987     void setElementMinute(int a);
hasElementMinute()1988     inline bool hasElementMinute() const { return m_children & Minute; }
1989     void clearElementMinute();
1990 
elementSecond()1991     inline int elementSecond() const { return m_second; }
1992     void setElementSecond(int a);
hasElementSecond()1993     inline bool hasElementSecond() const { return m_children & Second; }
1994     void clearElementSecond();
1995 
1996 private:
1997 
1998     // child element data
1999     uint m_children = 0;
2000     int m_hour = 0;
2001     int m_minute = 0;
2002     int m_second = 0;
2003 
2004     enum Child {
2005         Hour = 1,
2006         Minute = 2,
2007         Second = 4
2008     };
2009 };
2010 
2011 class QDESIGNER_UILIB_EXPORT DomDateTime {
2012     Q_DISABLE_COPY_MOVE(DomDateTime)
2013 public:
2014     DomDateTime() = default;
2015     ~DomDateTime();
2016 
2017     void read(QXmlStreamReader &reader);
2018     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2019 
2020     // child element accessors
elementHour()2021     inline int elementHour() const { return m_hour; }
2022     void setElementHour(int a);
hasElementHour()2023     inline bool hasElementHour() const { return m_children & Hour; }
2024     void clearElementHour();
2025 
elementMinute()2026     inline int elementMinute() const { return m_minute; }
2027     void setElementMinute(int a);
hasElementMinute()2028     inline bool hasElementMinute() const { return m_children & Minute; }
2029     void clearElementMinute();
2030 
elementSecond()2031     inline int elementSecond() const { return m_second; }
2032     void setElementSecond(int a);
hasElementSecond()2033     inline bool hasElementSecond() const { return m_children & Second; }
2034     void clearElementSecond();
2035 
elementYear()2036     inline int elementYear() const { return m_year; }
2037     void setElementYear(int a);
hasElementYear()2038     inline bool hasElementYear() const { return m_children & Year; }
2039     void clearElementYear();
2040 
elementMonth()2041     inline int elementMonth() const { return m_month; }
2042     void setElementMonth(int a);
hasElementMonth()2043     inline bool hasElementMonth() const { return m_children & Month; }
2044     void clearElementMonth();
2045 
elementDay()2046     inline int elementDay() const { return m_day; }
2047     void setElementDay(int a);
hasElementDay()2048     inline bool hasElementDay() const { return m_children & Day; }
2049     void clearElementDay();
2050 
2051 private:
2052 
2053     // child element data
2054     uint m_children = 0;
2055     int m_hour = 0;
2056     int m_minute = 0;
2057     int m_second = 0;
2058     int m_year = 0;
2059     int m_month = 0;
2060     int m_day = 0;
2061 
2062     enum Child {
2063         Hour = 1,
2064         Minute = 2,
2065         Second = 4,
2066         Year = 8,
2067         Month = 16,
2068         Day = 32
2069     };
2070 };
2071 
2072 class QDESIGNER_UILIB_EXPORT DomStringList {
2073     Q_DISABLE_COPY_MOVE(DomStringList)
2074 public:
2075     DomStringList() = default;
2076     ~DomStringList();
2077 
2078     void read(QXmlStreamReader &reader);
2079     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2080 
2081     // attribute accessors
hasAttributeNotr()2082     inline bool hasAttributeNotr() const { return m_has_attr_notr; }
attributeNotr()2083     inline QString attributeNotr() const { return m_attr_notr; }
setAttributeNotr(const QString & a)2084     inline void setAttributeNotr(const QString &a) { m_attr_notr = a; m_has_attr_notr = true; }
clearAttributeNotr()2085     inline void clearAttributeNotr() { m_has_attr_notr = false; }
2086 
hasAttributeComment()2087     inline bool hasAttributeComment() const { return m_has_attr_comment; }
attributeComment()2088     inline QString attributeComment() const { return m_attr_comment; }
setAttributeComment(const QString & a)2089     inline void setAttributeComment(const QString &a) { m_attr_comment = a; m_has_attr_comment = true; }
clearAttributeComment()2090     inline void clearAttributeComment() { m_has_attr_comment = false; }
2091 
hasAttributeExtraComment()2092     inline bool hasAttributeExtraComment() const { return m_has_attr_extraComment; }
attributeExtraComment()2093     inline QString attributeExtraComment() const { return m_attr_extraComment; }
setAttributeExtraComment(const QString & a)2094     inline void setAttributeExtraComment(const QString &a) { m_attr_extraComment = a; m_has_attr_extraComment = true; }
clearAttributeExtraComment()2095     inline void clearAttributeExtraComment() { m_has_attr_extraComment = false; }
2096 
hasAttributeId()2097     inline bool hasAttributeId() const { return m_has_attr_id; }
attributeId()2098     inline QString attributeId() const { return m_attr_id; }
setAttributeId(const QString & a)2099     inline void setAttributeId(const QString &a) { m_attr_id = a; m_has_attr_id = true; }
clearAttributeId()2100     inline void clearAttributeId() { m_has_attr_id = false; }
2101 
2102     // child element accessors
elementString()2103     inline QStringList elementString() const { return m_string; }
2104     void setElementString(const QStringList &a);
2105 
2106 private:
2107     // attribute data
2108     QString m_attr_notr;
2109     bool m_has_attr_notr = false;
2110 
2111     QString m_attr_comment;
2112     bool m_has_attr_comment = false;
2113 
2114     QString m_attr_extraComment;
2115     bool m_has_attr_extraComment = false;
2116 
2117     QString m_attr_id;
2118     bool m_has_attr_id = false;
2119 
2120     // child element data
2121     uint m_children = 0;
2122     QStringList m_string;
2123 
2124     enum Child {
2125         String = 1
2126     };
2127 };
2128 
2129 class QDESIGNER_UILIB_EXPORT DomResourcePixmap {
2130     Q_DISABLE_COPY_MOVE(DomResourcePixmap)
2131 public:
2132     DomResourcePixmap() = default;
2133     ~DomResourcePixmap();
2134 
2135     void read(QXmlStreamReader &reader);
2136     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2137 
text()2138     inline QString text() const { return m_text; }
setText(const QString & s)2139     inline void setText(const QString &s) { m_text = s; }
2140 
2141     // attribute accessors
hasAttributeResource()2142     inline bool hasAttributeResource() const { return m_has_attr_resource; }
attributeResource()2143     inline QString attributeResource() const { return m_attr_resource; }
setAttributeResource(const QString & a)2144     inline void setAttributeResource(const QString &a) { m_attr_resource = a; m_has_attr_resource = true; }
clearAttributeResource()2145     inline void clearAttributeResource() { m_has_attr_resource = false; }
2146 
hasAttributeAlias()2147     inline bool hasAttributeAlias() const { return m_has_attr_alias; }
attributeAlias()2148     inline QString attributeAlias() const { return m_attr_alias; }
setAttributeAlias(const QString & a)2149     inline void setAttributeAlias(const QString &a) { m_attr_alias = a; m_has_attr_alias = true; }
clearAttributeAlias()2150     inline void clearAttributeAlias() { m_has_attr_alias = false; }
2151 
2152 private:
2153     QString m_text;
2154 
2155     // attribute data
2156     QString m_attr_resource;
2157     bool m_has_attr_resource = false;
2158 
2159     QString m_attr_alias;
2160     bool m_has_attr_alias = false;
2161 };
2162 
2163 class QDESIGNER_UILIB_EXPORT DomResourceIcon {
2164     Q_DISABLE_COPY_MOVE(DomResourceIcon)
2165 public:
2166     DomResourceIcon() = default;
2167     ~DomResourceIcon();
2168 
2169     void read(QXmlStreamReader &reader);
2170     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2171 
text()2172     inline QString text() const { return m_text; }
setText(const QString & s)2173     inline void setText(const QString &s) { m_text = s; }
2174 
2175     // attribute accessors
hasAttributeTheme()2176     inline bool hasAttributeTheme() const { return m_has_attr_theme; }
attributeTheme()2177     inline QString attributeTheme() const { return m_attr_theme; }
setAttributeTheme(const QString & a)2178     inline void setAttributeTheme(const QString &a) { m_attr_theme = a; m_has_attr_theme = true; }
clearAttributeTheme()2179     inline void clearAttributeTheme() { m_has_attr_theme = false; }
2180 
hasAttributeResource()2181     inline bool hasAttributeResource() const { return m_has_attr_resource; }
attributeResource()2182     inline QString attributeResource() const { return m_attr_resource; }
setAttributeResource(const QString & a)2183     inline void setAttributeResource(const QString &a) { m_attr_resource = a; m_has_attr_resource = true; }
clearAttributeResource()2184     inline void clearAttributeResource() { m_has_attr_resource = false; }
2185 
2186     // child element accessors
elementNormalOff()2187     inline DomResourcePixmap *elementNormalOff() const { return m_normalOff; }
2188     DomResourcePixmap *takeElementNormalOff();
2189     void setElementNormalOff(DomResourcePixmap *a);
hasElementNormalOff()2190     inline bool hasElementNormalOff() const { return m_children & NormalOff; }
2191     void clearElementNormalOff();
2192 
elementNormalOn()2193     inline DomResourcePixmap *elementNormalOn() const { return m_normalOn; }
2194     DomResourcePixmap *takeElementNormalOn();
2195     void setElementNormalOn(DomResourcePixmap *a);
hasElementNormalOn()2196     inline bool hasElementNormalOn() const { return m_children & NormalOn; }
2197     void clearElementNormalOn();
2198 
elementDisabledOff()2199     inline DomResourcePixmap *elementDisabledOff() const { return m_disabledOff; }
2200     DomResourcePixmap *takeElementDisabledOff();
2201     void setElementDisabledOff(DomResourcePixmap *a);
hasElementDisabledOff()2202     inline bool hasElementDisabledOff() const { return m_children & DisabledOff; }
2203     void clearElementDisabledOff();
2204 
elementDisabledOn()2205     inline DomResourcePixmap *elementDisabledOn() const { return m_disabledOn; }
2206     DomResourcePixmap *takeElementDisabledOn();
2207     void setElementDisabledOn(DomResourcePixmap *a);
hasElementDisabledOn()2208     inline bool hasElementDisabledOn() const { return m_children & DisabledOn; }
2209     void clearElementDisabledOn();
2210 
elementActiveOff()2211     inline DomResourcePixmap *elementActiveOff() const { return m_activeOff; }
2212     DomResourcePixmap *takeElementActiveOff();
2213     void setElementActiveOff(DomResourcePixmap *a);
hasElementActiveOff()2214     inline bool hasElementActiveOff() const { return m_children & ActiveOff; }
2215     void clearElementActiveOff();
2216 
elementActiveOn()2217     inline DomResourcePixmap *elementActiveOn() const { return m_activeOn; }
2218     DomResourcePixmap *takeElementActiveOn();
2219     void setElementActiveOn(DomResourcePixmap *a);
hasElementActiveOn()2220     inline bool hasElementActiveOn() const { return m_children & ActiveOn; }
2221     void clearElementActiveOn();
2222 
elementSelectedOff()2223     inline DomResourcePixmap *elementSelectedOff() const { return m_selectedOff; }
2224     DomResourcePixmap *takeElementSelectedOff();
2225     void setElementSelectedOff(DomResourcePixmap *a);
hasElementSelectedOff()2226     inline bool hasElementSelectedOff() const { return m_children & SelectedOff; }
2227     void clearElementSelectedOff();
2228 
elementSelectedOn()2229     inline DomResourcePixmap *elementSelectedOn() const { return m_selectedOn; }
2230     DomResourcePixmap *takeElementSelectedOn();
2231     void setElementSelectedOn(DomResourcePixmap *a);
hasElementSelectedOn()2232     inline bool hasElementSelectedOn() const { return m_children & SelectedOn; }
2233     void clearElementSelectedOn();
2234 
2235 private:
2236     QString m_text;
2237 
2238     // attribute data
2239     QString m_attr_theme;
2240     bool m_has_attr_theme = false;
2241 
2242     QString m_attr_resource;
2243     bool m_has_attr_resource = false;
2244 
2245     // child element data
2246     uint m_children = 0;
2247     DomResourcePixmap *m_normalOff = nullptr;
2248     DomResourcePixmap *m_normalOn = nullptr;
2249     DomResourcePixmap *m_disabledOff = nullptr;
2250     DomResourcePixmap *m_disabledOn = nullptr;
2251     DomResourcePixmap *m_activeOff = nullptr;
2252     DomResourcePixmap *m_activeOn = nullptr;
2253     DomResourcePixmap *m_selectedOff = nullptr;
2254     DomResourcePixmap *m_selectedOn = nullptr;
2255 
2256     enum Child {
2257         NormalOff = 1,
2258         NormalOn = 2,
2259         DisabledOff = 4,
2260         DisabledOn = 8,
2261         ActiveOff = 16,
2262         ActiveOn = 32,
2263         SelectedOff = 64,
2264         SelectedOn = 128
2265     };
2266 };
2267 
2268 class QDESIGNER_UILIB_EXPORT DomString {
2269     Q_DISABLE_COPY_MOVE(DomString)
2270 public:
2271     DomString() = default;
2272     ~DomString();
2273 
2274     void read(QXmlStreamReader &reader);
2275     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2276 
text()2277     inline QString text() const { return m_text; }
setText(const QString & s)2278     inline void setText(const QString &s) { m_text = s; }
2279 
2280     // attribute accessors
hasAttributeNotr()2281     inline bool hasAttributeNotr() const { return m_has_attr_notr; }
attributeNotr()2282     inline QString attributeNotr() const { return m_attr_notr; }
setAttributeNotr(const QString & a)2283     inline void setAttributeNotr(const QString &a) { m_attr_notr = a; m_has_attr_notr = true; }
clearAttributeNotr()2284     inline void clearAttributeNotr() { m_has_attr_notr = false; }
2285 
hasAttributeComment()2286     inline bool hasAttributeComment() const { return m_has_attr_comment; }
attributeComment()2287     inline QString attributeComment() const { return m_attr_comment; }
setAttributeComment(const QString & a)2288     inline void setAttributeComment(const QString &a) { m_attr_comment = a; m_has_attr_comment = true; }
clearAttributeComment()2289     inline void clearAttributeComment() { m_has_attr_comment = false; }
2290 
hasAttributeExtraComment()2291     inline bool hasAttributeExtraComment() const { return m_has_attr_extraComment; }
attributeExtraComment()2292     inline QString attributeExtraComment() const { return m_attr_extraComment; }
setAttributeExtraComment(const QString & a)2293     inline void setAttributeExtraComment(const QString &a) { m_attr_extraComment = a; m_has_attr_extraComment = true; }
clearAttributeExtraComment()2294     inline void clearAttributeExtraComment() { m_has_attr_extraComment = false; }
2295 
hasAttributeId()2296     inline bool hasAttributeId() const { return m_has_attr_id; }
attributeId()2297     inline QString attributeId() const { return m_attr_id; }
setAttributeId(const QString & a)2298     inline void setAttributeId(const QString &a) { m_attr_id = a; m_has_attr_id = true; }
clearAttributeId()2299     inline void clearAttributeId() { m_has_attr_id = false; }
2300 
2301 private:
2302     QString m_text;
2303 
2304     // attribute data
2305     QString m_attr_notr;
2306     bool m_has_attr_notr = false;
2307 
2308     QString m_attr_comment;
2309     bool m_has_attr_comment = false;
2310 
2311     QString m_attr_extraComment;
2312     bool m_has_attr_extraComment = false;
2313 
2314     QString m_attr_id;
2315     bool m_has_attr_id = false;
2316 };
2317 
2318 class QDESIGNER_UILIB_EXPORT DomPointF {
2319     Q_DISABLE_COPY_MOVE(DomPointF)
2320 public:
2321     DomPointF() = default;
2322     ~DomPointF();
2323 
2324     void read(QXmlStreamReader &reader);
2325     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2326 
2327     // child element accessors
elementX()2328     inline double elementX() const { return m_x; }
2329     void setElementX(double a);
hasElementX()2330     inline bool hasElementX() const { return m_children & X; }
2331     void clearElementX();
2332 
elementY()2333     inline double elementY() const { return m_y; }
2334     void setElementY(double a);
hasElementY()2335     inline bool hasElementY() const { return m_children & Y; }
2336     void clearElementY();
2337 
2338 private:
2339 
2340     // child element data
2341     uint m_children = 0;
2342     double m_x = 0.0;
2343     double m_y = 0.0;
2344 
2345     enum Child {
2346         X = 1,
2347         Y = 2
2348     };
2349 };
2350 
2351 class QDESIGNER_UILIB_EXPORT DomRectF {
2352     Q_DISABLE_COPY_MOVE(DomRectF)
2353 public:
2354     DomRectF() = default;
2355     ~DomRectF();
2356 
2357     void read(QXmlStreamReader &reader);
2358     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2359 
2360     // child element accessors
elementX()2361     inline double elementX() const { return m_x; }
2362     void setElementX(double a);
hasElementX()2363     inline bool hasElementX() const { return m_children & X; }
2364     void clearElementX();
2365 
elementY()2366     inline double elementY() const { return m_y; }
2367     void setElementY(double a);
hasElementY()2368     inline bool hasElementY() const { return m_children & Y; }
2369     void clearElementY();
2370 
elementWidth()2371     inline double elementWidth() const { return m_width; }
2372     void setElementWidth(double a);
hasElementWidth()2373     inline bool hasElementWidth() const { return m_children & Width; }
2374     void clearElementWidth();
2375 
elementHeight()2376     inline double elementHeight() const { return m_height; }
2377     void setElementHeight(double a);
hasElementHeight()2378     inline bool hasElementHeight() const { return m_children & Height; }
2379     void clearElementHeight();
2380 
2381 private:
2382 
2383     // child element data
2384     uint m_children = 0;
2385     double m_x = 0.0;
2386     double m_y = 0.0;
2387     double m_width = 0.0;
2388     double m_height = 0.0;
2389 
2390     enum Child {
2391         X = 1,
2392         Y = 2,
2393         Width = 4,
2394         Height = 8
2395     };
2396 };
2397 
2398 class QDESIGNER_UILIB_EXPORT DomSizeF {
2399     Q_DISABLE_COPY_MOVE(DomSizeF)
2400 public:
2401     DomSizeF() = default;
2402     ~DomSizeF();
2403 
2404     void read(QXmlStreamReader &reader);
2405     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2406 
2407     // child element accessors
elementWidth()2408     inline double elementWidth() const { return m_width; }
2409     void setElementWidth(double a);
hasElementWidth()2410     inline bool hasElementWidth() const { return m_children & Width; }
2411     void clearElementWidth();
2412 
elementHeight()2413     inline double elementHeight() const { return m_height; }
2414     void setElementHeight(double a);
hasElementHeight()2415     inline bool hasElementHeight() const { return m_children & Height; }
2416     void clearElementHeight();
2417 
2418 private:
2419 
2420     // child element data
2421     uint m_children = 0;
2422     double m_width = 0.0;
2423     double m_height = 0.0;
2424 
2425     enum Child {
2426         Width = 1,
2427         Height = 2
2428     };
2429 };
2430 
2431 class QDESIGNER_UILIB_EXPORT DomChar {
2432     Q_DISABLE_COPY_MOVE(DomChar)
2433 public:
2434     DomChar() = default;
2435     ~DomChar();
2436 
2437     void read(QXmlStreamReader &reader);
2438     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2439 
2440     // child element accessors
elementUnicode()2441     inline int elementUnicode() const { return m_unicode; }
2442     void setElementUnicode(int a);
hasElementUnicode()2443     inline bool hasElementUnicode() const { return m_children & Unicode; }
2444     void clearElementUnicode();
2445 
2446 private:
2447 
2448     // child element data
2449     uint m_children = 0;
2450     int m_unicode = 0;
2451 
2452     enum Child {
2453         Unicode = 1
2454     };
2455 };
2456 
2457 class QDESIGNER_UILIB_EXPORT DomUrl {
2458     Q_DISABLE_COPY_MOVE(DomUrl)
2459 public:
2460     DomUrl() = default;
2461     ~DomUrl();
2462 
2463     void read(QXmlStreamReader &reader);
2464     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2465 
2466     // child element accessors
elementString()2467     inline DomString *elementString() const { return m_string; }
2468     DomString *takeElementString();
2469     void setElementString(DomString *a);
hasElementString()2470     inline bool hasElementString() const { return m_children & String; }
2471     void clearElementString();
2472 
2473 private:
2474 
2475     // child element data
2476     uint m_children = 0;
2477     DomString *m_string = nullptr;
2478 
2479     enum Child {
2480         String = 1
2481     };
2482 };
2483 
2484 class QDESIGNER_UILIB_EXPORT DomProperty {
2485     Q_DISABLE_COPY_MOVE(DomProperty)
2486 public:
2487     DomProperty() = default;
2488     ~DomProperty();
2489 
2490     void read(QXmlStreamReader &reader);
2491     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2492 
2493     // attribute accessors
hasAttributeName()2494     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()2495     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)2496     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()2497     inline void clearAttributeName() { m_has_attr_name = false; }
2498 
hasAttributeStdset()2499     inline bool hasAttributeStdset() const { return m_has_attr_stdset; }
attributeStdset()2500     inline int attributeStdset() const { return m_attr_stdset; }
setAttributeStdset(int a)2501     inline void setAttributeStdset(int a) { m_attr_stdset = a; m_has_attr_stdset = true; }
clearAttributeStdset()2502     inline void clearAttributeStdset() { m_has_attr_stdset = false; }
2503 
2504     // child element accessors
2505     enum Kind { Unknown = 0, Bool, Color, Cstring, Cursor, CursorShape, Enum, Font, IconSet, Pixmap, Palette, Point, Rect, Set, Locale, SizePolicy, Size, String, StringList, Number, Float, Double, Date, Time, DateTime, PointF, RectF, SizeF, LongLong, Char, Url, UInt, ULongLong, Brush };
kind()2506     inline Kind kind() const { return m_kind; }
2507 
elementBool()2508     inline QString elementBool() const { return m_bool; }
2509     void setElementBool(const QString &a);
2510 
elementColor()2511     inline DomColor *elementColor() const { return m_color; }
2512     DomColor *takeElementColor();
2513     void setElementColor(DomColor *a);
2514 
elementCstring()2515     inline QString elementCstring() const { return m_cstring; }
2516     void setElementCstring(const QString &a);
2517 
elementCursor()2518     inline int elementCursor() const { return m_cursor; }
2519     void setElementCursor(int a);
2520 
elementCursorShape()2521     inline QString elementCursorShape() const { return m_cursorShape; }
2522     void setElementCursorShape(const QString &a);
2523 
elementEnum()2524     inline QString elementEnum() const { return m_enum; }
2525     void setElementEnum(const QString &a);
2526 
elementFont()2527     inline DomFont *elementFont() const { return m_font; }
2528     DomFont *takeElementFont();
2529     void setElementFont(DomFont *a);
2530 
elementIconSet()2531     inline DomResourceIcon *elementIconSet() const { return m_iconSet; }
2532     DomResourceIcon *takeElementIconSet();
2533     void setElementIconSet(DomResourceIcon *a);
2534 
elementPixmap()2535     inline DomResourcePixmap *elementPixmap() const { return m_pixmap; }
2536     DomResourcePixmap *takeElementPixmap();
2537     void setElementPixmap(DomResourcePixmap *a);
2538 
elementPalette()2539     inline DomPalette *elementPalette() const { return m_palette; }
2540     DomPalette *takeElementPalette();
2541     void setElementPalette(DomPalette *a);
2542 
elementPoint()2543     inline DomPoint *elementPoint() const { return m_point; }
2544     DomPoint *takeElementPoint();
2545     void setElementPoint(DomPoint *a);
2546 
elementRect()2547     inline DomRect *elementRect() const { return m_rect; }
2548     DomRect *takeElementRect();
2549     void setElementRect(DomRect *a);
2550 
elementSet()2551     inline QString elementSet() const { return m_set; }
2552     void setElementSet(const QString &a);
2553 
elementLocale()2554     inline DomLocale *elementLocale() const { return m_locale; }
2555     DomLocale *takeElementLocale();
2556     void setElementLocale(DomLocale *a);
2557 
elementSizePolicy()2558     inline DomSizePolicy *elementSizePolicy() const { return m_sizePolicy; }
2559     DomSizePolicy *takeElementSizePolicy();
2560     void setElementSizePolicy(DomSizePolicy *a);
2561 
elementSize()2562     inline DomSize *elementSize() const { return m_size; }
2563     DomSize *takeElementSize();
2564     void setElementSize(DomSize *a);
2565 
elementString()2566     inline DomString *elementString() const { return m_string; }
2567     DomString *takeElementString();
2568     void setElementString(DomString *a);
2569 
elementStringList()2570     inline DomStringList *elementStringList() const { return m_stringList; }
2571     DomStringList *takeElementStringList();
2572     void setElementStringList(DomStringList *a);
2573 
elementNumber()2574     inline int elementNumber() const { return m_number; }
2575     void setElementNumber(int a);
2576 
elementFloat()2577     inline float elementFloat() const { return m_float; }
2578     void setElementFloat(float a);
2579 
elementDouble()2580     inline double elementDouble() const { return m_double; }
2581     void setElementDouble(double a);
2582 
elementDate()2583     inline DomDate *elementDate() const { return m_date; }
2584     DomDate *takeElementDate();
2585     void setElementDate(DomDate *a);
2586 
elementTime()2587     inline DomTime *elementTime() const { return m_time; }
2588     DomTime *takeElementTime();
2589     void setElementTime(DomTime *a);
2590 
elementDateTime()2591     inline DomDateTime *elementDateTime() const { return m_dateTime; }
2592     DomDateTime *takeElementDateTime();
2593     void setElementDateTime(DomDateTime *a);
2594 
elementPointF()2595     inline DomPointF *elementPointF() const { return m_pointF; }
2596     DomPointF *takeElementPointF();
2597     void setElementPointF(DomPointF *a);
2598 
elementRectF()2599     inline DomRectF *elementRectF() const { return m_rectF; }
2600     DomRectF *takeElementRectF();
2601     void setElementRectF(DomRectF *a);
2602 
elementSizeF()2603     inline DomSizeF *elementSizeF() const { return m_sizeF; }
2604     DomSizeF *takeElementSizeF();
2605     void setElementSizeF(DomSizeF *a);
2606 
elementLongLong()2607     inline qlonglong elementLongLong() const { return m_longLong; }
2608     void setElementLongLong(qlonglong a);
2609 
elementChar()2610     inline DomChar *elementChar() const { return m_char; }
2611     DomChar *takeElementChar();
2612     void setElementChar(DomChar *a);
2613 
elementUrl()2614     inline DomUrl *elementUrl() const { return m_url; }
2615     DomUrl *takeElementUrl();
2616     void setElementUrl(DomUrl *a);
2617 
elementUInt()2618     inline uint elementUInt() const { return m_UInt; }
2619     void setElementUInt(uint a);
2620 
elementULongLong()2621     inline qulonglong elementULongLong() const { return m_uLongLong; }
2622     void setElementULongLong(qulonglong a);
2623 
elementBrush()2624     inline DomBrush *elementBrush() const { return m_brush; }
2625     DomBrush *takeElementBrush();
2626     void setElementBrush(DomBrush *a);
2627 
2628 private:
2629     void clear();
2630 
2631     // attribute data
2632     QString m_attr_name;
2633     bool m_has_attr_name = false;
2634 
2635     int m_attr_stdset = 0;
2636     bool m_has_attr_stdset = false;
2637 
2638     // child element data
2639     Kind m_kind = Unknown;
2640     QString m_bool;
2641     DomColor *m_color = nullptr;
2642     QString m_cstring;
2643     int m_cursor = 0;
2644     QString m_cursorShape;
2645     QString m_enum;
2646     DomFont *m_font = nullptr;
2647     DomResourceIcon *m_iconSet = nullptr;
2648     DomResourcePixmap *m_pixmap = nullptr;
2649     DomPalette *m_palette = nullptr;
2650     DomPoint *m_point = nullptr;
2651     DomRect *m_rect = nullptr;
2652     QString m_set;
2653     DomLocale *m_locale = nullptr;
2654     DomSizePolicy *m_sizePolicy = nullptr;
2655     DomSize *m_size = nullptr;
2656     DomString *m_string = nullptr;
2657     DomStringList *m_stringList = nullptr;
2658     int m_number = 0;
2659     float m_float = 0.0;
2660     double m_double = 0.0;
2661     DomDate *m_date = nullptr;
2662     DomTime *m_time = nullptr;
2663     DomDateTime *m_dateTime = nullptr;
2664     DomPointF *m_pointF = nullptr;
2665     DomRectF *m_rectF = nullptr;
2666     DomSizeF *m_sizeF = nullptr;
2667     qlonglong m_longLong = 0;
2668     DomChar *m_char = nullptr;
2669     DomUrl *m_url = nullptr;
2670     uint m_UInt = 0;
2671     qulonglong m_uLongLong = 0;
2672     DomBrush *m_brush = nullptr;
2673 };
2674 
2675 class QDESIGNER_UILIB_EXPORT DomConnections {
2676     Q_DISABLE_COPY_MOVE(DomConnections)
2677 public:
2678     DomConnections() = default;
2679     ~DomConnections();
2680 
2681     void read(QXmlStreamReader &reader);
2682     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2683 
2684     // child element accessors
elementConnection()2685     inline QVector<DomConnection *> elementConnection() const { return m_connection; }
2686     void setElementConnection(const QVector<DomConnection *> &a);
2687 
2688 private:
2689 
2690     // child element data
2691     uint m_children = 0;
2692     QVector<DomConnection *> m_connection;
2693 
2694     enum Child {
2695         Connection = 1
2696     };
2697 };
2698 
2699 class QDESIGNER_UILIB_EXPORT DomConnection {
2700     Q_DISABLE_COPY_MOVE(DomConnection)
2701 public:
2702     DomConnection() = default;
2703     ~DomConnection();
2704 
2705     void read(QXmlStreamReader &reader);
2706     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2707 
2708     // child element accessors
elementSender()2709     inline QString elementSender() const { return m_sender; }
2710     void setElementSender(const QString &a);
hasElementSender()2711     inline bool hasElementSender() const { return m_children & Sender; }
2712     void clearElementSender();
2713 
elementSignal()2714     inline QString elementSignal() const { return m_signal; }
2715     void setElementSignal(const QString &a);
hasElementSignal()2716     inline bool hasElementSignal() const { return m_children & Signal; }
2717     void clearElementSignal();
2718 
elementReceiver()2719     inline QString elementReceiver() const { return m_receiver; }
2720     void setElementReceiver(const QString &a);
hasElementReceiver()2721     inline bool hasElementReceiver() const { return m_children & Receiver; }
2722     void clearElementReceiver();
2723 
elementSlot()2724     inline QString elementSlot() const { return m_slot; }
2725     void setElementSlot(const QString &a);
hasElementSlot()2726     inline bool hasElementSlot() const { return m_children & Slot; }
2727     void clearElementSlot();
2728 
elementHints()2729     inline DomConnectionHints *elementHints() const { return m_hints; }
2730     DomConnectionHints *takeElementHints();
2731     void setElementHints(DomConnectionHints *a);
hasElementHints()2732     inline bool hasElementHints() const { return m_children & Hints; }
2733     void clearElementHints();
2734 
2735 private:
2736 
2737     // child element data
2738     uint m_children = 0;
2739     QString m_sender;
2740     QString m_signal;
2741     QString m_receiver;
2742     QString m_slot;
2743     DomConnectionHints *m_hints = nullptr;
2744 
2745     enum Child {
2746         Sender = 1,
2747         Signal = 2,
2748         Receiver = 4,
2749         Slot = 8,
2750         Hints = 16
2751     };
2752 };
2753 
2754 class QDESIGNER_UILIB_EXPORT DomConnectionHints {
2755     Q_DISABLE_COPY_MOVE(DomConnectionHints)
2756 public:
2757     DomConnectionHints() = default;
2758     ~DomConnectionHints();
2759 
2760     void read(QXmlStreamReader &reader);
2761     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2762 
2763     // child element accessors
elementHint()2764     inline QVector<DomConnectionHint *> elementHint() const { return m_hint; }
2765     void setElementHint(const QVector<DomConnectionHint *> &a);
2766 
2767 private:
2768 
2769     // child element data
2770     uint m_children = 0;
2771     QVector<DomConnectionHint *> m_hint;
2772 
2773     enum Child {
2774         Hint = 1
2775     };
2776 };
2777 
2778 class QDESIGNER_UILIB_EXPORT DomConnectionHint {
2779     Q_DISABLE_COPY_MOVE(DomConnectionHint)
2780 public:
2781     DomConnectionHint() = default;
2782     ~DomConnectionHint();
2783 
2784     void read(QXmlStreamReader &reader);
2785     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2786 
2787     // attribute accessors
hasAttributeType()2788     inline bool hasAttributeType() const { return m_has_attr_type; }
attributeType()2789     inline QString attributeType() const { return m_attr_type; }
setAttributeType(const QString & a)2790     inline void setAttributeType(const QString &a) { m_attr_type = a; m_has_attr_type = true; }
clearAttributeType()2791     inline void clearAttributeType() { m_has_attr_type = false; }
2792 
2793     // child element accessors
elementX()2794     inline int elementX() const { return m_x; }
2795     void setElementX(int a);
hasElementX()2796     inline bool hasElementX() const { return m_children & X; }
2797     void clearElementX();
2798 
elementY()2799     inline int elementY() const { return m_y; }
2800     void setElementY(int a);
hasElementY()2801     inline bool hasElementY() const { return m_children & Y; }
2802     void clearElementY();
2803 
2804 private:
2805     // attribute data
2806     QString m_attr_type;
2807     bool m_has_attr_type = false;
2808 
2809     // child element data
2810     uint m_children = 0;
2811     int m_x = 0;
2812     int m_y = 0;
2813 
2814     enum Child {
2815         X = 1,
2816         Y = 2
2817     };
2818 };
2819 
2820 class QDESIGNER_UILIB_EXPORT DomDesignerData {
2821     Q_DISABLE_COPY_MOVE(DomDesignerData)
2822 public:
2823     DomDesignerData() = default;
2824     ~DomDesignerData();
2825 
2826     void read(QXmlStreamReader &reader);
2827     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2828 
2829     // child element accessors
elementProperty()2830     inline QList<DomProperty*> elementProperty() const { return m_property; }
2831     void setElementProperty(const QList<DomProperty *> &a);
2832 
2833 private:
2834 
2835     // child element data
2836     uint m_children = 0;
2837     QList<DomProperty*> m_property;
2838 
2839     enum Child {
2840         Property = 1
2841     };
2842 };
2843 
2844 class QDESIGNER_UILIB_EXPORT DomSlots {
2845     Q_DISABLE_COPY_MOVE(DomSlots)
2846 public:
2847     DomSlots() = default;
2848     ~DomSlots();
2849 
2850     void read(QXmlStreamReader &reader);
2851     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2852 
2853     // child element accessors
elementSignal()2854     inline QStringList elementSignal() const { return m_signal; }
2855     void setElementSignal(const QStringList &a);
2856 
elementSlot()2857     inline QStringList elementSlot() const { return m_slot; }
2858     void setElementSlot(const QStringList &a);
2859 
2860 private:
2861 
2862     // child element data
2863     uint m_children = 0;
2864     QStringList m_signal;
2865     QStringList m_slot;
2866 
2867     enum Child {
2868         Signal = 1,
2869         Slot = 2
2870     };
2871 };
2872 
2873 class QDESIGNER_UILIB_EXPORT DomPropertySpecifications {
2874     Q_DISABLE_COPY_MOVE(DomPropertySpecifications)
2875 public:
2876     DomPropertySpecifications() = default;
2877     ~DomPropertySpecifications();
2878 
2879     void read(QXmlStreamReader &reader);
2880     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2881 
2882     // child element accessors
elementTooltip()2883     inline QVector<DomPropertyToolTip *> elementTooltip() const { return m_tooltip; }
2884     void setElementTooltip(const QVector<DomPropertyToolTip *> &a);
2885 
elementStringpropertyspecification()2886     inline QVector<DomStringPropertySpecification *> elementStringpropertyspecification() const { return m_stringpropertyspecification; }
2887     void setElementStringpropertyspecification(const QVector<DomStringPropertySpecification *> &a);
2888 
2889 private:
2890 
2891     // child element data
2892     uint m_children = 0;
2893     QVector<DomPropertyToolTip *> m_tooltip;
2894     QVector<DomStringPropertySpecification *> m_stringpropertyspecification;
2895 
2896     enum Child {
2897         Tooltip = 1,
2898         Stringpropertyspecification = 2
2899     };
2900 };
2901 
2902 class QDESIGNER_UILIB_EXPORT DomPropertyToolTip {
2903     Q_DISABLE_COPY_MOVE(DomPropertyToolTip)
2904 public:
2905     DomPropertyToolTip() = default;
2906     ~DomPropertyToolTip();
2907 
2908     void read(QXmlStreamReader &reader);
2909     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2910 
2911     // attribute accessors
hasAttributeName()2912     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()2913     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)2914     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()2915     inline void clearAttributeName() { m_has_attr_name = false; }
2916 
2917 private:
2918     // attribute data
2919     QString m_attr_name;
2920     bool m_has_attr_name = false;
2921 };
2922 
2923 class QDESIGNER_UILIB_EXPORT DomStringPropertySpecification {
2924     Q_DISABLE_COPY_MOVE(DomStringPropertySpecification)
2925 public:
2926     DomStringPropertySpecification() = default;
2927     ~DomStringPropertySpecification();
2928 
2929     void read(QXmlStreamReader &reader);
2930     void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const;
2931 
2932     // attribute accessors
hasAttributeName()2933     inline bool hasAttributeName() const { return m_has_attr_name; }
attributeName()2934     inline QString attributeName() const { return m_attr_name; }
setAttributeName(const QString & a)2935     inline void setAttributeName(const QString &a) { m_attr_name = a; m_has_attr_name = true; }
clearAttributeName()2936     inline void clearAttributeName() { m_has_attr_name = false; }
2937 
hasAttributeType()2938     inline bool hasAttributeType() const { return m_has_attr_type; }
attributeType()2939     inline QString attributeType() const { return m_attr_type; }
setAttributeType(const QString & a)2940     inline void setAttributeType(const QString &a) { m_attr_type = a; m_has_attr_type = true; }
clearAttributeType()2941     inline void clearAttributeType() { m_has_attr_type = false; }
2942 
hasAttributeNotr()2943     inline bool hasAttributeNotr() const { return m_has_attr_notr; }
attributeNotr()2944     inline QString attributeNotr() const { return m_attr_notr; }
setAttributeNotr(const QString & a)2945     inline void setAttributeNotr(const QString &a) { m_attr_notr = a; m_has_attr_notr = true; }
clearAttributeNotr()2946     inline void clearAttributeNotr() { m_has_attr_notr = false; }
2947 
2948 private:
2949     // attribute data
2950     QString m_attr_name;
2951     bool m_has_attr_name = false;
2952 
2953     QString m_attr_type;
2954     bool m_has_attr_type = false;
2955 
2956     QString m_attr_notr;
2957     bool m_has_attr_notr = false;
2958 };
2959 
2960 
2961 #ifdef QFORMINTERNAL_NAMESPACE
2962 }
2963 #endif
2964 
2965 QT_END_NAMESPACE
2966 
2967 #endif // UI4_H
2968