@@ -125,13 +125,17 | |||||
125 | \fn void QScatterSeries::colorChanged(QColor color) |
|
125 | \fn void QScatterSeries::colorChanged(QColor color) | |
126 | Signal is emitted when the fill (brush) color has changed to \a color. |
|
126 | Signal is emitted when the fill (brush) color has changed to \a color. | |
127 | */ |
|
127 | */ | |
|
128 | /*! | |||
|
129 | \qmlsignal ScatterSeries::onColorChanged(color color) | |||
|
130 | Signal is emitted when the fill (brush) color has changed to \a color. | |||
|
131 | */ | |||
128 |
|
132 | |||
129 | /*! |
|
133 | /*! | |
130 | \fn void QScatterSeries::borderColorChanged(QColor color) |
|
134 | \fn void QScatterSeries::borderColorChanged(QColor color) | |
131 | Signal is emitted when the line (pen) color has changed to \a color. |
|
135 | Signal is emitted when the line (pen) color has changed to \a color. | |
132 | */ |
|
136 | */ | |
133 | /*! |
|
137 | /*! | |
134 |
\qmlsignal ScatterSeries:: |
|
138 | \qmlsignal ScatterSeries::onBorderColorChanged(color color) | |
135 | Signal is emitted when the line (pen) color has changed to \a color. |
|
139 | Signal is emitted when the line (pen) color has changed to \a color. | |
136 | */ |
|
140 | */ | |
137 |
|
141 | |||
@@ -141,6 +145,23 | |||||
141 | \sa QAbstractSeries, SeriesType |
|
145 | \sa QAbstractSeries, SeriesType | |
142 | */ |
|
146 | */ | |
143 |
|
147 | |||
|
148 | /*! | |||
|
149 | \fn void QScatterSeries::markerShapeChanged(MarkerShape shape) | |||
|
150 | Signal is emitted when the marker shape has changed to \a shape. | |||
|
151 | */ | |||
|
152 | /*! | |||
|
153 | \qmlsignal ScatterSeries::onMarkerShapeChanged(MarkerShape shape) | |||
|
154 | Signal is emitted when the marker shape has changed to \a shape. | |||
|
155 | */ | |||
|
156 | /*! | |||
|
157 | \fn void QScatterSeries::markerSizeChanged(qreal size) | |||
|
158 | Signal is emitted when the marker size has changed to \a size. | |||
|
159 | */ | |||
|
160 | /*! | |||
|
161 | \qmlsignal ScatterSeries::onMarkerSizeChanged(real size) | |||
|
162 | Signal is emitted when the marker size has changed to \a size. | |||
|
163 | */ | |||
|
164 | ||||
144 | QT_CHARTS_BEGIN_NAMESPACE |
|
165 | QT_CHARTS_BEGIN_NAMESPACE | |
145 |
|
166 | |||
146 | /*! |
|
167 | /*! | |
@@ -251,6 +272,7 void QScatterSeries::setMarkerShape(MarkerShape shape) | |||||
251 | if (d->m_shape != shape) { |
|
272 | if (d->m_shape != shape) { | |
252 | d->m_shape = shape; |
|
273 | d->m_shape = shape; | |
253 | emit d->updated(); |
|
274 | emit d->updated(); | |
|
275 | emit markerShapeChanged(shape); | |||
254 | } |
|
276 | } | |
255 | } |
|
277 | } | |
256 |
|
278 | |||
@@ -267,6 +289,7 void QScatterSeries::setMarkerSize(qreal size) | |||||
267 | if (!qFuzzyCompare(d->m_size, size)) { |
|
289 | if (!qFuzzyCompare(d->m_size, size)) { | |
268 | d->m_size = size; |
|
290 | d->m_size = size; | |
269 | emit d->updated(); |
|
291 | emit d->updated(); | |
|
292 | emit markerSizeChanged(size); | |||
270 | } |
|
293 | } | |
271 | } |
|
294 | } | |
272 |
|
295 |
@@ -31,8 +31,8 class QT_CHARTS_EXPORT QScatterSeries : public QXYSeries | |||||
31 | Q_OBJECT |
|
31 | Q_OBJECT | |
32 | Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) |
|
32 | Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged) | |
33 | Q_PROPERTY(QColor borderColor READ borderColor WRITE setBorderColor NOTIFY borderColorChanged) |
|
33 | Q_PROPERTY(QColor borderColor READ borderColor WRITE setBorderColor NOTIFY borderColorChanged) | |
34 | Q_PROPERTY(MarkerShape markerShape READ markerShape WRITE setMarkerShape) |
|
34 | Q_PROPERTY(MarkerShape markerShape READ markerShape WRITE setMarkerShape NOTIFY markerShapeChanged) | |
35 | Q_PROPERTY(qreal markerSize READ markerSize WRITE setMarkerSize) |
|
35 | Q_PROPERTY(qreal markerSize READ markerSize WRITE setMarkerSize NOTIFY markerSizeChanged) | |
36 | Q_PROPERTY(QBrush brush READ brush WRITE setBrush) |
|
36 | Q_PROPERTY(QBrush brush READ brush WRITE setBrush) | |
37 | Q_ENUMS(MarkerShape) |
|
37 | Q_ENUMS(MarkerShape) | |
38 |
|
38 | |||
@@ -61,6 +61,8 public: | |||||
61 | Q_SIGNALS: |
|
61 | Q_SIGNALS: | |
62 | void colorChanged(QColor color); |
|
62 | void colorChanged(QColor color); | |
63 | void borderColorChanged(QColor color); |
|
63 | void borderColorChanged(QColor color); | |
|
64 | void markerShapeChanged(MarkerShape shape); | |||
|
65 | void markerSizeChanged(qreal size); | |||
64 |
|
66 | |||
65 | private: |
|
67 | private: | |
66 | Q_DECLARE_PRIVATE(QScatterSeries) |
|
68 | Q_DECLARE_PRIVATE(QScatterSeries) |
@@ -44,13 +44,17 void GLXYSeriesDataManager::setPoints(QXYSeries *series, const AbstractDomain *d | |||||
44 | QScatterSeries *scatter = static_cast<QScatterSeries *>(series); |
|
44 | QScatterSeries *scatter = static_cast<QScatterSeries *>(series); | |
45 | data->width = float(scatter->markerSize()); |
|
45 | data->width = float(scatter->markerSize()); | |
46 | sc = scatter->color(); // Scatter overwrites color property |
|
46 | sc = scatter->color(); // Scatter overwrites color property | |
|
47 | connect(scatter, &QScatterSeries::colorChanged, this, | |||
|
48 | &GLXYSeriesDataManager::handleScatterColorChange); | |||
|
49 | connect(scatter, &QScatterSeries::markerSizeChanged, this, | |||
|
50 | &GLXYSeriesDataManager::handleScatterMarkerSizeChange); | |||
47 | } else { |
|
51 | } else { | |
48 | data->width = float(series->pen().widthF()); |
|
52 | data->width = float(series->pen().widthF()); | |
49 | sc = series->color(); |
|
53 | sc = series->color(); | |
50 | } |
|
|||
51 | data->color = QVector3D(float(sc.redF()), float(sc.greenF()), float(sc.blueF())); |
|
|||
52 | connect(series, &QXYSeries::penChanged, this, |
|
54 | connect(series, &QXYSeries::penChanged, this, | |
53 | &GLXYSeriesDataManager::handleSeriesPenChange); |
|
55 | &GLXYSeriesDataManager::handleSeriesPenChange); | |
|
56 | } | |||
|
57 | data->color = QVector3D(float(sc.redF()), float(sc.greenF()), float(sc.blueF())); | |||
54 | connect(series, &QXYSeries::useOpenGLChanged, this, |
|
58 | connect(series, &QXYSeries::useOpenGLChanged, this, | |
55 | &GLXYSeriesDataManager::handleSeriesOpenGLChange); |
|
59 | &GLXYSeriesDataManager::handleSeriesOpenGLChange); | |
56 | m_seriesDataMap.insert(series, data); |
|
60 | m_seriesDataMap.insert(series, data); | |
@@ -133,6 +137,7 void GLXYSeriesDataManager::handleSeriesPenChange() | |||||
133 | QColor sc = series->color(); |
|
137 | QColor sc = series->color(); | |
134 | data->color = QVector3D(float(sc.redF()), float(sc.greenF()), float(sc.blueF())); |
|
138 | data->color = QVector3D(float(sc.redF()), float(sc.greenF()), float(sc.blueF())); | |
135 | data->width = float(series->pen().widthF()); |
|
139 | data->width = float(series->pen().widthF()); | |
|
140 | data->dirty = true; | |||
136 | } |
|
141 | } | |
137 | } |
|
142 | } | |
138 | } |
|
143 | } | |
@@ -144,4 +149,30 void GLXYSeriesDataManager::handleSeriesOpenGLChange() | |||||
144 | removeSeries(series); |
|
149 | removeSeries(series); | |
145 | } |
|
150 | } | |
146 |
|
151 | |||
|
152 | void GLXYSeriesDataManager::handleScatterColorChange() | |||
|
153 | { | |||
|
154 | QScatterSeries *series = qobject_cast<QScatterSeries *>(sender()); | |||
|
155 | if (series) { | |||
|
156 | GLXYSeriesData *data = m_seriesDataMap.value(series); | |||
|
157 | if (data) { | |||
|
158 | QColor sc = series->color(); | |||
|
159 | data->color = QVector3D(float(sc.redF()), float(sc.greenF()), float(sc.blueF())); | |||
|
160 | data->dirty = true; | |||
|
161 | } | |||
|
162 | } | |||
|
163 | } | |||
|
164 | ||||
|
165 | void GLXYSeriesDataManager::handleScatterMarkerSizeChange() | |||
|
166 | { | |||
|
167 | QScatterSeries *series = qobject_cast<QScatterSeries *>(sender()); | |||
|
168 | if (series) { | |||
|
169 | GLXYSeriesData *data = m_seriesDataMap.value(series); | |||
|
170 | if (data) { | |||
|
171 | data->width =float(series->markerSize()); | |||
|
172 | data->dirty = true; | |||
|
173 | } | |||
|
174 | } | |||
|
175 | } | |||
|
176 | ||||
147 | QT_CHARTS_END_NAMESPACE |
|
177 | QT_CHARTS_END_NAMESPACE | |
|
178 |
@@ -77,6 +77,8 public Q_SLOTS: | |||||
77 | void cleanup(); |
|
77 | void cleanup(); | |
78 | void handleSeriesPenChange(); |
|
78 | void handleSeriesPenChange(); | |
79 | void handleSeriesOpenGLChange(); |
|
79 | void handleSeriesOpenGLChange(); | |
|
80 | void handleScatterColorChange(); | |||
|
81 | void handleScatterMarkerSizeChange(); | |||
80 |
|
82 | |||
81 | Q_SIGNALS: |
|
83 | Q_SIGNALS: | |
82 | void seriesRemoved(const QXYSeries *series); |
|
84 | void seriesRemoved(const QXYSeries *series); |
General Comments 0
You need to be logged in to leave comments.
Login now