Isis 3 Programmer Reference
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:
131  class XmlHandler : public XmlStackedHandler {
132  public:
133  XmlHandler(TargetBodyDisplayProperties *displayProperties);
134 
135  virtual bool startElement(const QString &namespaceURI, const QString &localName,
136  const QString &qName, const QXmlAttributes &atts);
137 
138  virtual bool characters(const QString &ch);
139 
140  virtual bool endElement(const QString &namespaceURI, const QString &localName,
141  const QString &qName);
142 
143  private:
144  Q_DISABLE_COPY(XmlHandler);
145 
146  TargetBodyDisplayProperties *m_displayProperties;
147  QString m_hexData;
148  };
149 
150  private:
153 
154  void setValue(Property prop, QVariant value);
156 
163 
169  };
170 }
171 
173 
174 #endif
175 
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:20
The main project for ipce.
Definition: Project.h:289
File name manipulation and expansion.
Definition: FileName.h:116
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 ...
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.
bool supports(Property prop)
Support for this may come later.
QString displayName() const
Returns the display name.
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.
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.
void toggleShowLabel()
Change the visibility of the display name.
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.
QVariant getValue(Property prop) const
Get a property&#39;s associated data.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
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.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves this object to an XML file.
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.
Process an XML file containing information about a WorkOrder.
Manage a stack of content handlers for reading XML files.
virtual bool characters(const QString &ch)
This implementation of a virtual function calls QXmlDefaultHandler::characters(QString &ch) which in ...
static QList< TargetBodyDisplayProperties * > senderToData(QObject *sender)
Return display properties associated with a slot.