Isis Developer Reference
ControlDisplayProperties.h
Go to the documentation of this file.
1#ifndef ControlDisplayProperties_H
2#define ControlDisplayProperties_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QObject>
13#include <QMetaType> // required since we're adding to QVariant
14#include <QColor> // This is required since QColor is in a slot
15
16#include "DisplayProperties.h"
17
18class QAction;
19class QXmlStreamWriter;
20
21namespace Isis {
22 class FileName;
23 class Project;
24 class Pvl;
25 class PvlObject;
26
58 Q_OBJECT
59 public:
63 enum Property {
65 None = 0,
67 Color = 1,
72 };
73
74
75 ControlDisplayProperties(QString displayName, QObject *parent = NULL);
77
78// void fromPvl(const PvlObject &pvl);
79// PvlObject toPvl() const;
80
81 void addSupport(Property prop);
82 bool supports(Property prop);
83
84 QVariant getValue(Property prop) const;
85
86 static QColor randomColor();
87
88 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
89
90 signals:
93
94 public slots:
95 void setColor(QColor newColor);
96 void setShowLabel(bool);
97 void setSelected(bool);
98
99 private slots:
100 void toggleShowLabel();
101
102 private:
105
106 void setValue(Property prop, QVariant value);
107 static QList<ControlDisplayProperties *> senderToData(QObject *sender);
108
114 Property m_propertiesUsed;
115
120 QMap<int, QVariant> *m_propertyValues;
121 };
122}
123
124Q_DECLARE_METATYPE(QList<Isis::ControlDisplayProperties *>);
125
126#endif
Q_DECLARE_METATYPE(QList< Isis::ControlDisplayProperties * >)
This class is designed to serialize QColor in a human-readable form.
Definition Color.h:26
This is the GUI communication mechanism for cubes.
Definition ControlDisplayProperties.h:57
void propertyChanged(ControlDisplayProperties *)
void setColor(QColor newColor)
Change the color associated with this cube.
Definition ControlDisplayProperties.cpp:133
static QColor randomColor()
Creates and returns a random color for the intial color of the footprint polygon.
Definition ControlDisplayProperties.cpp:94
ControlDisplayProperties(QString displayName, QObject *parent=NULL)
ControlDisplayProperties constructor.
Definition ControlDisplayProperties.cpp:33
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Definition ControlDisplayProperties.cpp:111
QVariant getValue(Property prop) const
Get a property's associated data.
Definition ControlDisplayProperties.cpp:85
bool supports(Property prop)
Support may come later, please make sure you are connected to the supportAdded signal.
Definition ControlDisplayProperties.cpp:75
void addSupport(Property prop)
Call this with every property you support, otherwise they will not communicate properly between widge...
Definition ControlDisplayProperties.cpp:61
virtual ~ControlDisplayProperties()
destructor
Definition ControlDisplayProperties.cpp:51
Property
This is a list of properties and actions that are possible.
Definition ControlDisplayProperties.h:63
@ None
Null display property for bit-flag purposes.
Definition ControlDisplayProperties.h:65
@ ShowLabel
True if the control net should show its display name (bool)
Definition ControlDisplayProperties.h:71
@ Selected
The selection state of this control net (bool)
Definition ControlDisplayProperties.h:69
void setShowLabel(bool)
Change the visibility of the display name associated with this cube.
Definition ControlDisplayProperties.cpp:149
void setSelected(bool)
Change the selected state associated with this cube.
Definition ControlDisplayProperties.cpp:141
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 main project for ipce.
Definition Project.h:287
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16