Isis 3 Programmer Reference
DisplayProperties.h
1#ifndef DisplayProperties_H
2#define DisplayProperties_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QObject>
13
14// This is required since QColor is in a slot
15#include <QColor>
16
17class QAction;
18class QBitArray;
19class QXmlStreamWriter;
20
21namespace Isis {
22 class FileName;
23 class Project;
24 class Pvl;
25 class PvlObject;
26
32 class DisplayProperties : public QObject {
33 Q_OBJECT
34 public:
35 DisplayProperties(QString displayName, QObject *parent = NULL);
36 virtual ~DisplayProperties();
37
38 void fromPvl(const PvlObject &pvl);
39 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
40 PvlObject toPvl() const;
41
42 void addSupport(int property);
43 bool supports(int property);
44
45 QVariant getValue(int property) const;
46
47 void setDisplayName(QString displayName);
48 QString displayName() const;
49
50 static QColor randomColor();
51
52 signals:
53 void propertyChanged(DisplayProperties *);
54 void supportAdded(int);
55
56 protected:
57 void setValue(int prop, QVariant value);
58
59 private:
60 Q_DISABLE_COPY(DisplayProperties);
61
62
63 private:
64
69
76
81 QMap<int, QVariant> *m_propertyValues;
82 };
83}
84
85#endif
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...
QVariant getValue(int property) const
Get a property's associated data.
QString displayName() const
Returns the display name.
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Output format:
void setDisplayName(QString displayName)
Sets display name.
void setValue(int prop, QVariant value)
This is the generic mutator for properties.
virtual ~DisplayProperties()
destructor
PvlObject toPvl() const
Convert to Pvl for project files.
QString m_displayName
This is the display name.
DisplayProperties(QString displayName, QObject *parent=NULL)
DisplayProperties constructor.
bool supports(int property)
Support may come later, please make sure you are connected to the supportAdded signal.
void addSupport(int property)
Call this with every property you support, otherwise they will not communicate properly between widge...
int m_propertiesUsed
This indicated whether any widgets with this DisplayProperties is using a particulay property.
File name manipulation and expansion.
Definition FileName.h:100
The main project for ipce.
Definition Project.h:287
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16