From 361a4c1994380b5eaf885407aa2137db2608c6e6 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 14 Oct 2015 19:29:24 +0200 Subject: uic: updates from running generate_ui (as of qttools:9ed1cfb27d7354cbc1020563569b8f65a3311303) Change-Id: I2f539d2a20428cf167c04ea9f5881b1f5d58beb0 Reviewed-by: Friedemann Kleint --- src/tools/uic/ui4.cpp | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/tools/uic/ui4.h | 40 +++++++++++++++++++++++- 2 files changed, 125 insertions(+), 1 deletion(-) diff --git a/src/tools/uic/ui4.cpp b/src/tools/uic/ui4.cpp index d765368367..6779dbf9e7 100644 --- a/src/tools/uic/ui4.cpp +++ b/src/tools/uic/ui4.cpp @@ -8776,6 +8776,8 @@ void DomSlots::setElementSlot(const QStringList& a) void DomPropertySpecifications::clear(bool clear_all) { + qDeleteAll(m_tooltip); + m_tooltip.clear(); qDeleteAll(m_stringpropertyspecification); m_stringpropertyspecification.clear(); @@ -8793,6 +8795,8 @@ DomPropertySpecifications::DomPropertySpecifications() DomPropertySpecifications::~DomPropertySpecifications() { + qDeleteAll(m_tooltip); + m_tooltip.clear(); qDeleteAll(m_stringpropertyspecification); m_stringpropertyspecification.clear(); } @@ -8804,6 +8808,12 @@ void DomPropertySpecifications::read(QXmlStreamReader &reader) switch (reader.readNext()) { case QXmlStreamReader::StartElement : { const QString tag = reader.name().toString().toLower(); + if (tag == QLatin1String("tooltip")) { + DomPropertyToolTip *v = new DomPropertyToolTip(); + v->read(reader); + m_tooltip.append(v); + continue; + } if (tag == QLatin1String("stringpropertyspecification")) { DomStringPropertySpecification *v = new DomStringPropertySpecification(); v->read(reader); @@ -8830,6 +8840,10 @@ void DomPropertySpecifications::write(QXmlStreamWriter &writer, const QString &t { writer.writeStartElement(tagName.isEmpty() ? QString::fromUtf8("propertyspecifications") : tagName.toLower()); + for (int i = 0; i < m_tooltip.size(); ++i) { + DomPropertyToolTip* v = m_tooltip[i]; + v->write(writer, QStringLiteral("tooltip")); + } for (int i = 0; i < m_stringpropertyspecification.size(); ++i) { DomStringPropertySpecification* v = m_stringpropertyspecification[i]; v->write(writer, QStringLiteral("stringpropertyspecification")); @@ -8840,12 +8854,84 @@ void DomPropertySpecifications::write(QXmlStreamWriter &writer, const QString &t writer.writeEndElement(); } +void DomPropertySpecifications::setElementTooltip(const QList& a) +{ + m_children |= Tooltip; + m_tooltip = a; +} + void DomPropertySpecifications::setElementStringpropertyspecification(const QList& a) { m_children |= Stringpropertyspecification; m_stringpropertyspecification = a; } +void DomPropertyToolTip::clear(bool clear_all) +{ + + if (clear_all) { + m_text.clear(); + m_has_attr_name = false; + } + + m_children = 0; +} + +DomPropertyToolTip::DomPropertyToolTip() +{ + m_children = 0; + m_has_attr_name = false; +} + +DomPropertyToolTip::~DomPropertyToolTip() +{ +} + +void DomPropertyToolTip::read(QXmlStreamReader &reader) +{ + + foreach (const QXmlStreamAttribute &attribute, reader.attributes()) { + QStringRef name = attribute.name(); + if (name == QLatin1String("name")) { + setAttributeName(attribute.value().toString()); + continue; + } + reader.raiseError(QStringLiteral("Unexpected attribute ") + name.toString()); + } + + for (bool finished = false; !finished && !reader.hasError();) { + switch (reader.readNext()) { + case QXmlStreamReader::StartElement : { + const QString tag = reader.name().toString().toLower(); + reader.raiseError(QStringLiteral("Unexpected element ") + tag); + } + break; + case QXmlStreamReader::EndElement : + finished = true; + break; + case QXmlStreamReader::Characters : + if (!reader.isWhitespace()) + m_text.append(reader.text().toString()); + break; + default : + break; + } + } +} + +void DomPropertyToolTip::write(QXmlStreamWriter &writer, const QString &tagName) const +{ + writer.writeStartElement(tagName.isEmpty() ? QString::fromUtf8("propertytooltip") : tagName.toLower()); + + if (hasAttributeName()) + writer.writeAttribute(QStringLiteral("name"), attributeName()); + + if (!m_text.isEmpty()) + writer.writeCharacters(m_text); + + writer.writeEndElement(); +} + void DomStringPropertySpecification::clear(bool clear_all) { diff --git a/src/tools/uic/ui4.h b/src/tools/uic/ui4.h index 60685c9111..1e5bcbf0ab 100644 --- a/src/tools/uic/ui4.h +++ b/src/tools/uic/ui4.h @@ -144,6 +144,7 @@ class DomWidgetData; class DomDesignerData; class DomSlots; class DomPropertySpecifications; +class DomPropertyToolTip; class DomStringPropertySpecification; /******************************************************************************* @@ -3541,6 +3542,9 @@ public: // attribute accessors // child element accessors + inline QList elementTooltip() const { return m_tooltip; } + void setElementTooltip(const QList& a); + inline QList elementStringpropertyspecification() const { return m_stringpropertyspecification; } void setElementStringpropertyspecification(const QList& a); @@ -3551,15 +3555,49 @@ private: // attribute data // child element data uint m_children; + QList m_tooltip; QList m_stringpropertyspecification; enum Child { - Stringpropertyspecification = 1 + Tooltip = 1, + Stringpropertyspecification = 2 }; DomPropertySpecifications(const DomPropertySpecifications &other); void operator = (const DomPropertySpecifications&other); }; +class QDESIGNER_UILIB_EXPORT DomPropertyToolTip { +public: + DomPropertyToolTip(); + ~DomPropertyToolTip(); + + void read(QXmlStreamReader &reader); + void write(QXmlStreamWriter &writer, const QString &tagName = QString()) const; + inline QString text() const { return m_text; } + inline void setText(const QString &s) { m_text = s; } + + // attribute accessors + inline bool hasAttributeName() const { return m_has_attr_name; } + inline QString attributeName() const { return m_attr_name; } + inline void setAttributeName(const QString& a) { m_attr_name = a; m_has_attr_name = true; } + inline void clearAttributeName() { m_has_attr_name = false; } + + // child element accessors +private: + QString m_text; + void clear(bool clear_all = true); + + // attribute data + QString m_attr_name; + bool m_has_attr_name; + + // child element data + uint m_children; + + DomPropertyToolTip(const DomPropertyToolTip &other); + void operator = (const DomPropertyToolTip&other); +}; + class QDESIGNER_UILIB_EXPORT DomStringPropertySpecification { public: DomStringPropertySpecification(); -- cgit v1.2.3