1 // objectwidget.cpp: Object tweaking widget
3 // Part of the Architektonas Project
4 // (C) 2016 Underground Software
5 // See the README and GPLv3 files for licensing and warranty information
7 // JLH = James Hammons <jlhamm@acm.org>
10 // --- ---------- ------------------------------------------------------------
11 // JLH 11/07/2016 Created this file
14 #include "objectwidget.h"
15 #include "mathconstants.h"
18 ObjectWidget::ObjectWidget(void): QWidget()
21 QListWidget * qlw = new QListWidget;
22 QListWidgetItem * qli1 = new QListWidgetItem(qlw);
23 QListWidgetItem * qli2 = new QListWidgetItem(qlw);
24 QListWidgetItem * qli3 = new QListWidgetItem(qlw);
25 QListWidgetItem * qli4 = new QListWidgetItem(qlw);
26 QListWidgetItem * qli5 = new QListWidgetItem(qlw);
31 QPushButton * pb1 = new QPushButton("+");
32 QPushButton * pb2 = new QPushButton("-");
33 QPushButton * pb3 = new QPushButton("Edit");
34 QPushButton * pb4 = new QPushButton("Import");
36 QToolButton * pb1 = new QToolButton;
37 QToolButton * pb2 = new QToolButton;
38 QToolButton * pb3 = new QToolButton;
39 QToolButton * pb4 = new QToolButton;
41 pb1->setIcon(QIcon(":/res/layer-add.png"));
42 pb2->setIcon(QIcon(":/res/layer-delete.png"));
43 pb3->setIcon(QIcon(":/res/layer-edit.png"));
44 pb4->setIcon(QIcon(":/res/block-import.png"));
46 pb1->setToolTip(tr("Add block"));
47 pb2->setToolTip(tr("Remove block"));
48 pb3->setToolTip(tr("Edit block"));
49 pb4->setToolTip(tr("Import block"));
52 QHBoxLayout * hbox1 = new QHBoxLayout;
53 hbox1->addWidget(pb1);
54 hbox1->addWidget(pb2);
55 hbox1->addWidget(pb3);
56 hbox1->addWidget(pb4);
59 QVBoxLayout * mainLayout = new QVBoxLayout;
60 mainLayout->addWidget(label);
61 mainLayout->addLayout(hbox1);
63 setLayout(mainLayout);
67 ObjectWidget::~ObjectWidget()
72 void ObjectWidget::ShowInfo(Object * obj)
74 const char objName[OTCount][16] = {
75 "None", "Line", "Circle", "Ellipse", "Arc", "Polygon", "Dimension", "Spline", "Text", "Container"
82 QString s = QString("%1<br><br>").arg(QString(objName[obj->type]));
88 Vector line(obj->p[0], obj->p[1]);
89 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);
93 s += QString("Center: <%1, %2><br>Radius: %3<br>").arg(obj->p[0].x).arg(obj->p[0].y).arg(obj->radius[0]);
98 s += QString("Center: <%1, %2><br>Radius: %3<br>Start: %4°<br>End: %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);