6 #include <QColorDialog> 8 #include <QInputDialog> 11 #include <QXmlStreamWriter> 15 #include "XmlStackedHandlerReader.h" 71 emit supportAdded(prop);
109 while (red + green + blue < 300) {
111 green = rand() % 256;
115 return QColor(red, green, blue, 60);
126 stream.writeStartElement(
"displayProperties");
128 stream.writeAttribute(
"displayName",
displayName());
132 dataBuffer.open(QIODevice::ReadWrite);
133 QDataStream propsStream(&dataBuffer);
137 stream.writeCharacters(dataBuffer.data().toHex());
139 stream.writeEndElement();
184 foreach (display, displays) {
198 m_displayProperties = displayProperties;
213 const QString &localName,
const QString &qName,
const QXmlAttributes &atts) {
214 if (XmlStackedHandler::startElement(namespaceURI, localName, qName, atts)) {
215 if (localName ==
"displayProperties") {
243 return XmlStackedHandler::characters(ch);
260 const QString &localName,
const QString &qName) {
261 if (localName ==
"displayProperties") {
262 QByteArray hexValues(m_hexData.toLatin1());
263 QDataStream valuesStream(QByteArray::fromHex(hexValues));
264 valuesStream >> *m_displayProperties->m_propertyValues;
267 return XmlStackedHandler::endElement(namespaceURI, localName, qName);
282 (*m_propertyValues)[prop] = value;
285 emit propertyChanged(
this);
306 QVariant callerData = caller->data();
This class is designed to serialize QColor in a human-readable form.
The main project for ipce.
File name manipulation and expansion.
QVariant getValue(Property prop) const
Get a property's associated data.
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.
QString displayName() const
Returns the display name.
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.
void toggleShowLabel()
Change the visibility of the display name.
True if the control net should show its display name (bool)
void setSelected(bool)
Change the selected state associated with this shape.
virtual void pushContentHandler(XmlStackedHandler *newHandler)
Push a contentHandler and maybe continue parsing...
virtual bool characters(const QString &ch)
This is called when the XML processor has parsed a chunk of character data.
void setColor(QColor newColor)
Change the color associated with this shape.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves this object to an XML file.
void addSupport(Property prop)
Call this with every property you support, otherwise they will not communicate properly between widge...
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
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.
Namespace for ISIS/Bullet specific routines.
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 ...
Manage a stack of content handlers for reading XML files.
static QList< ShapeDisplayProperties * > senderToData(QObject *sender)
Get the display properties from a slot.
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.