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

Method mouseMoveRelative

tests/backend/Worksheet/WorksheetElementTest.cpp:899–936  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

897// relative positioning
898
899void WorksheetElementTest::mouseMoveRelative() {
900 // WORKSHEETELEMENT_TEST()
901 SETUP_PROJECT
902 auto* element = new TextLabel(QStringLiteral("element"));
903 p->addChild(element);
904 auto* dock = new LabelWidget(nullptr);
905 // MACRO_NAME(element, dockSetElementsMethodName);
906 dock->setLabels({element});
907
908 // #define WORKSHEETELEMENT_MOUSE_MOVE(element, dockSetElementsMethodName)
909 element->setCoordinateSystemIndex(p->defaultCoordinateSystemIndex());
910 auto pp = element->position();
911 pp.point = QPointF(0, 0);
912
913 element->setPosition(pp);
914 element->setCoordinateBindingEnabled(false);
915
916 QCOMPARE(element->horizontalAlignment(), AbstractPlot::HorizontalAlignment::Center);
917 QCOMPARE(element->verticalAlignment(), AbstractPlot::VerticalAlignment::Center);
918
919 pp = element->position();
920 pp.horizontalPosition = AbstractPlot::HorizontalPosition::Relative;
921 pp.verticalPosition = AbstractPlot::VerticalPosition::Relative;
922 element->setPosition(pp);
923
924 QCOMPARE(element->positionLogical().x(), 0.0);
925 QCOMPARE(element->positionLogical().y(), 1.0);
926 QCOMPARE(dock->ui.sbPositionX->value(), 0.0);
927 QCOMPARE(dock->ui.sbPositionY->value(), 0.0);
928
929 /* Simulate mouse move */
930 element->d_ptr->setPos(QPointF(25, -10)); /* itemChange() will be called (negative value is up) */
931 QCOMPARE(element->positionLogical().x(), 0.0); /* 25/50 * 0.5 + 0.5 */
932 QCOMPARE(element->positionLogical().y(), 1.0);
933
934 QCOMPARE(dock->ui.sbPositionX->value(), 0.75 * 100.0);
935 QCOMPARE(dock->ui.sbPositionY->value(), 0.4 * 100.0);
936}
937
938void WorksheetElementTest::mouseMoveRelativeWithBinding() {
939 // WORKSHEETELEMENT_TEST()

Callers

nothing calls this directly

Calls 13

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

Tested by

no test coverage detected