X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Factiondrawarc3p.cpp;h=46eeb37c57ae3d25990407913f5a476ab455d83c;hb=92c8661cef41f1109908bf645c0a171e34680183;hp=9cd7bbd7ef2e179d53dd27333279c62f064473c1;hpb=d774c2655ba2c3657a565f325411144452392277;p=architektonas diff --git a/src/actions/actiondrawarc3p.cpp b/src/actions/actiondrawarc3p.cpp index 9cd7bbd..46eeb37 100644 --- a/src/actions/actiondrawarc3p.cpp +++ b/src/actions/actiondrawarc3p.cpp @@ -3,25 +3,28 @@ // Part of the Architektonas Project // Originally part of QCad Community Edition by Andrew Mustun // Extensively rewritten and refactored by James L. Hammons -// (C) 2010 Underground Software +// Portions copyright (C) 2001-2003 RibbonSoft +// Copyright (C) 2010 Underground Software +// See the README and GPLv2 files for licensing and warranty information // // JLH = James L. Hammons // // Who When What // --- ---------- ----------------------------------------------------------- // JLH 06/03/2010 Added this text. :-) +// JLH 09/17/2010 Fixed preview/snapper rendering. // #include "actiondrawarc3p.h" #include "actiondrawarc.h" -#include "rs_commandevent.h" +#include "commandevent.h" #include "commands.h" -#include "rs_dialogfactory.h" +#include "dialogfactory.h" #include "graphicview.h" -#include "rs_preview.h" +#include "preview.h" -ActionDrawArc3P::ActionDrawArc3P(RS_EntityContainer & container, GraphicView & graphicView): +ActionDrawArc3P::ActionDrawArc3P(EntityContainer & container, GraphicView & graphicView): ActionInterface("Draw arcs 3P", container, graphicView) { reset(); @@ -53,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() @@ -85,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(); } } @@ -108,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; @@ -123,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) @@ -146,9 +155,10 @@ void ActionDrawArc3P::mouseReleaseEvent(QMouseEvent * e) } else if (e->button() == Qt::RightButton) { - deletePreview(); - deleteSnapper(); +// deletePreview(); +// deleteSnapper(); init(getStatus() - 1); + graphicView->redraw(); } } @@ -183,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)); @@ -212,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; } } @@ -237,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); }