1
/****************************************************************************
3
** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
5
** This file is part of the tools applications of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
29
#include <QtXml/QDomDocument>
31
/*******************************************************************************
35
void DomUI::clear(bool clear_all)
38
delete m_layoutDefault;
39
delete m_layoutFunction;
40
delete m_customWidgets;
49
m_has_attr_version = false;
50
m_has_attr_stdSetDef = false;
67
m_has_attr_version = false;
68
m_has_attr_stdSetDef = false;
84
delete m_layoutDefault;
85
delete m_layoutFunction;
86
delete m_customWidgets;
94
void DomUI::read(const QDomElement &node)
96
if (node.hasAttribute(QLatin1String("version")))
97
setAttributeVersion(node.attribute(QLatin1String("version")));
98
if (node.hasAttribute(QLatin1String("stdsetdef")))
99
setAttributeStdSetDef(node.attribute(QLatin1String("stdsetdef")).toInt());
101
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
104
QDomElement e = n.toElement();
105
QString tag = e.tagName().toLower();
106
if (tag == QLatin1String("author")) {
107
setElementAuthor(e.text());
110
if (tag == QLatin1String("comment")) {
111
setElementComment(e.text());
114
if (tag == QLatin1String("exportmacro")) {
115
setElementExportMacro(e.text());
118
if (tag == QLatin1String("class")) {
119
setElementClass(e.text());
122
if (tag == QLatin1String("widget")) {
123
DomWidget *v = new DomWidget();
128
if (tag == QLatin1String("layoutdefault")) {
129
DomLayoutDefault *v = new DomLayoutDefault();
131
setElementLayoutDefault(v);
134
if (tag == QLatin1String("layoutfunction")) {
135
DomLayoutFunction *v = new DomLayoutFunction();
137
setElementLayoutFunction(v);
140
if (tag == QLatin1String("pixmapfunction")) {
141
setElementPixmapFunction(e.text());
144
if (tag == QLatin1String("customwidgets")) {
145
DomCustomWidgets *v = new DomCustomWidgets();
147
setElementCustomWidgets(v);
150
if (tag == QLatin1String("tabstops")) {
151
DomTabStops *v = new DomTabStops();
153
setElementTabStops(v);
156
if (tag == QLatin1String("images")) {
157
DomImages *v = new DomImages();
162
if (tag == QLatin1String("includes")) {
163
DomIncludes *v = new DomIncludes();
165
setElementIncludes(v);
168
if (tag == QLatin1String("resources")) {
169
DomResources *v = new DomResources();
171
setElementResources(v);
174
if (tag == QLatin1String("connections")) {
175
DomConnections *v = new DomConnections();
177
setElementConnections(v);
183
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
185
m_text.append(child.nodeValue());
189
QDomElement DomUI::write(QDomDocument &doc, const QString &tagName)
191
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("ui") : tagName.toLower());
195
if (hasAttributeVersion())
196
e.setAttribute(QLatin1String("version"), attributeVersion());
198
if (hasAttributeStdSetDef())
199
e.setAttribute(QLatin1String("stdsetdef"), attributeStdSetDef());
201
child = doc.createElement(QLatin1String("author"));
202
child.appendChild(doc.createTextNode(m_author));
203
e.appendChild(child);
205
child = doc.createElement(QLatin1String("comment"));
206
child.appendChild(doc.createTextNode(m_comment));
207
e.appendChild(child);
209
child = doc.createElement(QLatin1String("exportmacro"));
210
child.appendChild(doc.createTextNode(m_exportMacro));
211
e.appendChild(child);
213
child = doc.createElement(QLatin1String("class"));
214
child.appendChild(doc.createTextNode(m_class));
215
e.appendChild(child);
218
e.appendChild(m_widget->write(doc, QLatin1String("widget")));
220
if (m_layoutDefault != 0)
221
e.appendChild(m_layoutDefault->write(doc, QLatin1String("layoutdefault")));
223
if (m_layoutFunction != 0)
224
e.appendChild(m_layoutFunction->write(doc, QLatin1String("layoutfunction")));
226
child = doc.createElement(QLatin1String("pixmapfunction"));
227
child.appendChild(doc.createTextNode(m_pixmapFunction));
228
e.appendChild(child);
230
if (m_customWidgets != 0)
231
e.appendChild(m_customWidgets->write(doc, QLatin1String("customwidgets")));
234
e.appendChild(m_tabStops->write(doc, QLatin1String("tabstops")));
237
e.appendChild(m_images->write(doc, QLatin1String("images")));
240
e.appendChild(m_includes->write(doc, QLatin1String("includes")));
242
if (m_resources != 0)
243
e.appendChild(m_resources->write(doc, QLatin1String("resources")));
245
if (m_connections != 0)
246
e.appendChild(m_connections->write(doc, QLatin1String("connections")));
248
if (!m_text.isEmpty())
249
e.appendChild(doc.createTextNode(m_text));
254
void DomUI::setElementAuthor(const QString& a)
259
void DomUI::setElementComment(const QString& a)
264
void DomUI::setElementExportMacro(const QString& a)
269
void DomUI::setElementClass(const QString& a)
274
void DomUI::setElementWidget(DomWidget* a)
280
void DomUI::setElementLayoutDefault(DomLayoutDefault* a)
282
delete m_layoutDefault;
286
void DomUI::setElementLayoutFunction(DomLayoutFunction* a)
288
delete m_layoutFunction;
289
m_layoutFunction = a;
292
void DomUI::setElementPixmapFunction(const QString& a)
294
m_pixmapFunction = a;
297
void DomUI::setElementCustomWidgets(DomCustomWidgets* a)
299
delete m_customWidgets;
303
void DomUI::setElementTabStops(DomTabStops* a)
309
void DomUI::setElementImages(DomImages* a)
315
void DomUI::setElementIncludes(DomIncludes* a)
321
void DomUI::setElementResources(DomResources* a)
327
void DomUI::setElementConnections(DomConnections* a)
329
delete m_connections;
333
void DomIncludes::clear(bool clear_all)
335
for (int i = 0; i < m_include.size(); ++i)
345
DomIncludes::DomIncludes()
349
DomIncludes::~DomIncludes()
351
for (int i = 0; i < m_include.size(); ++i)
356
void DomIncludes::read(const QDomElement &node)
359
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
362
QDomElement e = n.toElement();
363
QString tag = e.tagName().toLower();
364
if (tag == QLatin1String("include")) {
365
DomInclude *v = new DomInclude();
373
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
375
m_text.append(child.nodeValue());
379
QDomElement DomIncludes::write(QDomDocument &doc, const QString &tagName)
381
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("includes") : tagName.toLower());
385
for (int i = 0; i < m_include.size(); ++i) {
386
DomInclude* v = m_include[i];
387
QDomNode child = v->write(doc, QLatin1String("include"));
388
e.appendChild(child);
390
if (!m_text.isEmpty())
391
e.appendChild(doc.createTextNode(m_text));
396
void DomIncludes::setElementInclude(const QList<DomInclude*>& a)
401
void DomInclude::clear(bool clear_all)
406
m_has_attr_location = false;
407
m_has_attr_impldecl = false;
412
DomInclude::DomInclude()
414
m_has_attr_location = false;
415
m_has_attr_impldecl = false;
418
DomInclude::~DomInclude()
422
void DomInclude::read(const QDomElement &node)
424
if (node.hasAttribute(QLatin1String("location")))
425
setAttributeLocation(node.attribute(QLatin1String("location")));
426
if (node.hasAttribute(QLatin1String("impldecl")))
427
setAttributeImpldecl(node.attribute(QLatin1String("impldecl")));
429
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
432
QDomElement e = n.toElement();
433
QString tag = e.tagName().toLower();
437
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
439
m_text.append(child.nodeValue());
443
QDomElement DomInclude::write(QDomDocument &doc, const QString &tagName)
445
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("include") : tagName.toLower());
449
if (hasAttributeLocation())
450
e.setAttribute(QLatin1String("location"), attributeLocation());
452
if (hasAttributeImpldecl())
453
e.setAttribute(QLatin1String("impldecl"), attributeImpldecl());
455
if (!m_text.isEmpty())
456
e.appendChild(doc.createTextNode(m_text));
461
void DomResources::clear(bool clear_all)
463
for (int i = 0; i < m_include.size(); ++i)
469
m_has_attr_name = false;
474
DomResources::DomResources()
476
m_has_attr_name = false;
479
DomResources::~DomResources()
481
for (int i = 0; i < m_include.size(); ++i)
486
void DomResources::read(const QDomElement &node)
488
if (node.hasAttribute(QLatin1String("name")))
489
setAttributeName(node.attribute(QLatin1String("name")));
491
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
494
QDomElement e = n.toElement();
495
QString tag = e.tagName().toLower();
496
if (tag == QLatin1String("include")) {
497
DomResource *v = new DomResource();
505
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
507
m_text.append(child.nodeValue());
511
QDomElement DomResources::write(QDomDocument &doc, const QString &tagName)
513
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("resources") : tagName.toLower());
517
if (hasAttributeName())
518
e.setAttribute(QLatin1String("name"), attributeName());
520
for (int i = 0; i < m_include.size(); ++i) {
521
DomResource* v = m_include[i];
522
QDomNode child = v->write(doc, QLatin1String("include"));
523
e.appendChild(child);
525
if (!m_text.isEmpty())
526
e.appendChild(doc.createTextNode(m_text));
531
void DomResources::setElementInclude(const QList<DomResource*>& a)
536
void DomResource::clear(bool clear_all)
541
m_has_attr_location = false;
546
DomResource::DomResource()
548
m_has_attr_location = false;
551
DomResource::~DomResource()
555
void DomResource::read(const QDomElement &node)
557
if (node.hasAttribute(QLatin1String("location")))
558
setAttributeLocation(node.attribute(QLatin1String("location")));
560
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
563
QDomElement e = n.toElement();
564
QString tag = e.tagName().toLower();
568
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
570
m_text.append(child.nodeValue());
574
QDomElement DomResource::write(QDomDocument &doc, const QString &tagName)
576
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("resource") : tagName.toLower());
580
if (hasAttributeLocation())
581
e.setAttribute(QLatin1String("location"), attributeLocation());
583
if (!m_text.isEmpty())
584
e.appendChild(doc.createTextNode(m_text));
589
void DomActionGroup::clear(bool clear_all)
591
for (int i = 0; i < m_action.size(); ++i)
594
for (int i = 0; i < m_actionGroup.size(); ++i)
595
delete m_actionGroup[i];
596
m_actionGroup.clear();
597
for (int i = 0; i < m_property.size(); ++i)
598
delete m_property[i];
600
for (int i = 0; i < m_attribute.size(); ++i)
601
delete m_attribute[i];
606
m_has_attr_name = false;
611
DomActionGroup::DomActionGroup()
613
m_has_attr_name = false;
616
DomActionGroup::~DomActionGroup()
618
for (int i = 0; i < m_action.size(); ++i)
621
for (int i = 0; i < m_actionGroup.size(); ++i)
622
delete m_actionGroup[i];
623
m_actionGroup.clear();
624
for (int i = 0; i < m_property.size(); ++i)
625
delete m_property[i];
627
for (int i = 0; i < m_attribute.size(); ++i)
628
delete m_attribute[i];
632
void DomActionGroup::read(const QDomElement &node)
634
if (node.hasAttribute(QLatin1String("name")))
635
setAttributeName(node.attribute(QLatin1String("name")));
637
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
640
QDomElement e = n.toElement();
641
QString tag = e.tagName().toLower();
642
if (tag == QLatin1String("action")) {
643
DomAction *v = new DomAction();
648
if (tag == QLatin1String("actiongroup")) {
649
DomActionGroup *v = new DomActionGroup();
651
m_actionGroup.append(v);
654
if (tag == QLatin1String("property")) {
655
DomProperty *v = new DomProperty();
657
m_property.append(v);
660
if (tag == QLatin1String("attribute")) {
661
DomProperty *v = new DomProperty();
663
m_attribute.append(v);
669
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
671
m_text.append(child.nodeValue());
675
QDomElement DomActionGroup::write(QDomDocument &doc, const QString &tagName)
677
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("actiongroup") : tagName.toLower());
681
if (hasAttributeName())
682
e.setAttribute(QLatin1String("name"), attributeName());
684
for (int i = 0; i < m_action.size(); ++i) {
685
DomAction* v = m_action[i];
686
QDomNode child = v->write(doc, QLatin1String("action"));
687
e.appendChild(child);
689
for (int i = 0; i < m_actionGroup.size(); ++i) {
690
DomActionGroup* v = m_actionGroup[i];
691
QDomNode child = v->write(doc, QLatin1String("actiongroup"));
692
e.appendChild(child);
694
for (int i = 0; i < m_property.size(); ++i) {
695
DomProperty* v = m_property[i];
696
QDomNode child = v->write(doc, QLatin1String("property"));
697
e.appendChild(child);
699
for (int i = 0; i < m_attribute.size(); ++i) {
700
DomProperty* v = m_attribute[i];
701
QDomNode child = v->write(doc, QLatin1String("attribute"));
702
e.appendChild(child);
704
if (!m_text.isEmpty())
705
e.appendChild(doc.createTextNode(m_text));
710
void DomActionGroup::setElementAction(const QList<DomAction*>& a)
715
void DomActionGroup::setElementActionGroup(const QList<DomActionGroup*>& a)
720
void DomActionGroup::setElementProperty(const QList<DomProperty*>& a)
725
void DomActionGroup::setElementAttribute(const QList<DomProperty*>& a)
730
void DomAction::clear(bool clear_all)
732
for (int i = 0; i < m_property.size(); ++i)
733
delete m_property[i];
735
for (int i = 0; i < m_attribute.size(); ++i)
736
delete m_attribute[i];
741
m_has_attr_name = false;
742
m_has_attr_menu = false;
747
DomAction::DomAction()
749
m_has_attr_name = false;
750
m_has_attr_menu = false;
753
DomAction::~DomAction()
755
for (int i = 0; i < m_property.size(); ++i)
756
delete m_property[i];
758
for (int i = 0; i < m_attribute.size(); ++i)
759
delete m_attribute[i];
763
void DomAction::read(const QDomElement &node)
765
if (node.hasAttribute(QLatin1String("name")))
766
setAttributeName(node.attribute(QLatin1String("name")));
767
if (node.hasAttribute(QLatin1String("menu")))
768
setAttributeMenu(node.attribute(QLatin1String("menu")));
770
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
773
QDomElement e = n.toElement();
774
QString tag = e.tagName().toLower();
775
if (tag == QLatin1String("property")) {
776
DomProperty *v = new DomProperty();
778
m_property.append(v);
781
if (tag == QLatin1String("attribute")) {
782
DomProperty *v = new DomProperty();
784
m_attribute.append(v);
790
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
792
m_text.append(child.nodeValue());
796
QDomElement DomAction::write(QDomDocument &doc, const QString &tagName)
798
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("action") : tagName.toLower());
802
if (hasAttributeName())
803
e.setAttribute(QLatin1String("name"), attributeName());
805
if (hasAttributeMenu())
806
e.setAttribute(QLatin1String("menu"), attributeMenu());
808
for (int i = 0; i < m_property.size(); ++i) {
809
DomProperty* v = m_property[i];
810
QDomNode child = v->write(doc, QLatin1String("property"));
811
e.appendChild(child);
813
for (int i = 0; i < m_attribute.size(); ++i) {
814
DomProperty* v = m_attribute[i];
815
QDomNode child = v->write(doc, QLatin1String("attribute"));
816
e.appendChild(child);
818
if (!m_text.isEmpty())
819
e.appendChild(doc.createTextNode(m_text));
824
void DomAction::setElementProperty(const QList<DomProperty*>& a)
829
void DomAction::setElementAttribute(const QList<DomProperty*>& a)
834
void DomActionRef::clear(bool clear_all)
839
m_has_attr_name = false;
844
DomActionRef::DomActionRef()
846
m_has_attr_name = false;
849
DomActionRef::~DomActionRef()
853
void DomActionRef::read(const QDomElement &node)
855
if (node.hasAttribute(QLatin1String("name")))
856
setAttributeName(node.attribute(QLatin1String("name")));
858
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
861
QDomElement e = n.toElement();
862
QString tag = e.tagName().toLower();
866
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
868
m_text.append(child.nodeValue());
872
QDomElement DomActionRef::write(QDomDocument &doc, const QString &tagName)
874
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("actionref") : tagName.toLower());
878
if (hasAttributeName())
879
e.setAttribute(QLatin1String("name"), attributeName());
881
if (!m_text.isEmpty())
882
e.appendChild(doc.createTextNode(m_text));
887
void DomImages::clear(bool clear_all)
889
for (int i = 0; i < m_image.size(); ++i)
899
DomImages::DomImages()
903
DomImages::~DomImages()
905
for (int i = 0; i < m_image.size(); ++i)
910
void DomImages::read(const QDomElement &node)
913
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
916
QDomElement e = n.toElement();
917
QString tag = e.tagName().toLower();
918
if (tag == QLatin1String("image")) {
919
DomImage *v = new DomImage();
927
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
929
m_text.append(child.nodeValue());
933
QDomElement DomImages::write(QDomDocument &doc, const QString &tagName)
935
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("images") : tagName.toLower());
939
for (int i = 0; i < m_image.size(); ++i) {
940
DomImage* v = m_image[i];
941
QDomNode child = v->write(doc, QLatin1String("image"));
942
e.appendChild(child);
944
if (!m_text.isEmpty())
945
e.appendChild(doc.createTextNode(m_text));
950
void DomImages::setElementImage(const QList<DomImage*>& a)
955
void DomImage::clear(bool clear_all)
961
m_has_attr_name = false;
969
m_has_attr_name = false;
973
DomImage::~DomImage()
978
void DomImage::read(const QDomElement &node)
980
if (node.hasAttribute(QLatin1String("name")))
981
setAttributeName(node.attribute(QLatin1String("name")));
983
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
986
QDomElement e = n.toElement();
987
QString tag = e.tagName().toLower();
988
if (tag == QLatin1String("data")) {
989
DomImageData *v = new DomImageData();
997
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
999
m_text.append(child.nodeValue());
1003
QDomElement DomImage::write(QDomDocument &doc, const QString &tagName)
1005
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("image") : tagName.toLower());
1009
if (hasAttributeName())
1010
e.setAttribute(QLatin1String("name"), attributeName());
1013
e.appendChild(m_data->write(doc, QLatin1String("data")));
1015
if (!m_text.isEmpty())
1016
e.appendChild(doc.createTextNode(m_text));
1021
void DomImage::setElementData(DomImageData* a)
1027
void DomImageData::clear(bool clear_all)
1032
m_has_attr_format = false;
1033
m_has_attr_length = false;
1039
DomImageData::DomImageData()
1041
m_has_attr_format = false;
1042
m_has_attr_length = false;
1046
DomImageData::~DomImageData()
1050
void DomImageData::read(const QDomElement &node)
1052
if (node.hasAttribute(QLatin1String("format")))
1053
setAttributeFormat(node.attribute(QLatin1String("format")));
1054
if (node.hasAttribute(QLatin1String("length")))
1055
setAttributeLength(node.attribute(QLatin1String("length")).toInt());
1057
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1060
QDomElement e = n.toElement();
1061
QString tag = e.tagName().toLower();
1065
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1067
m_text.append(child.nodeValue());
1071
QDomElement DomImageData::write(QDomDocument &doc, const QString &tagName)
1073
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("imagedata") : tagName.toLower());
1077
if (hasAttributeFormat())
1078
e.setAttribute(QLatin1String("format"), attributeFormat());
1080
if (hasAttributeLength())
1081
e.setAttribute(QLatin1String("length"), attributeLength());
1083
if (!m_text.isEmpty())
1084
e.appendChild(doc.createTextNode(m_text));
1089
void DomCustomWidgets::clear(bool clear_all)
1091
for (int i = 0; i < m_customWidget.size(); ++i)
1092
delete m_customWidget[i];
1093
m_customWidget.clear();
1101
DomCustomWidgets::DomCustomWidgets()
1105
DomCustomWidgets::~DomCustomWidgets()
1107
for (int i = 0; i < m_customWidget.size(); ++i)
1108
delete m_customWidget[i];
1109
m_customWidget.clear();
1112
void DomCustomWidgets::read(const QDomElement &node)
1115
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1118
QDomElement e = n.toElement();
1119
QString tag = e.tagName().toLower();
1120
if (tag == QLatin1String("customwidget")) {
1121
DomCustomWidget *v = new DomCustomWidget();
1123
m_customWidget.append(v);
1129
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1131
m_text.append(child.nodeValue());
1135
QDomElement DomCustomWidgets::write(QDomDocument &doc, const QString &tagName)
1137
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("customwidgets") : tagName.toLower());
1141
for (int i = 0; i < m_customWidget.size(); ++i) {
1142
DomCustomWidget* v = m_customWidget[i];
1143
QDomNode child = v->write(doc, QLatin1String("customwidget"));
1144
e.appendChild(child);
1146
if (!m_text.isEmpty())
1147
e.appendChild(doc.createTextNode(m_text));
1152
void DomCustomWidgets::setElementCustomWidget(const QList<DomCustomWidget*>& a)
1157
void DomHeader::clear(bool clear_all)
1162
m_has_attr_location = false;
1167
DomHeader::DomHeader()
1169
m_has_attr_location = false;
1172
DomHeader::~DomHeader()
1176
void DomHeader::read(const QDomElement &node)
1178
if (node.hasAttribute(QLatin1String("location")))
1179
setAttributeLocation(node.attribute(QLatin1String("location")));
1182
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1184
m_text.append(child.nodeValue());
1188
QDomElement DomHeader::write(QDomDocument &doc, const QString &tagName)
1190
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("header") : tagName.toLower());
1194
if (hasAttributeLocation())
1195
e.setAttribute(QLatin1String("location"), attributeLocation());
1197
if (!m_text.isEmpty())
1198
e.appendChild(doc.createTextNode(m_text));
1203
void DomCustomWidget::clear(bool clear_all)
1207
delete m_sizePolicy;
1208
delete m_properties;
1221
DomCustomWidget::DomCustomWidget()
1230
DomCustomWidget::~DomCustomWidget()
1234
delete m_sizePolicy;
1235
delete m_properties;
1238
void DomCustomWidget::read(const QDomElement &node)
1241
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1244
QDomElement e = n.toElement();
1245
QString tag = e.tagName().toLower();
1246
if (tag == QLatin1String("class")) {
1247
setElementClass(e.text());
1250
if (tag == QLatin1String("extends")) {
1251
setElementExtends(e.text());
1254
if (tag == QLatin1String("header")) {
1255
DomHeader *v = new DomHeader();
1257
setElementHeader(v);
1260
if (tag == QLatin1String("sizehint")) {
1261
DomSize *v = new DomSize();
1263
setElementSizeHint(v);
1266
if (tag == QLatin1String("container")) {
1267
setElementContainer(e.text().toInt());
1270
if (tag == QLatin1String("sizepolicy")) {
1271
DomSizePolicyData *v = new DomSizePolicyData();
1273
setElementSizePolicy(v);
1276
if (tag == QLatin1String("pixmap")) {
1277
setElementPixmap(e.text());
1280
if (tag == QLatin1String("properties")) {
1281
DomProperties *v = new DomProperties();
1283
setElementProperties(v);
1289
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1291
m_text.append(child.nodeValue());
1295
QDomElement DomCustomWidget::write(QDomDocument &doc, const QString &tagName)
1297
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("customwidget") : tagName.toLower());
1301
child = doc.createElement(QLatin1String("class"));
1302
child.appendChild(doc.createTextNode(m_class));
1303
e.appendChild(child);
1305
child = doc.createElement(QLatin1String("extends"));
1306
child.appendChild(doc.createTextNode(m_extends));
1307
e.appendChild(child);
1310
e.appendChild(m_header->write(doc, QLatin1String("header")));
1312
if (m_sizeHint != 0)
1313
e.appendChild(m_sizeHint->write(doc, QLatin1String("sizehint")));
1315
child = doc.createElement(QLatin1String("container"));
1316
child.appendChild(doc.createTextNode(QString::number(m_container)));
1317
e.appendChild(child);
1319
if (m_sizePolicy != 0)
1320
e.appendChild(m_sizePolicy->write(doc, QLatin1String("sizepolicy")));
1322
child = doc.createElement(QLatin1String("pixmap"));
1323
child.appendChild(doc.createTextNode(m_pixmap));
1324
e.appendChild(child);
1326
if (m_properties != 0)
1327
e.appendChild(m_properties->write(doc, QLatin1String("properties")));
1329
if (!m_text.isEmpty())
1330
e.appendChild(doc.createTextNode(m_text));
1335
void DomCustomWidget::setElementClass(const QString& a)
1340
void DomCustomWidget::setElementExtends(const QString& a)
1345
void DomCustomWidget::setElementHeader(DomHeader* a)
1351
void DomCustomWidget::setElementSizeHint(DomSize* a)
1357
void DomCustomWidget::setElementContainer(int a)
1362
void DomCustomWidget::setElementSizePolicy(DomSizePolicyData* a)
1364
delete m_sizePolicy;
1368
void DomCustomWidget::setElementPixmap(const QString& a)
1373
void DomCustomWidget::setElementProperties(DomProperties* a)
1375
delete m_properties;
1379
void DomProperties::clear(bool clear_all)
1381
for (int i = 0; i < m_property.size(); ++i)
1382
delete m_property[i];
1391
DomProperties::DomProperties()
1395
DomProperties::~DomProperties()
1397
for (int i = 0; i < m_property.size(); ++i)
1398
delete m_property[i];
1402
void DomProperties::read(const QDomElement &node)
1405
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1408
QDomElement e = n.toElement();
1409
QString tag = e.tagName().toLower();
1410
if (tag == QLatin1String("property")) {
1411
DomPropertyData *v = new DomPropertyData();
1413
m_property.append(v);
1419
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1421
m_text.append(child.nodeValue());
1425
QDomElement DomProperties::write(QDomDocument &doc, const QString &tagName)
1427
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("properties") : tagName.toLower());
1431
for (int i = 0; i < m_property.size(); ++i) {
1432
DomPropertyData* v = m_property[i];
1433
QDomNode child = v->write(doc, QLatin1String("property"));
1434
e.appendChild(child);
1436
if (!m_text.isEmpty())
1437
e.appendChild(doc.createTextNode(m_text));
1442
void DomProperties::setElementProperty(const QList<DomPropertyData*>& a)
1447
void DomPropertyData::clear(bool clear_all)
1452
m_has_attr_type = false;
1457
DomPropertyData::DomPropertyData()
1459
m_has_attr_type = false;
1462
DomPropertyData::~DomPropertyData()
1466
void DomPropertyData::read(const QDomElement &node)
1468
if (node.hasAttribute(QLatin1String("type")))
1469
setAttributeType(node.attribute(QLatin1String("type")));
1471
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1474
QDomElement e = n.toElement();
1475
QString tag = e.tagName().toLower();
1479
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1481
m_text.append(child.nodeValue());
1485
QDomElement DomPropertyData::write(QDomDocument &doc, const QString &tagName)
1487
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("propertydata") : tagName.toLower());
1491
if (hasAttributeType())
1492
e.setAttribute(QLatin1String("type"), attributeType());
1494
if (!m_text.isEmpty())
1495
e.appendChild(doc.createTextNode(m_text));
1500
void DomSizePolicyData::clear(bool clear_all)
1511
DomSizePolicyData::DomSizePolicyData()
1517
DomSizePolicyData::~DomSizePolicyData()
1521
void DomSizePolicyData::read(const QDomElement &node)
1524
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1527
QDomElement e = n.toElement();
1528
QString tag = e.tagName().toLower();
1529
if (tag == QLatin1String("hordata")) {
1530
setElementHorData(e.text().toInt());
1533
if (tag == QLatin1String("verdata")) {
1534
setElementVerData(e.text().toInt());
1540
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1542
m_text.append(child.nodeValue());
1546
QDomElement DomSizePolicyData::write(QDomDocument &doc, const QString &tagName)
1548
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("sizepolicydata") : tagName.toLower());
1552
child = doc.createElement(QLatin1String("hordata"));
1553
child.appendChild(doc.createTextNode(QString::number(m_horData)));
1554
e.appendChild(child);
1556
child = doc.createElement(QLatin1String("verdata"));
1557
child.appendChild(doc.createTextNode(QString::number(m_verData)));
1558
e.appendChild(child);
1560
if (!m_text.isEmpty())
1561
e.appendChild(doc.createTextNode(m_text));
1566
void DomSizePolicyData::setElementHorData(int a)
1571
void DomSizePolicyData::setElementVerData(int a)
1576
void DomLayoutDefault::clear(bool clear_all)
1581
m_has_attr_spacing = false;
1583
m_has_attr_margin = false;
1589
DomLayoutDefault::DomLayoutDefault()
1591
m_has_attr_spacing = false;
1593
m_has_attr_margin = false;
1597
DomLayoutDefault::~DomLayoutDefault()
1601
void DomLayoutDefault::read(const QDomElement &node)
1603
if (node.hasAttribute(QLatin1String("spacing")))
1604
setAttributeSpacing(node.attribute(QLatin1String("spacing")).toInt());
1605
if (node.hasAttribute(QLatin1String("margin")))
1606
setAttributeMargin(node.attribute(QLatin1String("margin")).toInt());
1608
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1611
QDomElement e = n.toElement();
1612
QString tag = e.tagName().toLower();
1616
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1618
m_text.append(child.nodeValue());
1622
QDomElement DomLayoutDefault::write(QDomDocument &doc, const QString &tagName)
1624
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("layoutdefault") : tagName.toLower());
1628
if (hasAttributeSpacing())
1629
e.setAttribute(QLatin1String("spacing"), attributeSpacing());
1631
if (hasAttributeMargin())
1632
e.setAttribute(QLatin1String("margin"), attributeMargin());
1634
if (!m_text.isEmpty())
1635
e.appendChild(doc.createTextNode(m_text));
1640
void DomLayoutFunction::clear(bool clear_all)
1645
m_has_attr_spacing = false;
1646
m_has_attr_margin = false;
1651
DomLayoutFunction::DomLayoutFunction()
1653
m_has_attr_spacing = false;
1654
m_has_attr_margin = false;
1657
DomLayoutFunction::~DomLayoutFunction()
1661
void DomLayoutFunction::read(const QDomElement &node)
1663
if (node.hasAttribute(QLatin1String("spacing")))
1664
setAttributeSpacing(node.attribute(QLatin1String("spacing")));
1665
if (node.hasAttribute(QLatin1String("margin")))
1666
setAttributeMargin(node.attribute(QLatin1String("margin")));
1668
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1671
QDomElement e = n.toElement();
1672
QString tag = e.tagName().toLower();
1676
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1678
m_text.append(child.nodeValue());
1682
QDomElement DomLayoutFunction::write(QDomDocument &doc, const QString &tagName)
1684
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("layoutfunction") : tagName.toLower());
1688
if (hasAttributeSpacing())
1689
e.setAttribute(QLatin1String("spacing"), attributeSpacing());
1691
if (hasAttributeMargin())
1692
e.setAttribute(QLatin1String("margin"), attributeMargin());
1694
if (!m_text.isEmpty())
1695
e.appendChild(doc.createTextNode(m_text));
1700
void DomTabStops::clear(bool clear_all)
1710
DomTabStops::DomTabStops()
1714
DomTabStops::~DomTabStops()
1719
void DomTabStops::read(const QDomElement &node)
1722
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1725
QDomElement e = n.toElement();
1726
QString tag = e.tagName().toLower();
1727
if (tag == QLatin1String("tabstop")) {
1728
m_tabStop.append(e.text());
1734
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1736
m_text.append(child.nodeValue());
1740
QDomElement DomTabStops::write(QDomDocument &doc, const QString &tagName)
1742
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("tabstops") : tagName.toLower());
1746
for (int i = 0; i < m_tabStop.size(); ++i) {
1747
QString v = m_tabStop[i];
1748
QDomNode child = doc.createElement(QLatin1String("tabstop"));
1749
child.appendChild(doc.createTextNode(v));
1750
e.appendChild(child);
1752
if (!m_text.isEmpty())
1753
e.appendChild(doc.createTextNode(m_text));
1758
void DomTabStops::setElementTabStop(const QStringList& a)
1763
void DomLayout::clear(bool clear_all)
1765
for (int i = 0; i < m_property.size(); ++i)
1766
delete m_property[i];
1768
for (int i = 0; i < m_attribute.size(); ++i)
1769
delete m_attribute[i];
1770
m_attribute.clear();
1771
for (int i = 0; i < m_item.size(); ++i)
1777
m_has_attr_class = false;
1782
DomLayout::DomLayout()
1784
m_has_attr_class = false;
1787
DomLayout::~DomLayout()
1789
for (int i = 0; i < m_property.size(); ++i)
1790
delete m_property[i];
1792
for (int i = 0; i < m_attribute.size(); ++i)
1793
delete m_attribute[i];
1794
m_attribute.clear();
1795
for (int i = 0; i < m_item.size(); ++i)
1800
void DomLayout::read(const QDomElement &node)
1802
if (node.hasAttribute(QLatin1String("class")))
1803
setAttributeClass(node.attribute(QLatin1String("class")));
1805
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1808
QDomElement e = n.toElement();
1809
QString tag = e.tagName().toLower();
1810
if (tag == QLatin1String("property")) {
1811
DomProperty *v = new DomProperty();
1813
m_property.append(v);
1816
if (tag == QLatin1String("attribute")) {
1817
DomProperty *v = new DomProperty();
1819
m_attribute.append(v);
1822
if (tag == QLatin1String("item")) {
1823
DomLayoutItem *v = new DomLayoutItem();
1831
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1833
m_text.append(child.nodeValue());
1837
QDomElement DomLayout::write(QDomDocument &doc, const QString &tagName)
1839
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("layout") : tagName.toLower());
1843
if (hasAttributeClass())
1844
e.setAttribute(QLatin1String("class"), attributeClass());
1846
for (int i = 0; i < m_property.size(); ++i) {
1847
DomProperty* v = m_property[i];
1848
QDomNode child = v->write(doc, QLatin1String("property"));
1849
e.appendChild(child);
1851
for (int i = 0; i < m_attribute.size(); ++i) {
1852
DomProperty* v = m_attribute[i];
1853
QDomNode child = v->write(doc, QLatin1String("attribute"));
1854
e.appendChild(child);
1856
for (int i = 0; i < m_item.size(); ++i) {
1857
DomLayoutItem* v = m_item[i];
1858
QDomNode child = v->write(doc, QLatin1String("item"));
1859
e.appendChild(child);
1861
if (!m_text.isEmpty())
1862
e.appendChild(doc.createTextNode(m_text));
1867
void DomLayout::setElementProperty(const QList<DomProperty*>& a)
1872
void DomLayout::setElementAttribute(const QList<DomProperty*>& a)
1877
void DomLayout::setElementItem(const QList<DomLayoutItem*>& a)
1882
void DomLayoutItem::clear(bool clear_all)
1890
m_has_attr_row = false;
1892
m_has_attr_column = false;
1894
m_has_attr_rowSpan = false;
1896
m_has_attr_colSpan = false;
1907
DomLayoutItem::DomLayoutItem()
1911
m_has_attr_row = false;
1913
m_has_attr_column = false;
1915
m_has_attr_rowSpan = false;
1917
m_has_attr_colSpan = false;
1924
DomLayoutItem::~DomLayoutItem()
1931
void DomLayoutItem::read(const QDomElement &node)
1933
if (node.hasAttribute(QLatin1String("row")))
1934
setAttributeRow(node.attribute(QLatin1String("row")).toInt());
1935
if (node.hasAttribute(QLatin1String("column")))
1936
setAttributeColumn(node.attribute(QLatin1String("column")).toInt());
1937
if (node.hasAttribute(QLatin1String("rowspan")))
1938
setAttributeRowSpan(node.attribute(QLatin1String("rowspan")).toInt());
1939
if (node.hasAttribute(QLatin1String("colspan")))
1940
setAttributeColSpan(node.attribute(QLatin1String("colspan")).toInt());
1942
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
1945
QDomElement e = n.toElement();
1946
QString tag = e.tagName().toLower();
1947
if (tag == QLatin1String("widget")) {
1948
DomWidget *v = new DomWidget();
1950
setElementWidget(v);
1953
if (tag == QLatin1String("layout")) {
1954
DomLayout *v = new DomLayout();
1956
setElementLayout(v);
1959
if (tag == QLatin1String("spacer")) {
1960
DomSpacer *v = new DomSpacer();
1962
setElementSpacer(v);
1968
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
1970
m_text.append(child.nodeValue());
1974
QDomElement DomLayoutItem::write(QDomDocument &doc, const QString &tagName)
1976
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("layoutitem") : tagName.toLower());
1980
if (hasAttributeRow())
1981
e.setAttribute(QLatin1String("row"), attributeRow());
1983
if (hasAttributeColumn())
1984
e.setAttribute(QLatin1String("column"), attributeColumn());
1986
if (hasAttributeRowSpan())
1987
e.setAttribute(QLatin1String("rowspan"), attributeRowSpan());
1989
if (hasAttributeColSpan())
1990
e.setAttribute(QLatin1String("colspan"), attributeColSpan());
1994
DomWidget* v = elementWidget();
1996
QDomElement child = v->write(doc, QLatin1String("widget"));
1997
e.appendChild(child);
2002
DomLayout* v = elementLayout();
2004
QDomElement child = v->write(doc, QLatin1String("layout"));
2005
e.appendChild(child);
2010
DomSpacer* v = elementSpacer();
2012
QDomElement child = v->write(doc, QLatin1String("spacer"));
2013
e.appendChild(child);
2020
if (!m_text.isEmpty())
2021
e.appendChild(doc.createTextNode(m_text));
2026
void DomLayoutItem::setElementWidget(DomWidget* a)
2033
void DomLayoutItem::setElementLayout(DomLayout* a)
2040
void DomLayoutItem::setElementSpacer(DomSpacer* a)
2047
void DomRow::clear(bool clear_all)
2049
for (int i = 0; i < m_property.size(); ++i)
2050
delete m_property[i];
2065
for (int i = 0; i < m_property.size(); ++i)
2066
delete m_property[i];
2070
void DomRow::read(const QDomElement &node)
2073
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2076
QDomElement e = n.toElement();
2077
QString tag = e.tagName().toLower();
2078
if (tag == QLatin1String("property")) {
2079
DomProperty *v = new DomProperty();
2081
m_property.append(v);
2087
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2089
m_text.append(child.nodeValue());
2093
QDomElement DomRow::write(QDomDocument &doc, const QString &tagName)
2095
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("row") : tagName.toLower());
2099
for (int i = 0; i < m_property.size(); ++i) {
2100
DomProperty* v = m_property[i];
2101
QDomNode child = v->write(doc, QLatin1String("property"));
2102
e.appendChild(child);
2104
if (!m_text.isEmpty())
2105
e.appendChild(doc.createTextNode(m_text));
2110
void DomRow::setElementProperty(const QList<DomProperty*>& a)
2115
void DomColumn::clear(bool clear_all)
2117
for (int i = 0; i < m_property.size(); ++i)
2118
delete m_property[i];
2127
DomColumn::DomColumn()
2131
DomColumn::~DomColumn()
2133
for (int i = 0; i < m_property.size(); ++i)
2134
delete m_property[i];
2138
void DomColumn::read(const QDomElement &node)
2141
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2144
QDomElement e = n.toElement();
2145
QString tag = e.tagName().toLower();
2146
if (tag == QLatin1String("property")) {
2147
DomProperty *v = new DomProperty();
2149
m_property.append(v);
2155
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2157
m_text.append(child.nodeValue());
2161
QDomElement DomColumn::write(QDomDocument &doc, const QString &tagName)
2163
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("column") : tagName.toLower());
2167
for (int i = 0; i < m_property.size(); ++i) {
2168
DomProperty* v = m_property[i];
2169
QDomNode child = v->write(doc, QLatin1String("property"));
2170
e.appendChild(child);
2172
if (!m_text.isEmpty())
2173
e.appendChild(doc.createTextNode(m_text));
2178
void DomColumn::setElementProperty(const QList<DomProperty*>& a)
2183
void DomItem::clear(bool clear_all)
2185
for (int i = 0; i < m_property.size(); ++i)
2186
delete m_property[i];
2188
for (int i = 0; i < m_item.size(); ++i)
2204
for (int i = 0; i < m_property.size(); ++i)
2205
delete m_property[i];
2207
for (int i = 0; i < m_item.size(); ++i)
2212
void DomItem::read(const QDomElement &node)
2215
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2218
QDomElement e = n.toElement();
2219
QString tag = e.tagName().toLower();
2220
if (tag == QLatin1String("property")) {
2221
DomProperty *v = new DomProperty();
2223
m_property.append(v);
2226
if (tag == QLatin1String("item")) {
2227
DomItem *v = new DomItem();
2235
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2237
m_text.append(child.nodeValue());
2241
QDomElement DomItem::write(QDomDocument &doc, const QString &tagName)
2243
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("item") : tagName.toLower());
2247
for (int i = 0; i < m_property.size(); ++i) {
2248
DomProperty* v = m_property[i];
2249
QDomNode child = v->write(doc, QLatin1String("property"));
2250
e.appendChild(child);
2252
for (int i = 0; i < m_item.size(); ++i) {
2253
DomItem* v = m_item[i];
2254
QDomNode child = v->write(doc, QLatin1String("item"));
2255
e.appendChild(child);
2257
if (!m_text.isEmpty())
2258
e.appendChild(doc.createTextNode(m_text));
2263
void DomItem::setElementProperty(const QList<DomProperty*>& a)
2268
void DomItem::setElementItem(const QList<DomItem*>& a)
2273
void DomWidget::clear(bool clear_all)
2276
for (int i = 0; i < m_property.size(); ++i)
2277
delete m_property[i];
2279
for (int i = 0; i < m_attribute.size(); ++i)
2280
delete m_attribute[i];
2281
m_attribute.clear();
2282
for (int i = 0; i < m_row.size(); ++i)
2285
for (int i = 0; i < m_column.size(); ++i)
2288
for (int i = 0; i < m_item.size(); ++i)
2291
for (int i = 0; i < m_layout.size(); ++i)
2294
for (int i = 0; i < m_widget.size(); ++i)
2297
for (int i = 0; i < m_action.size(); ++i)
2300
for (int i = 0; i < m_actionGroup.size(); ++i)
2301
delete m_actionGroup[i];
2302
m_actionGroup.clear();
2303
for (int i = 0; i < m_addAction.size(); ++i)
2304
delete m_addAction[i];
2305
m_addAction.clear();
2309
m_has_attr_class = false;
2310
m_has_attr_name = false;
2315
DomWidget::DomWidget()
2317
m_has_attr_class = false;
2318
m_has_attr_name = false;
2321
DomWidget::~DomWidget()
2324
for (int i = 0; i < m_property.size(); ++i)
2325
delete m_property[i];
2327
for (int i = 0; i < m_attribute.size(); ++i)
2328
delete m_attribute[i];
2329
m_attribute.clear();
2330
for (int i = 0; i < m_row.size(); ++i)
2333
for (int i = 0; i < m_column.size(); ++i)
2336
for (int i = 0; i < m_item.size(); ++i)
2339
for (int i = 0; i < m_layout.size(); ++i)
2342
for (int i = 0; i < m_widget.size(); ++i)
2345
for (int i = 0; i < m_action.size(); ++i)
2348
for (int i = 0; i < m_actionGroup.size(); ++i)
2349
delete m_actionGroup[i];
2350
m_actionGroup.clear();
2351
for (int i = 0; i < m_addAction.size(); ++i)
2352
delete m_addAction[i];
2353
m_addAction.clear();
2356
void DomWidget::read(const QDomElement &node)
2358
if (node.hasAttribute(QLatin1String("class")))
2359
setAttributeClass(node.attribute(QLatin1String("class")));
2360
if (node.hasAttribute(QLatin1String("name")))
2361
setAttributeName(node.attribute(QLatin1String("name")));
2363
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2366
QDomElement e = n.toElement();
2367
QString tag = e.tagName().toLower();
2368
if (tag == QLatin1String("class")) {
2369
m_class.append(e.text());
2372
if (tag == QLatin1String("property")) {
2373
DomProperty *v = new DomProperty();
2375
m_property.append(v);
2378
if (tag == QLatin1String("attribute")) {
2379
DomProperty *v = new DomProperty();
2381
m_attribute.append(v);
2384
if (tag == QLatin1String("row")) {
2385
DomRow *v = new DomRow();
2390
if (tag == QLatin1String("column")) {
2391
DomColumn *v = new DomColumn();
2396
if (tag == QLatin1String("item")) {
2397
DomItem *v = new DomItem();
2402
if (tag == QLatin1String("layout")) {
2403
DomLayout *v = new DomLayout();
2408
if (tag == QLatin1String("widget")) {
2409
DomWidget *v = new DomWidget();
2414
if (tag == QLatin1String("action")) {
2415
DomAction *v = new DomAction();
2420
if (tag == QLatin1String("actiongroup")) {
2421
DomActionGroup *v = new DomActionGroup();
2423
m_actionGroup.append(v);
2426
if (tag == QLatin1String("addaction")) {
2427
DomActionRef *v = new DomActionRef();
2429
m_addAction.append(v);
2435
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2437
m_text.append(child.nodeValue());
2441
QDomElement DomWidget::write(QDomDocument &doc, const QString &tagName)
2443
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("widget") : tagName.toLower());
2447
if (hasAttributeClass())
2448
e.setAttribute(QLatin1String("class"), attributeClass());
2450
if (hasAttributeName())
2451
e.setAttribute(QLatin1String("name"), attributeName());
2453
for (int i = 0; i < m_class.size(); ++i) {
2454
QString v = m_class[i];
2455
QDomNode child = doc.createElement(QLatin1String("class"));
2456
child.appendChild(doc.createTextNode(v));
2457
e.appendChild(child);
2459
for (int i = 0; i < m_property.size(); ++i) {
2460
DomProperty* v = m_property[i];
2461
QDomNode child = v->write(doc, QLatin1String("property"));
2462
e.appendChild(child);
2464
for (int i = 0; i < m_attribute.size(); ++i) {
2465
DomProperty* v = m_attribute[i];
2466
QDomNode child = v->write(doc, QLatin1String("attribute"));
2467
e.appendChild(child);
2469
for (int i = 0; i < m_row.size(); ++i) {
2470
DomRow* v = m_row[i];
2471
QDomNode child = v->write(doc, QLatin1String("row"));
2472
e.appendChild(child);
2474
for (int i = 0; i < m_column.size(); ++i) {
2475
DomColumn* v = m_column[i];
2476
QDomNode child = v->write(doc, QLatin1String("column"));
2477
e.appendChild(child);
2479
for (int i = 0; i < m_item.size(); ++i) {
2480
DomItem* v = m_item[i];
2481
QDomNode child = v->write(doc, QLatin1String("item"));
2482
e.appendChild(child);
2484
for (int i = 0; i < m_layout.size(); ++i) {
2485
DomLayout* v = m_layout[i];
2486
QDomNode child = v->write(doc, QLatin1String("layout"));
2487
e.appendChild(child);
2489
for (int i = 0; i < m_widget.size(); ++i) {
2490
DomWidget* v = m_widget[i];
2491
QDomNode child = v->write(doc, QLatin1String("widget"));
2492
e.appendChild(child);
2494
for (int i = 0; i < m_action.size(); ++i) {
2495
DomAction* v = m_action[i];
2496
QDomNode child = v->write(doc, QLatin1String("action"));
2497
e.appendChild(child);
2499
for (int i = 0; i < m_actionGroup.size(); ++i) {
2500
DomActionGroup* v = m_actionGroup[i];
2501
QDomNode child = v->write(doc, QLatin1String("actiongroup"));
2502
e.appendChild(child);
2504
for (int i = 0; i < m_addAction.size(); ++i) {
2505
DomActionRef* v = m_addAction[i];
2506
QDomNode child = v->write(doc, QLatin1String("addaction"));
2507
e.appendChild(child);
2509
if (!m_text.isEmpty())
2510
e.appendChild(doc.createTextNode(m_text));
2515
void DomWidget::setElementClass(const QStringList& a)
2520
void DomWidget::setElementProperty(const QList<DomProperty*>& a)
2525
void DomWidget::setElementAttribute(const QList<DomProperty*>& a)
2530
void DomWidget::setElementRow(const QList<DomRow*>& a)
2535
void DomWidget::setElementColumn(const QList<DomColumn*>& a)
2540
void DomWidget::setElementItem(const QList<DomItem*>& a)
2545
void DomWidget::setElementLayout(const QList<DomLayout*>& a)
2550
void DomWidget::setElementWidget(const QList<DomWidget*>& a)
2555
void DomWidget::setElementAction(const QList<DomAction*>& a)
2560
void DomWidget::setElementActionGroup(const QList<DomActionGroup*>& a)
2565
void DomWidget::setElementAddAction(const QList<DomActionRef*>& a)
2570
void DomSpacer::clear(bool clear_all)
2572
for (int i = 0; i < m_property.size(); ++i)
2573
delete m_property[i];
2578
m_has_attr_name = false;
2583
DomSpacer::DomSpacer()
2585
m_has_attr_name = false;
2588
DomSpacer::~DomSpacer()
2590
for (int i = 0; i < m_property.size(); ++i)
2591
delete m_property[i];
2595
void DomSpacer::read(const QDomElement &node)
2597
if (node.hasAttribute(QLatin1String("name")))
2598
setAttributeName(node.attribute(QLatin1String("name")));
2600
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2603
QDomElement e = n.toElement();
2604
QString tag = e.tagName().toLower();
2605
if (tag == QLatin1String("property")) {
2606
DomProperty *v = new DomProperty();
2608
m_property.append(v);
2614
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2616
m_text.append(child.nodeValue());
2620
QDomElement DomSpacer::write(QDomDocument &doc, const QString &tagName)
2622
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("spacer") : tagName.toLower());
2626
if (hasAttributeName())
2627
e.setAttribute(QLatin1String("name"), attributeName());
2629
for (int i = 0; i < m_property.size(); ++i) {
2630
DomProperty* v = m_property[i];
2631
QDomNode child = v->write(doc, QLatin1String("property"));
2632
e.appendChild(child);
2634
if (!m_text.isEmpty())
2635
e.appendChild(doc.createTextNode(m_text));
2640
void DomSpacer::setElementProperty(const QList<DomProperty*>& a)
2645
void DomColor::clear(bool clear_all)
2657
DomColor::DomColor()
2664
DomColor::~DomColor()
2668
void DomColor::read(const QDomElement &node)
2671
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2674
QDomElement e = n.toElement();
2675
QString tag = e.tagName().toLower();
2676
if (tag == QLatin1String("red")) {
2677
setElementRed(e.text().toInt());
2680
if (tag == QLatin1String("green")) {
2681
setElementGreen(e.text().toInt());
2684
if (tag == QLatin1String("blue")) {
2685
setElementBlue(e.text().toInt());
2691
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2693
m_text.append(child.nodeValue());
2697
QDomElement DomColor::write(QDomDocument &doc, const QString &tagName)
2699
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("color") : tagName.toLower());
2703
child = doc.createElement(QLatin1String("red"));
2704
child.appendChild(doc.createTextNode(QString::number(m_red)));
2705
e.appendChild(child);
2707
child = doc.createElement(QLatin1String("green"));
2708
child.appendChild(doc.createTextNode(QString::number(m_green)));
2709
e.appendChild(child);
2711
child = doc.createElement(QLatin1String("blue"));
2712
child.appendChild(doc.createTextNode(QString::number(m_blue)));
2713
e.appendChild(child);
2715
if (!m_text.isEmpty())
2716
e.appendChild(doc.createTextNode(m_text));
2721
void DomColor::setElementRed(int a)
2726
void DomColor::setElementGreen(int a)
2731
void DomColor::setElementBlue(int a)
2736
void DomColorGroup::clear(bool clear_all)
2738
for (int i = 0; i < m_color.size(); ++i)
2748
DomColorGroup::DomColorGroup()
2752
DomColorGroup::~DomColorGroup()
2754
for (int i = 0; i < m_color.size(); ++i)
2759
void DomColorGroup::read(const QDomElement &node)
2762
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2765
QDomElement e = n.toElement();
2766
QString tag = e.tagName().toLower();
2767
if (tag == QLatin1String("color")) {
2768
DomColor *v = new DomColor();
2776
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2778
m_text.append(child.nodeValue());
2782
QDomElement DomColorGroup::write(QDomDocument &doc, const QString &tagName)
2784
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("colorgroup") : tagName.toLower());
2788
for (int i = 0; i < m_color.size(); ++i) {
2789
DomColor* v = m_color[i];
2790
QDomNode child = v->write(doc, QLatin1String("color"));
2791
e.appendChild(child);
2793
if (!m_text.isEmpty())
2794
e.appendChild(doc.createTextNode(m_text));
2799
void DomColorGroup::setElementColor(const QList<DomColor*>& a)
2804
void DomPalette::clear(bool clear_all)
2819
DomPalette::DomPalette()
2826
DomPalette::~DomPalette()
2833
void DomPalette::read(const QDomElement &node)
2836
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2839
QDomElement e = n.toElement();
2840
QString tag = e.tagName().toLower();
2841
if (tag == QLatin1String("active")) {
2842
DomColorGroup *v = new DomColorGroup();
2844
setElementActive(v);
2847
if (tag == QLatin1String("inactive")) {
2848
DomColorGroup *v = new DomColorGroup();
2850
setElementInactive(v);
2853
if (tag == QLatin1String("disabled")) {
2854
DomColorGroup *v = new DomColorGroup();
2856
setElementDisabled(v);
2862
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2864
m_text.append(child.nodeValue());
2868
QDomElement DomPalette::write(QDomDocument &doc, const QString &tagName)
2870
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("palette") : tagName.toLower());
2875
e.appendChild(m_active->write(doc, QLatin1String("active")));
2877
if (m_inactive != 0)
2878
e.appendChild(m_inactive->write(doc, QLatin1String("inactive")));
2880
if (m_disabled != 0)
2881
e.appendChild(m_disabled->write(doc, QLatin1String("disabled")));
2883
if (!m_text.isEmpty())
2884
e.appendChild(doc.createTextNode(m_text));
2889
void DomPalette::setElementActive(DomColorGroup* a)
2895
void DomPalette::setElementInactive(DomColorGroup* a)
2901
void DomPalette::setElementDisabled(DomColorGroup* a)
2907
void DomFont::clear(bool clear_all)
2918
m_underline = false;
2919
m_strikeOut = false;
2928
m_underline = false;
2929
m_strikeOut = false;
2936
void DomFont::read(const QDomElement &node)
2939
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
2942
QDomElement e = n.toElement();
2943
QString tag = e.tagName().toLower();
2944
if (tag == QLatin1String("family")) {
2945
setElementFamily(e.text());
2948
if (tag == QLatin1String("pointsize")) {
2949
setElementPointSize(e.text().toInt());
2952
if (tag == QLatin1String("weight")) {
2953
setElementWeight(e.text().toInt());
2956
if (tag == QLatin1String("italic")) {
2957
setElementItalic((e.text() == QLatin1String("true") ? true : false));
2960
if (tag == QLatin1String("bold")) {
2961
setElementBold((e.text() == QLatin1String("true") ? true : false));
2964
if (tag == QLatin1String("underline")) {
2965
setElementUnderline((e.text() == QLatin1String("true") ? true : false));
2968
if (tag == QLatin1String("strikeout")) {
2969
setElementStrikeOut((e.text() == QLatin1String("true") ? true : false));
2975
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
2977
m_text.append(child.nodeValue());
2981
QDomElement DomFont::write(QDomDocument &doc, const QString &tagName)
2983
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("font") : tagName.toLower());
2987
child = doc.createElement(QLatin1String("family"));
2988
child.appendChild(doc.createTextNode(m_family));
2989
e.appendChild(child);
2991
child = doc.createElement(QLatin1String("pointsize"));
2992
child.appendChild(doc.createTextNode(QString::number(m_pointSize)));
2993
e.appendChild(child);
2995
child = doc.createElement(QLatin1String("weight"));
2996
child.appendChild(doc.createTextNode(QString::number(m_weight)));
2997
e.appendChild(child);
2999
child = doc.createElement(QLatin1String("italic"));
3000
child.appendChild(doc.createTextNode((m_italic ? QLatin1String("true") : QLatin1String("false"))));
3001
e.appendChild(child);
3003
child = doc.createElement(QLatin1String("bold"));
3004
child.appendChild(doc.createTextNode((m_bold ? QLatin1String("true") : QLatin1String("false"))));
3005
e.appendChild(child);
3007
child = doc.createElement(QLatin1String("underline"));
3008
child.appendChild(doc.createTextNode((m_underline ? QLatin1String("true") : QLatin1String("false"))));
3009
e.appendChild(child);
3011
child = doc.createElement(QLatin1String("strikeout"));
3012
child.appendChild(doc.createTextNode((m_strikeOut ? QLatin1String("true") : QLatin1String("false"))));
3013
e.appendChild(child);
3015
if (!m_text.isEmpty())
3016
e.appendChild(doc.createTextNode(m_text));
3021
void DomFont::setElementFamily(const QString& a)
3026
void DomFont::setElementPointSize(int a)
3031
void DomFont::setElementWeight(int a)
3036
void DomFont::setElementItalic(bool a)
3041
void DomFont::setElementBold(bool a)
3046
void DomFont::setElementUnderline(bool a)
3051
void DomFont::setElementStrikeOut(bool a)
3056
void DomPoint::clear(bool clear_all)
3067
DomPoint::DomPoint()
3073
DomPoint::~DomPoint()
3077
void DomPoint::read(const QDomElement &node)
3080
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3083
QDomElement e = n.toElement();
3084
QString tag = e.tagName().toLower();
3085
if (tag == QLatin1String("x")) {
3086
setElementX(e.text().toInt());
3089
if (tag == QLatin1String("y")) {
3090
setElementY(e.text().toInt());
3096
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3098
m_text.append(child.nodeValue());
3102
QDomElement DomPoint::write(QDomDocument &doc, const QString &tagName)
3104
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("point") : tagName.toLower());
3108
child = doc.createElement(QLatin1String("x"));
3109
child.appendChild(doc.createTextNode(QString::number(m_x)));
3110
e.appendChild(child);
3112
child = doc.createElement(QLatin1String("y"));
3113
child.appendChild(doc.createTextNode(QString::number(m_y)));
3114
e.appendChild(child);
3116
if (!m_text.isEmpty())
3117
e.appendChild(doc.createTextNode(m_text));
3122
void DomPoint::setElementX(int a)
3127
void DomPoint::setElementY(int a)
3132
void DomRect::clear(bool clear_all)
3157
void DomRect::read(const QDomElement &node)
3160
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3163
QDomElement e = n.toElement();
3164
QString tag = e.tagName().toLower();
3165
if (tag == QLatin1String("x")) {
3166
setElementX(e.text().toInt());
3169
if (tag == QLatin1String("y")) {
3170
setElementY(e.text().toInt());
3173
if (tag == QLatin1String("width")) {
3174
setElementWidth(e.text().toInt());
3177
if (tag == QLatin1String("height")) {
3178
setElementHeight(e.text().toInt());
3184
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3186
m_text.append(child.nodeValue());
3190
QDomElement DomRect::write(QDomDocument &doc, const QString &tagName)
3192
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("rect") : tagName.toLower());
3196
child = doc.createElement(QLatin1String("x"));
3197
child.appendChild(doc.createTextNode(QString::number(m_x)));
3198
e.appendChild(child);
3200
child = doc.createElement(QLatin1String("y"));
3201
child.appendChild(doc.createTextNode(QString::number(m_y)));
3202
e.appendChild(child);
3204
child = doc.createElement(QLatin1String("width"));
3205
child.appendChild(doc.createTextNode(QString::number(m_width)));
3206
e.appendChild(child);
3208
child = doc.createElement(QLatin1String("height"));
3209
child.appendChild(doc.createTextNode(QString::number(m_height)));
3210
e.appendChild(child);
3212
if (!m_text.isEmpty())
3213
e.appendChild(doc.createTextNode(m_text));
3218
void DomRect::setElementX(int a)
3223
void DomRect::setElementY(int a)
3228
void DomRect::setElementWidth(int a)
3233
void DomRect::setElementHeight(int a)
3238
void DomSizePolicy::clear(bool clear_all)
3251
DomSizePolicy::DomSizePolicy()
3259
DomSizePolicy::~DomSizePolicy()
3263
void DomSizePolicy::read(const QDomElement &node)
3266
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3269
QDomElement e = n.toElement();
3270
QString tag = e.tagName().toLower();
3271
if (tag == QLatin1String("hsizetype")) {
3272
setElementHSizeType(e.text().toInt());
3275
if (tag == QLatin1String("vsizetype")) {
3276
setElementVSizeType(e.text().toInt());
3279
if (tag == QLatin1String("horstretch")) {
3280
setElementHorStretch(e.text().toInt());
3283
if (tag == QLatin1String("verstretch")) {
3284
setElementVerStretch(e.text().toInt());
3290
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3292
m_text.append(child.nodeValue());
3296
QDomElement DomSizePolicy::write(QDomDocument &doc, const QString &tagName)
3298
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("sizepolicy") : tagName.toLower());
3302
child = doc.createElement(QLatin1String("hsizetype"));
3303
child.appendChild(doc.createTextNode(QString::number(m_hSizeType)));
3304
e.appendChild(child);
3306
child = doc.createElement(QLatin1String("vsizetype"));
3307
child.appendChild(doc.createTextNode(QString::number(m_vSizeType)));
3308
e.appendChild(child);
3310
child = doc.createElement(QLatin1String("horstretch"));
3311
child.appendChild(doc.createTextNode(QString::number(m_horStretch)));
3312
e.appendChild(child);
3314
child = doc.createElement(QLatin1String("verstretch"));
3315
child.appendChild(doc.createTextNode(QString::number(m_verStretch)));
3316
e.appendChild(child);
3318
if (!m_text.isEmpty())
3319
e.appendChild(doc.createTextNode(m_text));
3324
void DomSizePolicy::setElementHSizeType(int a)
3329
void DomSizePolicy::setElementVSizeType(int a)
3334
void DomSizePolicy::setElementHorStretch(int a)
3339
void DomSizePolicy::setElementVerStretch(int a)
3344
void DomSize::clear(bool clear_all)
3365
void DomSize::read(const QDomElement &node)
3368
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3371
QDomElement e = n.toElement();
3372
QString tag = e.tagName().toLower();
3373
if (tag == QLatin1String("width")) {
3374
setElementWidth(e.text().toInt());
3377
if (tag == QLatin1String("height")) {
3378
setElementHeight(e.text().toInt());
3384
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3386
m_text.append(child.nodeValue());
3390
QDomElement DomSize::write(QDomDocument &doc, const QString &tagName)
3392
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("size") : tagName.toLower());
3396
child = doc.createElement(QLatin1String("width"));
3397
child.appendChild(doc.createTextNode(QString::number(m_width)));
3398
e.appendChild(child);
3400
child = doc.createElement(QLatin1String("height"));
3401
child.appendChild(doc.createTextNode(QString::number(m_height)));
3402
e.appendChild(child);
3404
if (!m_text.isEmpty())
3405
e.appendChild(doc.createTextNode(m_text));
3410
void DomSize::setElementWidth(int a)
3415
void DomSize::setElementHeight(int a)
3420
void DomDate::clear(bool clear_all)
3443
void DomDate::read(const QDomElement &node)
3446
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3449
QDomElement e = n.toElement();
3450
QString tag = e.tagName().toLower();
3451
if (tag == QLatin1String("year")) {
3452
setElementYear(e.text().toInt());
3455
if (tag == QLatin1String("month")) {
3456
setElementMonth(e.text().toInt());
3459
if (tag == QLatin1String("day")) {
3460
setElementDay(e.text().toInt());
3466
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3468
m_text.append(child.nodeValue());
3472
QDomElement DomDate::write(QDomDocument &doc, const QString &tagName)
3474
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("date") : tagName.toLower());
3478
child = doc.createElement(QLatin1String("year"));
3479
child.appendChild(doc.createTextNode(QString::number(m_year)));
3480
e.appendChild(child);
3482
child = doc.createElement(QLatin1String("month"));
3483
child.appendChild(doc.createTextNode(QString::number(m_month)));
3484
e.appendChild(child);
3486
child = doc.createElement(QLatin1String("day"));
3487
child.appendChild(doc.createTextNode(QString::number(m_day)));
3488
e.appendChild(child);
3490
if (!m_text.isEmpty())
3491
e.appendChild(doc.createTextNode(m_text));
3496
void DomDate::setElementYear(int a)
3501
void DomDate::setElementMonth(int a)
3506
void DomDate::setElementDay(int a)
3511
void DomTime::clear(bool clear_all)
3534
void DomTime::read(const QDomElement &node)
3537
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3540
QDomElement e = n.toElement();
3541
QString tag = e.tagName().toLower();
3542
if (tag == QLatin1String("hour")) {
3543
setElementHour(e.text().toInt());
3546
if (tag == QLatin1String("minute")) {
3547
setElementMinute(e.text().toInt());
3550
if (tag == QLatin1String("second")) {
3551
setElementSecond(e.text().toInt());
3557
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3559
m_text.append(child.nodeValue());
3563
QDomElement DomTime::write(QDomDocument &doc, const QString &tagName)
3565
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("time") : tagName.toLower());
3569
child = doc.createElement(QLatin1String("hour"));
3570
child.appendChild(doc.createTextNode(QString::number(m_hour)));
3571
e.appendChild(child);
3573
child = doc.createElement(QLatin1String("minute"));
3574
child.appendChild(doc.createTextNode(QString::number(m_minute)));
3575
e.appendChild(child);
3577
child = doc.createElement(QLatin1String("second"));
3578
child.appendChild(doc.createTextNode(QString::number(m_second)));
3579
e.appendChild(child);
3581
if (!m_text.isEmpty())
3582
e.appendChild(doc.createTextNode(m_text));
3587
void DomTime::setElementHour(int a)
3592
void DomTime::setElementMinute(int a)
3597
void DomTime::setElementSecond(int a)
3602
void DomDateTime::clear(bool clear_all)
3617
DomDateTime::DomDateTime()
3627
DomDateTime::~DomDateTime()
3631
void DomDateTime::read(const QDomElement &node)
3634
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3637
QDomElement e = n.toElement();
3638
QString tag = e.tagName().toLower();
3639
if (tag == QLatin1String("hour")) {
3640
setElementHour(e.text().toInt());
3643
if (tag == QLatin1String("minute")) {
3644
setElementMinute(e.text().toInt());
3647
if (tag == QLatin1String("second")) {
3648
setElementSecond(e.text().toInt());
3651
if (tag == QLatin1String("year")) {
3652
setElementYear(e.text().toInt());
3655
if (tag == QLatin1String("month")) {
3656
setElementMonth(e.text().toInt());
3659
if (tag == QLatin1String("day")) {
3660
setElementDay(e.text().toInt());
3666
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3668
m_text.append(child.nodeValue());
3672
QDomElement DomDateTime::write(QDomDocument &doc, const QString &tagName)
3674
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("datetime") : tagName.toLower());
3678
child = doc.createElement(QLatin1String("hour"));
3679
child.appendChild(doc.createTextNode(QString::number(m_hour)));
3680
e.appendChild(child);
3682
child = doc.createElement(QLatin1String("minute"));
3683
child.appendChild(doc.createTextNode(QString::number(m_minute)));
3684
e.appendChild(child);
3686
child = doc.createElement(QLatin1String("second"));
3687
child.appendChild(doc.createTextNode(QString::number(m_second)));
3688
e.appendChild(child);
3690
child = doc.createElement(QLatin1String("year"));
3691
child.appendChild(doc.createTextNode(QString::number(m_year)));
3692
e.appendChild(child);
3694
child = doc.createElement(QLatin1String("month"));
3695
child.appendChild(doc.createTextNode(QString::number(m_month)));
3696
e.appendChild(child);
3698
child = doc.createElement(QLatin1String("day"));
3699
child.appendChild(doc.createTextNode(QString::number(m_day)));
3700
e.appendChild(child);
3702
if (!m_text.isEmpty())
3703
e.appendChild(doc.createTextNode(m_text));
3708
void DomDateTime::setElementHour(int a)
3713
void DomDateTime::setElementMinute(int a)
3718
void DomDateTime::setElementSecond(int a)
3723
void DomDateTime::setElementYear(int a)
3728
void DomDateTime::setElementMonth(int a)
3733
void DomDateTime::setElementDay(int a)
3738
void DomStringList::clear(bool clear_all)
3748
DomStringList::DomStringList()
3752
DomStringList::~DomStringList()
3757
void DomStringList::read(const QDomElement &node)
3760
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3763
QDomElement e = n.toElement();
3764
QString tag = e.tagName().toLower();
3765
if (tag == QLatin1String("string")) {
3766
m_string.append(e.text());
3772
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3774
m_text.append(child.nodeValue());
3778
QDomElement DomStringList::write(QDomDocument &doc, const QString &tagName)
3780
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("stringlist") : tagName.toLower());
3784
for (int i = 0; i < m_string.size(); ++i) {
3785
QString v = m_string[i];
3786
QDomNode child = doc.createElement(QLatin1String("string"));
3787
child.appendChild(doc.createTextNode(v));
3788
e.appendChild(child);
3790
if (!m_text.isEmpty())
3791
e.appendChild(doc.createTextNode(m_text));
3796
void DomStringList::setElementString(const QStringList& a)
3801
void DomResourcePixmap::clear(bool clear_all)
3806
m_has_attr_resource = false;
3811
DomResourcePixmap::DomResourcePixmap()
3813
m_has_attr_resource = false;
3816
DomResourcePixmap::~DomResourcePixmap()
3820
void DomResourcePixmap::read(const QDomElement &node)
3822
if (node.hasAttribute(QLatin1String("resource")))
3823
setAttributeResource(node.attribute(QLatin1String("resource")));
3825
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3828
QDomElement e = n.toElement();
3829
QString tag = e.tagName().toLower();
3833
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3835
m_text.append(child.nodeValue());
3839
QDomElement DomResourcePixmap::write(QDomDocument &doc, const QString &tagName)
3841
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("resourcepixmap") : tagName.toLower());
3845
if (hasAttributeResource())
3846
e.setAttribute(QLatin1String("resource"), attributeResource());
3848
if (!m_text.isEmpty())
3849
e.appendChild(doc.createTextNode(m_text));
3854
void DomString::clear(bool clear_all)
3859
m_has_attr_notr = false;
3864
DomString::DomString()
3866
m_has_attr_notr = false;
3869
DomString::~DomString()
3873
void DomString::read(const QDomElement &node)
3875
if (node.hasAttribute(QLatin1String("notr")))
3876
setAttributeNotr(node.attribute(QLatin1String("notr")));
3878
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
3881
QDomElement e = n.toElement();
3882
QString tag = e.tagName().toLower();
3886
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
3888
m_text.append(child.nodeValue());
3892
QDomElement DomString::write(QDomDocument &doc, const QString &tagName)
3894
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("string") : tagName.toLower());
3898
if (hasAttributeNotr())
3899
e.setAttribute(QLatin1String("notr"), attributeNotr());
3901
if (!m_text.isEmpty())
3902
e.appendChild(doc.createTextNode(m_text));
3907
void DomProperty::clear(bool clear_all)
3916
delete m_sizePolicy;
3919
delete m_stringList;
3926
m_has_attr_name = false;
3927
m_has_attr_stdset = false;
3953
DomProperty::DomProperty()
3957
m_has_attr_name = false;
3958
m_has_attr_stdset = false;
3980
DomProperty::~DomProperty()
3989
delete m_sizePolicy;
3992
delete m_stringList;
3998
void DomProperty::read(const QDomElement &node)
4000
if (node.hasAttribute(QLatin1String("name")))
4001
setAttributeName(node.attribute(QLatin1String("name")));
4002
if (node.hasAttribute(QLatin1String("stdset")))
4003
setAttributeStdset(node.attribute(QLatin1String("stdset")).toInt());
4005
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
4008
QDomElement e = n.toElement();
4009
QString tag = e.tagName().toLower();
4010
if (tag == QLatin1String("bool")) {
4011
setElementBool(e.text());
4014
if (tag == QLatin1String("color")) {
4015
DomColor *v = new DomColor();
4020
if (tag == QLatin1String("cstring")) {
4021
setElementCstring(e.text());
4024
if (tag == QLatin1String("cursor")) {
4025
setElementCursor(e.text().toInt());
4028
if (tag == QLatin1String("enum")) {
4029
setElementEnum(e.text());
4032
if (tag == QLatin1String("font")) {
4033
DomFont *v = new DomFont();
4038
if (tag == QLatin1String("iconset")) {
4039
DomResourcePixmap *v = new DomResourcePixmap();
4041
setElementIconSet(v);
4044
if (tag == QLatin1String("pixmap")) {
4045
DomResourcePixmap *v = new DomResourcePixmap();
4047
setElementPixmap(v);
4050
if (tag == QLatin1String("palette")) {
4051
DomPalette *v = new DomPalette();
4053
setElementPalette(v);
4056
if (tag == QLatin1String("point")) {
4057
DomPoint *v = new DomPoint();
4062
if (tag == QLatin1String("rect")) {
4063
DomRect *v = new DomRect();
4068
if (tag == QLatin1String("set")) {
4069
setElementSet(e.text());
4072
if (tag == QLatin1String("sizepolicy")) {
4073
DomSizePolicy *v = new DomSizePolicy();
4075
setElementSizePolicy(v);
4078
if (tag == QLatin1String("size")) {
4079
DomSize *v = new DomSize();
4084
if (tag == QLatin1String("string")) {
4085
DomString *v = new DomString();
4087
setElementString(v);
4090
if (tag == QLatin1String("stringlist")) {
4091
DomStringList *v = new DomStringList();
4093
setElementStringList(v);
4096
if (tag == QLatin1String("number")) {
4097
setElementNumber(e.text().toInt());
4100
if (tag == QLatin1String("float")) {
4101
setElementFloat(e.text().toFloat());
4104
if (tag == QLatin1String("double")) {
4105
setElementDouble(e.text().toDouble());
4108
if (tag == QLatin1String("date")) {
4109
DomDate *v = new DomDate();
4114
if (tag == QLatin1String("time")) {
4115
DomTime *v = new DomTime();
4120
if (tag == QLatin1String("datetime")) {
4121
DomDateTime *v = new DomDateTime();
4123
setElementDateTime(v);
4129
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
4131
m_text.append(child.nodeValue());
4135
QDomElement DomProperty::write(QDomDocument &doc, const QString &tagName)
4137
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("property") : tagName.toLower());
4141
if (hasAttributeName())
4142
e.setAttribute(QLatin1String("name"), attributeName());
4144
if (hasAttributeStdset())
4145
e.setAttribute(QLatin1String("stdset"), attributeStdset());
4149
QDomElement child = doc.createElement("bool");
4150
QDomText text = doc.createTextNode(elementBool());
4151
child.appendChild(text);
4152
e.appendChild(child);
4156
DomColor* v = elementColor();
4158
QDomElement child = v->write(doc, QLatin1String("color"));
4159
e.appendChild(child);
4164
QDomElement child = doc.createElement("cstring");
4165
QDomText text = doc.createTextNode(elementCstring());
4166
child.appendChild(text);
4167
e.appendChild(child);
4171
QDomElement child = doc.createElement("cursor");
4172
QDomText text = doc.createTextNode(QString::number(elementCursor()));
4173
child.appendChild(text);
4174
e.appendChild(child);
4178
QDomElement child = doc.createElement("enum");
4179
QDomText text = doc.createTextNode(elementEnum());
4180
child.appendChild(text);
4181
e.appendChild(child);
4185
DomFont* v = elementFont();
4187
QDomElement child = v->write(doc, QLatin1String("font"));
4188
e.appendChild(child);
4193
DomResourcePixmap* v = elementIconSet();
4195
QDomElement child = v->write(doc, QLatin1String("iconset"));
4196
e.appendChild(child);
4201
DomResourcePixmap* v = elementPixmap();
4203
QDomElement child = v->write(doc, QLatin1String("pixmap"));
4204
e.appendChild(child);
4209
DomPalette* v = elementPalette();
4211
QDomElement child = v->write(doc, QLatin1String("palette"));
4212
e.appendChild(child);
4217
DomPoint* v = elementPoint();
4219
QDomElement child = v->write(doc, QLatin1String("point"));
4220
e.appendChild(child);
4225
DomRect* v = elementRect();
4227
QDomElement child = v->write(doc, QLatin1String("rect"));
4228
e.appendChild(child);
4233
QDomElement child = doc.createElement("set");
4234
QDomText text = doc.createTextNode(elementSet());
4235
child.appendChild(text);
4236
e.appendChild(child);
4240
DomSizePolicy* v = elementSizePolicy();
4242
QDomElement child = v->write(doc, QLatin1String("sizepolicy"));
4243
e.appendChild(child);
4248
DomSize* v = elementSize();
4250
QDomElement child = v->write(doc, QLatin1String("size"));
4251
e.appendChild(child);
4256
DomString* v = elementString();
4258
QDomElement child = v->write(doc, QLatin1String("string"));
4259
e.appendChild(child);
4264
DomStringList* v = elementStringList();
4266
QDomElement child = v->write(doc, QLatin1String("stringlist"));
4267
e.appendChild(child);
4272
QDomElement child = doc.createElement("number");
4273
QDomText text = doc.createTextNode(QString::number(elementNumber()));
4274
child.appendChild(text);
4275
e.appendChild(child);
4279
QDomElement child = doc.createElement("float");
4280
QDomText text = doc.createTextNode(QString::number(elementFloat()));
4281
child.appendChild(text);
4282
e.appendChild(child);
4286
QDomElement child = doc.createElement("double");
4287
QDomText text = doc.createTextNode(QString::number(elementDouble()));
4288
child.appendChild(text);
4289
e.appendChild(child);
4293
DomDate* v = elementDate();
4295
QDomElement child = v->write(doc, QLatin1String("date"));
4296
e.appendChild(child);
4301
DomTime* v = elementTime();
4303
QDomElement child = v->write(doc, QLatin1String("time"));
4304
e.appendChild(child);
4309
DomDateTime* v = elementDateTime();
4311
QDomElement child = v->write(doc, QLatin1String("datetime"));
4312
e.appendChild(child);
4319
if (!m_text.isEmpty())
4320
e.appendChild(doc.createTextNode(m_text));
4325
void DomProperty::setElementBool(const QString& a)
4332
void DomProperty::setElementColor(DomColor* a)
4339
void DomProperty::setElementCstring(const QString& a)
4346
void DomProperty::setElementCursor(int a)
4353
void DomProperty::setElementEnum(const QString& a)
4360
void DomProperty::setElementFont(DomFont* a)
4367
void DomProperty::setElementIconSet(DomResourcePixmap* a)
4374
void DomProperty::setElementPixmap(DomResourcePixmap* a)
4381
void DomProperty::setElementPalette(DomPalette* a)
4388
void DomProperty::setElementPoint(DomPoint* a)
4395
void DomProperty::setElementRect(DomRect* a)
4402
void DomProperty::setElementSet(const QString& a)
4409
void DomProperty::setElementSizePolicy(DomSizePolicy* a)
4412
m_kind = SizePolicy;
4416
void DomProperty::setElementSize(DomSize* a)
4423
void DomProperty::setElementString(DomString* a)
4430
void DomProperty::setElementStringList(DomStringList* a)
4433
m_kind = StringList;
4437
void DomProperty::setElementNumber(int a)
4444
void DomProperty::setElementFloat(float a)
4451
void DomProperty::setElementDouble(double a)
4458
void DomProperty::setElementDate(DomDate* a)
4465
void DomProperty::setElementTime(DomTime* a)
4472
void DomProperty::setElementDateTime(DomDateTime* a)
4479
void DomConnections::clear(bool clear_all)
4481
for (int i = 0; i < m_connection.size(); ++i)
4482
delete m_connection[i];
4483
m_connection.clear();
4491
DomConnections::DomConnections()
4495
DomConnections::~DomConnections()
4497
for (int i = 0; i < m_connection.size(); ++i)
4498
delete m_connection[i];
4499
m_connection.clear();
4502
void DomConnections::read(const QDomElement &node)
4505
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
4508
QDomElement e = n.toElement();
4509
QString tag = e.tagName().toLower();
4510
if (tag == QLatin1String("connection")) {
4511
DomConnection *v = new DomConnection();
4513
m_connection.append(v);
4519
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
4521
m_text.append(child.nodeValue());
4525
QDomElement DomConnections::write(QDomDocument &doc, const QString &tagName)
4527
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("connections") : tagName.toLower());
4531
for (int i = 0; i < m_connection.size(); ++i) {
4532
DomConnection* v = m_connection[i];
4533
QDomNode child = v->write(doc, QLatin1String("connection"));
4534
e.appendChild(child);
4536
if (!m_text.isEmpty())
4537
e.appendChild(doc.createTextNode(m_text));
4542
void DomConnections::setElementConnection(const QList<DomConnection*>& a)
4547
void DomConnection::clear(bool clear_all)
4558
DomConnection::DomConnection()
4563
DomConnection::~DomConnection()
4568
void DomConnection::read(const QDomElement &node)
4571
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
4574
QDomElement e = n.toElement();
4575
QString tag = e.tagName().toLower();
4576
if (tag == QLatin1String("sender")) {
4577
setElementSender(e.text());
4580
if (tag == QLatin1String("signal")) {
4581
setElementSignal(e.text());
4584
if (tag == QLatin1String("receiver")) {
4585
setElementReceiver(e.text());
4588
if (tag == QLatin1String("slot")) {
4589
setElementSlot(e.text());
4592
if (tag == QLatin1String("hints")) {
4593
DomConnectionHints *v = new DomConnectionHints();
4601
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
4603
m_text.append(child.nodeValue());
4607
QDomElement DomConnection::write(QDomDocument &doc, const QString &tagName)
4609
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("connection") : tagName.toLower());
4613
child = doc.createElement(QLatin1String("sender"));
4614
child.appendChild(doc.createTextNode(m_sender));
4615
e.appendChild(child);
4617
child = doc.createElement(QLatin1String("signal"));
4618
child.appendChild(doc.createTextNode(m_signal));
4619
e.appendChild(child);
4621
child = doc.createElement(QLatin1String("receiver"));
4622
child.appendChild(doc.createTextNode(m_receiver));
4623
e.appendChild(child);
4625
child = doc.createElement(QLatin1String("slot"));
4626
child.appendChild(doc.createTextNode(m_slot));
4627
e.appendChild(child);
4630
e.appendChild(m_hints->write(doc, QLatin1String("hints")));
4632
if (!m_text.isEmpty())
4633
e.appendChild(doc.createTextNode(m_text));
4638
void DomConnection::setElementSender(const QString& a)
4643
void DomConnection::setElementSignal(const QString& a)
4648
void DomConnection::setElementReceiver(const QString& a)
4653
void DomConnection::setElementSlot(const QString& a)
4658
void DomConnection::setElementHints(DomConnectionHints* a)
4664
void DomConnectionHints::clear(bool clear_all)
4666
for (int i = 0; i < m_hint.size(); ++i)
4676
DomConnectionHints::DomConnectionHints()
4680
DomConnectionHints::~DomConnectionHints()
4682
for (int i = 0; i < m_hint.size(); ++i)
4687
void DomConnectionHints::read(const QDomElement &node)
4690
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
4693
QDomElement e = n.toElement();
4694
QString tag = e.tagName().toLower();
4695
if (tag == QLatin1String("hint")) {
4696
DomConnectionHint *v = new DomConnectionHint();
4704
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
4706
m_text.append(child.nodeValue());
4710
QDomElement DomConnectionHints::write(QDomDocument &doc, const QString &tagName)
4712
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("connectionhints") : tagName.toLower());
4716
for (int i = 0; i < m_hint.size(); ++i) {
4717
DomConnectionHint* v = m_hint[i];
4718
QDomNode child = v->write(doc, QLatin1String("hint"));
4719
e.appendChild(child);
4721
if (!m_text.isEmpty())
4722
e.appendChild(doc.createTextNode(m_text));
4727
void DomConnectionHints::setElementHint(const QList<DomConnectionHint*>& a)
4732
void DomConnectionHint::clear(bool clear_all)
4737
m_has_attr_type = false;
4744
DomConnectionHint::DomConnectionHint()
4746
m_has_attr_type = false;
4751
DomConnectionHint::~DomConnectionHint()
4755
void DomConnectionHint::read(const QDomElement &node)
4757
if (node.hasAttribute(QLatin1String("type")))
4758
setAttributeType(node.attribute(QLatin1String("type")));
4760
for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) {
4763
QDomElement e = n.toElement();
4764
QString tag = e.tagName().toLower();
4765
if (tag == QLatin1String("x")) {
4766
setElementX(e.text().toInt());
4769
if (tag == QLatin1String("y")) {
4770
setElementY(e.text().toInt());
4776
for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) {
4778
m_text.append(child.nodeValue());
4782
QDomElement DomConnectionHint::write(QDomDocument &doc, const QString &tagName)
4784
QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromLatin1("connectionhint") : tagName.toLower());
4788
if (hasAttributeType())
4789
e.setAttribute(QLatin1String("type"), attributeType());
4791
child = doc.createElement(QLatin1String("x"));
4792
child.appendChild(doc.createTextNode(QString::number(m_x)));
4793
e.appendChild(child);
4795
child = doc.createElement(QLatin1String("y"));
4796
child.appendChild(doc.createTextNode(QString::number(m_y)));
4797
e.appendChild(child);
4799
if (!m_text.isEmpty())
4800
e.appendChild(doc.createTextNode(m_text));
4805
void DomConnectionHint::setElementX(int a)
4810
void DomConnectionHint::setElementY(int a)