Isis 3 Programmer 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:
108 void propertyChanged(GuiCameraDisplayProperties *);
109 void supportAdded(Property);
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
132
137 QMap<int, QVariant> *m_propertyValues;
138 };
139}
140
141Q_DECLARE_METATYPE(QList<Isis::GuiCameraDisplayProperties *>);
142
143#endif
144
This class is designed to serialize QColor in a human-readable form.
Definition Color.h:26
QString displayName() const
Returns the display name.
File name manipulation and expansion.
Definition FileName.h:100
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 setColor(QColor newColor)
Change the color associated with this target.
void setValue(Property prop, QVariant value)
This is the generic mutator for properties.
void toggleShowLabel()
Change the visibility of the display name.
Property
This is a list of properties and actions that are possible.
@ None
Null display property for bit-flag purposes.
@ ShowLabel
True if the control net should show its display name (bool)
@ Selected
The selection state of this control net (bool)
void setSelected(bool)
Change the selected state associated with this target.
bool supports(Property prop)
Support may come later, please make sure you are connected to the supportAdded signal.
static QList< GuiCameraDisplayProperties * > senderToData(QObject *sender)
This is for the slots that have a list of display properties as associated data.
Property m_propertiesUsed
This indicates whether any widgets with this DisplayProperties is using a particular property.
void addSupport(Property prop)
Call this with every property you support, otherwise they will not communicate properly between widge...
void setShowLabel(bool)
Change the visibility of the display name associated with this target.
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...
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Write the Gui Camera Display Properties out to an XML file.
GuiCameraDisplayProperties(QString displayName, QObject *parent=NULL)
GuiCameraDisplayProperties constructor.
QVariant getValue(Property prop) const
Get a property's associated data.
The main project for ipce.
Definition Project.h:287
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16