18 #include <KDABLibFakes>
24 class RulerAttributes::Private
44 bool majorTickLengthIsSet : 1;
45 bool minorTickLengthIsSet : 1;
50 int majorTickLength = 3;
51 int minorTickLength = 2;
56 RulerAttributes::Private::Private()
57 : tickMarkPen(Qt::black)
58 , majorTickMarkPen(Qt::black)
59 , minorTickMarkPen(Qt::black)
60 , majorTickMarkPenIsSet(false)
61 , minorTickMarkPenIsSet(false)
62 , showMajorTickMarks(true)
63 , showMinorTickMarks(true)
64 , showRulerLine(false)
65 , majorTickLengthIsSet(false)
66 , minorTickLengthIsSet(false)
69 tickMarkPen.setCapStyle(Qt::FlatCap);
70 majorTickMarkPen.setCapStyle(Qt::FlatCap);
71 minorTickMarkPen.setCapStyle(Qt::FlatCap);
74 RulerAttributes::RulerAttributes()
81 : _d(new Private(*r.
d))
92 return d->tickMarkPen;
97 d->majorTickMarkPen = pen;
98 d->majorTickMarkPenIsSet =
true;
103 return d->majorTickMarkPenIsSet;
108 return d->majorTickMarkPenIsSet ?
d->majorTickMarkPen :
d->tickMarkPen;
113 d->minorTickMarkPen = pen;
114 d->minorTickMarkPenIsSet =
true;
119 return d->minorTickMarkPenIsSet;
124 return d->minorTickMarkPenIsSet ?
d->minorTickMarkPen :
d->tickMarkPen;
129 if (!
d->customTickMarkPens.contains(value))
130 d->customTickMarkPens.insert(value, pen);
135 QMapIterator<qreal, QPen> it(
d->customTickMarkPens);
136 while (it.hasNext()) {
138 if (qAbs(value - it.key()) < std::numeric_limits<float>::epsilon())
141 return d->tickMarkPen;
146 return d->customTickMarkPens;
151 QMapIterator<qreal, QPen> it(
d->customTickMarkPens);
152 while (it.hasNext()) {
154 if (qAbs(value - it.key()) < std::numeric_limits<float>::epsilon())
162 d->tickMarkPen.setColor(color);
167 return d->tickMarkPen.color();
172 d->showMajorTickMarks = show;
177 return d->showMajorTickMarks;
182 d->showMinorTickMarks = show;
187 return d->showMinorTickMarks;
192 d->labelMargin = margin;
197 return d->labelMargin;
202 d->majorTickLength = length;
203 d->majorTickLengthIsSet =
true;
208 return d->majorTickLength;
213 return d->majorTickLengthIsSet;
218 d->minorTickLength = length;
219 d->minorTickLengthIsSet =
true;
224 return d->minorTickLength;
229 return d->minorTickLengthIsSet;
234 d->showFirstTick = show;
239 return d->showFirstTick;
266 for (; it !=
d->customTickMarkPens.constEnd(); ++it, ++it2) {
267 if (it.key() != it2.key() || it.value() != it2.value()) {
276 d->showRulerLine = show;
281 return d->showRulerLine;
284 #if !defined(QT_NO_DEBUG_STREAM)
287 dbg <<
"KDChart::RulerAttributes("
292 QMapIterator<qreal, QPen> it(pens);
293 while (it.hasNext()) {
295 dbg <<
"customTickMarkPen=(" << it.value() <<
" : " << it.key() <<
")";
A set of attributes controlling the appearance of axis rulers.
int minorTickMarkLength() const
QPen minorTickMarkPen() const
bool minorTickMarkPenIsSet() const
void setLabelMargin(int margin)
void setTickMarkColor(const QColor &color)
bool majorTickMarkLengthIsSet() const
bool showRulerLine() const
void setShowMinorTickMarks(bool show)
TickMarkerPensMap tickMarkPens() const
void setMinorTickMarkLength(int length)
void setShowFirstTick(bool show)
bool hasTickMarkPenAt(qreal value) const
bool operator==(const RulerAttributes &) const
void setMajorTickMarkPen(const QPen &pen)
bool showMajorTickMarks() const
void setMajorTickMarkLength(int length)
void setMinorTickMarkPen(const QPen &pen)
void setShowRulerLine(bool show)
void setShowMajorTickMarks(bool show)
int majorTickMarkLength() const
QColor tickMarkColor() const
void setTickMarkPen(const QPen &pen)
bool showMinorTickMarks() const
bool minorTickMarkLengthIsSet() const
QPen majorTickMarkPen() const
bool majorTickMarkPenIsSet() const
RulerAttributes & operator=(const RulerAttributes &)
bool showFirstTick() const
QDebug operator<<(QDebug stream, const DataDimension &r)