Isis Developer Reference
DisplayProperties.h
Go to the documentation of this file.
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
17#include "XmlStackedHandler.h"
18
19class QAction;
20class QBitArray;
21class QXmlStreamWriter;
22
23namespace Isis {
24 class FileName;
25 class Project;
26 class Pvl;
27 class PvlObject;
28
34 class DisplayProperties : public QObject {
35 Q_OBJECT
36 public:
37 DisplayProperties(QString displayName, QObject *parent = NULL);
38 DisplayProperties(XmlStackedHandlerReader *xmlReader, QObject *parent = NULL);
39 virtual ~DisplayProperties();
40
41 void fromPvl(const PvlObject &pvl);
42 void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
43 PvlObject toPvl() const;
44
45 void addSupport(int property);
46 bool supports(int property);
47
48 QVariant getValue(int property) const;
49
50 void setDisplayName(QString displayName);
51 QString displayName() const;
52
53 static QColor randomColor();
54
55 signals:
57 void supportAdded(int);
58
59 protected:
60 void setValue(int prop, QVariant value);
61
62 private:
63 Q_DISABLE_COPY(DisplayProperties);
64
70 class XmlHandler : public XmlStackedHandler {
71 public:
72 XmlHandler(DisplayProperties *displayProperties);
73
74 virtual bool startElement(const QString &namespaceURI, const QString &localName,
75 const QString &qName, const QXmlAttributes &atts);
76
77 virtual bool characters(const QString &ch);
78
79 virtual bool endElement(const QString &namespaceURI, const QString &localName,
80 const QString &qName);
81
82 private:
83 Q_DISABLE_COPY(XmlHandler);
84
85 DisplayProperties *m_displayProperties;
86 QString m_hexData;
87 };
88
89
90 private:
91
95 QString m_displayName;
96
102 int m_propertiesUsed;
103
108 QMap<int, QVariant> *m_propertyValues;
109 };
110}
111
112#endif
Definition DisplayProperties.h:34
QVariant getValue(int property) const
Get a property's associated data.
Definition DisplayProperties.cpp:147
QString displayName() const
Returns the display name.
Definition DisplayProperties.cpp:88
void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const
Output format:
Definition DisplayProperties.cpp:159
void propertyChanged(DisplayProperties *)
void setDisplayName(QString displayName)
Sets display name.
Definition DisplayProperties.cpp:97
void setValue(int prop, QVariant value)
This is the generic mutator for properties.
Definition DisplayProperties.cpp:131
virtual ~DisplayProperties()
destructor
Definition DisplayProperties.cpp:50
void fromPvl(const PvlObject &pvl)
Definition DisplayProperties.cpp:54
static QColor randomColor()
PvlObject toPvl() const
Convert to Pvl for project files.
Definition DisplayProperties.cpp:68
DisplayProperties(QString displayName, QObject *parent=NULL)
DisplayProperties constructor.
Definition DisplayProperties.cpp:29
bool supports(int property)
Support may come later, please make sure you are connected to the supportAdded signal.
Definition DisplayProperties.cpp:122
void addSupport(int property)
Call this with every property you support, otherwise they will not communicate properly between widge...
Definition DisplayProperties.cpp:108
File name manipulation and expansion.
Definition FileName.h:100
The main project for ipce.
Definition Project.h:289
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
XML Handler that parses XMLs in a stack-oriented way.
Definition XmlStackedHandler.h:118
Manage a stack of content handlers for reading XML files.
Definition XmlStackedHandlerReader.h:30
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16