MCPcopy Create free account
hub / github.com/KDE/labplot / mouseMoveRelativeWithBinding

Method mouseMoveRelativeWithBinding

tests/backend/Worksheet/WorksheetElementTest.cpp:938–983  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

936}
937
938void WorksheetElementTest::mouseMoveRelativeWithBinding() {
939 // WORKSHEETELEMENT_TEST()
940 SETUP_PROJECT
941 auto* element = new TextLabel(QStringLiteral("element"));
942 p->addChild(element);
943 auto* dock = new LabelWidget(nullptr);
944 // MACRO_NAME(element, dockSetElementsMethodName);
945 dock->setLabels({element});
946
947 // #define WORKSHEETELEMENT_MOUSE_MOVE(element, dockSetElementsMethodName)
948 element->setCoordinateSystemIndex(p->defaultCoordinateSystemIndex());
949 auto pp = element->position();
950 pp.point = QPointF(0, 0);
951
952 element->setPosition(pp);
953 element->setCoordinateBindingEnabled(true);
954
955 QCOMPARE(element->positionLogical().x(), 0.5);
956 QCOMPARE(element->positionLogical().y(), 0.5);
957
958 QCOMPARE(element->horizontalAlignment(), AbstractPlot::HorizontalAlignment::Center);
959 QCOMPARE(element->verticalAlignment(), AbstractPlot::VerticalAlignment::Center);
960
961 pp = element->position();
962 pp.horizontalPosition = AbstractPlot::HorizontalPosition::Relative;
963 pp.verticalPosition = AbstractPlot::VerticalPosition::Relative;
964 QCOMPARE(dock->ui.sbPositionX->value(), 0.0);
965 QCOMPARE(dock->ui.sbPositionY->value(), 0.0);
966 element->setPosition(pp);
967
968 QCOMPARE(element->positionLogical().x(), 0.5);
969 QCOMPARE(element->positionLogical().y(), 0.5);
970 QCOMPARE(dock->ui.sbPositionX->value(), 5000.0);
971 QCOMPARE(dock->ui.sbPositionY->value(), -5000.0);
972
973 /* Simulate mouse move */
974 element->d_ptr->setPos(QPointF(25, -10)); /* itemChange() will be called (negative value is up) */
975 QCOMPARE(element->positionLogical().x(), 0.75); /* 25/50 * 0.5 + 0.5 */
976 QCOMPARE(element->positionLogical().y(), 0.6);
977
978 // TODO
979 // QCOMPARE(dock->ui.sbPositionX->value(), 0.75 * 100.0);
980 // QCOMPARE(dock->ui.sbPositionY->value(), 0.6 * 100.0);
981 QCOMPARE(dock->ui.sbPositionX->value(), 5000.0);
982 QCOMPARE(dock->ui.sbPositionY->value(), -5000.0);
983}
984
985void WorksheetElementTest::positionRelative() {
986 // WORKSHEETELEMENT_TEST()

Callers

nothing calls this directly

Calls 13

setLabelsMethod · 0.80
positionMethod · 0.80
xMethod · 0.80
horizontalAlignmentMethod · 0.80
verticalAlignmentMethod · 0.80
QPointFClass · 0.50
addChildMethod · 0.45
setPositionMethod · 0.45
yMethod · 0.45

Tested by

no test coverage detected