X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdrawingview.cpp;fp=src%2Fdrawingview.cpp;h=3b6f92c6663c363bba9b1cf68e006793f101a7e0;hb=41644f6a841b45cb6f1f7a96c93fd550f67a7974;hp=3baa2d77eed71712dd168fa79ff6ddb73e016faa;hpb=d9f34cb7917e396a1df805687234d5473d82283b;p=architektonas diff --git a/src/drawingview.cpp b/src/drawingview.cpp index 3baa2d7..3b6f92c 100644 --- a/src/drawingview.cpp +++ b/src/drawingview.cpp @@ -41,6 +41,7 @@ #include "painter.h" #include "penwidget.h" #include "structs.h" +#include "units.h" #include "utils.h" #define BACKGROUND_MAX_SIZE 512 @@ -52,8 +53,9 @@ DrawingView::DrawingView(QWidget * parent/*= NULL*/): QWidget(parent), gridBackground(BACKGROUND_MAX_SIZE, BACKGROUND_MAX_SIZE), scale(1.0), offsetX(-10), offsetY(-10), supressSelected(false), document(true), - gridPixels(0), collided(false), scrollDrag(false), hoverPointValid(false), - hoveringIntersection(false), dragged(NULL), draggingObject(false), + gridPixels(0), collided(false), scrollDrag(false), + hoverPointValid(false), hoveringIntersection(false), + dragged(NULL), draggingObject(false), angleSnap(false), dirty(false) { //wtf? doesn't work except in c++11??? document = { 0 }; @@ -556,20 +558,7 @@ void DrawingView::RenderObjects(Painter * painter, VPVector & v, int layer, bool painter->SetFont(QFont("Arial", 8.0 * Global::zoom * scaledThickness)); Point ctr = p2 + (Vector(p2, p1) / 2.0); - QString dimText; - - if (length < 12.0) - dimText = QString("%1\"").arg(length); - else - { - double feet = (double)((int)length / 12); - double inches = length - (feet * 12.0); - - if (inches == 0) - dimText = QString("%1'").arg(feet); - else - dimText = QString("%1' %2\"").arg(feet).arg(inches); - } + QString dimText = GetDimensionText(&document, length); /* Where is the text offset? It looks like it's drawing in the center, but obviously it isn't. It isn't here, it's in Painter::DrawAngledText(). @@ -3034,7 +3023,7 @@ N.B.: Mixing fixed length with fixed angle (and in this order) is probably *not* obj->radius[0] = Vector::Magnitude(obj->p[0], point); QString text = QObject::tr("Radius: %1\nScale: %2%"); - informativeText = text.arg(obj->radius[0], 0, 'd', 4).arg(obj->radius[0] / oldRadius * 100.0, 0, 'd', 0); + informativeText = text.arg(obj->radius[0], 0, 'f', 4).arg(obj->radius[0] / oldRadius * 100.0, 0, 'f', 0); } break;