2 // objectwidget.cpp: Object tweaking widget
4 // Part of the Architektonas Project
5 // (C) 2020 Underground Software
6 // See the README and GPLv3 files for licensing and warranty information
8 // JLH = James Hammons <jlhamm@acm.org>
11 // --- ---------- ------------------------------------------------------------
12 // JLH 11/07/2016 Created this file
15 #include "objectwidget.h"
16 #include "mathconstants.h"
18 ObjectWidget::ObjectWidget(void): QWidget()
22 QToolButton * pb1 = new QToolButton;
23 QToolButton * pb2 = new QToolButton;
24 QToolButton * pb3 = new QToolButton;
25 QToolButton * pb4 = new QToolButton;
27 pb1->setIcon(QIcon(":/res/layer-add.png"));
28 pb2->setIcon(QIcon(":/res/layer-delete.png"));
29 pb3->setIcon(QIcon(":/res/layer-edit.png"));
30 pb4->setIcon(QIcon(":/res/block-import.png"));
32 pb1->setToolTip(tr("Add block"));
33 pb2->setToolTip(tr("Remove block"));
34 pb3->setToolTip(tr("Edit block"));
35 pb4->setToolTip(tr("Import block"));
37 QHBoxLayout * hbox1 = new QHBoxLayout;
38 hbox1->addWidget(pb1);
39 hbox1->addWidget(pb2);
40 hbox1->addWidget(pb3);
41 hbox1->addWidget(pb4);
44 QVBoxLayout * mainLayout = new QVBoxLayout;
45 mainLayout->addWidget(label);
46 mainLayout->addStretch();
47 mainLayout->addLayout(hbox1);
49 setLayout(mainLayout);
52 ObjectWidget::~ObjectWidget()
56 void ObjectWidget::ShowInfo(Object * obj)
62 QString s = QString("<b>%1</b><br><br>").arg(QString(objName[obj->type]));
68 Vector line(obj->p[0], obj->p[1]);
69 s += QString("<%1, %2> to <%3, %4><br>Length: %5<br>Angle: %6°<br>").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);
74 s += QString("Center: <%1, %2><br>Radius: %3<br>").arg(obj->p[0].x).arg(obj->p[0].y).arg(obj->radius[0]);
81 s += QString("Center: <%1, %2><br>Radius: %3<br>Start: %4°<br>Span: %5°<br>").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);
89 Dimension * d = (Dimension *)obj;
90 s += QString("Type: %1<br>").arg(dimName[d->subtype]);
99 Text * t = (Text *)obj;
100 s += QString("<%1, %2><br>Width/Height: %3/%4<br>Angle: %5°<br>").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);