@@ -296,6 +296,7 public: | |||
|
296 | 296 | *m_series << new CustomSlice(30.0, "Slice 3"); |
|
297 | 297 | *m_series << new CustomSlice(40.0, "Slice 4"); |
|
298 | 298 | *m_series << new CustomSlice(50.0, "Slice 5"); |
|
299 | m_series->setLabelsVisible(); | |
|
299 | 300 | m_chartView->addSeries(m_series); |
|
300 | 301 | |
|
301 | 302 | connect(m_series, SIGNAL(clicked(QPieSlice*, Qt::MouseButtons)), this, SLOT(handleSliceClicked(QPieSlice*, Qt::MouseButtons))); |
@@ -394,8 +395,8 public: | |||
|
394 | 395 | m_brush = new QPushButton(); |
|
395 | 396 | m_brushTool = new BrushTool("Slice brush", this); |
|
396 | 397 | m_font = new QPushButton(); |
|
397 |
m_label |
|
|
398 |
m_label |
|
|
398 | m_labelPen = new QPushButton(); | |
|
399 | m_labelPenTool = new PenTool("Label pen", this); | |
|
399 | 400 | QPushButton *removeSlice = new QPushButton("Remove slice"); |
|
400 | 401 | |
|
401 | 402 | QFormLayout* sliceSettingsLayout = new QFormLayout(); |
@@ -405,7 +406,7 public: | |||
|
405 | 406 | sliceSettingsLayout->addRow("Brush", m_brush); |
|
406 | 407 | sliceSettingsLayout->addRow("Label visible", m_sliceLabelVisible); |
|
407 | 408 | sliceSettingsLayout->addRow("Label font", m_font); |
|
408 |
sliceSettingsLayout->addRow("Label |
|
|
409 | sliceSettingsLayout->addRow("Label pen", m_labelPen); | |
|
409 | 410 | sliceSettingsLayout->addRow("Label arm length", m_sliceLabelArmFactor); |
|
410 | 411 | sliceSettingsLayout->addRow("Exploded", m_sliceExploded); |
|
411 | 412 | sliceSettingsLayout->addRow("Explode distance", m_sliceExplodedFactor); |
@@ -419,8 +420,8 public: | |||
|
419 | 420 | connect(m_brush, SIGNAL(clicked()), m_brushTool, SLOT(show())); |
|
420 | 421 | connect(m_brushTool, SIGNAL(changed()), this, SLOT(updateSliceSettings())); |
|
421 | 422 | connect(m_font, SIGNAL(clicked()), this, SLOT(showFontDialog())); |
|
422 |
connect(m_label |
|
|
423 |
connect(m_label |
|
|
423 | connect(m_labelPen, SIGNAL(clicked()), m_labelPenTool, SLOT(show())); | |
|
424 | connect(m_labelPenTool, SIGNAL(changed()), this, SLOT(updateSliceSettings())); | |
|
424 | 425 | connect(m_sliceLabelVisible, SIGNAL(toggled(bool)), this, SLOT(updateSliceSettings())); |
|
425 | 426 | connect(m_sliceLabelVisible, SIGNAL(toggled(bool)), this, SLOT(updateSliceSettings())); |
|
426 | 427 | connect(m_sliceLabelArmFactor, SIGNAL(valueChanged(double)), this, SLOT(updateSliceSettings())); |
@@ -475,7 +476,7 public Q_SLOTS: | |||
|
475 | 476 | m_slice->setSlicePen(m_penTool->pen()); |
|
476 | 477 | m_slice->setSliceBrush(m_brushTool->brush()); |
|
477 | 478 | |
|
478 |
m_slice->setLabel |
|
|
479 | m_slice->setLabelPen(m_labelPenTool->pen()); | |
|
479 | 480 | m_slice->setLabelVisible(m_sliceLabelVisible->isChecked()); |
|
480 | 481 | m_slice->setLabelArmLengthFactor(m_sliceLabelArmFactor->value()); |
|
481 | 482 | |
@@ -506,8 +507,8 public Q_SLOTS: | |||
|
506 | 507 | m_brushTool->setBrush(m_slice->originalBrush()); |
|
507 | 508 | |
|
508 | 509 | // label |
|
509 |
m_label |
|
|
510 |
m_label |
|
|
510 | m_labelPen->setText(PenTool::name(m_slice->labelPen())); | |
|
511 | m_labelPenTool->setPen(m_slice->labelPen()); | |
|
511 | 512 | m_font->setText(slice->labelFont().toString()); |
|
512 | 513 | m_sliceLabelVisible->blockSignals(true); |
|
513 | 514 | m_sliceLabelVisible->setChecked(slice->isLabelVisible()); |
@@ -588,8 +589,8 private: | |||
|
588 | 589 | QPushButton *m_pen; |
|
589 | 590 | PenTool *m_penTool; |
|
590 | 591 | QPushButton *m_font; |
|
591 |
QPushButton *m_label |
|
|
592 |
PenTool *m_label |
|
|
592 | QPushButton *m_labelPen; | |
|
593 | PenTool *m_labelPenTool; | |
|
593 | 594 | }; |
|
594 | 595 | |
|
595 | 596 | int main(int argc, char *argv[]) |
@@ -221,6 +221,16 void ChartTheme::decorate(QPieSeries* series, int index, bool force) | |||
|
221 | 221 | data.m_sliceBrush.setThemed(true); |
|
222 | 222 | } |
|
223 | 223 | |
|
224 | if (data.m_labelPen.isThemed() || force) { | |
|
225 | data.m_labelPen = QPen(m_titleBrush.color()); | |
|
226 | data.m_labelPen.setThemed(true); | |
|
227 | } | |
|
228 | ||
|
229 | if (data.m_labelFont.isThemed() || force) { | |
|
230 | data.m_labelFont = m_masterFont; | |
|
231 | data.m_labelFont.setThemed(true); | |
|
232 | } | |
|
233 | ||
|
224 | 234 | if (s->m_data != data) { |
|
225 | 235 | s->m_data = data; |
|
226 | 236 | emit s->changed(); |
@@ -71,7 +71,7 public: | |||
|
71 | 71 | m_labelText != other.m_labelText || |
|
72 | 72 | m_labelFont != other.m_labelFont || |
|
73 | 73 | m_labelArmLengthFactor != other.m_labelArmLengthFactor || |
|
74 |
m_label |
|
|
74 | m_labelPen != other.m_labelPen) | |
|
75 | 75 | return true; |
|
76 | 76 | |
|
77 | 77 | if (m_percentage != other.m_percentage || |
@@ -96,7 +96,7 public: | |||
|
96 | 96 | QString m_labelText; |
|
97 | 97 | Themed<QFont> m_labelFont; |
|
98 | 98 | qreal m_labelArmLengthFactor; |
|
99 |
Themed<QPen> m_label |
|
|
99 | Themed<QPen> m_labelPen; | |
|
100 | 100 | |
|
101 | 101 | qreal m_percentage; |
|
102 | 102 | QPointF m_center; |
@@ -56,11 +56,9 void PieSliceItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* /*op | |||
|
56 | 56 | painter->restore(); |
|
57 | 57 | |
|
58 | 58 | if (m_data.m_isLabelVisible) { |
|
59 |
painter->s |
|
|
60 | painter->setPen(m_data.m_labelArmPen); | |
|
59 | painter->setPen(m_data.m_labelPen); | |
|
61 | 60 | painter->drawPath(m_labelArmPath); |
|
62 | painter->restore(); | |
|
63 | ||
|
61 | // the pen color will affect the font color as well | |
|
64 | 62 | painter->setFont(m_data.m_labelFont); |
|
65 | 63 | painter->drawText(m_labelTextRect.bottomLeft(), m_data.m_labelText); |
|
66 | 64 | } |
@@ -182,13 +182,13 QBrush QPieSlice::sliceBrush() const | |||
|
182 | 182 | } |
|
183 | 183 | |
|
184 | 184 | /*! |
|
185 |
Returns the pen used to draw label |
|
|
185 | Returns the pen used to draw the label in this slice. | |
|
186 | 186 | \sa setLabelArmPen() |
|
187 | 187 | */ |
|
188 |
QPen QPieSlice::label |
|
|
188 | QPen QPieSlice::labelPen() const | |
|
189 | 189 | { |
|
190 | 190 | Q_D(const QPieSlice); |
|
191 |
return d->m_data.m_label |
|
|
191 | return d->m_data.m_labelPen; | |
|
192 | 192 | } |
|
193 | 193 | |
|
194 | 194 | /*! |
@@ -358,16 +358,16 void QPieSlice::setSliceBrush(const QBrush &brush) | |||
|
358 | 358 | } |
|
359 | 359 | |
|
360 | 360 | /*! |
|
361 |
Sets the \a pen used to draw the label |
|
|
361 | Sets the \a pen used to draw the label in this slice. | |
|
362 | 362 | Note that applying a theme will override this. |
|
363 | 363 | \sa labelArmPen() |
|
364 | 364 | */ |
|
365 |
void QPieSlice::setLabel |
|
|
365 | void QPieSlice::setLabelPen(const QPen &pen) | |
|
366 | 366 | { |
|
367 | 367 | Q_D(QPieSlice); |
|
368 |
if (d->m_data.m_label |
|
|
369 |
d->m_data.m_label |
|
|
370 |
d->m_data.m_label |
|
|
368 | if (d->m_data.m_labelPen != pen) { | |
|
369 | d->m_data.m_labelPen = pen; | |
|
370 | d->m_data.m_labelPen.setThemed(false); | |
|
371 | 371 | emit changed(); |
|
372 | 372 | } |
|
373 | 373 | } |
@@ -41,8 +41,8 public: | |||
|
41 | 41 | QPen slicePen() const; |
|
42 | 42 | void setSliceBrush(const QBrush &brush); |
|
43 | 43 | QBrush sliceBrush() const; |
|
44 |
void setLabel |
|
|
45 |
QPen label |
|
|
44 | void setLabelPen(const QPen &pen); | |
|
45 | QPen labelPen() const; | |
|
46 | 46 | void setLabelFont(const QFont &font); |
|
47 | 47 | QFont labelFont() const; |
|
48 | 48 | void setLabelArmLengthFactor(qreal factor); |
General Comments 0
You need to be logged in to leave comments.
Login now