diff --git a/src/barchart/bar.cpp b/src/barchart/bar.cpp index e8fc57b..a26a10c 100644 --- a/src/barchart/bar.cpp +++ b/src/barchart/bar.cpp @@ -1,6 +1,7 @@ #include "bar_p.h" #include #include +#include QTCOMMERCIALCHART_BEGIN_NAMESPACE @@ -70,12 +71,12 @@ void Bar::mousePressEvent(QGraphicsSceneMouseEvent* /*event*/) void Bar::hoverEnterEvent(QGraphicsSceneHoverEvent* event) { - emit hoverEntered(event); + emit hoverEntered(event->lastScreenPos()); } -void Bar::hoverLeaveEvent(QGraphicsSceneHoverEvent* event) +void Bar::hoverLeaveEvent(QGraphicsSceneHoverEvent* /*event*/) { - emit hoverLeaved(event); + emit hoverLeaved(); } #include "moc_bar_p.cpp" diff --git a/src/barchart/bar_p.h b/src/barchart/bar_p.h index c335d80..12465a2 100644 --- a/src/barchart/bar_p.h +++ b/src/barchart/bar_p.h @@ -34,8 +34,8 @@ public: Q_SIGNALS: void clicked(); - void hoverEntered(QGraphicsSceneHoverEvent *event); - void hoverLeaved(QGraphicsSceneHoverEvent *event); + void hoverEntered(QPoint pos); + void hoverLeaved(); private: diff --git a/src/barchart/barpresenterbase.cpp b/src/barchart/barpresenterbase.cpp index 7b6fda4..34bc5f5 100644 --- a/src/barchart/barpresenterbase.cpp +++ b/src/barchart/barpresenterbase.cpp @@ -71,8 +71,8 @@ void BarPresenterBase::dataChanged() mBars.append(bar); connect(bar,SIGNAL(clicked()),set,SLOT(barClicked())); // TODO: should the event be passed to set or not? - //connect(bar,SIGNAL(hoverEntered(QGraphicsSceneHoverEvent* event)),set,SLOT(barHoverEntered(QGraphicsSceneHoverEvent* event))); - //connect(bar,SIGNAL(hoverLeaved(QGraphicsSceneHoverEvent* event)),set,SLOT(barHoverLeaved(QGraphicsSceneHoverEvent *event))); + connect(bar,SIGNAL(hoverEntered(QPoint)),set,SLOT(barHoverEntered(QPoint))); + connect(bar,SIGNAL(hoverLeaved()),set,SLOT(barHoverLeaved())); } } diff --git a/src/barchart/qbarset.cpp b/src/barchart/qbarset.cpp index a819d15..10fa65d 100644 --- a/src/barchart/qbarset.cpp +++ b/src/barchart/qbarset.cpp @@ -1,5 +1,6 @@ #include "qbarset.h" #include +#include QTCOMMERCIALCHART_BEGIN_NAMESPACE @@ -67,7 +68,7 @@ void QBarSet::enableFloatingValues(bool enabled) mFloatingValuesEnabled = enabled; } -void QBarSet::enableHoverNames(bool enabled) +void QBarSet::enableToolTip(bool enabled) { qDebug() << "QBarSet::enableHoverNames" << enabled; mHoverNamesEnabled = enabled; @@ -81,11 +82,12 @@ void QBarSet::barClicked() emit clicked(); // Notify that set has been clicked } -void QBarSet::barHoverEntered() +void QBarSet::barHoverEntered(QPoint pos) { - qDebug() << "QBarset::barHoverEntered" << this; + qDebug() << "QBarset::barHoverEntered" << this << pos; if (mHoverNamesEnabled) { - emit hoverEnter(); + QToolTip::showText(pos, mName); +// emit hoverEnter(); } } @@ -93,7 +95,7 @@ void QBarSet::barHoverLeaved() { qDebug() << "QBarset::barHoverLeaved" << this; if (mHoverNamesEnabled) { - emit hoverLeave(); +// emit hoverLeave(); } } diff --git a/src/barchart/qbarset.h b/src/barchart/qbarset.h index e090d13..50da311 100644 --- a/src/barchart/qbarset.h +++ b/src/barchart/qbarset.h @@ -34,13 +34,14 @@ Q_SIGNALS: void toggleFloatingValues(); // Private signal, TODO: move to private impl public Q_SLOTS: + // TODO: should these be in series instead? void enableFloatingValues(bool enabled); // enables floating values on top of bars - void enableHoverNames(bool enabled); // enableHoverEvents would be better name? + void enableToolTip(bool enabled); // enables tooltips // TODO: these slots belong to private implementation. // These are for single bars to notify set about internal events void barClicked(); - void barHoverEntered(); + void barHoverEntered(QPoint pos); void barHoverLeaved(); private: