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