Isis Developer Reference
GuiCameraDisplayProperties.h
Go to the documentation of this file.
1#ifndef GuiCameraDisplayProperties_H
2#define GuiCameraDisplayProperties_H
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
32class QAction;
33class QXmlStreamWriter;
34
35namespace Isis {
36 class FileName;
37 class Project;
38 class Pvl;
39 class PvlObject;
40
75 Q_OBJECT
76 public:
80 enum Property {
82 None = 0,
84 Color = 1,
89 };
90
91
92 GuiCameraDisplayProperties(QString displayName, QObject *parent = NULL);
94
95// void fromPvl(const PvlObject &pvl);
96// PvlObject toPvl() const;
97
98 void addSupport(Property prop);
99 bool supports(Property prop);
100
101 QVariant getValue(Property prop) const;
102
103 static QColor randomColor();
104
105 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
106
107 signals:
110
111 public slots:
112 void setColor(QColor newColor);
113 void setShowLabel(bool);
114 void setSelected(bool);
115
116 private slots:
117 void toggleShowLabel();
118
119 private:
122
123 void setValue(Property prop, QVariant value);
124 static QList<GuiCameraDisplayProperties *> senderToData(QObject *sender);
125
131 Property m_propertiesUsed;
132
137 QMap<int, QVariant> *m_propertyValues;
138 };
139}
140
141Q_DECLARE_METATYPE(QList<Isis::GuiCameraDisplayProperties *>);
142
143#endif
144
Q_DECLARE_METATYPE(QList< Isis::GuiCameraDisplayProperties * >)
This class is designed to serialize QColor in a human-readable form.
Definition Color.h:26
Definition DisplayProperties.h:32
QString displayName() const
Returns the display name.
Definition DisplayProperties.cpp:79
File name manipulation and expansion.
Definition FileName.h:100
The GUI communication mechanism for target body objects.
Definition GuiCameraDisplayProperties.h:74
static QColor randomColor()
Creates and returns a random color for the intial color of the footprint polygon.
Definition GuiCameraDisplayProperties.cpp:116
void setColor(QColor newColor)
Change the color associated with this target.
Definition GuiCameraDisplayProperties.cpp:162
Property
This is a list of properties and actions that are possible.
Definition GuiCameraDisplayProperties.h:80
@ None
Null display property for bit-flag purposes.
Definition GuiCameraDisplayProperties.h:82
@ ShowLabel
True if the control net should show its display name (bool)
Definition GuiCameraDisplayProperties.h:88
@ Selected
The selection state of this control net (bool)
Definition GuiCameraDisplayProperties.h:86
void setSelected(bool)
Change the selected state associated with this target.
Definition GuiCameraDisplayProperties.cpp:171
bool supports(Property prop)
Support may come later, please make sure you are connected to the supportAdded signal.
Definition GuiCameraDisplayProperties.cpp:96
void addSupport(Property prop)
Call this with every property you support, otherwise they will not communicate properly between widge...
Definition GuiCameraDisplayProperties.cpp:82
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
Definition GuiCameraDisplayProperties.cpp:180
void propertyChanged(GuiCameraDisplayProperties *)
virtual ~GuiCameraDisplayProperties()
destructor
Definition GuiCameraDisplayProperties.cpp:41
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Gui Camera Display Properties out to an XML file.
Definition GuiCameraDisplayProperties.cpp:139
GuiCameraDisplayProperties(QString displayName, QObject *parent=NULL)
GuiCameraDisplayProperties constructor.
Definition GuiCameraDisplayProperties.cpp:23
QVariant getValue(Property prop) const
Get a property's associated data.
Definition GuiCameraDisplayProperties.cpp:106
The main project for ipce.
Definition Project.h:287
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16