Isis 3 Programmer Reference
GuiCameraDisplayProperties.h
Go to the documentation of this file.
1 #ifndef GuiCameraDisplayProperties_H
2 #define GuiCameraDisplayProperties_H
3 
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 
33 class QAction;
34 class QXmlStreamWriter;
35 
36 namespace 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,
88  Selected = 2,
90  ShowLabel = 16,
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:
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 
159 
164  QString m_hexData;
165  };
166 
167  private:
170 
171  void setValue(Property prop, QVariant value);
173 
180 
186  };
187 }
188 
190 
191 #endif
192 
This class is designed to serialize QColor in a human-readable form.
Definition: Color.h:20
The main project for ipce.
Definition: Project.h:289
File name manipulation and expansion.
Definition: FileName.h:116
void toggleShowLabel()
Change the visibility of the display name.
bool supports(Property prop)
Support may come later, please make sure you are connected to the supportAdded signal.
The selection state of this control net (bool)
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Gui Camera Display Properties out to an XML file.
QString displayName() const
Returns the display name.
void setColor(QColor newColor)
Change the color associated with this target.
Process a GuiCameraDisplayProperties in a stack-oriented way.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *&#39;s to be stored in a QVariant.
Property m_propertiesUsed
This indicates whether any widgets with this DisplayProperties is using a particular property...
True if the control net should show its display name (bool)
static QList< GuiCameraDisplayProperties * > senderToData(QObject *sender)
This is for the slots that have a list of display properties as associated 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.
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
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 ...
void addSupport(Property prop)
Convert to Pvl for project files.
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
Null display property for bit-flag purposes.
XML Handler that parses XMLs in a stack-oriented way.
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 ...
Property
This is a list of properties and actions that are possible.
QString m_hexData
An internal QString variable used to store character data found in the content of XML elements...
QVariant getValue(Property prop) const
Get a property&#39;s associated data.
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. ...
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
void setSelected(bool)
Change the selected state associated with this target.
GuiCameraDisplayProperties(QString displayName, QObject *parent=NULL)
GuiCameraDisplayProperties constructor.
Manage a stack of content handlers for reading XML files.
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.
GuiCameraDisplayProperties * m_displayProperties
An internal pointer to GuiCameraDisplayProperties object.