From 2e82e33f659ef957be4807b970c224220a8c0bf6 2012-03-30 12:35:46 From: sauimone Date: 2012-03-30 12:35:46 Subject: [PATCH] combined clicked and rightclicked signals in barchart --- diff --git a/src/barchart/bar.cpp b/src/barchart/bar.cpp index dd9335f..6d2e699 100644 --- a/src/barchart/bar.cpp +++ b/src/barchart/bar.cpp @@ -35,11 +35,7 @@ Bar::Bar(QString category, QGraphicsItem *parent) void Bar::mousePressEvent(QGraphicsSceneMouseEvent *event) { - if (event->button() == Qt::LeftButton) { - emit clicked(m_category); - } else if (event->button() == Qt::RightButton) { - emit rightClicked(m_category); - } + emit clicked(m_category, event->button()); } void Bar::hoverEnterEvent(QGraphicsSceneHoverEvent *event) diff --git a/src/barchart/bar_p.h b/src/barchart/bar_p.h index c80af19..c7c6a46 100644 --- a/src/barchart/bar_p.h +++ b/src/barchart/bar_p.h @@ -39,8 +39,7 @@ public: void hoverLeaveEvent(QGraphicsSceneHoverEvent *event); Q_SIGNALS: - void clicked(QString category); - void rightClicked(QString category); + void clicked(QString category, Qt::MouseButtons button); void hoverEntered(QPoint pos); void hoverLeaved(); diff --git a/src/barchart/barchartitem.cpp b/src/barchart/barchartitem.cpp index 8acf6b3..7189b46 100644 --- a/src/barchart/barchartitem.cpp +++ b/src/barchart/barchartitem.cpp @@ -87,8 +87,7 @@ void BarChartItem::dataChanged() Bar *bar = new Bar(category,this); childItems().append(bar); m_bars.append(bar); - connect(bar, SIGNAL(clicked(QString)), set, SIGNAL(clicked(QString))); - connect(bar, SIGNAL(rightClicked(QString)), set, SIGNAL(rightClicked(QString))); + connect(bar, SIGNAL(clicked(QString,Qt::MouseButtons)), set, SIGNAL(clicked(QString,Qt::MouseButtons))); connect(bar, SIGNAL(hoverEntered(QPoint)), set, SLOT(barHoverEnterEvent(QPoint))); connect(bar, SIGNAL(hoverLeaved()), set, SLOT(barHoverLeaveEvent())); m_layout.append(QRectF(0, 0, 0, 0)); diff --git a/src/barchart/qbarseries.cpp b/src/barchart/qbarseries.cpp index e11eec3..03d9a10 100644 --- a/src/barchart/qbarseries.cpp +++ b/src/barchart/qbarseries.cpp @@ -67,27 +67,25 @@ QBarSeries::QBarSeries(QBarCategories categories, QObject *parent) : QSeries(par /*! Adds a set of bars to series. Takes ownership of \a set. - Connects the clicked(QString) and rightClicked(QString) signals + Connects the clicked(QString, Qt::MouseButtons) signal of \a set to this series */ void QBarSeries::appendBarSet(QBarSet *set) { m_internalModel->appendBarSet(set); - connect(set, SIGNAL(clicked(QString)), this, SLOT(barsetClicked(QString))); - connect(set, SIGNAL(rightClicked(QString)), this, SLOT(barsetRightClicked(QString))); + connect(set, SIGNAL(clicked(QString,Qt::MouseButtons)), this, SLOT(barsetClicked(QString,Qt::MouseButtons))); connect(set, SIGNAL(valueChanged()), this, SLOT(barsetChanged())); emit updatedBars(); } /*! Removes a set of bars from series. Releases ownership of \a set. Doesnt delete \a set. - Disconnects the clicked(QString) and rightClicked(QString) signals + Disconnects the clicked(QString, Qt::MouseButtons) signal of \a set from this series */ void QBarSeries::removeBarSet(QBarSet *set) { - disconnect(set, SIGNAL(clicked(QString)), this, SLOT(barsetClicked(QString))); - disconnect(set, SIGNAL(rightClicked(QString)), this, SLOT(barsetRightClicked(QString))); + disconnect(set, SIGNAL(clicked(QString,Qt::MouseButtons)), this, SLOT(barsetClicked(QString,Qt::MouseButtons))); m_internalModel->removeBarSet(set); emit updatedBars(); } @@ -176,21 +174,12 @@ void QBarSeries::setToolTipEnabled(bool enabled) /*! \internal \a category */ -void QBarSeries::barsetClicked(QString category) +void QBarSeries::barsetClicked(QString category, Qt::MouseButtons button) { - emit clicked(qobject_cast(sender()), category); + emit clicked(qobject_cast(sender()), category, button); } /*! - \internal \a category -*/ -void QBarSeries::barsetRightClicked(QString category) -{ - emit rightClicked(qobject_cast(sender()), category); -} - - -/*! \internal */ qreal QBarSeries::min() diff --git a/src/barchart/qbarseries.h b/src/barchart/qbarseries.h index cd38e90..11a08d0 100644 --- a/src/barchart/qbarseries.h +++ b/src/barchart/qbarseries.h @@ -72,9 +72,7 @@ public: // <--- TO PIMPL Q_SIGNALS: - //void changed(int index); - void clicked(QBarSet *barset, QString category); // Up to user of api, what to do with these signals - void rightClicked(QBarSet *barset, QString category); + void clicked(QBarSet *barset, QString category, Qt::MouseButtons button); // Up to user of api, what to do with these signals // void updatedBars(); @@ -89,8 +87,7 @@ public Q_SLOTS: void setToolTipEnabled(bool enabled = true); // enables tooltips // TODO: TO PIMPL ---> - void barsetClicked(QString category); - void barsetRightClicked(QString category); + void barsetClicked(QString category, Qt::MouseButtons button); // <--- TO PIMPL private Q_SLOTS: diff --git a/src/barchart/qbarset.cpp b/src/barchart/qbarset.cpp index 05fc6a4..12ecb90 100644 --- a/src/barchart/qbarset.cpp +++ b/src/barchart/qbarset.cpp @@ -39,15 +39,10 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE */ /*! - \fn void QBarSet::clicked(QString category) + \fn void QBarSet::clicked(QString category, Qt::MouseButtons button) \brief signals that set has been clicked Parameter \a category describes on which category was clicked -*/ - -/*! - \fn void QBarSet::rightClicked(QString category) - \brief signals that set has been clicked with right mouse button - Parameter \a category describes on which category was clicked + Parameter \a button mouse button */ /*! diff --git a/src/barchart/qbarset.h b/src/barchart/qbarset.h index 1d234b4..ba5b9bf 100644 --- a/src/barchart/qbarset.h +++ b/src/barchart/qbarset.h @@ -59,8 +59,7 @@ public: QPen floatingValuePen() const; Q_SIGNALS: - void clicked(QString category); // Clicked and hover signals exposed to user - void rightClicked(QString category); + void clicked(QString category, Qt::MouseButtons button); // Clicked and hover signals exposed to user void toggleFloatingValues(); // TODO: Expose this to user or not?