1#include "ShapeDisplayProperties.h"
11#include <QXmlStreamWriter>
57 emit supportAdded(prop);
95 while (red + green + blue < 300) {
101 return QColor(red, green, blue, 60);
112 stream.writeStartElement(
"displayProperties");
114 stream.writeAttribute(
"displayName",
displayName());
118 dataBuffer.open(QIODevice::ReadWrite);
119 QDataStream propsStream(&dataBuffer);
123 stream.writeCharacters(dataBuffer.data().toHex());
125 stream.writeEndElement();
164 QList<ShapeDisplayProperties *> displays =
senderToData(sender());
170 foreach (display, displays) {
186 (*m_propertyValues)[prop] = value;
189 emit propertyChanged(
this);
206 QList<ShapeDisplayProperties *> data;
210 QVariant callerData = caller->data();
212 if (callerData.canConvert< QList<ShapeDisplayProperties *> >() ) {
213 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 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.
This is free and unencumbered software released into the public domain.