@@ -298,7 +298,7 public: | |||
|
298 | 298 | *m_series << new CustomSlice(50.0, "Slice 5"); |
|
299 | 299 | m_chartView->addSeries(m_series); |
|
300 | 300 | |
|
301 | connect(m_series, SIGNAL(clicked(QPieSlice*)), this, SLOT(handleSliceClicked(QPieSlice*))); | |
|
301 | connect(m_series, SIGNAL(clicked(QPieSlice*, Qt::MouseButtons)), this, SLOT(handleSliceClicked(QPieSlice*, Qt::MouseButtons))); | |
|
302 | 302 | |
|
303 | 303 | // chart settings |
|
304 | 304 | m_themeComboBox = new QComboBox(); |
@@ -483,8 +483,10 public Q_SLOTS: | |||
|
483 | 483 | m_slice->setExplodeDistanceFactor(m_sliceExplodedFactor->value()); |
|
484 | 484 | } |
|
485 | 485 | |
|
486 | void handleSliceClicked(QPieSlice* slice) | |
|
486 | void handleSliceClicked(QPieSlice* slice, Qt::MouseButtons buttons) | |
|
487 | 487 | { |
|
488 | Q_UNUSED(buttons); | |
|
489 | ||
|
488 | 490 | m_slice = static_cast<CustomSlice*>(slice); |
|
489 | 491 | |
|
490 | 492 | // name |
@@ -95,12 +95,12 int main(int argc, char *argv[]) | |||
|
95 | 95 | foreach (QString month, months) |
|
96 | 96 | *series << new DrilldownSlice(qrand() % 1000, month, yearSeries); |
|
97 | 97 | |
|
98 | QObject::connect(series, SIGNAL(clicked(QPieSlice*)), drilldownChart, SLOT(handleSliceClicked(QPieSlice*))); | |
|
98 | QObject::connect(series, SIGNAL(clicked(QPieSlice*, Qt::MouseButtons)), drilldownChart, SLOT(handleSliceClicked(QPieSlice*))); | |
|
99 | 99 | |
|
100 | 100 | *yearSeries << new DrilldownSlice(series->total(), name, series); |
|
101 | 101 | } |
|
102 | 102 | |
|
103 | QObject::connect(yearSeries, SIGNAL(clicked(QPieSlice*)), drilldownChart, SLOT(handleSliceClicked(QPieSlice*))); | |
|
103 | QObject::connect(yearSeries, SIGNAL(clicked(QPieSlice*, Qt::MouseButtons)), drilldownChart, SLOT(handleSliceClicked(QPieSlice*))); | |
|
104 | 104 | |
|
105 | 105 | drilldownChart->changeSeries(yearSeries); |
|
106 | 106 |
@@ -57,7 +57,7 void PieChartItem::handleSlicesAdded(QList<QPieSlice*> slices) | |||
|
57 | 57 | PieSliceItem* item = new PieSliceItem(this); |
|
58 | 58 | m_slices.insert(s, item); |
|
59 | 59 | connect(s, SIGNAL(changed()), this, SLOT(handleSliceChanged())); |
|
60 | connect(item, SIGNAL(clicked()), s, SIGNAL(clicked())); | |
|
60 | connect(item, SIGNAL(clicked(Qt::MouseButtons)), s, SIGNAL(clicked(Qt::MouseButtons))); | |
|
61 | 61 | connect(item, SIGNAL(hoverEnter()), s, SIGNAL(hoverEnter())); |
|
62 | 62 | connect(item, SIGNAL(hoverLeave()), s, SIGNAL(hoverLeave())); |
|
63 | 63 |
@@ -24,7 +24,7 PieSliceItem::PieSliceItem(QGraphicsItem* parent) | |||
|
24 | 24 | :QGraphicsObject(parent) |
|
25 | 25 | { |
|
26 | 26 | setAcceptHoverEvents(true); |
|
27 |
setAcceptedMouseButtons(Qt:: |
|
|
27 | setAcceptedMouseButtons(Qt::MouseButtonMask); | |
|
28 | 28 | setZValue(ChartPresenter::PieSeriesZValue); |
|
29 | 29 | } |
|
30 | 30 | |
@@ -76,9 +76,9 void PieSliceItem::hoverLeaveEvent(QGraphicsSceneHoverEvent* /*event*/) | |||
|
76 | 76 | emit hoverLeave(); |
|
77 | 77 | } |
|
78 | 78 | |
|
79 |
void PieSliceItem::mousePressEvent(QGraphicsSceneMouseEvent* |
|
|
79 | void PieSliceItem::mousePressEvent(QGraphicsSceneMouseEvent *event) | |
|
80 | 80 | { |
|
81 | emit clicked(); | |
|
81 | emit clicked(event->buttons()); | |
|
82 | 82 | } |
|
83 | 83 | |
|
84 | 84 | void PieSliceItem::setSliceData(PieSliceData sliceData) |
@@ -34,7 +34,7 public: // from QGraphicsItem | |||
|
34 | 34 | void mousePressEvent(QGraphicsSceneMouseEvent *event); |
|
35 | 35 | |
|
36 | 36 | Q_SIGNALS: |
|
37 | void clicked(); | |
|
37 | void clicked(Qt::MouseButtons buttons); | |
|
38 | 38 | void hoverEnter(); |
|
39 | 39 | void hoverLeave(); |
|
40 | 40 |
@@ -80,12 +80,12 void QPieSeriesPrivate::sliceChanged() | |||
|
80 | 80 | updateDerivativeData(); |
|
81 | 81 | } |
|
82 | 82 | |
|
83 | void QPieSeriesPrivate::sliceClicked() | |
|
83 | void QPieSeriesPrivate::sliceClicked(Qt::MouseButtons buttons) | |
|
84 | 84 | { |
|
85 | 85 | QPieSlice* slice = qobject_cast<QPieSlice *>(sender()); |
|
86 | 86 | Q_ASSERT(m_slices.contains(slice)); |
|
87 | 87 | Q_Q(QPieSeries); |
|
88 | emit q->clicked(slice); | |
|
88 | emit q->clicked(slice, buttons); | |
|
89 | 89 | } |
|
90 | 90 | |
|
91 | 91 | void QPieSeriesPrivate::sliceHoverEnter() |
@@ -240,7 +240,7 void QPieSeries::add(QList<QPieSlice*> slices) | |||
|
240 | 240 | |
|
241 | 241 | foreach (QPieSlice* s, slices) { |
|
242 | 242 | connect(s, SIGNAL(changed()), d, SLOT(sliceChanged())); |
|
243 | connect(s, SIGNAL(clicked()), d, SLOT(sliceClicked())); | |
|
243 | connect(s, SIGNAL(clicked(Qt::MouseButtons)), d, SLOT(sliceClicked(Qt::MouseButtons))); | |
|
244 | 244 | connect(s, SIGNAL(hoverEnter()), d, SLOT(sliceHoverEnter())); |
|
245 | 245 | connect(s, SIGNAL(hoverLeave()), d, SLOT(sliceHoverLeave())); |
|
246 | 246 | } |
@@ -57,7 +57,7 public: | |||
|
57 | 57 | void setModelMapping(int modelValuesLine, int modelLabelsLine, Qt::Orientation orientation = Qt::Vertical); |
|
58 | 58 | |
|
59 | 59 | Q_SIGNALS: |
|
60 | void clicked(QPieSlice* slice); | |
|
60 | void clicked(QPieSlice* slice, Qt::MouseButtons buttons); | |
|
61 | 61 | void hoverEnter(QPieSlice* slice); |
|
62 | 62 | void hoverLeave(QPieSlice* slice); |
|
63 | 63 | void added(QList<QPieSlice*> slices); |
@@ -16,9 +16,9 public: | |||
|
16 | 16 | |
|
17 | 17 | void updateDerivativeData(); |
|
18 | 18 | |
|
19 | public Q_SLOTS: // TODO: should be private and not visible in the interface at all | |
|
19 | public Q_SLOTS: | |
|
20 | 20 | void sliceChanged(); |
|
21 | void sliceClicked(); | |
|
21 | void sliceClicked(Qt::MouseButtons buttons); | |
|
22 | 22 | void sliceHoverEnter(); |
|
23 | 23 | void sliceHoverLeave(); |
|
24 | 24 | void modelUpdated(QModelIndex topLeft, QModelIndex bottomRight); |
General Comments 0
You need to be logged in to leave comments.
Login now