]> Shamusworld >> Repos - architektonas/blobdiff - src/actions/actionmodifymirror.cpp
In the middle of removing Snapper class/fixing snapper rendering...
[architektonas] / src / actions / actionmodifymirror.cpp
index 7c07178035361f12ebdfe4089ad6b6c2c58ce538..c0cf0e7fa6f6131215c9ee8f5bec537ff5c25e8f 100644 (file)
@@ -20,7 +20,7 @@
 #include "dialogfactory.h"
 #include "preview.h"
 
-ActionModifyMirror::ActionModifyMirror(RS_EntityContainer & container, GraphicView & graphicView):
+ActionModifyMirror::ActionModifyMirror(EntityContainer & container, GraphicView & graphicView):
        ActionInterface("Mirror Entities", container, graphicView)
 {
 }
@@ -36,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)
        {
@@ -65,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)
@@ -91,9 +98,10 @@ void ActionModifyMirror::mouseReleaseEvent(QMouseEvent * e)
        }
        else if (e->button() == Qt::RightButton)
        {
-               deletePreview();
-               deleteSnapper();
+//             deletePreview();
+//             deleteSnapper();
                init(getStatus() - 1);
+               graphicView->redraw();  //hm.
        }
 }
 
@@ -117,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;
@@ -138,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;
                }
        }
@@ -172,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;
                }
        }