Isis 3.0 Programmer Reference
Back | Home
TargetBodyDisplayProperties.h
Go to the documentation of this file.
1 #ifndef TargetBodyDisplayProperties_H
2 #define TargetBodyDisplayProperties_H
3 
26 #include <QColor> // This is required since QColor is in a slot
27 #include <QMetaType> // required since we're adding to QVariant
28 #include <QObject>
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 
78  Q_OBJECT
79  public:
83  enum Property {
85  None = 0,
87  Color = 1,
89  Selected = 2,
91  ShowLabel = 16,
92  };
93 
94 
95  TargetBodyDisplayProperties(QString displayName, QObject *parent = NULL);
98 
99 // void fromPvl(const PvlObject &pvl);
100 // PvlObject toPvl() const;
101 
102  void addSupport(Property prop);
103  bool supports(Property prop);
104 
105  QVariant getValue(Property prop) const;
106 
107  static QColor randomColor();
108 
109  void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
110 
111  signals:
112  void propertyChanged(TargetBodyDisplayProperties *);
113  void supportAdded(Property);
114 
115  public slots:
116  void setColor(QColor newColor);
117  void setShowLabel(bool);
118  void setSelected(bool);
119 
120  private slots:
121  void toggleShowLabel();
122 
123  private:
132  class XmlHandler : public XmlStackedHandler {
133  public:
134  XmlHandler(TargetBodyDisplayProperties *displayProperties);
135 
136  virtual bool startElement(const QString &namespaceURI, const QString &localName,
137  const QString &qName, const QXmlAttributes &atts);
138 
139  virtual bool characters(const QString &ch);
140 
141  virtual bool endElement(const QString &namespaceURI, const QString &localName,
142  const QString &qName);
143 
144  private:
145  Q_DISABLE_COPY(XmlHandler);
146 
147  TargetBodyDisplayProperties *m_displayProperties;
148  QString m_hexData;
149  };
150 
151  private:
154 
155  void setValue(Property prop, QVariant value);
157 
164 
170  };
171 }
172 
174 
175 #endif
176 
True if the control net should show its display name (bool)
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
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...
static QColor randomColor()
Creates and returns a random color for the initial color of the footprint polygon.
Property
This is a list of properties and actions that are possible.
This is the GUI communication mechanism for target body objects.
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves this object to an XML file.
bool supports(Property prop)
Support for this may come later.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *&#39;s to be stored in a QVariant.
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
Property m_propertiesUsed
This indicated whether any widgets with this DisplayProperties is using a particular property...
void addSupport(Property prop)
Convert to Pvl for project files.
QVariant getValue(Property prop) const
Get a property&#39;s associated data.
QString displayName() const
Returns the display name.
Null display property for bit-flag purposes.
The selection state of this control net (bool)
XML Handler that parses XMLs in a stack-oriented way.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
This overrides the parent startElement function in XmlStackedHandler so the parser can handle an XML ...
virtual ~TargetBodyDisplayProperties()
The destructor.
void setColor(QColor newColor)
Change the color associated with this target.
TargetBodyDisplayProperties(QString displayName, QObject *parent=NULL)
TargetBodyDisplayProperties constructor.
XmlHandler(TargetBodyDisplayProperties *displayProperties)
Constructor for the XmlHandler class.
void setSelected(bool)
Change the selected state associated with this target.
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.
This class is used for processing an XML file containing information about a WorkOrder.
his enables stack-based XML parsing of XML files.
virtual bool characters(const QString &ch)
This implementation of a virtual function calls QXmlDefaultHandler::characters(QString &amp;ch) which in ...
static QList< TargetBodyDisplayProperties * > senderToData(QObject *sender)
This is for the slots that have a list of display properties as associated data.

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:30:36