Engauge Digitizer  2
DocumentModelColorFilter.h
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef DOCUMENT_MODEL_COLOR_FILTER_H
8 #define DOCUMENT_MODEL_COLOR_FILTER_H
9 
10 #include "ColorFilterSettings.h"
12 #include <QHash>
13 
14 // Lookup-table by curve name
15 typedef QHash<QString, ColorFilterSettings> ColorFilterSettingsList;
16 
17 class CoordSystem;
18 class QTextStream;
19 
22 {
23 public:
26 
29 
31  DocumentModelColorFilter(const CoordSystem &coordSystem);
32 
35 
37  ColorFilterMode colorFilterMode(const QString &curveName) const;
38 
40  const ColorFilterSettings colorFilterSettings (const QString &curveName) const;
41 
44 
46  int foregroundHigh (const QString &curveName) const;
47 
49  int foregroundLow (const QString &curveName) const;
50 
53  double high (const QString &curveName) const;
54 
56  int hueHigh (const QString &curveName) const;
57 
59  int hueLow (const QString &curveName) const;
60 
62  int intensityHigh (const QString &curveName) const;
63 
65  int intensityLow (const QString &curveName) const;
66 
67  virtual void loadXml(QXmlStreamReader &reader);
68 
71  double low (const QString &curveName) const;
72 
74  void printStream (QString indentation,
75  QTextStream &str) const;
76 
78  int saturationHigh (const QString &curveName) const;
79 
81  int saturationLow (const QString &curveName) const;
82 
83  virtual void saveXml(QXmlStreamWriter &writer) const;
84 
86  void setColorFilterMode(const QString &curveName,
88 
90  void setForegroundHigh (const QString &curveName,
91  int foregroundHigh);
92 
94  void setForegroundLow (const QString &curveName,
95  int foregroundLow);
96 
98  void setHigh (const QString &curveName,
99  double s0To1);
100 
102  void setHueHigh (const QString &curveName,
103  int hueHigh);
104 
106  void setHueLow (const QString &curveName,
107  int hueLow);
108 
110  void setIntensityHigh (const QString &curveName,
111  int intensityHigh);
112 
114  void setIntensityLow (const QString &curveName,
115  int intensityLow);
116 
118  void setLow (const QString &curveName,
119  double s0To1);
120 
122  void setSaturationHigh (const QString &curveName,
123  int saturationHigh);
124 
126  void setSaturationLow (const QString &curveName,
127  int saturationLow);
128 
130  void setValueHigh (const QString &curveName,
131  int valueHigh);
132 
134  void setValueLow (const QString &curveName,
135  int valueLow);
136 
138  int valueHigh (const QString &curveName) const;
139 
141  int valueLow (const QString &curveName) const;
142 
143 private:
144 
145  ColorFilterSettingsList m_colorFilterSettingsList;
146 };
147 
148 #endif // DOCUMENT_MODEL_COLOR_FILTER_H
DocumentModelColorFilter::setForegroundHigh
void setForegroundHigh(const QString &curveName, int foregroundHigh)
Set method for foreground higher bound.
Definition: DocumentModelColorFilter.cpp:271
DocumentModelAbstractBase.h
DocumentModelColorFilter::colorFilterSettings
const ColorFilterSettings colorFilterSettings(const QString &curveName) const
Get method for copying one color filter. Cannot return just a reference or else there is a warning ab...
Definition: DocumentModelColorFilter.cpp:71
DocumentModelColorFilter::operator=
DocumentModelColorFilter & operator=(const DocumentModelColorFilter &other)
Assignment constructor.
Definition: DocumentModelColorFilter.cpp:52
DocumentModelColorFilter::intensityHigh
int intensityHigh(const QString &curveName) const
Get method for intensity higher bound.
Definition: DocumentModelColorFilter.cpp:137
DocumentModelColorFilter::setSaturationHigh
void setSaturationHigh(const QString &curveName, int saturationHigh)
Set method for saturation high.
Definition: DocumentModelColorFilter.cpp:327
DocumentModelColorFilter::hueHigh
int hueHigh(const QString &curveName) const
Get method for hue higher bound.
Definition: DocumentModelColorFilter.cpp:115
ColorFilterSettings
Color filter parameters for one curve. For a class, this is handled the same as LineStyle and PointSt...
Definition: ColorFilterSettings.h:18
DocumentModelColorFilter
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
Definition: DocumentModelColorFilter.h:20
DocumentModelColorFilter::low
double low(const QString &curveName) const
Low value of foreground, hue, intensity, saturation or value according to current filter mode normali...
Definition: DocumentModelColorFilter.cpp:211
DocumentModelColorFilter::foregroundHigh
int foregroundHigh(const QString &curveName) const
Get method for foreground higher bound.
Definition: DocumentModelColorFilter.cpp:82
DocumentModelColorFilter::setLow
void setLow(const QString &curveName, double s0To1)
Set the low value for the current filter mode.
Definition: DocumentModelColorFilter.cpp:320
DocumentModelColorFilter::setSaturationLow
void setSaturationLow(const QString &curveName, int saturationLow)
Set method for saturation low.
Definition: DocumentModelColorFilter.cpp:334
DocumentModelColorFilter::setHueHigh
void setHueHigh(const QString &curveName, int hueHigh)
Set method for hue higher bound.
Definition: DocumentModelColorFilter.cpp:292
ColorFilterSettings.h
DocumentModelColorFilter::loadXml
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
Definition: DocumentModelColorFilter.cpp:159
DocumentModelColorFilter::printStream
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
DocumentModelAbstractBase
Abstract base class for document models. This class enforces a common interface for the leaf subclass...
Definition: DocumentModelAbstractBase.h:15
DocumentModelColorFilter::setIntensityLow
void setIntensityLow(const QString &curveName, int intensityLow)
Set method for intensity lower bound.
Definition: DocumentModelColorFilter.cpp:313
DocumentModelColorFilter::valueHigh
int valueHigh(const QString &curveName) const
Get method for value high.
Definition: DocumentModelColorFilter.cpp:355
DocumentModelColorFilter::valueLow
int valueLow(const QString &curveName) const
Get method for value low.
Definition: DocumentModelColorFilter.cpp:361
DocumentModelColorFilter::setColorFilterMode
void setColorFilterMode(const QString &curveName, ColorFilterMode colorFilterMode)
Set method for filter mode.
Definition: DocumentModelColorFilter.cpp:264
DocumentModelColorFilter::setValueHigh
void setValueHigh(const QString &curveName, int valueHigh)
Set method for value high.
Definition: DocumentModelColorFilter.cpp:341
DocumentModelColorFilter::DocumentModelColorFilter
DocumentModelColorFilter()
Default constructor.
Definition: DocumentModelColorFilter.cpp:17
DocumentModelColorFilter::intensityLow
int intensityLow(const QString &curveName) const
Get method for intensity lower bound.
Definition: DocumentModelColorFilter.cpp:148
DocumentModelColorFilter::saveXml
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
Definition: DocumentModelColorFilter.cpp:244
DocumentModelColorFilter::saturationLow
int saturationLow(const QString &curveName) const
Get method for saturation lower bound.
Definition: DocumentModelColorFilter.cpp:233
DocumentModelColorFilter::setValueLow
void setValueLow(const QString &curveName, int valueLow)
Set method for value low.
Definition: DocumentModelColorFilter.cpp:348
DocumentModelColorFilter::setHueLow
void setHueLow(const QString &curveName, int hueLow)
Set method for hue lower bound.
Definition: DocumentModelColorFilter.cpp:299
ColorFilterMode
ColorFilterMode
Definition: ColorFilterMode.h:11
ColorFilterSettingsList
QHash< QString, ColorFilterSettings > ColorFilterSettingsList
Definition: DocumentModelColorFilter.h:14
DocumentModelColorFilter::foregroundLow
int foregroundLow(const QString &curveName) const
Get method for foreground lower bound.
Definition: DocumentModelColorFilter.cpp:93
DocumentModelColorFilter::setForegroundLow
void setForegroundLow(const QString &curveName, int foregroundLow)
Set method for foreground lower bound.
Definition: DocumentModelColorFilter.cpp:278
DocumentModelColorFilter::colorFilterMode
ColorFilterMode colorFilterMode(const QString &curveName) const
Get method for filter mode.
Definition: DocumentModelColorFilter.cpp:65
DocumentModelColorFilter::hueLow
int hueLow(const QString &curveName) const
Get method for hue lower bound.
Definition: DocumentModelColorFilter.cpp:126
DocumentModelColorFilter::setHigh
void setHigh(const QString &curveName, double s0To1)
Set the high value for the current filter mode.
Definition: DocumentModelColorFilter.cpp:285
DocumentModelColorFilter::high
double high(const QString &curveName) const
High value of foreground, hue, intensity, saturation or value according to current filter mode.
Definition: DocumentModelColorFilter.cpp:104
DocumentModelColorFilter::saturationHigh
int saturationHigh(const QString &curveName) const
Get method for saturation higher bound.
Definition: DocumentModelColorFilter.cpp:222
DocumentModelColorFilter::colorFilterSettingsList
const ColorFilterSettingsList & colorFilterSettingsList() const
Get method for copying all color filters in one step.
Definition: DocumentModelColorFilter.cpp:77
CoordSystem
Storage of data belonging to one coordinate system.
Definition: CoordSystem.h:41
DocumentModelColorFilter::setIntensityHigh
void setIntensityHigh(const QString &curveName, int intensityHigh)
Set method for intensity higher bound.
Definition: DocumentModelColorFilter.cpp:306