Isis Developer 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:
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:
140 class XmlHandler : public XmlStackedHandler {
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
158 GuiCameraDisplayProperties *m_displayProperties;
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
179 Property m_propertiesUsed;
180
185 QMap<int, QVariant> *m_propertyValues;
186 };
187}
188
189Q_DECLARE_METATYPE(QList<Isis::GuiCameraDisplayProperties *>);
190
191#endif
192
Q_DECLARE_METATYPE(QList< Isis::GuiCameraDisplayProperties * >)
This class is designed to serialize QColor in a human-readable form.
Definition Color.h:26
Definition DisplayProperties.h:34
QString displayName() const
Returns the display name.
Definition DisplayProperties.cpp:88
File name manipulation and expansion.
Definition FileName.h:100
The GUI communication mechanism for target body objects.
Definition GuiCameraDisplayProperties.h:76
static QColor randomColor()
Creates and returns a random color for the intial color of the footprint polygon.
Definition GuiCameraDisplayProperties.cpp:132
void setColor(QColor newColor)
Change the color associated with this target.
Definition GuiCameraDisplayProperties.cpp:178
Property
This is a list of properties and actions that are possible.
Definition GuiCameraDisplayProperties.h:82
@ None
Null display property for bit-flag purposes.
Definition GuiCameraDisplayProperties.h:84
@ ShowLabel
True if the control net should show its display name (bool)
Definition GuiCameraDisplayProperties.h:90
@ Selected
The selection state of this control net (bool)
Definition GuiCameraDisplayProperties.h:88
void setSelected(bool)
Change the selected state associated with this target.
Definition GuiCameraDisplayProperties.cpp:187
bool supports(Property prop)
Support may come later, please make sure you are connected to the supportAdded signal.
Definition GuiCameraDisplayProperties.cpp:112
void addSupport(Property prop)
Call this with every property you support, otherwise they will not communicate properly between widge...
Definition GuiCameraDisplayProperties.cpp:98
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
Definition GuiCameraDisplayProperties.cpp:196
void propertyChanged(GuiCameraDisplayProperties *)
virtual ~GuiCameraDisplayProperties()
destructor
Definition GuiCameraDisplayProperties.cpp:57
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Gui Camera Display Properties out to an XML file.
Definition GuiCameraDisplayProperties.cpp:155
GuiCameraDisplayProperties(QString displayName, QObject *parent=NULL)
GuiCameraDisplayProperties constructor.
Definition GuiCameraDisplayProperties.cpp:24
QVariant getValue(Property prop) const
Get a property's associated data.
Definition GuiCameraDisplayProperties.cpp:122
The main project for ipce.
Definition Project.h:289
XML Handler that parses XMLs in a stack-oriented way.
Definition XmlStackedHandler.h:118
Manage a stack of content handlers for reading XML files.
Definition XmlStackedHandlerReader.h:30
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16