File failed to load: https://isis.astrogeology.usgs.gov/3.9.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Developer 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:
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);
155  static QList<TargetBodyDisplayProperties *> senderToData(QObject *sender);
156 
162  Property m_propertiesUsed;
163 
168  QMap<int, QVariant> *m_propertyValues;
169  };
170 }
171 
173 
174 #endif
175 
True if the control net should show its display name (bool)
Definition: TargetBodyDisplayProperties.h:91
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
static QColor randomColor()
Creates and returns a random color for the initial color of the footprint polygon.
Definition: TargetBodyDisplayProperties.cpp:129
Property
This is a list of properties and actions that are possible.
Definition: TargetBodyDisplayProperties.h:83
This is the GUI communication mechanism for target body objects.
Definition: TargetBodyDisplayProperties.h:77
bool supports(Property prop)
Support for this may come later.
Definition: TargetBodyDisplayProperties.cpp:108
Q_DECLARE_METATYPE(QList< Isis::TargetBodyDisplayProperties *>)
QString displayName() const
Returns the display name.
Definition: DisplayProperties.cpp:80
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
Definition: TargetBodyDisplayProperties.cpp:196
void propertyChanged(TargetBodyDisplayProperties *)
void addSupport(Property prop)
Convert to Pvl for project files.
Definition: TargetBodyDisplayProperties.cpp:95
Null display property for bit-flag purposes.
Definition: TargetBodyDisplayProperties.h:85
The selection state of this control net (bool)
Definition: TargetBodyDisplayProperties.h:89
Definition: DisplayProperties.h:26
XML Handler that parses XMLs in a stack-oriented way.
Definition: XmlStackedHandler.h:112
virtual ~TargetBodyDisplayProperties()
The destructor.
Definition: TargetBodyDisplayProperties.cpp:55
void setColor(QColor newColor)
Change the color associated with this target.
Definition: TargetBodyDisplayProperties.cpp:176
QVariant getValue(Property prop) const
Get a property&#39;s associated data.
Definition: TargetBodyDisplayProperties.cpp:119
Definition: BoxcarCachingAlgorithm.h:29
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
TargetBodyDisplayProperties(QString displayName, QObject *parent=NULL)
TargetBodyDisplayProperties constructor.
Definition: TargetBodyDisplayProperties.cpp:24
void setSelected(bool)
Change the selected state associated with this target.
Definition: TargetBodyDisplayProperties.cpp:186
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Saves this object to an XML file.
Definition: TargetBodyDisplayProperties.cpp:152
Manage a stack of content handlers for reading XML files.
Definition: XmlStackedHandlerReader.h:25

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 USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/12/2023 23:31:14