3 // Part of the Architektonas Project
4 // Originally part of QCad Community Edition by Andrew Mustun
5 // Extensively rewritten and refactored by James L. Hammons
6 // (C) 2010 Underground Software
8 // JLH = James L. Hammons <jlhamm@acm.org>
11 // --- ---------- -----------------------------------------------------------
12 // JLH 06/11/2010 Created this file. :-)
21 DlgArc::DlgArc(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
22 QDialog(parent, flags)
31 void DlgArc::setArc(RS_Arc & a)
34 //pen = arc->getPen();
35 ui.wPen->setPen(arc->getPen(false), true, false, "Pen");
36 Drawing * graphic = arc->getGraphic();
39 ui.cbLayer->init(*(graphic->getLayerList()), false, false);
41 RS_Layer * lay = arc->getLayer(false);
44 ui.cbLayer->setLayer(*lay);
47 s.setNum(arc->getCenter().x);
48 ui.leCenterX->setText(s);
49 s.setNum(arc->getCenter().y);
50 ui.leCenterY->setText(s);
51 s.setNum(arc->getRadius());
52 ui.leRadius->setText(s);
53 s.setNum(RS_Math::rad2deg(arc->getAngle1()));
54 ui.leAngle1->setText(s);
55 s.setNum(RS_Math::rad2deg(arc->getAngle2()));
56 ui.leAngle2->setText(s);
57 ui.cbReversed->setChecked(arc->isReversed());
60 void DlgArc::updateArc()
62 arc->setCenter(Vector(RS_Math::eval(ui.leCenterX->text()),
63 RS_Math::eval(ui.leCenterY->text())));
64 arc->setRadius(RS_Math::eval(ui.leRadius->text()));
65 arc->setAngle1(RS_Math::deg2rad(RS_Math::eval(ui.leAngle1->text())));
66 arc->setAngle2(RS_Math::deg2rad(RS_Math::eval(ui.leAngle2->text())));
67 arc->setReversed(ui.cbReversed->isChecked());
68 arc->setPen(ui.wPen->getPen());
69 arc->setLayer(ui.cbLayer->currentText());
70 arc->calculateEndpoints();
71 arc->calculateBorders();