| 180 | } |
| 181 | |
| 182 | void 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 | |
| 224 | void WorksheetElementTest::referenceRangeXClippingLeftMouse() { |
| 225 | SETUP_PROJECT |
nothing calls this directly
no test coverage detected