##// END OF EJS Templates
pie: prevent adding same slice to two series
Jani Honkonen -
r1324:89f2ab72ea24
parent child
Show More
@@ -269,6 +269,8 bool QPieSeries::append(QList<QPieSlice*> slices)
269 foreach (QPieSlice* s, slices) {
269 foreach (QPieSlice* s, slices) {
270 if (!s || d->m_slices.contains(s))
270 if (!s || d->m_slices.contains(s))
271 return false;
271 return false;
272 if (s->series()) // already added to some series
273 return false;
272 }
274 }
273
275
274 foreach (QPieSlice* s, slices) {
276 foreach (QPieSlice* s, slices) {
@@ -329,6 +331,9 bool QPieSeries::insert(int index, QPieSlice* slice)
329 if (!slice || d->m_slices.contains(slice))
331 if (!slice || d->m_slices.contains(slice))
330 return false;
332 return false;
331
333
334 if (slice->series()) // already added to some series
335 return false;
336
332 slice->setParent(this);
337 slice->setParent(this);
333 QPieSlicePrivate::fromSlice(slice)->m_series = this;
338 QPieSlicePrivate::fromSlice(slice)->m_series = this;
334 d->m_slices.insert(index, slice);
339 d->m_slices.insert(index, slice);
@@ -171,6 +171,10 void tst_qpieseries::append()
171 QCOMPARE(added.count(), 1);
171 QCOMPARE(added.count(), 1);
172 QCOMPARE(added.first(), slice1);
172 QCOMPARE(added.first(), slice1);
173
173
174 // try to append same slice to another series
175 QPieSeries series2;
176 QVERIFY(!series2.append(slice1));
177
174 // append pointer list
178 // append pointer list
175 QList<QPieSlice *> list;
179 QList<QPieSlice *> list;
176 QVERIFY(!m_series->append(list));
180 QVERIFY(!m_series->append(list));
@@ -240,6 +244,10 void tst_qpieseries::insert()
240 QCOMPARE(added.count(), 1);
244 QCOMPARE(added.count(), 1);
241 QCOMPARE(added.first(), slice1);
245 QCOMPARE(added.first(), slice1);
242
246
247 // try to insert same slice to another series
248 QPieSeries series2;
249 QVERIFY(!series2.insert(0, slice1));
250
243 // add some more slices
251 // add some more slices
244 QPieSlice *slice2 = m_series->append("slice 2", 2);
252 QPieSlice *slice2 = m_series->append("slice 2", 2);
245 QPieSlice *slice4 = m_series->append("slice 4", 4);
253 QPieSlice *slice4 = m_series->append("slice 4", 4);
General Comments 0
You need to be logged in to leave comments. Login now