6 #include <QColorDialog>
8 #include <QInputDialog>
11 #include <QXmlStreamWriter>
15 #include "XmlStackedHandlerReader.h"
48 xmlReader->pushContentHandler(
new XmlHandler(
this));
98 emit supportAdded(prop);
136 while (red + green + blue < 300) {
138 green = rand() % 256;
142 return QColor(red, green, blue, 60);
153 stream.writeStartElement(
"displayProperties");
155 stream.writeAttribute(
"displayName",
displayName());
159 dataBuffer.open(QIODevice::ReadWrite);
160 QDataStream propsStream(&dataBuffer);
164 stream.writeCharacters(dataBuffer.data().toHex());
166 stream.writeEndElement();
209 foreach (display, displays) {
221 m_displayProperties = displayProperties;
236 const QString &localName,
const QString &qName,
const QXmlAttributes &atts) {
237 if (XmlStackedHandler::startElement(namespaceURI, localName, qName, atts)) {
238 if (localName ==
"displayProperties") {
241 if (!displayName.isEmpty()) {
242 m_displayProperties->setDisplayName(displayName);
264 return XmlStackedHandler::characters(ch);
281 const QString &localName,
const QString &qName) {
282 if (localName ==
"displayProperties") {
283 QByteArray hexValues(m_hexData.toLatin1());
284 QDataStream valuesStream(QByteArray::fromHex(hexValues));
285 valuesStream >> *m_displayProperties->m_propertyValues;
288 return XmlStackedHandler::endElement(namespaceURI, localName, qName);
301 (*m_propertyValues)[prop] = value;
304 emit propertyChanged(
this);
323 QVariant callerData = caller->data();
QVariant getValue(Property prop) const
Get a property's associated data.
This class is designed to serialize QColor in a human-readable form.
The main project for cnetsuite.
File name manipulation and expansion.
bool supports(Property prop)
Support for this may come later.
Property m_propertiesUsed
This indicated whether any widgets with this DisplayProperties is using a particular property...
virtual ~ShapeDisplayProperties()
The destructor.
This class is used for processing an XML file containing information about a WorkOrder.
This is the GUI communication mechanism for shape objects.
static QColor randomColor()
Creates and returns a random color for the initial color of the footprint polygon.
void setShowLabel(bool)
Change the visibility of the display name associated with this shape.
True if the control net should show its display name (bool)
void setSelected(bool)
Change the selected state associated with this shape.
QString displayName() const
Returns the display name.
virtual bool characters(const QString &ch)
This implementation of a virtual function calls QXmlDefaultHandler::characters(QString &ch) which in ...
void setColor(QColor newColor)
Change the color associated with this shape.
void addSupport(Property prop)
Convert to Pvl for project files.
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves this object to an XML file.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
This overrides the parent startElement function in XmlStackedHandler so the parser can handle an XML ...
Null display property for bit-flag purposes.
ShapeDisplayProperties(QString displayName, QObject *parent=NULL)
ShapeDisplayProperties constructor.
The selection state of this control net (bool)
Property
This is a list of properties and actions that are possible.
QMap< int, QVariant > * m_propertyValues
This is a map from Property to value – the reason I use an int is so Qt knows how to serialize this Q...
his enables stack-based XML parsing of XML files.
static QList< ShapeDisplayProperties * > senderToData(QObject *sender)
This is for the slots that have a list of display properties as associated data.
XmlHandler(ShapeDisplayProperties *displayProperties)
Constructor for the XmlHandler class.
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
The XML reader invokes this method at the end of every element in the XML document.