X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Factiondimleader.cpp;h=52165067c872072bc6e80fdf6729c1aaeaf0bf84;hb=e1d1cacbb43055988d0d9db632fdf05c0bea9543;hp=f65ff3192240e4f884381be10541baa88097b7de;hpb=16354e0421b316a62c6b9f7b0b4f3b8cf6f06284;p=architektonas diff --git a/src/actions/actiondimleader.cpp b/src/actions/actiondimleader.cpp index f65ff31..5216506 100644 --- a/src/actions/actiondimleader.cpp +++ b/src/actions/actiondimleader.cpp @@ -12,6 +12,7 @@ // Who When What // --- ---------- ----------------------------------------------------------- // JLH 06/03/2010 Added this text. :-) +// JLH 09/11/2010 Fixed preview/snapper rendering. // #include "actiondimleader.h" @@ -39,9 +40,6 @@ ActionDimLeader::~ActionDimLeader() void ActionDimLeader::reset() { - //data = LineData(Vector(false), Vector(false)); - //start = Vector(false); - //history.clear(); points.clear(); } @@ -62,29 +60,28 @@ void ActionDimLeader::trigger() leader->setLayerToActive(); leader->setPenToActive(); -// for(Vector * v=points.first(); v!=NULL; v=points.next()) -// leader->addVertex(*v); - for (int i = 0; i < points.size(); i++) + for(int i=0; iaddVertex(*(points[i])); container->addEntity(leader); // upd. undo list: - if (document != NULL) + if (document) { document->startUndoCycle(); document->addUndoable(leader); document->endUndoCycle(); } - deletePreview(); - clearPreview(); - deleteSnapper(); - Vector rz = graphicView->getRelativeZero(); - graphicView->moveRelativeZero(Vector(0.0, 0.0)); - graphicView->drawEntity(leader); - graphicView->moveRelativeZero(rz); - //drawSnapper(); +// deletePreview(); +// clearPreview(); +// deleteSnapper(); +// Vector rz = graphicView->getRelativeZero(); +// graphicView->moveRelativeZero(Vector(0.0, 0.0)); +// graphicView->drawEntity(leader); +// graphicView->moveRelativeZero(rz); + graphicView->preview.clear(); //hm. + graphicView->redraw(); DEBUG->print("ActionDimLeader::trigger(): leader added: %d", leader->getId()); } @@ -98,8 +95,9 @@ void ActionDimLeader::mouseMoveEvent(QMouseEvent * e) if (getStatus() == SetEndpoint && points.last() != NULL) { - deletePreview(); - clearPreview(); +// deletePreview(); +// clearPreview(); + graphicView->preview.clear(); // fill in lines that were already set: Vector last(false); @@ -110,15 +108,20 @@ void ActionDimLeader::mouseMoveEvent(QMouseEvent * e) // if (last.valid) // preview->addEntity(new Line(preview, LineData(last, *v))); + if (last.valid) + graphicView->preview.addEntity(new Line(&(graphicView->preview), LineData(last, *v))); last = *v; } Vector p = *points.last(); // preview->addEntity(new Line(preview, LineData(p, mouse))); - drawPreview(); +// drawPreview(); + graphicView->preview.addEntity(new Line(&(graphicView->preview), LineData(p, mouse))); } + graphicView->redraw(); + DEBUG->print("ActionDimLeader::mouseMoveEvent end"); } @@ -139,9 +142,10 @@ void ActionDimLeader::mouseReleaseEvent(QMouseEvent * e) } else { - deletePreview(); - deleteSnapper(); +// deletePreview(); +// deleteSnapper(); init(getStatus() - 1); + graphicView->redraw(); //hm. } } } @@ -193,7 +197,7 @@ void ActionDimLeader::commandEvent(CommandEvent * e) if (checkCommand("help", c)) { - if (DIALOGFACTORY != NULL) + if (DIALOGFACTORY) DIALOGFACTORY->commandMessage(msgAvailableCommands() + getAvailableCommands().join(", "));