diff --git a/src/barchart/abstractbarchartitem.cpp b/src/barchart/abstractbarchartitem.cpp index 34d9796..6bd4b68 100644 --- a/src/barchart/abstractbarchartitem.cpp +++ b/src/barchart/abstractbarchartitem.cpp @@ -160,8 +160,10 @@ void AbstractBarChartItem::handleDataStructureChanged() m_bars.append(bar); connect(bar, SIGNAL(clicked(int,QBarSet*)), m_series, SIGNAL(clicked(int,QBarSet*))); connect(bar, SIGNAL(hovered(bool,QBarSet*)), m_series, SIGNAL(hovered(bool,QBarSet*))); + connect(bar, SIGNAL(hovered(bool, int, QBarSet*)), m_series, SIGNAL(hovered(bool, int, QBarSet*))); connect(bar, SIGNAL(clicked(int,QBarSet*)), set, SIGNAL(clicked(int))); connect(bar, SIGNAL(hovered(bool,QBarSet*)), set, SIGNAL(hovered(bool))); + connect(bar, SIGNAL(hovered(bool, int, QBarSet*)), set, SIGNAL(hovered(bool, int))); // m_layout.append(QRectF(0, 0, 1, 1)); // Labels diff --git a/src/barchart/bar.cpp b/src/barchart/bar.cpp index a3f50b6..db15241 100644 --- a/src/barchart/bar.cpp +++ b/src/barchart/bar.cpp @@ -38,6 +38,7 @@ Bar::~Bar() // End hover event, if bar is deleted during it if (m_hovering) { emit hovered(false, m_barset); + emit hovered(false, m_index, m_barset); } } @@ -53,6 +54,7 @@ void Bar::hoverEnterEvent(QGraphicsSceneHoverEvent *event) Q_UNUSED(event) m_hovering = true; emit hovered(true, m_barset); + emit hovered(true, m_index, m_barset); } @@ -61,6 +63,7 @@ void Bar::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) Q_UNUSED(event) m_hovering = false; emit hovered(false, m_barset); + emit hovered(false, m_index, m_barset); } #include "moc_bar_p.cpp" diff --git a/src/barchart/bar_p.h b/src/barchart/bar_p.h index 521ffa3..b074aa4 100644 --- a/src/barchart/bar_p.h +++ b/src/barchart/bar_p.h @@ -53,6 +53,7 @@ public: Q_SIGNALS: void clicked(int index, QBarSet *barset); void hovered(bool status, QBarSet *barset); + void hovered(bool status, int index, QBarSet *barset); private: int m_index; diff --git a/src/barchart/qabstractbarseries.cpp b/src/barchart/qabstractbarseries.cpp index 1fef260..c9723ad 100644 --- a/src/barchart/qabstractbarseries.cpp +++ b/src/barchart/qabstractbarseries.cpp @@ -142,12 +142,22 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE Parameter \a barset is the pointer of barset, where hover happened. Parameter \a status is true, if mouse entered on top of series, false if mouse left from top of series. */ + +/*! + \fn void QAbstractBarSeries::hovered(bool status, int index, QBarSet* barset) + + The signal is emitted if mouse is hovered on top of series. + Parameter \a barset is the pointer of barset, where hover happened. + Parameter \a status is true, if mouse entered on top of series, false if mouse left from top of series. + Hovered bar inside the set is indexed by \a index. +*/ /*! - \qmlsignal AbstractBarSeries::onHovered(bool status, BarSet barset) + \qmlsignal AbstractBarSeries::onHovered(bool status, int index, BarSet barset) The signal is emitted if mouse is hovered on top of series. Parameter \a barset is the pointer of barset, where hover happened. Parameter \a status is true, if mouse entered on top of series, false if mouse left from top of series. + Hovered bar inside the set is indexed by \a index. */ /*! diff --git a/src/barchart/qabstractbarseries.h b/src/barchart/qabstractbarseries.h index 68a74b9..5c6fc24 100644 --- a/src/barchart/qabstractbarseries.h +++ b/src/barchart/qabstractbarseries.h @@ -61,6 +61,7 @@ protected: Q_SIGNALS: void clicked(int index, QBarSet *barset); void hovered(bool status, QBarSet *barset); + void hovered(bool status, int index, QBarSet *barset); void countChanged(); void labelsVisibleChanged(); diff --git a/src/barchart/qbarset.cpp b/src/barchart/qbarset.cpp index 1bbc133..7d208e5 100644 --- a/src/barchart/qbarset.cpp +++ b/src/barchart/qbarset.cpp @@ -130,6 +130,14 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE Parameter \a status is true, if mouse entered on top of bar set, false if mouse left from top of bar set. */ +/*! + \fn void QBarSet::hovered(bool status, int index) + + The signal is emitted if mouse is hovered on top of bar set. + Parameter \a status is true, if mouse entered on top of bar set, false if mouse left from top of bar set. + Hovered bar inside the set is indexed by \a index. +*/ + /*! \fn void QBarSet::labelChanged() diff --git a/src/barchart/qbarset.h b/src/barchart/qbarset.h index 5013f07..bfcfe6e 100644 --- a/src/barchart/qbarset.h +++ b/src/barchart/qbarset.h @@ -85,6 +85,7 @@ public: Q_SIGNALS: void clicked(int index); void hovered(bool status); + void hovered(bool status, int index); void penChanged(); void brushChanged(); void labelChanged(); diff --git a/tests/auto/qbarseries/tst_qbarseries.cpp b/tests/auto/qbarseries/tst_qbarseries.cpp index ed69308..51af96f 100644 --- a/tests/auto/qbarseries/tst_qbarseries.cpp +++ b/tests/auto/qbarseries/tst_qbarseries.cpp @@ -553,8 +553,11 @@ void tst_QBarSeries::mousehovered() QList barSets = series->barSets(); QSignalSpy seriesSpy(series,SIGNAL(hovered(bool,QBarSet*))); + QSignalSpy seriesIndexSpy(series, SIGNAL(hovered(bool, int, QBarSet*))); QSignalSpy setSpy1(set1, SIGNAL(hovered(bool))); QSignalSpy setSpy2(set2, SIGNAL(hovered(bool))); + QSignalSpy setIndexSpy1(set1, SIGNAL(hovered(bool, int))); + QSignalSpy setIndexSpy2(set2, SIGNAL(hovered(bool, int))); QChartView view(new QChart()); view.resize(400,300); @@ -601,31 +604,49 @@ void tst_QBarSeries::mousehovered() QTest::mouseMove(view.viewport(), QPoint(0, layout.at(0).center().y())); QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); TRY_COMPARE(seriesSpy.count(), 0); + TRY_COMPARE(seriesIndexSpy.count(), 0); TRY_COMPARE(setSpy1.count(), 0); TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 0); //======================================================================= // move mouse on top of set1 QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); TRY_COMPARE(setSpy1.count(), 1); TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); QList seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + QList seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QList setSpyArg = setSpy1.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == true); + QList setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set1 to top of set2 QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); TRY_COMPARE(setSpy1.count(), 1); TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set1 seriesSpyArg = seriesSpy.takeFirst(); @@ -633,26 +654,47 @@ void tst_QBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + setSpyArg = setSpy1.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == false); + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + // should enter set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + setSpyArg = setSpy2.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == true); + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set2 to background QTest::mouseMove(view.viewport(), QPoint(layout.at(1).center().x(), 0)); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); TRY_COMPARE(setSpy1.count(), 0); TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set2 seriesSpyArg = seriesSpy.takeFirst(); @@ -660,9 +702,272 @@ void tst_QBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + +//======================================================================= +// move mouse on top of set1, bar0 to check the index (hover into set1) + QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should enter set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set2, bar0 to check the index (hover out set1, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should leave set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + // should enter set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set1, bar1 to check the index (hover out set 2, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(2).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should leave set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + setSpyArg = setSpy2.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + // should enter set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of view between set1 and set2 to check the index +// (hover out set1) + QTest::mouseMove(view.viewport(), QPoint((layout.at(2).right() + layout.at(3).left()) / 2, 0)); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + // should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of set2, bar1 to check the index (hover in set2) + QTest::mouseMove(view.viewport(), layout.at(3).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 0); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should enter set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of the view between bar1 and bar2 to check the index +//(hover out set2) + QTest::mouseMove(view.viewport(), QPoint((layout.at(3).right() + layout.at(3).left()) / 2, 0)); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 0); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should leave set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); } void tst_QBarSeries::clearWithAnimations() diff --git a/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp b/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp index c4a60e8..b5862d7 100644 --- a/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp +++ b/tests/auto/qhorizontalbarseries/tst_qhorizontalbarseries.cpp @@ -501,8 +501,11 @@ void tst_QHorizontalBarSeries::mousehovered() QList barSets = series->barSets(); QSignalSpy seriesSpy(series,SIGNAL(hovered(bool,QBarSet*))); + QSignalSpy seriesIndexSpy(series, SIGNAL(hovered(bool, int, QBarSet*))); QSignalSpy setSpy1(set1, SIGNAL(hovered(bool))); QSignalSpy setSpy2(set2, SIGNAL(hovered(bool))); + QSignalSpy setIndexSpy1(set1, SIGNAL(hovered(bool, int))); + QSignalSpy setIndexSpy2(set2, SIGNAL(hovered(bool, int))); QChartView view(new QChart()); view.resize(400,300); @@ -549,31 +552,49 @@ void tst_QHorizontalBarSeries::mousehovered() QTest::mouseMove(view.viewport(), QPoint(layout.at(0).center().x(), 300)); QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); TRY_COMPARE(seriesSpy.count(), 0); + TRY_COMPARE(seriesIndexSpy.count(), 0); TRY_COMPARE(setSpy1.count(), 0); TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 0); //======================================================================= // move mouse on top of set1 QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); TRY_COMPARE(setSpy1.count(), 1); TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); QList seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + QList seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QList setSpyArg = setSpy1.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == true); + QList setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set1 to top of set2 QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); TRY_COMPARE(setSpy1.count(), 1); TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set1 seriesSpyArg = seriesSpy.takeFirst(); @@ -581,26 +602,47 @@ void tst_QHorizontalBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + setSpyArg = setSpy1.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == false); + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + // should enter set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + setSpyArg = setSpy2.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == true); + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set2 to background QTest::mouseMove(view.viewport(), QPoint(0, layout.at(0).center().y())); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); TRY_COMPARE(setSpy1.count(), 0); TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set2 seriesSpyArg = seriesSpy.takeFirst(); @@ -608,9 +650,272 @@ void tst_QHorizontalBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + +//======================================================================= +// move mouse on top of set1, bar0 to check the index (hover into set1) + QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should enter set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set2, bar0 to check the index (hover out set1, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should leave set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + // should enter set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set1, bar1 to check the index (hover out set 2, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(2).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should leave set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + setSpyArg = setSpy2.takeFirst(); QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + // should enter set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of view between set1 and set2 to check the index +// (hover out set1) + QTest::mouseMove(view.viewport(), QPoint(0, (layout.at(2).top() + layout.at(3).bottom()) / 2)); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 1); + TRY_COMPARE(setSpy2.count(), 0); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + // should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of set2, bar1 to check the index (hover in set2) + QTest::mouseMove(view.viewport(), layout.at(3).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 0); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should enter set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of the view between bar1 and bar2 to check the index +//(hover out set2) + QTest::mouseMove(view.viewport(), QPoint(0, (layout.at(3).top() + layout.at(3).bottom()) / 2)); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setSpy1.count(), 0); + TRY_COMPARE(setSpy2.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + // should leave set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); } void tst_QHorizontalBarSeries::clearWithAnimations() diff --git a/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp b/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp index 004e926..22a0ab1 100644 --- a/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp +++ b/tests/auto/qhorizontalpercentbarseries/tst_qhorizontalpercentbarseries.cpp @@ -248,6 +248,9 @@ void tst_QHorizontalPercentBarSeries::mousehovered() QList barSets = series->barSets(); QSignalSpy seriesSpy(series,SIGNAL(hovered(bool,QBarSet*))); + QSignalSpy seriesIndexSpy(series, SIGNAL(hovered(bool, int, QBarSet*))); + QSignalSpy setIndexSpy1(set1, SIGNAL(hovered(bool, int))); + QSignalSpy setIndexSpy2(set2, SIGNAL(hovered(bool, int))); QChartView view(new QChart()); view.resize(400,300); @@ -294,21 +297,37 @@ void tst_QHorizontalPercentBarSeries::mousehovered() QTest::mouseMove(view.viewport(), QPoint(0, layout.at(4).center().y())); QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); TRY_COMPARE(seriesSpy.count(), 0); + TRY_COMPARE(seriesIndexSpy.count(), 0); //======================================================================= // move mouse on top of set1 QTest::mouseMove(view.viewport(), layout.at(4).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); QList seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + QList seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + QList setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set1 to top of set2 QTest::mouseMove(view.viewport(), layout.at(5).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set1 seriesSpyArg = seriesSpy.takeFirst(); @@ -316,22 +335,264 @@ void tst_QHorizontalPercentBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + // should enter set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set2 to background QTest::mouseMove(view.viewport(), QPoint(layout.at(5).center().x(), 0)); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + +//======================================================================= +// move mouse on top of set1, bar0 to check the index (hover into set1) + QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should enter set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set2, bar0 to check the index (hover out set1, +// hover in set2) + QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); + QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set1, bar1 to check the index (hover out set2, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(2).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set1) + QTest::mouseMove(view.viewport(), QPoint(layout.at(3).left(), + (layout.at(3).top() + layout.at(4).bottom()) / 2)); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of set2, bar1 to check the index (hover in set2) + QTest::mouseMove(view.viewport(), layout.at(3).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should enter set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set2) + QTest::mouseMove(view.viewport(), QPoint(layout.at(3).left(), + (layout.at(3).top() + layout.at(4).bottom()) / 2)); + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); } QTEST_MAIN(tst_QHorizontalPercentBarSeries) diff --git a/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp b/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp index 1a260c2..11ce06c 100644 --- a/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp +++ b/tests/auto/qhorizontalstackedbarseries/tst_qhorizontalstackedbarseries.cpp @@ -253,6 +253,9 @@ void tst_QHorizontalStackedBarSeries::mousehovered() QList barSets = series->barSets(); QSignalSpy seriesSpy(series,SIGNAL(hovered(bool,QBarSet*))); + QSignalSpy seriesIndexSpy(series, SIGNAL(hovered(bool, int, QBarSet*))); + QSignalSpy setIndexSpy1(set1, SIGNAL(hovered(bool, int))); + QSignalSpy setIndexSpy2(set2, SIGNAL(hovered(bool, int))); QChartView view(new QChart()); view.resize(400,300); @@ -304,21 +307,37 @@ void tst_QHorizontalStackedBarSeries::mousehovered() QTest::mouseMove(view.viewport(), QPoint(0, layout.at(4).center().y())); QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); TRY_COMPARE(seriesSpy.count(), 0); + TRY_COMPARE(seriesIndexSpy.count(), 0); //======================================================================= // move mouse on top of set1 QTest::mouseMove(view.viewport(), layout.at(4).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); QList seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + QList seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + QList setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set1 to top of set2 QTest::mouseMove(view.viewport(), layout.at(5).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set1 seriesSpyArg = seriesSpy.takeFirst(); @@ -326,22 +345,264 @@ void tst_QHorizontalStackedBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + // should enter set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set2 to background QTest::mouseMove(view.viewport(), QPoint(layout.at(5).center().y(), 0)); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + +//======================================================================= +// move mouse on top of set1, bar0 to check the index (hover into set1) + QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should enter set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set2, bar0 to check the index (hover out set1, +// hover in set2) + QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); + QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set1, bar1 to check the index (hover out set2, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(2).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set1) + QTest::mouseMove(view.viewport(), QPoint(layout.at(3).left(), + (layout.at(3).top() + layout.at(4).bottom()) / 2)); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of set2, bar1 to check the index (hover in set2) + QTest::mouseMove(view.viewport(), layout.at(3).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should enter set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set2) + QTest::mouseMove(view.viewport(), QPoint(layout.at(3).left(), + (layout.at(3).top() + layout.at(4).bottom()) / 2)); + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); } QTEST_MAIN(tst_QHorizontalStackedBarSeries) diff --git a/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp b/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp index e03bd8f..df3acfd 100644 --- a/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp +++ b/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp @@ -250,6 +250,9 @@ void tst_QPercentBarSeries::mousehovered() QList barSets = series->barSets(); QSignalSpy seriesSpy(series,SIGNAL(hovered(bool,QBarSet*))); + QSignalSpy seriesIndexSpy(series, SIGNAL(hovered(bool, int, QBarSet*))); + QSignalSpy setIndexSpy1(set1, SIGNAL(hovered(bool, int))); + QSignalSpy setIndexSpy2(set2, SIGNAL(hovered(bool, int))); QChartView view(new QChart()); view.resize(400,300); @@ -298,21 +301,37 @@ void tst_QPercentBarSeries::mousehovered() QTest::mouseMove(view.viewport(), QPoint(0, layout.at(0).center().y())); QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); TRY_COMPARE(seriesSpy.count(), 0); + TRY_COMPARE(seriesIndexSpy.count(), 0); //======================================================================= // move mouse on top of set1 QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); QList seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + QList seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + QList setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set1 to top of set2 QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set1 seriesSpyArg = seriesSpy.takeFirst(); @@ -320,22 +339,264 @@ void tst_QPercentBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + // should enter set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set2 to background QTest::mouseMove(view.viewport(), QPoint(layout.at(1).center().x(), 0)); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + +//======================================================================= +// move mouse on top of set1, bar0 to check the index (hover into set1) + QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should enter set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set2, bar0 to check the index (hover out set1, +// hover in set2) + QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set1, bar1 to check the index (hover out set2, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(2).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set1) + QTest::mouseMove(view.viewport(), QPoint((layout.at(3).right() + layout.at(4).left()) /2, + layout.at(2).top())); + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of set2, bar1 to check the index (hover in set2) + QTest::mouseMove(view.viewport(), layout.at(3).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should enter set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set2) + QTest::mouseMove(view.viewport(), QPoint((layout.at(3).right() + layout.at(4).left()) /2, + layout.at(2).top())); + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); } QTEST_MAIN(tst_QPercentBarSeries) diff --git a/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp b/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp index 384cc3b..1722345 100644 --- a/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp +++ b/tests/auto/qstackedbarseries/tst_qstackedbarseries.cpp @@ -253,6 +253,9 @@ void tst_QStackedBarSeries::mousehovered() QList barSets = series->barSets(); QSignalSpy seriesSpy(series,SIGNAL(hovered(bool,QBarSet*))); + QSignalSpy seriesIndexSpy(series, SIGNAL(hovered(bool, int, QBarSet*))); + QSignalSpy setIndexSpy1(set1, SIGNAL(hovered(bool, int))); + QSignalSpy setIndexSpy2(set2, SIGNAL(hovered(bool, int))); QChartView view(new QChart()); view.resize(400,300); @@ -305,21 +308,37 @@ void tst_QStackedBarSeries::mousehovered() QTest::mouseMove(view.viewport(), QPoint(0, layout.at(0).center().y())); QCoreApplication::processEvents(QEventLoop::AllEvents, 10000); TRY_COMPARE(seriesSpy.count(), 0); + TRY_COMPARE(seriesIndexSpy.count(), 0); //======================================================================= // move mouse on top of set1 QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); QList seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + QList seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + QList setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set1 to top of set2 QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set1 seriesSpyArg = seriesSpy.takeFirst(); @@ -327,22 +346,264 @@ void tst_QStackedBarSeries::mousehovered() QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + // should enter set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == true); + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + //======================================================================= // move mouse from top of set2 to background QTest::mouseMove(view.viewport(), QPoint(layout.at(1).center().x(), 0)); TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); // should leave set2 seriesSpyArg = seriesSpy.takeFirst(); QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + +//======================================================================= +// move mouse on top of set1, bar0 to check the index (hover into set1) + QTest::mouseMove(view.viewport(), layout.at(0).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should enter set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set2, bar0 to check the index (hover out set1, +// hover in set2) + QTest::mouseMove(view.viewport(), layout.at(1).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + +//======================================================================= +// move mouse on top of set1, bar1 to check the index (hover out set2, +// hover in set1) + QTest::mouseMove(view.viewport(), layout.at(2).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 2); + TRY_COMPARE(seriesIndexSpy.count(), 2); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set2, bar0 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 0); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 0); + + //should enter set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set1) + QTest::mouseMove(view.viewport(), QPoint((layout.at(3).right() + layout.at(4).left()) /2, + layout.at(2).top())); + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 1); + TRY_COMPARE(setIndexSpy2.count(), 0); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set1); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set1); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy1.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse on top of set2, bar1 to check the index (hover in set2) + QTest::mouseMove(view.viewport(), layout.at(3).center().toPoint()); + + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should enter set2, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == true); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == true); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == true); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); + +//======================================================================= +// move mouse between set1 and set2 (hover out set2) + QTest::mouseMove(view.viewport(), QPoint((layout.at(3).right() + layout.at(4).left()) /2, + layout.at(2).top())); + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + TRY_COMPARE(seriesSpy.count(), 1); + TRY_COMPARE(seriesIndexSpy.count(), 1); + TRY_COMPARE(setIndexSpy1.count(), 0); + TRY_COMPARE(setIndexSpy2.count(), 1); + + //should leave set1, bar1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesSpyArg.at(1)), set2); + QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(0).toBool() == false); + + seriesIndexSpyArg = seriesIndexSpy.takeFirst(); + QCOMPARE(qvariant_cast(seriesIndexSpyArg.at(2)), set2); + QVERIFY(seriesIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(seriesIndexSpyArg.at(0).toBool() == false); + QVERIFY(seriesIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(seriesIndexSpyArg.at(1).toInt() == 1); + + setIndexSpyArg = setIndexSpy2.takeFirst(); + QVERIFY(setIndexSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setIndexSpyArg.at(0).toBool() == false); + QVERIFY(setIndexSpyArg.at(1).type() == QVariant::Int); + QVERIFY(setIndexSpyArg.at(1).toInt() == 1); } QTEST_MAIN(tst_QStackedBarSeries) diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/BarChart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/BarChart.qml index afc73e7..e020668 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/BarChart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/BarChart.qml @@ -37,7 +37,7 @@ ChartView { axisX: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -58,7 +58,8 @@ ChartView { onVisibleChanged: console.log("barSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("barSeries.onOpacityChanged: " + opacity); onClicked: console.log("barSeries.onClicked: " + barset + " " + index); - onHovered: console.log("barSeries.onHovered: " + barset + " " + status); + onHovered: console.log("barSeries.onHovered: " + barset + " " + status + + " " + index); onLabelsVisibleChanged: console.log("barSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("barSeries.onCountChanged: " + count); } diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalBarChart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalBarChart.qml index 8c72322..a6ad0cf 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalBarChart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisY: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("horizontalBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("horizontalBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("horizontalBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("horizontalBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("horizontalBarSeries.onHovered: " + barset + " " + + status + " " + index); onLabelsVisibleChanged: console.log("horizontalBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("horizontalBarSeries.onCountChanged: " + count); } diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalPercentBarChart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalPercentBarChart.qml index 3030245..e115d04 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalPercentBarChart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalPercentBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisY: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("horizontalPercentBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("horizontalPercentBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("horizontalPercentBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("horizontalPercentBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("horizontalPercentBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("horizontalPercentBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("horizontalPercentBarSeries.onCountChanged: " + count); } diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalStackedBarChart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalStackedBarChart.qml index 4714563..37cae0a 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalStackedBarChart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/HorizontalStackedBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisY: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("horizontalStackedBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("horizontalStackedBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("horizontalStackedBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("horizontalStackedBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("horizontalStackedBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("horizontalStackedBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("horizontalStackedBarSeries.onCountChanged: " + count); } diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/PercentBarChart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/PercentBarChart.qml index 91e4670..ab59c75 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/PercentBarChart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/PercentBarChart.qml @@ -37,7 +37,7 @@ ChartView { BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -58,7 +58,8 @@ ChartView { onVisibleChanged: console.log("percentBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("percentBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("percentBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("percentBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("percentBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("percentBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("percentBarSeries.onCountChanged: " + count); } diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/StackedBarChart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/StackedBarChart.qml index 9cc6776..b19dd6d 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/StackedBarChart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/StackedBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisX: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("stackedBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("stackedBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("stackedBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("stackedBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("stackedBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("stackedBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("stackedBarSeries.onCountChanged: " + count); } diff --git a/tests/quick2chartproperties/qml/quick2chartproperties/BarChart.qml b/tests/quick2chartproperties/qml/quick2chartproperties/BarChart.qml index 0c2aa87..cbcd114 100644 --- a/tests/quick2chartproperties/qml/quick2chartproperties/BarChart.qml +++ b/tests/quick2chartproperties/qml/quick2chartproperties/BarChart.qml @@ -37,7 +37,7 @@ ChartView { axisX: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -58,7 +58,8 @@ ChartView { onVisibleChanged: console.log("barSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("barSeries.onOpacityChanged: " + opacity); onClicked: console.log("barSeries.onClicked: " + barset + " " + index); - onHovered: console.log("barSeries.onHovered: " + barset + " " + status); + onHovered: console.log("barSeries.onHovered: " + barset + " " + status + + " " + index); onLabelsVisibleChanged: console.log("barSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("barSeries.onCountChanged: " + count); } diff --git a/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalBarChart.qml b/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalBarChart.qml index d90edcd..e3cc18f 100644 --- a/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalBarChart.qml +++ b/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisY: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("horizontalBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("horizontalBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("horizontalBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("horizontalBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("horizontalBarSeries.onHovered: " + barset + " " + + status + " " + index); onLabelsVisibleChanged: console.log("horizontalBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("horizontalBarSeries.onCountChanged: " + count); } diff --git a/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalPercentBarChart.qml b/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalPercentBarChart.qml index 0d23d21..2437bd7 100644 --- a/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalPercentBarChart.qml +++ b/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalPercentBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisY: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("horizontalPercentBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("horizontalPercentBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("horizontalPercentBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("horizontalPercentBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("horizontalPercentBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("horizontalPercentBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("horizontalPercentBarSeries.onCountChanged: " + count); } diff --git a/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalStackedBarChart.qml b/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalStackedBarChart.qml index ff5c086..8789920 100644 --- a/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalStackedBarChart.qml +++ b/tests/quick2chartproperties/qml/quick2chartproperties/HorizontalStackedBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisY: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("horizontalStackedBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("horizontalStackedBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("horizontalStackedBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("horizontalStackedBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("horizontalStackedBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("horizontalStackedBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("horizontalStackedBarSeries.onCountChanged: " + count); } diff --git a/tests/quick2chartproperties/qml/quick2chartproperties/PercentBarChart.qml b/tests/quick2chartproperties/qml/quick2chartproperties/PercentBarChart.qml index 83794a5..4d2f3bd 100644 --- a/tests/quick2chartproperties/qml/quick2chartproperties/PercentBarChart.qml +++ b/tests/quick2chartproperties/qml/quick2chartproperties/PercentBarChart.qml @@ -37,7 +37,7 @@ ChartView { BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -58,7 +58,8 @@ ChartView { onVisibleChanged: console.log("percentBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("percentBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("percentBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("percentBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("percentBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("percentBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("percentBarSeries.onCountChanged: " + count); } diff --git a/tests/quick2chartproperties/qml/quick2chartproperties/StackedBarChart.qml b/tests/quick2chartproperties/qml/quick2chartproperties/StackedBarChart.qml index d93634b..64104e1 100644 --- a/tests/quick2chartproperties/qml/quick2chartproperties/StackedBarChart.qml +++ b/tests/quick2chartproperties/qml/quick2chartproperties/StackedBarChart.qml @@ -36,7 +36,7 @@ ChartView { axisX: BarCategoryAxis { categories: ["2007", "2008", "2009", "2010", "2011", "2012" ] } BarSet { label: "Bob"; values: [2, 2, 3, 4, 5, 6] onClicked: console.log("barset.onClicked: " + index); - onHovered: console.log("barset.onHovered: " + status); + onHovered: console.log("barset.onHovered: " + status + " " + index); onPenChanged: console.log("barset.onPenChanged: " + pen); onBrushChanged: console.log("barset.onBrushChanged: " + brush); onLabelChanged: console.log("barset.onLabelChanged: " + label); @@ -57,7 +57,8 @@ ChartView { onVisibleChanged: console.log("stackedBarSeries.onVisibleChanged: " + series.visible); onOpacityChanged: console.log("stackedBarSeries.onOpacityChanged: " + opacity); onClicked: console.log("stackedBarSeries.onClicked: " + barset + " " + index); - onHovered: console.log("stackedBarSeries.onHovered: " + barset + " " + status); + onHovered: console.log("stackedBarSeries.onHovered: " + barset + + " " + status + " " + index); onLabelsVisibleChanged: console.log("stackedBarSeries.onLabelsVisibleChanged: " + series.labelsVisible); onCountChanged: console.log("stackedBarSeries.onCountChanged: " + count); }