X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Factions%2Factiondimleader.cpp;h=52165067c872072bc6e80fdf6729c1aaeaf0bf84;hb=e1d1cacbb43055988d0d9db632fdf05c0bea9543;hp=bcb31a05d0ab5192576bd3e0e21c85fabfb3c476;hpb=865303923fcb231a171992b75a73364ff469ff8c;p=architektonas diff --git a/src/actions/actiondimleader.cpp b/src/actions/actiondimleader.cpp index bcb31a0..5216506 100644 --- a/src/actions/actiondimleader.cpp +++ b/src/actions/actiondimleader.cpp @@ -12,16 +12,18 @@ // Who When What // --- ---------- ----------------------------------------------------------- // JLH 06/03/2010 Added this text. :-) +// JLH 09/11/2010 Fixed preview/snapper rendering. // #include "actiondimleader.h" -#include "rs_commandevent.h" -#include "rs_dialogfactory.h" +#include "commandevent.h" +#include "debug.h" +#include "dialogfactory.h" #include "graphicview.h" -#include "rs_preview.h" +#include "preview.h" -ActionDimLeader::ActionDimLeader(RS_EntityContainer & container, GraphicView & graphicView): +ActionDimLeader::ActionDimLeader(EntityContainer & container, GraphicView & graphicView): ActionInterface("Draw leaders", container, graphicView) { reset(); @@ -38,9 +40,6 @@ ActionDimLeader::~ActionDimLeader() void ActionDimLeader::reset() { - //data = RS_LineData(Vector(false), Vector(false)); - //start = Vector(false); - //history.clear(); points.clear(); } @@ -57,48 +56,48 @@ void ActionDimLeader::trigger() if (points.count() > 0) { - RS_Leader * leader = new RS_Leader(container, RS_LeaderData(true)); + Leader * leader = new Leader(container, LeaderData(true)); 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(); - - RS_DEBUG->print("ActionDimLeader::trigger(): leader added: %d", leader->getId()); +// 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()); } } void ActionDimLeader::mouseMoveEvent(QMouseEvent * e) { - RS_DEBUG->print("ActionDimLeader::mouseMoveEvent begin"); + DEBUG->print("ActionDimLeader::mouseMoveEvent begin"); Vector mouse = snapPoint(e); if (getStatus() == SetEndpoint && points.last() != NULL) { - deletePreview(); - clearPreview(); +// deletePreview(); +// clearPreview(); + graphicView->preview.clear(); // fill in lines that were already set: Vector last(false); @@ -108,17 +107,22 @@ void ActionDimLeader::mouseMoveEvent(QMouseEvent * e) Vector * v = points[i]; // if (last.valid) -// preview->addEntity(new RS_Line(preview, RS_LineData(last, *v))); +// 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 RS_Line(preview, RS_LineData(p, mouse))); - drawPreview(); +// preview->addEntity(new Line(preview, LineData(p, mouse))); +// drawPreview(); + graphicView->preview.addEntity(new Line(&(graphicView->preview), LineData(p, mouse))); } - RS_DEBUG->print("ActionDimLeader::mouseMoveEvent end"); + graphicView->redraw(); + + DEBUG->print("ActionDimLeader::mouseMoveEvent end"); } void ActionDimLeader::mouseReleaseEvent(QMouseEvent * e) @@ -138,9 +142,10 @@ void ActionDimLeader::mouseReleaseEvent(QMouseEvent * e) } else { - deletePreview(); - deleteSnapper(); +// deletePreview(); +// deleteSnapper(); init(getStatus() - 1); + graphicView->redraw(); //hm. } } } @@ -186,14 +191,14 @@ void ActionDimLeader::coordinateEvent(Vector * e) } } -void ActionDimLeader::commandEvent(RS_CommandEvent * e) +void ActionDimLeader::commandEvent(CommandEvent * e) { QString c = e->getCommand().toLower(); if (checkCommand("help", c)) { - if (RS_DIALOGFACTORY != NULL) - RS_DIALOGFACTORY->commandMessage(msgAvailableCommands() + if (DIALOGFACTORY) + DIALOGFACTORY->commandMessage(msgAvailableCommands() + getAvailableCommands().join(", ")); return; @@ -218,20 +223,20 @@ QStringList ActionDimLeader::getAvailableCommands() void ActionDimLeader::updateMouseButtonHints() { - if (RS_DIALOGFACTORY != NULL) + if (DIALOGFACTORY != NULL) { switch (getStatus()) { case SetStartpoint: - RS_DIALOGFACTORY->updateMouseWidget(tr("Specify target point"), tr("Cancel")); + DIALOGFACTORY->updateMouseWidget(tr("Specify target point"), tr("Cancel")); break; case SetEndpoint: - RS_DIALOGFACTORY->updateMouseWidget(tr("Specify next point"), tr("Finish")); + DIALOGFACTORY->updateMouseWidget(tr("Specify next point"), tr("Finish")); break; default: - RS_DIALOGFACTORY->updateMouseWidget("", ""); + DIALOGFACTORY->updateMouseWidget("", ""); break; } } @@ -254,11 +259,11 @@ void ActionDimLeader::updateMouseCursor() void ActionDimLeader::updateToolBar() { - if (RS_DIALOGFACTORY) + if (DIALOGFACTORY) { if (!isFinished()) - RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap); + DIALOGFACTORY->requestToolBar(RS2::ToolBarSnap); else - RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarDim); + DIALOGFACTORY->requestToolBar(RS2::ToolBarDim); } }