X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdrawlineaction.cpp;h=d4b35db336ae70c35bc8f7c6e69ca199d7e7426f;hb=143b369c0308a8cd524cb0ed51c5d67d6be69603;hp=ffa2e7eaea35c71cd39ca24be6c9dbe785860eb7;hpb=043ecf4d074909ba2f7f53237962f9eaa72f19c2;p=architektonas diff --git a/src/drawlineaction.cpp b/src/drawlineaction.cpp index ffa2e7e..d4b35db 100644 --- a/src/drawlineaction.cpp +++ b/src/drawlineaction.cpp @@ -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; } } +