Isis 3 Programmer Reference
GuiCameraDisplayProperties.h
Go to the documentation of this file.
1#ifndef GuiCameraDisplayProperties_H
2#define GuiCameraDisplayProperties_H
25#include <QColor> // This is required since QColor is in a slot
26#include <QObject>
27#include <QMetaType> // required since we're adding to QVariant
28
29
30#include "DisplayProperties.h"
31#include "XmlStackedHandler.h"
32
33class QAction;
34class QXmlStreamWriter;
35
36namespace Isis {
37 class FileName;
38 class Project;
39 class Pvl;
40 class PvlObject;
41 class XmlStackedHandlerReader;
42
77 Q_OBJECT
78 public:
82 enum Property {
84 None = 0,
86 Color = 1,
91 };
92
93
94 GuiCameraDisplayProperties(QString displayName, QObject *parent = NULL);
97
98// void fromPvl(const PvlObject &pvl);
99// PvlObject toPvl() const;
100
101 void addSupport(Property prop);
102 bool supports(Property prop);
103
104 QVariant getValue(Property prop) const;
105
106 static QColor randomColor();
107
108 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
109
110 signals:
111 void propertyChanged(GuiCameraDisplayProperties *);
112 void supportAdded(Property);
113
114 public slots:
115 void setColor(QColor newColor);
116 void setShowLabel(bool);
117 void setSelected(bool);
118
119 private slots:
120 void toggleShowLabel();
121
122 private:
141 public:
142 XmlHandler(GuiCameraDisplayProperties *displayProperties);
143
144 virtual bool startElement(const QString &namespaceURI, const QString &localName,
145 const QString &qName, const QXmlAttributes &atts);
146
147 virtual bool characters(const QString &ch);
148
149 virtual bool endElement(const QString &namespaceURI, const QString &localName,
150 const QString &qName);
151
152 private:
153 Q_DISABLE_COPY(XmlHandler);
154
159
164 QString m_hexData;
165 };
166
167 private:
170
171 void setValue(Property prop, QVariant value);
172 static QList<GuiCameraDisplayProperties *> senderToData(QObject *sender);
173
180
185 QMap<int, QVariant> *m_propertyValues;
186 };
187}
188
189Q_DECLARE_METATYPE(QList<Isis::GuiCameraDisplayProperties *>);
190
191#endif
192
This class is designed to serialize QColor in a human-readable form.
Definition Color.h:26
QString displayName() const
Returns the display name.
File name manipulation and expansion.
Definition FileName.h:100
Process a GuiCameraDisplayProperties in a stack-oriented way.
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.
GuiCameraDisplayProperties * m_displayProperties
An internal pointer to GuiCameraDisplayProperties object.
QString m_hexData
An internal QString variable used to store character data found in the content of XML elements.
XmlHandler(GuiCameraDisplayProperties *displayProperties)
Sets the GuiCameraDisplayProperties variable pointer.
virtual bool characters(const QString &ch)
This implementation of a virtual function calls QXmlDefaultHandler::characters(QString &ch) which in ...
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
The XML reader invokes this method at the start of every element in the XML document.
The GUI communication mechanism for target body objects.
static QColor randomColor()
Creates and returns a random color for the intial color of the footprint polygon.
void setColor(QColor newColor)
Change the color associated with this target.
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
void toggleShowLabel()
Change the visibility of the display name.
Property
This is a list of properties and actions that are possible.
@ None
Null display property for bit-flag purposes.
@ ShowLabel
True if the control net should show its display name (bool)
@ Selected
The selection state of this control net (bool)
void setSelected(bool)
Change the selected state associated with this target.
bool supports(Property prop)
Support may come later, please make sure you are connected to the supportAdded signal.
static QList< GuiCameraDisplayProperties * > senderToData(QObject *sender)
This is for the slots that have a list of display properties as associated data.
Property m_propertiesUsed
This indicates whether any widgets with this DisplayProperties is using a particular property.
void addSupport(Property prop)
Call this with every property you support, otherwise they will not communicate properly between widge...
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
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...
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Gui Camera Display Properties out to an XML file.
GuiCameraDisplayProperties(QString displayName, QObject *parent=NULL)
GuiCameraDisplayProperties constructor.
QVariant getValue(Property prop) const
Get a property's associated data.
The main project for ipce.
Definition Project.h:289
XML Handler that parses XMLs in a stack-oriented way.
Manage a stack of content handlers for reading XML files.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16