X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Factionmodifymirror.cpp;h=c0cf0e7fa6f6131215c9ee8f5bec537ff5c25e8f;hb=92c8661cef41f1109908bf645c0a171e34680183;hp=f0f037369af67702ed4ac0c4ff7769882318a721;hpb=d774c2655ba2c3657a565f325411144452392277;p=architektonas diff --git a/src/actions/actionmodifymirror.cpp b/src/actions/actionmodifymirror.cpp index f0f0373..c0cf0e7 100644 --- a/src/actions/actionmodifymirror.cpp +++ b/src/actions/actionmodifymirror.cpp @@ -3,7 +3,9 @@ // Part of the Architektonas Project // Originally part of QCad Community Edition by Andrew Mustun // Extensively rewritten and refactored by James L. Hammons -// (C) 2010 Underground Software +// Portions copyright (C) 2001-2003 RibbonSoft +// Copyright (C) 2010 Underground Software +// See the README and GPLv2 files for licensing and warranty information // // JLH = James L. Hammons // @@ -14,10 +16,11 @@ #include "actionmodifymirror.h" -#include "rs_dialogfactory.h" -#include "rs_preview.h" +#include "debug.h" +#include "dialogfactory.h" +#include "preview.h" -ActionModifyMirror::ActionModifyMirror(RS_EntityContainer & container, GraphicView & graphicView): +ActionModifyMirror::ActionModifyMirror(EntityContainer & container, GraphicView & graphicView): ActionInterface("Mirror Entities", container, graphicView) { } @@ -33,18 +36,18 @@ void ActionModifyMirror::init(int status) void ActionModifyMirror::trigger() { - RS_DEBUG->print("ActionModifyMirror::trigger()"); + DEBUG->print("ActionModifyMirror::trigger()"); - RS_Modification m(*container, graphicView); + Modification m(*container, graphicView); m.mirror(data); - if (RS_DIALOGFACTORY) - RS_DIALOGFACTORY->updateSelectionWidget(container->countSelected()); + if (DIALOGFACTORY) + DIALOGFACTORY->updateSelectionWidget(container->countSelected()); } void ActionModifyMirror::mouseMoveEvent(QMouseEvent * e) { - RS_DEBUG->print("ActionModifyMirror::mouseMoveEvent begin"); + DEBUG->print("ActionModifyMirror::mouseMoveEvent begin"); if (getStatus() == SetAxisPoint1 || getStatus() == SetAxisPoint2) { @@ -62,21 +65,28 @@ void ActionModifyMirror::mouseMoveEvent(QMouseEvent * e) { axisPoint2 = mouse; - deletePreview(); - clearPreview(); +// deletePreview(); +// clearPreview(); /* preview->addSelectionFrom(*container); preview->mirror(axisPoint1, axisPoint2); - preview->addEntity(new RS_Line(preview,RS_LineData(axisPoint1, axisPoint2)));*/ - drawPreview(); + preview->addEntity(new Line(preview,LineData(axisPoint1, axisPoint2)));*/ +// drawPreview(); + graphicView->preview.clear(); + graphicView->preview.addSelectionFrom(*container); + graphicView->preview.mirror(axisPoint1, axisPoint2); + graphicView->preview.addEntity(new Line(&(graphicView->preview), LineData(axisPoint1, axisPoint2))); + graphicView->redraw(); } break; default: break; } + + graphicView->redraw(); } - RS_DEBUG->print("ActionModifyMirror::mouseMoveEvent end"); + DEBUG->print("ActionModifyMirror::mouseMoveEvent end"); } void ActionModifyMirror::mouseReleaseEvent(QMouseEvent * e) @@ -88,9 +98,10 @@ void ActionModifyMirror::mouseReleaseEvent(QMouseEvent * e) } else if (e->button() == Qt::RightButton) { - deletePreview(); - deleteSnapper(); +// deletePreview(); +// deleteSnapper(); init(getStatus() - 1); + graphicView->redraw(); //hm. } } @@ -114,16 +125,17 @@ void ActionModifyMirror::coordinateEvent(Vector * e) setStatus(ShowDialog); graphicView->moveRelativeZero(mouse); - if (RS_DIALOGFACTORY) + if (DIALOGFACTORY) { - if (RS_DIALOGFACTORY->requestMirrorDialog(data)) + if (DIALOGFACTORY->requestMirrorDialog(data)) { data.axisPoint1 = axisPoint1; data.axisPoint2 = axisPoint2; - deletePreview(); - clearPreview(); +// deletePreview(); +// clearPreview(); trigger(); finish(); + graphicView->redraw(); //hm. } } break; @@ -135,28 +147,26 @@ void ActionModifyMirror::coordinateEvent(Vector * e) void ActionModifyMirror::updateMouseButtonHints() { - if (RS_DIALOGFACTORY) + if (DIALOGFACTORY) { switch (getStatus()) { /*case Select: - RS_DIALOGFACTORY->updateMouseWidget(tr("Pick entities to move"), + DIALOGFACTORY->updateMouseWidget(tr("Pick entities to move"), tr("Cancel")); break;*/ case SetAxisPoint1: - RS_DIALOGFACTORY->updateMouseWidget( - tr("Specify first point of mirror line"), - tr("Cancel")); + DIALOGFACTORY->updateMouseWidget( + tr("Specify first point of mirror line"), tr("Cancel")); break; case SetAxisPoint2: - RS_DIALOGFACTORY->updateMouseWidget( - tr("Specify second point of mirror line"), - tr("Back")); + DIALOGFACTORY->updateMouseWidget( + tr("Specify second point of mirror line"), tr("Back")); break; default: - RS_DIALOGFACTORY->updateMouseWidget("", ""); + DIALOGFACTORY->updateMouseWidget("", ""); break; } } @@ -169,17 +179,17 @@ void ActionModifyMirror::updateMouseCursor() void ActionModifyMirror::updateToolBar() { - if (RS_DIALOGFACTORY != NULL) + if (DIALOGFACTORY) { switch (getStatus()) { case SetAxisPoint1: case SetAxisPoint2: - RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap); + DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap); break; default: - RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarModify); + DIALOGFACTORY->requestToolBar(RS2::ToolBarModify); break; } }