- setStatus(Moving);
- v1 = en->getNearestRef(v1);
- graphicView->moveRelativeZero(v1);
- }
-
- // no entity found. start area selection:
- else {
- setStatus(SetCorner2);
- }
- }
- }
- break;
-
- case MovingRef:
- v2 = snapPoint(e);
-
- deletePreview();
- clearPreview();
- preview->addSelectionFrom(*container);
- preview->moveRef(v1, v2-v1);
- drawPreview();
- break;
-
- case Moving:
- v2 = snapPoint(e);
-
- deletePreview();
- clearPreview();
- preview->addSelectionFrom(*container);
- preview->move(v2-v1);
- drawPreview();
- break;
-
- case SetCorner2:
- if (v1.valid) {
- //v2 = snapPoint(e);
- v2 = mouse;
-
- //deleteSnapper();
- deletePreview();
- clearPreview();
-
- preview->addEntity(new RS_Line(preview,
- RS_LineData(Vector(v1.x, v1.y),
- Vector(v2.x, v1.y))));
- preview->addEntity(new RS_Line(preview,
- RS_LineData(Vector(v2.x, v1.y),
- Vector(v2.x, v2.y))));
- preview->addEntity(new RS_Line(preview,
- RS_LineData(Vector(v2.x, v2.y),
- Vector(v1.x, v2.y))));
- preview->addEntity(new RS_Line(preview,
- RS_LineData(Vector(v1.x, v2.y),
- Vector(v1.x, v1.y))));
- drawPreview();
- }
-
- default:
- break;
- }
-}
-
-
-
-void RS_ActionDefault::mousePressEvent(QMouseEvent* e) {
- if (RS2::qtToRsButtonState(e->button())==RS2::LeftButton) {
- switch (getStatus()) {
- case Neutral:
- v1 = graphicView->toGraph(e->x(), e->y());
- setStatus(Dragging);
- break;
-
- case Moving: {
- v2 = snapPoint(e);
- deleteSnapper();
- deletePreview();
- clearPreview();
- RS_Modification m(*container, graphicView);
- RS_MoveData data;
- data.number = 0;
- data.useCurrentLayer = false;
- data.useCurrentAttributes = false;
- data.offset = v2-v1;
- m.move(data);
- setStatus(Neutral);
- RS_DIALOGFACTORY->updateSelectionWidget(
- container->countSelected());
- RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarMain);
- }
- break;
-
- case MovingRef: {
- v2 = snapPoint(e);
- deleteSnapper();
- deletePreview();
- clearPreview();
- RS_Modification m(*container, graphicView);
- RS_MoveRefData data;
- data.ref = v1;
- data.offset = v2-v1;
- m.moveRef(data);
- //container->moveSelectedRef(v1, v2-v2);
- setStatus(Neutral);
- RS_DIALOGFACTORY->updateSelectionWidget(
- container->countSelected());
- RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarMain);
- }
- break;
-
- default:
- break;
- }
- }
-}
-