Isis 3.0 Programmer Reference
Back | Home
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:
138  class XmlHandler : public XmlStackedHandler {
139  public:
140  XmlHandler(GuiCameraDisplayProperties *displayProperties);
141 
142  virtual bool startElement(const QString &namespaceURI, const QString &localName,
143  const QString &qName, const QXmlAttributes &atts);
144 
145  virtual bool characters(const QString &ch);
146 
147  virtual bool endElement(const QString &namespaceURI, const QString &localName,
148  const QString &qName);
149 
150  private:
151  Q_DISABLE_COPY(XmlHandler);
152 
157 
162  QString m_hexData;
163  };
164 
165  private:
168 
169  void setValue(Property prop, QVariant value);
171 
178 
184  };
185 }
186 
188 
189 #endif
190 
This class is designed to serialize QColor in a human-readable form.
Definition: Color.h:19
The main project for cnetsuite.
Definition: Project.h:105
File name manipulation and expansion.
Definition: FileName.h:111
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 setColor(QColor newColor)
Change the color associated with this target.
Child class for XmlStackedHandler which is used to process XML 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 &amp;ch) which in ...
void addSupport(Property prop)
Convert to Pvl for project files.
QString displayName() const
Returns the display name.
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.
QVariant getValue(Property prop) const
Get a property&#39;s associated data.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Gui Camera Display Properties out to an XML file.
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...
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...
This is 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 setSelected(bool)
Change the selected state associated with this target.
GuiCameraDisplayProperties(QString displayName, QObject *parent=NULL)
GuiCameraDisplayProperties constructor.
his enables stack-based XML parsing of 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.

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:19:01