X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fobjectwidget.cpp;h=739d1c174ccd85c0c8fbc5415e6578310bea837f;hb=985ba9177968d672b0080e27cf43cd3c2a560999;hp=c7e0cf69e61178816bb4bda616399acec017102b;hpb=e78daf62eb771ee29a59035d16cf63c1e6ebe144;p=architektonas diff --git a/src/objectwidget.cpp b/src/objectwidget.cpp index c7e0cf6..739d1c1 100644 --- a/src/objectwidget.cpp +++ b/src/objectwidget.cpp @@ -1,7 +1,8 @@ +// // objectwidget.cpp: Object tweaking widget // // Part of the Architektonas Project -// (C) 2016 Underground Software +// (C) 2020 Underground Software // See the README and GPLv3 files for licensing and warranty information // // JLH = James Hammons @@ -14,25 +15,10 @@ #include "objectwidget.h" #include "mathconstants.h" - ObjectWidget::ObjectWidget(void): QWidget() { -#if 0 - QListWidget * qlw = new QListWidget; - QListWidgetItem * qli1 = new QListWidgetItem(qlw); - QListWidgetItem * qli2 = new QListWidgetItem(qlw); - QListWidgetItem * qli3 = new QListWidgetItem(qlw); - QListWidgetItem * qli4 = new QListWidgetItem(qlw); - QListWidgetItem * qli5 = new QListWidgetItem(qlw); -#endif label = new QLabel; -#if 0 - QPushButton * pb1 = new QPushButton("+"); - QPushButton * pb2 = new QPushButton("-"); - QPushButton * pb3 = new QPushButton("Edit"); - QPushButton * pb4 = new QPushButton("Import"); -#else QToolButton * pb1 = new QToolButton; QToolButton * pb2 = new QToolButton; QToolButton * pb3 = new QToolButton; @@ -47,7 +33,6 @@ ObjectWidget::ObjectWidget(void): QWidget() pb2->setToolTip(tr("Remove block")); pb3->setToolTip(tr("Edit block")); pb4->setToolTip(tr("Import block")); -#endif QHBoxLayout * hbox1 = new QHBoxLayout; hbox1->addWidget(pb1); @@ -58,28 +43,23 @@ ObjectWidget::ObjectWidget(void): QWidget() QVBoxLayout * mainLayout = new QVBoxLayout; mainLayout->addWidget(label); + mainLayout->addStretch(); mainLayout->addLayout(hbox1); setLayout(mainLayout); } - ObjectWidget::~ObjectWidget() { } - void ObjectWidget::ShowInfo(Object * obj) { - const char objName[OTCount][16] = { - "None", "Line", "Circle", "Ellipse", "Arc", "Polygon", "Dimension", "Spline", "Text", "Container" - }; - // Sanity check if (obj == NULL) return; - QString s = QString("%1

").arg(QString(objName[obj->type])); + QString s = QString("%1

").arg(QString(objName[obj->type])); switch (obj->type) { @@ -89,29 +69,44 @@ void ObjectWidget::ShowInfo(Object * obj) s += QString("<%1, %2> to <%3, %4>
Length: %5
Angle: %6°
").arg(obj->p[0].x).arg(obj->p[0].y).arg(obj->p[1].x).arg(obj->p[1].y).arg(line.Magnitude()).arg(line.Angle() * RADIANS_TO_DEGREES); break; } + case OTCircle: s += QString("Center: <%1, %2>
Radius: %3
").arg(obj->p[0].x).arg(obj->p[0].y).arg(obj->radius[0]); break; + case OTEllipse: break; + case OTArc: - s += QString("Center: <%1, %2>
Radius: %3
Start: %4°
End: %5°
").arg(obj->p[0].x).arg(obj->p[0].y).arg(obj->radius[0]).arg(obj->angle[0] * RADIANS_TO_DEGREES).arg(obj->angle[1] * RADIANS_TO_DEGREES); - break; - break; - case OTPolygon: + s += QString("Center: <%1, %2>
Radius: %3
Start: %4°
Span: %5°
").arg(obj->p[0].x).arg(obj->p[0].y).arg(obj->radius[0]).arg(obj->angle[0] * RADIANS_TO_DEGREES).arg(obj->angle[1] * RADIANS_TO_DEGREES); break; + case OTDimension: + { + Dimension * d = (Dimension *)obj; + s += QString("Type: %1
").arg(dimName[d->subtype]); + break; + } + + case OTPolyline: break; + case OTSpline: break; + case OTText: + { + Text * t = (Text *)obj; + s += QString("<%1, %2>
Width/Height: %3/%4
Angle: %5°
").arg(t->p[0].x).arg(t->p[0].y).arg(t->extents.Width()).arg(t->extents.Height()).arg(obj->angle[0] * RADIANS_TO_DEGREES); break; + } + case OTContainer: break; + default: break; } label->setText(s); } -