@@ -145,13 +145,36 QAbstractSeries::SeriesType QScatterSeries::type() const | |||||
145 | return QAbstractSeries::SeriesTypeScatter; |
|
145 | return QAbstractSeries::SeriesTypeScatter; | |
146 | } |
|
146 | } | |
147 |
|
147 | |||
|
148 | void QScatterSeries::setPen(const QPen &pen) | |||
|
149 | { | |||
|
150 | Q_D(QXYSeries); | |||
|
151 | if (d->m_pen != pen) { | |||
|
152 | bool emitColorChanged = d->m_pen.color() != pen.color(); | |||
|
153 | d->m_pen = pen; | |||
|
154 | emit d->updated(); | |||
|
155 | if (emitColorChanged) | |||
|
156 | emit borderColorChanged(pen.color()); | |||
|
157 | } | |||
|
158 | } | |||
|
159 | ||||
|
160 | void QScatterSeries::setBrush(const QBrush &brush) | |||
|
161 | { | |||
|
162 | Q_D(QScatterSeries); | |||
|
163 | if (d->m_brush != brush) { | |||
|
164 | bool emitColorChanged = d->m_brush.color() != brush.color(); | |||
|
165 | d->m_brush = brush; | |||
|
166 | emit d->updated(); | |||
|
167 | if (emitColorChanged) | |||
|
168 | emit colorChanged(brush.color()); | |||
|
169 | } | |||
|
170 | } | |||
|
171 | ||||
148 | void QScatterSeries::setColor(const QColor &color) |
|
172 | void QScatterSeries::setColor(const QColor &color) | |
149 | { |
|
173 | { | |
150 | QBrush b = brush(); |
|
174 | QBrush b = brush(); | |
151 | if (b.color() != color) { |
|
175 | if (b.color() != color) { | |
152 | b.setColor(color); |
|
176 | b.setColor(color); | |
153 | setBrush(b); |
|
177 | setBrush(b); | |
154 | emit colorChanged(color); |
|
|||
155 | } |
|
178 | } | |
156 | } |
|
179 | } | |
157 |
|
180 | |||
@@ -166,7 +189,6 void QScatterSeries::setBorderColor(const QColor &color) | |||||
166 | if (p.color() != color) { |
|
189 | if (p.color() != color) { | |
167 | p.setColor(color); |
|
190 | p.setColor(color); | |
168 | setPen(p); |
|
191 | setPen(p); | |
169 | emit borderColorChanged(color); |
|
|||
170 | } |
|
192 | } | |
171 | } |
|
193 | } | |
172 |
|
194 | |||
@@ -208,12 +230,12 void QScatterSeries::setMarkerSize(qreal size) | |||||
208 |
|
230 | |||
209 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
|
231 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |
210 |
|
232 | |||
211 |
QScatterSeriesPrivate::QScatterSeriesPrivate(QScatterSeries* q): |
|
233 | QScatterSeriesPrivate::QScatterSeriesPrivate(QScatterSeries* q) : | |
212 | m_shape(QScatterSeries::MarkerShapeCircle), |
|
234 | QXYSeriesPrivate(q), | |
213 | m_size(15.0) |
|
235 | m_shape(QScatterSeries::MarkerShapeCircle), | |
|
236 | m_size(15.0) | |||
214 | { |
|
237 | { | |
215 |
|
238 | } | ||
216 | }; |
|
|||
217 |
|
239 | |||
218 | Chart* QScatterSeriesPrivate::createGraphics(ChartPresenter* presenter) |
|
240 | Chart* QScatterSeriesPrivate::createGraphics(ChartPresenter* presenter) | |
219 | { |
|
241 | { |
@@ -47,6 +47,8 public: | |||||
47 | explicit QScatterSeries(QObject *parent = 0); |
|
47 | explicit QScatterSeries(QObject *parent = 0); | |
48 | ~QScatterSeries(); |
|
48 | ~QScatterSeries(); | |
49 | QAbstractSeries::SeriesType type() const; |
|
49 | QAbstractSeries::SeriesType type() const; | |
|
50 | void setPen(const QPen &pen); | |||
|
51 | void setBrush(const QBrush &brush); | |||
50 | void setColor(const QColor &color); |
|
52 | void setColor(const QColor &color); | |
51 | QColor color() const; |
|
53 | QColor color() const; | |
52 | void setBorderColor(const QColor &color); |
|
54 | void setBorderColor(const QColor &color); |
@@ -43,8 +43,7 public: | |||||
43 | private: |
|
43 | private: | |
44 | QScatterSeries::MarkerShape m_shape; |
|
44 | QScatterSeries::MarkerShape m_shape; | |
45 | qreal m_size; |
|
45 | qreal m_size; | |
46 |
Q_DECLARE_PUBLIC(QScatterSeries) |
|
46 | Q_DECLARE_PUBLIC(QScatterSeries) | |
47 |
|
||||
48 | }; |
|
47 | }; | |
49 |
|
48 | |||
50 | QTCOMMERCIALCHART_END_NAMESPACE |
|
49 | QTCOMMERCIALCHART_END_NAMESPACE |
@@ -298,9 +298,12 int QXYSeries::count() const | |||||
298 | void QXYSeries::setPen(const QPen &pen) |
|
298 | void QXYSeries::setPen(const QPen &pen) | |
299 | { |
|
299 | { | |
300 | Q_D(QXYSeries); |
|
300 | Q_D(QXYSeries); | |
301 | if (d->m_pen!=pen) { |
|
301 | if (d->m_pen != pen) { | |
|
302 | bool emitColorChanged = d->m_pen.color() != pen.color(); | |||
302 | d->m_pen = pen; |
|
303 | d->m_pen = pen; | |
303 | emit d->updated(); |
|
304 | emit d->updated(); | |
|
305 | if (emitColorChanged) | |||
|
306 | emit colorChanged(pen.color()); | |||
304 | } |
|
307 | } | |
305 | } |
|
308 | } | |
306 |
|
309 | |||
@@ -336,7 +339,6 void QXYSeries::setColor(const QColor &color) | |||||
336 | if (p.color() != color) { |
|
339 | if (p.color() != color) { | |
337 | p.setColor(color); |
|
340 | p.setColor(color); | |
338 | setPen(p); |
|
341 | setPen(p); | |
339 | emit colorChanged(color); |
|
|||
340 | } |
|
342 | } | |
341 | } |
|
343 | } | |
342 |
|
344 |
@@ -60,10 +60,10 public: | |||||
60 | QXYSeries& operator << (const QPointF &point); |
|
60 | QXYSeries& operator << (const QPointF &point); | |
61 | QXYSeries& operator << (const QList<QPointF> &points); |
|
61 | QXYSeries& operator << (const QList<QPointF> &points); | |
62 |
|
62 | |||
63 | void setPen(const QPen &pen); |
|
63 | virtual void setPen(const QPen &pen); | |
64 | QPen pen() const; |
|
64 | QPen pen() const; | |
65 |
|
65 | |||
66 | void setBrush(const QBrush &brush); |
|
66 | virtual void setBrush(const QBrush &brush); | |
67 | QBrush brush() const; |
|
67 | QBrush brush() const; | |
68 |
|
68 | |||
69 | virtual void setColor(const QColor &color); |
|
69 | virtual void setColor(const QColor &color); |
@@ -59,9 +59,8 protected: | |||||
59 | bool m_pointsVisible; |
|
59 | bool m_pointsVisible; | |
60 |
|
60 | |||
61 | private: |
|
61 | private: | |
62 |
Q_DECLARE_PUBLIC(QXYSeries) |
|
62 | Q_DECLARE_PUBLIC(QXYSeries) | |
63 | friend class QScatterSeries; |
|
63 | friend class QScatterSeries; | |
64 |
|
||||
65 | }; |
|
64 | }; | |
66 |
|
65 | |||
67 | QTCOMMERCIALCHART_END_NAMESPACE |
|
66 | QTCOMMERCIALCHART_END_NAMESPACE |
@@ -35,6 +35,8 public slots: | |||||
35 | private slots: |
|
35 | private slots: | |
36 | void qscatterseries_data(); |
|
36 | void qscatterseries_data(); | |
37 | void qscatterseries(); |
|
37 | void qscatterseries(); | |
|
38 | void scatterChangedSignals(); | |||
|
39 | ||||
38 | protected: |
|
40 | protected: | |
39 | void pointsVisible_data(); |
|
41 | void pointsVisible_data(); | |
40 | }; |
|
42 | }; | |
@@ -94,6 +96,35 void tst_QScatterSeries::qscatterseries() | |||||
94 | QTest::qWaitForWindowShown(m_view); |
|
96 | QTest::qWaitForWindowShown(m_view); | |
95 | } |
|
97 | } | |
96 |
|
98 | |||
|
99 | void tst_QScatterSeries::scatterChangedSignals() | |||
|
100 | { | |||
|
101 | QScatterSeries *series = qobject_cast<QScatterSeries *>(m_series); | |||
|
102 | QVERIFY(series); | |||
|
103 | ||||
|
104 | QSignalSpy colorSpy(series, SIGNAL(colorChanged(QColor))); | |||
|
105 | QSignalSpy borderColorSpy(series, SIGNAL(borderColorChanged(QColor))); | |||
|
106 | ||||
|
107 | // Color | |||
|
108 | series->setColor(QColor("blueviolet")); | |||
|
109 | TRY_COMPARE(colorSpy.count(), 1); | |||
|
110 | ||||
|
111 | // Border color | |||
|
112 | series->setBorderColor(QColor("burlywood")); | |||
|
113 | TRY_COMPARE(borderColorSpy.count(), 1); | |||
|
114 | ||||
|
115 | // Pen | |||
|
116 | QPen p = series->pen(); | |||
|
117 | p.setColor("lightpink"); | |||
|
118 | series->setPen(p); | |||
|
119 | TRY_COMPARE(borderColorSpy.count(), 2); | |||
|
120 | ||||
|
121 | // Brush | |||
|
122 | QBrush b = series->brush(); | |||
|
123 | b.setColor("lime"); | |||
|
124 | series->setBrush(b); | |||
|
125 | TRY_COMPARE(colorSpy.count(), 2); | |||
|
126 | } | |||
|
127 | ||||
97 | QTEST_MAIN(tst_QScatterSeries) |
|
128 | QTEST_MAIN(tst_QScatterSeries) | |
98 |
|
129 | |||
99 | #include "tst_qscatterseries.moc" |
|
130 | #include "tst_qscatterseries.moc" |
@@ -399,11 +399,31 void tst_QXYSeries::pointsVisible_raw() | |||||
399 | void tst_QXYSeries::changedSignals() |
|
399 | void tst_QXYSeries::changedSignals() | |
400 | { |
|
400 | { | |
401 | QSignalSpy visibleSpy(m_series, SIGNAL(visibleChanged())); |
|
401 | QSignalSpy visibleSpy(m_series, SIGNAL(visibleChanged())); | |
|
402 | QSignalSpy nameSpy(m_series, SIGNAL(nameChanged())); | |||
|
403 | QSignalSpy colorSpy(m_series, SIGNAL(colorChanged(QColor))); | |||
402 |
|
404 | |||
|
405 | // Visibility | |||
403 | m_series->setVisible(false); |
|
406 | m_series->setVisible(false); | |
404 | m_series->setVisible(false); |
|
407 | m_series->setVisible(false); | |
405 | TRY_COMPARE(visibleSpy.count(), 1); |
|
408 | TRY_COMPARE(visibleSpy.count(), 1); | |
406 | m_series->setVisible(true); |
|
409 | m_series->setVisible(true); | |
407 | TRY_COMPARE(visibleSpy.count(), 2); |
|
410 | TRY_COMPARE(visibleSpy.count(), 2); | |
408 | } |
|
|||
409 |
|
411 | |||
|
412 | // Color | |||
|
413 | m_series->setColor(QColor("aliceblue")); | |||
|
414 | TRY_COMPARE(colorSpy.count(), 1); | |||
|
415 | ||||
|
416 | // Pen and Brush | |||
|
417 | QPen p = m_series->pen(); | |||
|
418 | p.setColor("aquamarine"); | |||
|
419 | m_series->setPen(p); | |||
|
420 | QBrush b = m_series->brush(); | |||
|
421 | b.setColor("beige"); | |||
|
422 | m_series->setBrush(b); | |||
|
423 | TRY_COMPARE(colorSpy.count(), 2); | |||
|
424 | ||||
|
425 | // Verify all the signals again, to make sure no extra signals were emitted | |||
|
426 | TRY_COMPARE(visibleSpy.count(), 2); | |||
|
427 | TRY_COMPARE(nameSpy.count(), 0); | |||
|
428 | TRY_COMPARE(colorSpy.count(), 2); | |||
|
429 | } |
General Comments 0
You need to be logged in to leave comments.
Login now