]> Shamusworld >> Repos - architektonas/blob - src/forms/dlgline.cpp
0374cb3e18d4eff1b0eb87d0e6afa9ba7ef7106f
[architektonas] / src / forms / dlgline.cpp
1 // dlgline.cpp
2 //
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 // Portions copyright (C) 2001-2003 RibbonSoft
7 // Copyright (C) 2010 Underground Software
8 // See the README and GPLv2 files for licensing and warranty information
9 //
10 // JLH = James L. Hammons <jlhamm@acm.org>
11 //
12 // Who  When        What
13 // ---  ----------  -----------------------------------------------------------
14 // JLH  06/11/2010  Created this file. :-)
15 //
16
17 #include "dlgline.h"
18
19 #include "insert.h"
20 #include "drawing.h"
21 #include "math.h"
22
23 DlgLine::DlgLine(QWidget * parent/*= NULL*/, Qt::WindowFlags flags/*= 0*/):
24         QDialog(parent, flags)
25 {
26         ui.setupUi(this);
27 }
28
29 DlgLine::~DlgLine()
30 {
31 }
32
33 void DlgLine::setLine(Line & l)
34 {
35         line = &l;
36         //pen = line->getPen();
37         ui.wPen->setPen(line->getPen(false), true, false, "Pen");
38         Drawing * graphic = line->getGraphic();
39
40         if (graphic)
41                 ui.cbLayer->init(*(graphic->getLayerList()), false, false);
42
43         Layer * lay = line->getLayer(false);
44
45         if (lay)
46                 ui.cbLayer->setLayer(*lay);
47
48         QString s;
49         s.setNum(line->getStartpoint().x);
50         ui.leStartX->setText(s);
51         s.setNum(line->getStartpoint().y);
52         ui.leStartY->setText(s);
53         s.setNum(line->getEndpoint().x);
54         ui.leEndX->setText(s);
55         s.setNum(line->getEndpoint().y);
56         ui.leEndY->setText(s);
57 }
58
59 void DlgLine::updateLine()
60 {
61         line->setStartpoint(Vector(Math::eval(ui.leStartX->text()),
62                 Math::eval(ui.leStartY->text())));
63         line->setEndpoint(Vector(Math::eval(ui.leEndX->text()),
64                 Math::eval(ui.leEndY->text())));
65         line->setPen(ui.wPen->getPen());
66         line->setLayer(ui.cbLayer->currentText());
67 }