]> Shamusworld >> Repos - architektonas/blobdiff - src/actions/actiondrawarc3p.cpp
In the middle of removing Snapper class/fixing snapper rendering...
[architektonas] / src / actions / actiondrawarc3p.cpp
index ce3d6587850cbad5b59cf92d0c0a24e8fb7673b0..46eeb37c57ae3d25990407913f5a476ab455d83c 100644 (file)
@@ -12,6 +12,7 @@
 // Who  When        What
 // ---  ----------  -----------------------------------------------------------
 // JLH  06/03/2010  Added this text. :-)
+// JLH  09/17/2010  Fixed preview/snapper rendering.
 //
 
 #include "actiondrawarc3p.h"
@@ -23,7 +24,7 @@
 #include "graphicview.h"
 #include "preview.h"
 
-ActionDrawArc3P::ActionDrawArc3P(RS_EntityContainer & container, GraphicView & graphicView):
+ActionDrawArc3P::ActionDrawArc3P(EntityContainer & container, GraphicView & graphicView):
        ActionInterface("Draw arcs 3P", container, graphicView)
 {
        reset();
@@ -55,30 +56,30 @@ void ActionDrawArc3P::trigger()
 
        if (data.isValid())
        {
-               RS_Arc * arc = new RS_Arc(container, data);
+               Arc * arc = new Arc(container, data);
                arc->setLayerToActive();
                arc->setPenToActive();
                container->addEntity(arc);
 
                // upd. undo list:
-               if (document != NULL)
+               if (document)
                {
                        document->startUndoCycle();
                        document->addUndoable(arc);
                        document->endUndoCycle();
                }
 
-               deleteSnapper();
-               graphicView->moveRelativeZero(Vector(0.0, 0.0));
-               graphicView->drawEntity(arc);
+//             deleteSnapper();
+//             graphicView->moveRelativeZero(Vector(0.0, 0.0));
+//             graphicView->drawEntity(arc);
                graphicView->moveRelativeZero(arc->getEndpoint());
-               drawSnapper();
-
+//             drawSnapper();
+               graphicView->redraw();
                setStatus(SetPoint1);
                reset();
        }
        else
-               RS_DIALOGFACTORY->commandMessage(tr("Invalid arc data."));
+               DIALOGFACTORY->commandMessage(tr("Invalid arc data."));
 }
 
 void ActionDrawArc3P::preparePreview()
@@ -87,10 +88,10 @@ void ActionDrawArc3P::preparePreview()
 
        if (point1.valid && point2.valid && point3.valid)
        {
-               RS_Arc arc(NULL, data);
-               bool suc = arc.createFrom3P(point1, point2, point3);
+               Arc arc(NULL, data);
+               bool success = arc.createFrom3P(point1, point2, point3);
 
-               if (suc)
+               if (success)
                        data = arc.getData();
        }
 }
@@ -110,12 +111,14 @@ void ActionDrawArc3P::mouseMoveEvent(QMouseEvent * e)
 
                if (point1.valid)
                {
-//                     RS_Line * line = new RS_Line(preview, RS_LineData(point1, point2));
+//                     Line * line = new Line(preview, LineData(point1, point2));
 //
 //                     deletePreview();
 //                     clearPreview();
 //                     preview->addEntity(line);
 //                     drawPreview();
+                       graphicView->preview.clear();
+                       graphicView->preview.addEntity(new Line(&(graphicView->preview), LineData(point1, point2)));
                }
                break;
 
@@ -125,18 +128,22 @@ void ActionDrawArc3P::mouseMoveEvent(QMouseEvent * e)
 
                if (data.isValid())
                {
-//                     RS_Arc * arc = new RS_Arc(preview, data);
+//                     Arc * arc = new Arc(preview, data);
 //
 //                     deletePreview();
 //                     clearPreview();
 //                     preview->addEntity(arc);
 //                     drawPreview();
+                       graphicView->preview.clear();
+                       graphicView->preview.addEntity(new Arc(&(graphicView->preview), data));
                }
                break;
 
        default:
                break;
        }
+
+       graphicView->redraw();
 }
 
 void ActionDrawArc3P::mouseReleaseEvent(QMouseEvent * e)
@@ -148,9 +155,10 @@ void ActionDrawArc3P::mouseReleaseEvent(QMouseEvent * e)
        }
        else if (e->button() == Qt::RightButton)
        {
-               deletePreview();
-               deleteSnapper();
+//             deletePreview();
+//             deleteSnapper();
                init(getStatus() - 1);
+               graphicView->redraw();
        }
 }
 
@@ -185,18 +193,18 @@ void ActionDrawArc3P::coordinateEvent(Vector * e)
        }
 }
 
-void ActionDrawArc3P::commandEvent(RS_CommandEvent * e)
+void ActionDrawArc3P::commandEvent(CommandEvent * e)
 {
        QString c = e->getCommand().toLower();
 
        if (checkCommand("help", c))
        {
-               RS_DIALOGFACTORY->commandMessage(msgAvailableCommands()
+               DIALOGFACTORY->commandMessage(msgAvailableCommands()
                        + getAvailableCommands().join(", "));
                return;
        }
 
-       if (RS_COMMANDS->checkCommand("center", c, rtti()))
+       if (COMMANDS->checkCommand("center", c, rtti()))
        {
                finish();
                graphicView->setCurrentAction(new ActionDrawArc(*container, *graphicView));
@@ -214,19 +222,19 @@ void ActionDrawArc3P::updateMouseButtonHints()
        switch (getStatus())
        {
        case SetPoint1:
-               RS_DIALOGFACTORY->updateMouseWidget(tr("Specify startpoint or [Center]"), tr("Cancel"));
+               DIALOGFACTORY->updateMouseWidget(tr("Specify startpoint or [Center]"), tr("Cancel"));
                break;
 
        case SetPoint2:
-               RS_DIALOGFACTORY->updateMouseWidget(tr("Specify second point"), tr("Back"));
+               DIALOGFACTORY->updateMouseWidget(tr("Specify second point"), tr("Back"));
                break;
 
        case SetPoint3:
-               RS_DIALOGFACTORY->updateMouseWidget(tr("Specify endpoint"), tr("Back"));
+               DIALOGFACTORY->updateMouseWidget(tr("Specify endpoint"), tr("Back"));
                break;
 
        default:
-               RS_DIALOGFACTORY->updateMouseWidget("", "");
+               DIALOGFACTORY->updateMouseWidget("", "");
                break;
        }
 }
@@ -239,8 +247,8 @@ void ActionDrawArc3P::updateMouseCursor()
 void ActionDrawArc3P::updateToolBar()
 {
        if (!isFinished())
-               RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap);
+               DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap);
        else
-               RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarArcs);
+               DIALOGFACTORY->requestToolBar(RS2::ToolBarArcs);
 }