X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Factiondrawcircle.cpp;h=9f64a0ee1c23ab2b13ac7838e50964ecc9c5a7c8;hb=e1d1cacbb43055988d0d9db632fdf05c0bea9543;hp=7c19be06412e87f7781e5eea632c0b239fafd763;hpb=16354e0421b316a62c6b9f7b0b4f3b8cf6f06284;p=architektonas diff --git a/src/actions/actiondrawcircle.cpp b/src/actions/actiondrawcircle.cpp index 7c19be0..9f64a0e 100644 --- a/src/actions/actiondrawcircle.cpp +++ b/src/actions/actiondrawcircle.cpp @@ -12,6 +12,7 @@ // Who When What // --- ---------- ----------------------------------------------------------- // JLH 06/03/2010 Added this text. :-) +// JLH 09/11/2010 Fixed preview/snapper rendering. // #include "actiondrawcircle.h" @@ -59,19 +60,21 @@ void ActionDrawCircle::trigger() container->addEntity(circle); // upd. undo list: - if (document != NULL) + if (document) { document->startUndoCycle(); document->addUndoable(circle); document->endUndoCycle(); } - deleteSnapper(); - Vector rz = graphicView->getRelativeZero(); - graphicView->moveRelativeZero(Vector(0.0, 0.0)); - graphicView->drawEntity(circle); + graphicView->preview.clear(); // hm. +// deleteSnapper(); +// Vector rz = graphicView->getRelativeZero(); +// graphicView->moveRelativeZero(Vector(0.0, 0.0)); +// graphicView->drawEntity(circle); graphicView->moveRelativeZero(circle->getCenter()); - drawSnapper(); +// drawSnapper(); + graphicView->redraw(); setStatus(SetCenter); reset(); @@ -92,18 +95,16 @@ void ActionDrawCircle::mouseMoveEvent(QMouseEvent * e) break; case SetRadius: - if (data.center.valid) { data.radius = data.center.distanceTo(mouse); - deletePreview(); - clearPreview(); -// preview->addEntity(new Circle(preview, data)); - drawPreview(); + graphicView->preview.clear(); + graphicView->preview.addEntity(new Circle(&(graphicView->preview), data)); } break; } + graphicView->redraw(); DEBUG->print("ActionDrawCircle::mouseMoveEvent end"); } @@ -116,9 +117,13 @@ void ActionDrawCircle::mouseReleaseEvent(QMouseEvent * e) } else if (e->button() == Qt::RightButton) { - deletePreview(); - deleteSnapper(); +// deletePreview(); +// deleteSnapper(); +// //Is this necessary? Or should the base class take care of this kind of crap? +// graphicView->preview.clear(); init(getStatus() - 1); + // Looks like we need at least to redraw... Though shouldn't base class do it??? + graphicView->redraw(); } } @@ -138,14 +143,13 @@ void ActionDrawCircle::coordinateEvent(Vector * e) break; case SetRadius: - if (data.center.valid) { graphicView->moveRelativeZero(mouse); data.radius = data.center.distanceTo(mouse); trigger(); } - //setStatus(SetCenter); + break; default: