X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdrawlineaction.cpp;h=d4b35db336ae70c35bc8f7c6e69ca199d7e7426f;hb=143b369c0308a8cd524cb0ed51c5d67d6be69603;hp=65b9fc1b85e6ced0bb085e53840cd44fda222e05;hpb=d17a8b124d6800959675741a45434f8dbe8a50ba;p=architektonas diff --git a/src/drawlineaction.cpp b/src/drawlineaction.cpp index 65b9fc1..d4b35db 100644 --- a/src/drawlineaction.cpp +++ b/src/drawlineaction.cpp @@ -4,7 +4,7 @@ // (C) 2011 Underground Software // See the README and GPLv3 files for licensing and warranty information // -// JLH = James L. Hammons +// JLH = James Hammons // // WHO WHEN WHAT // --- ---------- ------------------------------------------------------------ @@ -26,6 +26,7 @@ DrawLineAction::DrawLineAction(): state(0), line(NULL) { } + DrawLineAction::~DrawLineAction() { } @@ -33,18 +34,25 @@ DrawLineAction::~DrawLineAction() /*virtual*/ void DrawLineAction::Draw(Painter * painter) { - // Need to fix pen colors, etc... + painter->SetPen(QPen(Qt::red, 2.0, Qt::DotLine)); + // I think stuff like crosshairs should be done in the DrawingView, tho if (state == FIRST_POINT) { - painter->DrawPoint(p1.x, p1.y); + painter->DrawHandle(p1); } else { painter->DrawLine(p1, p2); + painter->DrawHandle(p2); + + QString text = tr("Length: %1 in."); + text = text.arg(Vector::Magnitude(p1, p2)); + painter->DrawInformativeText(text); } } + /*virtual*/ void DrawLineAction::MouseDown(Vector point) { if (state == FIRST_POINT) @@ -53,6 +61,7 @@ DrawLineAction::~DrawLineAction() p2 = point; } + /*virtual*/ void DrawLineAction::MouseMoved(Vector point) { if (state == FIRST_POINT) @@ -61,6 +70,7 @@ DrawLineAction::~DrawLineAction() p2 = point; } + /*virtual*/ void DrawLineAction::MouseReleased(void) { if (state == FIRST_POINT) @@ -76,6 +86,8 @@ DrawLineAction::~DrawLineAction() // We don't need no stinkin' sentinels, when we have signals & slots! emit ObjectReady(line); - p1 = p2; +// p1 = p2; + state = FIRST_POINT; } } +