1#include "ShapeDisplayProperties.h" 
   11#include <QXmlStreamWriter> 
   15#include "XmlStackedHandlerReader.h" 
   49    xmlReader->pushContentHandler(
new XmlHandler(
this));
 
 
   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();
 
 
  178    QList<ShapeDisplayProperties *> displays = 
senderToData(sender());
 
  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);
 
 
  302    QList<ShapeDisplayProperties *> data;
 
  306      QVariant callerData = caller->data();
 
  308      if (callerData.canConvert< QList<ShapeDisplayProperties *> >() ) {
 
  309        data = callerData.value< QList<ShapeDisplayProperties *> >();
 
 
This class is designed to serialize QColor in a human-readable form.
 
QString displayName() const
Returns the display name.
 
File name manipulation and expansion.
 
The main project for ipce.
 
This class is used for processing an XML file containing information about a WorkOrder.
 
XmlHandler(ShapeDisplayProperties *displayProperties)
Constructor for the XmlHandler class.
 
virtual bool characters(const QString &ch)
This is called when the XML processor has parsed a chunk of character data.
 
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.
 
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 ...
 
This is the GUI communication mechanism for shape objects.
 
bool supports(Property prop)
Support for this may come later.
 
static QColor randomColor()
Creates and returns a random color for the initial color of the footprint polygon.
 
virtual ~ShapeDisplayProperties()
The destructor.
 
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
 
Property
This is a list of properties and actions that are possible.
 
@ None
Null display property for bit-flag purposes.
 
@ Selected
The selection state of this control net (bool)
 
@ ShowLabel
True if the control net should show its display name (bool)
 
void setColor(QColor newColor)
Change the color associated with this shape.
 
Property m_propertiesUsed
This indicated whether any widgets with this DisplayProperties is using a particular property.
 
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...
 
QVariant getValue(Property prop) const
Get a property's associated data.
 
void setShowLabel(bool)
Change the visibility of the display name 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...
 
static QList< ShapeDisplayProperties * > senderToData(QObject *sender)
Get the display properties from a slot.
 
void setSelected(bool)
Change the selected state associated with this shape.
 
void toggleShowLabel()
Change the visibility of the display name.
 
ShapeDisplayProperties(QString displayName, QObject *parent=NULL)
ShapeDisplayProperties constructor.
 
Manage a stack of content handlers for reading XML files.
 
This is free and unencumbered software released into the public domain.