-
-
-void RS_ActionDimAngular::mouseReleaseEvent(QMouseEvent* e) {
-
- if (RS2::qtToRsButtonState(e->button())==RS2::LeftButton) {
- switch (getStatus()) {
- case SetLine1: {
- RS_Entity* en = catchEntity(e, RS2::ResolveAll);
- if (en!=NULL &&
- en->rtti()==RS2::EntityLine) {
- line1 = (RS_Line*)en;
- setStatus(SetLine2);
- }
- }
- break;
-
- case SetLine2: {
- RS_Entity* en = catchEntity(e, RS2::ResolveAll);
- if (en!=NULL &&
- en->rtti()==RS2::EntityLine) {
- line2 = (RS_Line*)en;
-
- VectorSolutions sol =
- RS_Information::getIntersectionLineLine(line1, line2);
-
- if (sol.get(0).valid) {
- center = sol.get(0);
-
- if (center.distanceTo(line1->getStartpoint()) <
- center.distanceTo(line1->getEndpoint())) {
- edata.definitionPoint1 = line1->getStartpoint();
- edata.definitionPoint2 = line1->getEndpoint();
- } else {
- edata.definitionPoint1 = line1->getEndpoint();
- edata.definitionPoint2 = line1->getStartpoint();
- }
-
- if (center.distanceTo(line2->getStartpoint()) <
- center.distanceTo(line2->getEndpoint())) {
- edata.definitionPoint3 = line2->getStartpoint();
- data.definitionPoint = line2->getEndpoint();
- } else {
- edata.definitionPoint3 = line2->getEndpoint();
- data.definitionPoint = line2->getStartpoint();
- }
- graphicView->moveRelativeZero(center);
- setStatus(SetPos);
- }
- }
- }
- break;
-
- case SetPos: {
- RS_CoordinateEvent ce(snapPoint(e));
- coordinateEvent(&ce);
- }
- break;
- }
- } else if (RS2::qtToRsButtonState(e->button())==RS2::RightButton) {
- deletePreview();
- deleteSnapper();
- clearPreview();
- init(getStatus()-1);
- }
-
+void RS_ActionDimAngular::mouseReleaseEvent(QMouseEvent * e)
+{
+ if (e->button() == Qt::LeftButton)
+ {
+ switch (getStatus())
+ {
+ case SetLine1: {
+ RS_Entity * en = catchEntity(e, RS2::ResolveAll);
+
+ if (en != NULL
+ && en->rtti() == RS2::EntityLine)
+ {
+ line1 = (RS_Line *)en;
+ setStatus(SetLine2);
+ }
+ }
+ break;
+
+ case SetLine2: {
+ RS_Entity * en = catchEntity(e, RS2::ResolveAll);
+
+ if (en != NULL
+ && en->rtti() == RS2::EntityLine)
+ {
+ line2 = (RS_Line *)en;
+
+ VectorSolutions sol =
+ RS_Information::getIntersectionLineLine(line1, line2);
+
+ if (sol.get(0).valid)
+ {
+ center = sol.get(0);
+
+ if (center.distanceTo(line1->getStartpoint())
+ < center.distanceTo(line1->getEndpoint()))
+ {
+ edata.definitionPoint1 = line1->getStartpoint();
+ edata.definitionPoint2 = line1->getEndpoint();
+ }
+ else
+ {
+ edata.definitionPoint1 = line1->getEndpoint();
+ edata.definitionPoint2 = line1->getStartpoint();
+ }
+
+ if (center.distanceTo(line2->getStartpoint())
+ < center.distanceTo(line2->getEndpoint()))
+ {
+ edata.definitionPoint3 = line2->getStartpoint();
+ data.definitionPoint = line2->getEndpoint();
+ }
+ else
+ {
+ edata.definitionPoint3 = line2->getEndpoint();
+ data.definitionPoint = line2->getStartpoint();
+ }
+ graphicView->moveRelativeZero(center);
+ setStatus(SetPos);
+ }
+ }
+ }
+ break;
+
+ case SetPos: {
+ Vector ce(snapPoint(e));
+ coordinateEvent(&ce);
+ }
+ break;
+ }
+ }
+ else if (e->button() == Qt::RightButton)
+ {
+ deletePreview();
+ deleteSnapper();
+ clearPreview();
+ init(getStatus() - 1);
+ }