]> Shamusworld >> Repos - architektonas/blobdiff - src/actions/actiondrawcircle3p.cpp
Fixed hatch dialog, added snap/preview to circle tools.
[architektonas] / src / actions / actiondrawcircle3p.cpp
index eacd6d89b02b8fdbdd9a0dc33f4b380fbc6727f3..a20d8f49d533a6fc5269bf5f329d684dbabc6458 100644 (file)
@@ -12,6 +12,7 @@
 // Who  When        What
 // ---  ----------  -----------------------------------------------------------
 // JLH  06/03/2010  Added this text. :-)
+// JLH  09/11/2010  Fixed preview/snapper rendering.
 //
 
 #include "actiondrawcircle3p.h"
@@ -22,8 +23,8 @@
 #include "preview.h"
 
 ActionDrawCircle3P::ActionDrawCircle3P(EntityContainer & container,
-       GraphicView & graphicView): ActionInterface("Draw circles",
-       container, graphicView)
+       GraphicView & graphicView):
+       ActionInterface("Draw circles", container, graphicView)
 {
        reset();
 }
@@ -50,7 +51,6 @@ void ActionDrawCircle3P::init(int status)
 void ActionDrawCircle3P::trigger()
 {
        ActionInterface::trigger();
-
        preparePreview();
 
        if (data.isValid())
@@ -68,12 +68,14 @@ void ActionDrawCircle3P::trigger()
                        document->endUndoCycle();
                }
 
-               deleteSnapper();
-               Vector rz = graphicView->getRelativeZero();
-               graphicView->moveRelativeZero(Vector(0.0, 0.0));
-               graphicView->drawEntity(circle);
-               graphicView->moveRelativeZero(rz);
-               drawSnapper();
+//             deleteSnapper();
+//             Vector rz = graphicView->getRelativeZero();
+//             graphicView->moveRelativeZero(Vector(0.0, 0.0));
+//             graphicView->drawEntity(circle);
+//             graphicView->moveRelativeZero(rz);
+//             drawSnapper();
+               graphicView->preview.clear();   // hm.
+               graphicView->redraw();
 
                setStatus(SetPoint1);
                reset();
@@ -117,14 +119,18 @@ void ActionDrawCircle3P::mouseMoveEvent(QMouseEvent * e)
                if (data.isValid())
                {
 //                     Circle * circle = new Circle(preview, data);
-//
 //                     deletePreview();
 //                     clearPreview();
 //                     preview->addEntity(circle);
 //                     drawPreview();
+                       graphicView->preview.clear();
+                       graphicView->preview.addEntity(new Circle(&(graphicView->preview), data));
                }
+
                break;
        }
+
+       graphicView->redraw();
 }
 
 void ActionDrawCircle3P::mouseReleaseEvent(QMouseEvent * e)
@@ -136,9 +142,10 @@ void ActionDrawCircle3P::mouseReleaseEvent(QMouseEvent * e)
        }
        else if (e->button() == Qt::RightButton)
        {
-               deletePreview();
-               deleteSnapper();
+//             deletePreview();
+//             deleteSnapper();
                init(getStatus() - 1);
+               graphicView->redraw();  // hm.
        }
 }