📄 ui4.cpp
字号:
v->read(e); m_property.append(v); continue; } if (tag == QLatin1String("attribute")) { DomProperty *v = new DomProperty(); v->read(e); m_attribute.append(v); continue; } if (tag == QLatin1String("item")) { DomLayoutItem *v = new DomLayoutItem(); v->read(e); m_item.append(v); continue; } } m_text.clear(); for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) { if (child.isText()) m_text.append(child.nodeValue()); }}QDomElement DomLayout::write(QDomDocument &doc, const QString &tagName) const{ QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromUtf8("layout") : tagName.toLower()); QDomElement child; if (hasAttributeClass()) e.setAttribute(QLatin1String("class"), attributeClass()); for (int i = 0; i < m_property.size(); ++i) { DomProperty* v = m_property[i]; QDomNode child = v->write(doc, QLatin1String("property")); e.appendChild(child); } for (int i = 0; i < m_attribute.size(); ++i) { DomProperty* v = m_attribute[i]; QDomNode child = v->write(doc, QLatin1String("attribute")); e.appendChild(child); } for (int i = 0; i < m_item.size(); ++i) { DomLayoutItem* v = m_item[i]; QDomNode child = v->write(doc, QLatin1String("item")); e.appendChild(child); } if (!m_text.isEmpty()) e.appendChild(doc.createTextNode(m_text)); return e;}void DomLayout::setElementProperty(const QList<DomProperty*>& a){ m_property = a;}void DomLayout::setElementAttribute(const QList<DomProperty*>& a){ m_attribute = a;}void DomLayout::setElementItem(const QList<DomLayoutItem*>& a){ m_item = a;}void DomLayoutItem::clear(bool clear_all){ delete m_widget; delete m_layout; delete m_spacer; if (clear_all) { m_text = QString(); m_has_attr_row = false; m_attr_row = 0; m_has_attr_column = false; m_attr_column = 0; m_has_attr_rowSpan = false; m_attr_rowSpan = 0; m_has_attr_colSpan = false; m_attr_colSpan = 0; } m_kind = Unknown; m_widget = 0; m_layout = 0; m_spacer = 0;}DomLayoutItem::DomLayoutItem(){ m_kind = Unknown; m_has_attr_row = false; m_attr_row = 0; m_has_attr_column = false; m_attr_column = 0; m_has_attr_rowSpan = false; m_attr_rowSpan = 0; m_has_attr_colSpan = false; m_attr_colSpan = 0; m_widget = 0; m_layout = 0; m_spacer = 0;}DomLayoutItem::~DomLayoutItem(){ delete m_widget; delete m_layout; delete m_spacer;}void DomLayoutItem::read(const QDomElement &node){ if (node.hasAttribute(QLatin1String("row"))) setAttributeRow(node.attribute(QLatin1String("row")).toInt()); if (node.hasAttribute(QLatin1String("column"))) setAttributeColumn(node.attribute(QLatin1String("column")).toInt()); if (node.hasAttribute(QLatin1String("rowspan"))) setAttributeRowSpan(node.attribute(QLatin1String("rowspan")).toInt()); if (node.hasAttribute(QLatin1String("colspan"))) setAttributeColSpan(node.attribute(QLatin1String("colspan")).toInt()); for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) { if (!n.isElement()) continue; QDomElement e = n.toElement(); QString tag = e.tagName().toLower(); if (tag == QLatin1String("widget")) { DomWidget *v = new DomWidget(); v->read(e); setElementWidget(v); continue; } if (tag == QLatin1String("layout")) { DomLayout *v = new DomLayout(); v->read(e); setElementLayout(v); continue; } if (tag == QLatin1String("spacer")) { DomSpacer *v = new DomSpacer(); v->read(e); setElementSpacer(v); continue; } } m_text.clear(); for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) { if (child.isText()) m_text.append(child.nodeValue()); }}QDomElement DomLayoutItem::write(QDomDocument &doc, const QString &tagName) const{ QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromUtf8("layoutitem") : tagName.toLower()); QDomElement child; if (hasAttributeRow()) e.setAttribute(QLatin1String("row"), attributeRow()); if (hasAttributeColumn()) e.setAttribute(QLatin1String("column"), attributeColumn()); if (hasAttributeRowSpan()) e.setAttribute(QLatin1String("rowspan"), attributeRowSpan()); if (hasAttributeColSpan()) e.setAttribute(QLatin1String("colspan"), attributeColSpan()); switch(kind()) { case Widget: { DomWidget* v = elementWidget(); if (v != 0) { QDomElement child = v->write(doc, QLatin1String("widget")); e.appendChild(child); } break; } case Layout: { DomLayout* v = elementLayout(); if (v != 0) { QDomElement child = v->write(doc, QLatin1String("layout")); e.appendChild(child); } break; } case Spacer: { DomSpacer* v = elementSpacer(); if (v != 0) { QDomElement child = v->write(doc, QLatin1String("spacer")); e.appendChild(child); } break; } default: break; } if (!m_text.isEmpty()) e.appendChild(doc.createTextNode(m_text)); return e;}void DomLayoutItem::setElementWidget(DomWidget* a){ clear(false); m_kind = Widget; m_widget = a;}void DomLayoutItem::setElementLayout(DomLayout* a){ clear(false); m_kind = Layout; m_layout = a;}void DomLayoutItem::setElementSpacer(DomSpacer* a){ clear(false); m_kind = Spacer; m_spacer = a;}void DomRow::clear(bool clear_all){ for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear(); if (clear_all) { m_text = QString(); }}DomRow::DomRow(){}DomRow::~DomRow(){ for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear();}void DomRow::read(const QDomElement &node){ for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) { if (!n.isElement()) continue; QDomElement e = n.toElement(); QString tag = e.tagName().toLower(); if (tag == QLatin1String("property")) { DomProperty *v = new DomProperty(); v->read(e); m_property.append(v); continue; } } m_text.clear(); for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) { if (child.isText()) m_text.append(child.nodeValue()); }}QDomElement DomRow::write(QDomDocument &doc, const QString &tagName) const{ QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromUtf8("row") : tagName.toLower()); QDomElement child; for (int i = 0; i < m_property.size(); ++i) { DomProperty* v = m_property[i]; QDomNode child = v->write(doc, QLatin1String("property")); e.appendChild(child); } if (!m_text.isEmpty()) e.appendChild(doc.createTextNode(m_text)); return e;}void DomRow::setElementProperty(const QList<DomProperty*>& a){ m_property = a;}void DomColumn::clear(bool clear_all){ for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear(); if (clear_all) { m_text = QString(); }}DomColumn::DomColumn(){}DomColumn::~DomColumn(){ for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear();}void DomColumn::read(const QDomElement &node){ for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) { if (!n.isElement()) continue; QDomElement e = n.toElement(); QString tag = e.tagName().toLower(); if (tag == QLatin1String("property")) { DomProperty *v = new DomProperty(); v->read(e); m_property.append(v); continue; } } m_text.clear(); for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) { if (child.isText()) m_text.append(child.nodeValue()); }}QDomElement DomColumn::write(QDomDocument &doc, const QString &tagName) const{ QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromUtf8("column") : tagName.toLower()); QDomElement child; for (int i = 0; i < m_property.size(); ++i) { DomProperty* v = m_property[i]; QDomNode child = v->write(doc, QLatin1String("property")); e.appendChild(child); } if (!m_text.isEmpty()) e.appendChild(doc.createTextNode(m_text)); return e;}void DomColumn::setElementProperty(const QList<DomProperty*>& a){ m_property = a;}void DomItem::clear(bool clear_all){ for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear(); for (int i = 0; i < m_item.size(); ++i) delete m_item[i]; m_item.clear(); if (clear_all) { m_text = QString(); m_has_attr_row = false; m_attr_row = 0; m_has_attr_column = false; m_attr_column = 0; }}DomItem::DomItem(){ m_has_attr_row = false; m_attr_row = 0; m_has_attr_column = false; m_attr_column = 0;}DomItem::~DomItem(){ for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear(); for (int i = 0; i < m_item.size(); ++i) delete m_item[i]; m_item.clear();}void DomItem::read(const QDomElement &node){ if (node.hasAttribute(QLatin1String("row"))) setAttributeRow(node.attribute(QLatin1String("row")).toInt()); if (node.hasAttribute(QLatin1String("column"))) setAttributeColumn(node.attribute(QLatin1String("column")).toInt()); for (QDomNode n = node.firstChild(); !n.isNull(); n = n.nextSibling()) { if (!n.isElement()) continue; QDomElement e = n.toElement(); QString tag = e.tagName().toLower(); if (tag == QLatin1String("property")) { DomProperty *v = new DomProperty(); v->read(e); m_property.append(v); continue; } if (tag == QLatin1String("item")) { DomItem *v = new DomItem(); v->read(e); m_item.append(v); continue; } } m_text.clear(); for (QDomNode child = node.firstChild(); !child.isNull(); child = child.nextSibling()) { if (child.isText()) m_text.append(child.nodeValue()); }}QDomElement DomItem::write(QDomDocument &doc, const QString &tagName) const{ QDomElement e = doc.createElement(tagName.isEmpty() ? QString::fromUtf8("item") : tagName.toLower()); QDomElement child; if (hasAttributeRow()) e.setAttribute(QLatin1String("row"), attributeRow()); if (hasAttributeColumn()) e.setAttribute(QLatin1String("column"), attributeColumn()); for (int i = 0; i < m_property.size(); ++i) { DomProperty* v = m_property[i]; QDomNode child = v->write(doc, QLatin1String("property")); e.appendChild(child); } for (int i = 0; i < m_item.size(); ++i) { DomItem* v = m_item[i]; QDomNode child = v->write(doc, QLatin1String("item")); e.appendChild(child); } if (!m_text.isEmpty()) e.appendChild(doc.createTextNode(m_text)); return e;}void DomItem::setElementProperty(const QList<DomProperty*>& a){ m_property = a;}void DomItem::setElementItem(const QList<DomItem*>& a){ m_item = a;}void DomWidget::clear(bool clear_all){ m_class.clear(); for (int i = 0; i < m_property.size(); ++i) delete m_property[i]; m_property.clear(); for (int i = 0; i < m_script.size(); ++i) delete m_script[i]; m_script.clear(); for (int i = 0; i < m_widgetData.size(); ++i) delete m_widgetData[i]; m_widgetData.clear(); for (int i = 0; i < m_attribute.size(); ++i) delete m_attribute[i]; m_attribute.clear(); for (int i = 0; i < m_row.size(); ++i) delete m_row[i]; m_row.clear(); for (int i = 0; i < m_column.size(); ++i) delete m_column[i]; m_column.clear(); for (int i = 0; i < m_item.size(); ++i) delete m_item[i]; m_item.clear(); for (int i = 0; i < m_layout.size(); ++i) delete m_layout[i]; m_layout.clear(); for (int i = 0; i < m_widget.size(); ++i) delete m_widget[i]; m_widget.clear(); for (int i = 0; i < m_action.size(); ++i) delete m_action[i]; m_action.clear(); for (int i = 0; i < m_actionGroup.size(); ++i) delete m_actionGroup[i]; m_actionGroup.clear(); for (int i = 0; i < m_addAction.size(); ++i) delete m_addAction[i]; m_addAction.clear(); if (clear_all) { m_text = QString(); m_has_attr_class = false; m_has_attr_name = false; m_has_attr_native = false; m_att
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -