X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Factiondrawcirclecr.cpp;h=daebf4cc9cd3afc40220a934e22741e143690d91;hb=f62cebc26c7c3af447f0e4e4c43331f8589dce22;hp=a84a93d62110d27378e3d46ea0fdfe8b3beb4ebc;hpb=48105dec9198cf5a81dd9286010d0d45e28f70c3;p=architektonas diff --git a/src/actions/actiondrawcirclecr.cpp b/src/actions/actiondrawcirclecr.cpp index a84a93d..daebf4c 100644 --- a/src/actions/actiondrawcirclecr.cpp +++ b/src/actions/actiondrawcirclecr.cpp @@ -12,21 +12,23 @@ // Who When What // --- ---------- ----------------------------------------------------------- // JLH 06/03/2010 Added this text. :-) +// JLH 09/11/2010 Fixed preview/snapper rendering. // #include "actiondrawcirclecr.h" -#include "rs_commandevent.h" -#include "rs_debug.h" -#include "rs_dialogfactory.h" +#include "commandevent.h" +#include "debug.h" +#include "dialogfactory.h" #include "graphicview.h" -#include "rs_preview.h" +#include "preview.h" /** * Constructor. */ -ActionDrawCircleCR::ActionDrawCircleCR(RS_EntityContainer & container, GraphicView & graphicView): ActionInterface("Draw circles CR", - container, graphicView) +ActionDrawCircleCR::ActionDrawCircleCR(EntityContainer & container, + GraphicView & graphicView): + ActionInterface("Draw circles CR", container, graphicView) { reset(); } @@ -42,7 +44,7 @@ ActionDrawCircleCR::~ActionDrawCircleCR() void ActionDrawCircleCR::reset() { - data = RS_CircleData(Vector(false), 0.0); + data = CircleData(Vector(false), 0.0); } void ActionDrawCircleCR::init(int status) @@ -54,48 +56,53 @@ void ActionDrawCircleCR::trigger() { ActionInterface::trigger(); - RS_Circle * circle = new RS_Circle(container, data); + Circle * circle = new Circle(container, data); circle->setLayerToActive(); circle->setPenToActive(); 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->moveRelativeZero(circle->getCenter()); - drawSnapper(); +// deleteSnapper(); +// Vector rz = graphicView->getRelativeZero(); +// graphicView->moveRelativeZero(Vector(0.0, 0.0)); +// graphicView->drawEntity(circle); +// graphicView->moveRelativeZero(circle->getCenter()); +// drawSnapper(); + graphicView->preview.clear(); // hm. + graphicView->redraw(); setStatus(SetCenter); - RS_DEBUG->print("ActionDrawCircleCR::trigger(): circle added: %d", circle->getId()); + DEBUG->print("ActionDrawCircleCR::trigger(): circle added: %d", circle->getId()); } void ActionDrawCircleCR::mouseMoveEvent(QMouseEvent * e) { - RS_DEBUG->print("ActionDrawCircleCR::mouseMoveEvent begin"); + DEBUG->print("ActionDrawCircleCR::mouseMoveEvent begin"); Vector mouse = snapPoint(e); switch (getStatus()) { case SetCenter: data.center = mouse; - deletePreview(); - clearPreview(); -// preview->addEntity(new RS_Circle(preview, data)); - drawPreview(); +// deletePreview(); +// clearPreview(); +// preview->addEntity(new Circle(preview, data)); +// drawPreview(); + graphicView->preview.clear(); + graphicView->preview.addEntity(new Circle(&(graphicView->preview), data)); break; } - RS_DEBUG->print("ActionDrawCircleCR::mouseMoveEvent end"); + graphicView->redraw(); + DEBUG->print("ActionDrawCircleCR::mouseMoveEvent end"); } void ActionDrawCircleCR::mouseReleaseEvent(QMouseEvent * e) @@ -107,9 +114,10 @@ void ActionDrawCircleCR::mouseReleaseEvent(QMouseEvent * e) } else if (e->button() == Qt::RightButton) { - deletePreview(); - deleteSnapper(); +// deletePreview(); +// deleteSnapper(); init(getStatus() - 1); + graphicView->redraw(); // hm. } } @@ -132,13 +140,13 @@ void ActionDrawCircleCR::coordinateEvent(Vector * e) } } -void ActionDrawCircleCR::commandEvent(RS_CommandEvent * e) +void ActionDrawCircleCR::commandEvent(CommandEvent * e) { QString c = e->getCommand().toLower(); if (checkCommand("help", c)) { - RS_DIALOGFACTORY->commandMessage(msgAvailableCommands() + DIALOGFACTORY->commandMessage(msgAvailableCommands() + getAvailableCommands().join(", ")); return; } @@ -159,14 +167,14 @@ void ActionDrawCircleCR::commandEvent(RS_CommandEvent * e) case SetRadius: { bool ok; - double r = RS_Math::eval(c, &ok); + double r = Math::eval(c, &ok); if (ok == true) data.radius = r; else - RS_DIALOGFACTORY->commandMessage(tr("Not a valid expression")); + DIALOGFACTORY->commandMessage(tr("Not a valid expression")); - RS_DIALOGFACTORY->requestOptions(this, true, true); + DIALOGFACTORY->requestOptions(this, true, true); setStatus(SetCenter); } break; @@ -198,15 +206,15 @@ void ActionDrawCircleCR::updateMouseButtonHints() switch (getStatus()) { case SetCenter: - RS_DIALOGFACTORY->updateMouseWidget(tr("Specify circle center"), tr("Cancel")); + DIALOGFACTORY->updateMouseWidget(tr("Specify circle center"), tr("Cancel")); break; case SetRadius: - RS_DIALOGFACTORY->updateMouseWidget(tr("Specify circle radius"), tr("Back")); + DIALOGFACTORY->updateMouseWidget(tr("Specify circle radius"), tr("Back")); break; default: - RS_DIALOGFACTORY->updateMouseWidget("", ""); + DIALOGFACTORY->updateMouseWidget("", ""); break; } } @@ -215,14 +223,14 @@ void ActionDrawCircleCR::showOptions() { ActionInterface::showOptions(); - RS_DIALOGFACTORY->requestOptions(this, true); + DIALOGFACTORY->requestOptions(this, true); } void ActionDrawCircleCR::hideOptions() { ActionInterface::hideOptions(); - RS_DIALOGFACTORY->requestOptions(this, false); + DIALOGFACTORY->requestOptions(this, false); } void ActionDrawCircleCR::updateMouseCursor() @@ -233,9 +241,9 @@ void ActionDrawCircleCR::updateMouseCursor() void ActionDrawCircleCR::updateToolBar() { if (!isFinished()) - RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap); + DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap); else - RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarCircles); + DIALOGFACTORY->requestToolBar(RS2::ToolBarCircles); } double ActionDrawCircleCR::getRadius()