15#include <QXmlStreamWriter>
33 QStringList::const_iterator itr;
34 for (itr = graphCurveNames.begin (); itr != graphCurveNames.end (); itr++) {
36 const QString &graphCurveName = *itr;
45 ColorFilterSettingsList::const_iterator itr;
47 QString curveName = itr.key();
56 ColorFilterSettingsList::const_iterator itr;
58 QString curveName = itr.key();
69 return m_colorFilterSettingsList [curveName].colorFilterMode();
75 return m_colorFilterSettingsList [curveName];
80 return m_colorFilterSettingsList;
85 QStringList curveNames (m_colorFilterSettingsList.keys());
87 <<
" curve=" << curveName.toLatin1().data()
88 <<
" curves=" << curveNames.join(
",").toLatin1().data();
91 return m_colorFilterSettingsList [curveName].foregroundHigh();
96 QStringList curveNames (m_colorFilterSettingsList.keys());
98 <<
" curve=" << curveName.toLatin1().data()
99 <<
" curves=" << curveNames.join(
",").toLatin1().data();
102 return m_colorFilterSettingsList [curveName].foregroundLow();
107 QStringList curveNames (m_colorFilterSettingsList.keys());
109 <<
" curve=" << curveName.toLatin1().data()
110 <<
" curves=" << curveNames.join(
",").toLatin1().data();
113 return m_colorFilterSettingsList [curveName].high();
118 QStringList curveNames (m_colorFilterSettingsList.keys());
120 <<
" curve=" << curveName.toLatin1().data()
121 <<
" curves=" << curveNames.join(
",").toLatin1().data();
124 return m_colorFilterSettingsList [curveName].hueHigh();
129 QStringList curveNames (m_colorFilterSettingsList.keys());
131 <<
" curve=" << curveName.toLatin1().data()
132 <<
" curves=" << curveNames.join(
",").toLatin1().data();
135 return m_colorFilterSettingsList [curveName].hueLow();
140 QStringList curveNames (m_colorFilterSettingsList.keys());
142 <<
" curve=" << curveName.toLatin1().data()
143 <<
" curves=" << curveNames.join(
",").toLatin1().data();
146 return m_colorFilterSettingsList [curveName].intensityHigh();
151 QStringList curveNames (m_colorFilterSettingsList.keys());
153 <<
" curve=" << curveName.toLatin1().data()
154 <<
" curves=" << curveNames.join(
",").toLatin1().data();
157 return m_colorFilterSettingsList [curveName].intensityLow();
166 m_colorFilterSettingsList.clear();
170 bool inFilter =
false;
171 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
174 if (reader.atEnd()) {
179 if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
185 if (inFilter && ((reader.tokenType() == QXmlStreamReader::StartElement) &&
188 QXmlStreamAttributes attributes = reader.attributes();
205 reader.raiseError(QObject::tr (
"Cannot read filter data"));
214 QStringList curveNames (m_colorFilterSettingsList.keys());
216 <<
" curve=" << curveName.toLatin1().data()
217 <<
" curves=" << curveNames.join(
",").toLatin1().data();
220 return m_colorFilterSettingsList [curveName].low();
225 QStringList curveNames (m_colorFilterSettingsList.keys());
227 <<
" curve=" << curveName.toLatin1().data()
228 <<
" curves=" << curveNames.join(
",").toLatin1().data();
231 return m_colorFilterSettingsList [curveName].saturationHigh();
236 QStringList curveNames (m_colorFilterSettingsList.keys());
238 <<
" curve=" << curveName.toLatin1().data()
239 <<
" curves=" << curveNames.join(
",").toLatin1().data();
242 return m_colorFilterSettingsList [curveName].saturationLow();
252 ColorFilterSettingsList::const_iterator itr;
253 for (itr = m_colorFilterSettingsList.begin (); itr != m_colorFilterSettingsList.end (); itr++) {
255 QString curveName = itr.key();
262 writer.writeEndElement();
269 m_colorFilterSettingsList [curveName].setColorFilterMode(
colorFilterMode);
276 m_colorFilterSettingsList [curveName].setForegroundHigh(
foregroundHigh);
283 m_colorFilterSettingsList [curveName].setForegroundLow(
foregroundLow);
290 m_colorFilterSettingsList [curveName].setHigh(s0To1);
297 m_colorFilterSettingsList [curveName].setHueHigh(
hueHigh);
304 m_colorFilterSettingsList [curveName].setHueLow(
hueLow);
311 m_colorFilterSettingsList [curveName].setIntensityHigh(
intensityHigh);
318 m_colorFilterSettingsList [curveName].setIntensityLow(
intensityLow);
325 m_colorFilterSettingsList [curveName].setLow(s0To1);
332 m_colorFilterSettingsList [curveName].setSaturationHigh(
saturationHigh);
339 m_colorFilterSettingsList [curveName].setSaturationLow(
saturationLow);
346 m_colorFilterSettingsList [curveName].setValueHigh(
valueHigh);
353 m_colorFilterSettingsList [curveName].setValueLow(
valueLow);
359 return m_colorFilterSettingsList [curveName].valueHigh();
365 return m_colorFilterSettingsList [curveName].valueLow();
const QString AXIS_CURVE_NAME
QHash< QString, ColorFilterSettings > ColorFilterSettingsList
const QString DOCUMENT_SERIALIZE_COLOR_FILTER
const QString DOCUMENT_SERIALIZE_CURVE_NAME
const QString DOCUMENT_SERIALIZE_FILTER
#define ENGAUGE_ASSERT(cond)
Drop in replacement for Q_ASSERT.
log4cpp::Category * mainCat
QXmlStreamReader::TokenType loadNextFromReader(QXmlStreamReader &reader)
Load next token from xml reader.
Color filter parameters for one curve. For a class, this is handled the same as LineStyle and PointSt...
Storage of data belonging to one coordinate system.
virtual Curve * curveForCurveName(const QString &curveName)
See CurvesGraphs::curveForCurveName, although this also works for AXIS_CURVE_NAME.
virtual const Curve & curveAxes() const
Get method for axis curve.
virtual QStringList curvesGraphsNames() const
See CurvesGraphs::curvesGraphsNames.
Container for one set of digitized Points.
ColorFilterSettings colorFilterSettings() const
Return the color filter.
double high(const QString &curveName) const
High value of foreground, hue, intensity, saturation or value according to current filter mode.
void setValueHigh(const QString &curveName, int valueHigh)
Set method for value high.
double low(const QString &curveName) const
Low value of foreground, hue, intensity, saturation or value according to current filter mode normali...
int hueLow(const QString &curveName) const
Get method for hue lower bound.
DocumentModelColorFilter()
Default constructor.
int hueHigh(const QString &curveName) const
Get method for hue higher bound.
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
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...
ColorFilterMode colorFilterMode(const QString &curveName) const
Get method for filter mode.
void setIntensityLow(const QString &curveName, int intensityLow)
Set method for intensity lower bound.
int foregroundHigh(const QString &curveName) const
Get method for foreground higher bound.
int saturationLow(const QString &curveName) const
Get method for saturation lower bound.
DocumentModelColorFilter & operator=(const DocumentModelColorFilter &other)
Assignment constructor.
int foregroundLow(const QString &curveName) const
Get method for foreground lower bound.
void setHigh(const QString &curveName, double s0To1)
Set the high value for the current filter mode.
void setHueHigh(const QString &curveName, int hueHigh)
Set method for hue higher bound.
void setForegroundHigh(const QString &curveName, int foregroundHigh)
Set method for foreground higher bound.
void setSaturationHigh(const QString &curveName, int saturationHigh)
Set method for saturation high.
void setHueLow(const QString &curveName, int hueLow)
Set method for hue lower bound.
const ColorFilterSettingsList & colorFilterSettingsList() const
Get method for copying all color filters in one step.
int valueLow(const QString &curveName) const
Get method for value low.
int saturationHigh(const QString &curveName) const
Get method for saturation higher bound.
void setValueLow(const QString &curveName, int valueLow)
Set method for value low.
void setSaturationLow(const QString &curveName, int saturationLow)
Set method for saturation low.
void setColorFilterMode(const QString &curveName, ColorFilterMode colorFilterMode)
Set method for filter mode.
int valueHigh(const QString &curveName) const
Get method for value high.
int intensityHigh(const QString &curveName) const
Get method for intensity higher bound.
void setIntensityHigh(const QString &curveName, int intensityHigh)
Set method for intensity higher bound.
void setLow(const QString &curveName, double s0To1)
Set the low value for the current filter mode.
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
void setForegroundLow(const QString &curveName, int foregroundLow)
Set method for foreground lower bound.
int intensityLow(const QString &curveName) const
Get method for intensity lower bound.
#define LOG4CPP_INFO_S(logger)