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

Method referenceRangeYMouseMove

tests/backend/Worksheet/WorksheetElementTest.cpp:182–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

180}
181
182void WorksheetElementTest::referenceRangeYMouseMove() {
183 SETUP_PROJECT
184
185 auto* referenceRange = new ReferenceRange(p, QStringLiteral("range"));
186 referenceRange->setOrientation(ReferenceRange::Orientation::Horizontal);
187 p->addChild(referenceRange);
188 referenceRange->setCoordinateSystemIndex(p->defaultCoordinateSystemIndex());
189 auto pp = referenceRange->position();
190 pp.point = QPointF(0, 0);
191 referenceRange->setPosition(pp);
192 referenceRange->setCoordinateBindingEnabled(true);
193
194 QCOMPARE(referenceRange->positionLogical().x(), 0.5);
195 QCOMPARE(referenceRange->positionLogical().y(), 0.5);
196 QCOMPARE(referenceRange->positionLogicalStart().y(), 0.45);
197 QCOMPARE(referenceRange->positionLogicalEnd().y(), 0.55);
198 CHECK_REFERENCERANGE_RECT(referenceRange, 0., 0.55, 1., 0.45);
199
200 // Simulate mouse move
201 referenceRange->d_ptr->setPos(QPointF(-10, -25)); // item change will be called (negative value is up)
202 QCOMPARE(referenceRange->positionLogical().y(), 0.75); // 25/50 * 0.5 + 0.5
203 QCOMPARE(referenceRange->positionLogical().x(), 0.5); // Only vertical considered
204 QCOMPARE(referenceRange->positionLogicalStart().y(), 0.7);
205 QCOMPARE(referenceRange->positionLogicalEnd().y(), 0.8);
206 CHECK_REFERENCERANGE_RECT(referenceRange, 0., 0.8, 1., 0.7);
207
208 // Set Logical Start
209 referenceRange->setPositionLogicalStart(QPointF(0.5, 0.1));
210 QCOMPARE(referenceRange->positionLogical().y(), 0.45); // (0.8 + 0.1)/2
211 QCOMPARE(referenceRange->positionLogical().x(), 0.5);
212 QCOMPARE(referenceRange->positionLogicalStart().y(), 0.1);
213 QCOMPARE(referenceRange->positionLogicalEnd().y(), 0.8);
214 CHECK_REFERENCERANGE_RECT(referenceRange, 0., 0.8, 1., 0.1);
215 // Set Logical End
216 referenceRange->setPositionLogicalEnd(QPointF(0.5, 0.3));
217 QCOMPARE(referenceRange->positionLogical().y(), 0.2); // (0.3 + 0.1)/2
218 QCOMPARE(referenceRange->positionLogical().x(), 0.5);
219 QCOMPARE(referenceRange->positionLogicalStart().y(), 0.1);
220 QCOMPARE(referenceRange->positionLogicalEnd().y(), 0.3);
221 CHECK_REFERENCERANGE_RECT(referenceRange, 0., 0.3, 1., 0.1);
222}
223
224void WorksheetElementTest::referenceRangeXClippingLeftMouse() {
225 SETUP_PROJECT

Callers

nothing calls this directly

Calls 12

positionMethod · 0.80
xMethod · 0.80
setPositionLogicalEndMethod · 0.80
QPointFClass · 0.50
setOrientationMethod · 0.45
addChildMethod · 0.45
setPositionMethod · 0.45
yMethod · 0.45

Tested by

no test coverage detected