]> Shamusworld >> Repos - architektonas/blob - src/forms/widgetpen.cpp
37e8a4dab62eae2129c0a15d6d44df0181d80584
[architektonas] / src / forms / widgetpen.cpp
1 // widgetpen.cpp
2 //
3 // Originally part of QCad Community Edition by Andrew Mustun
4 // Extensively rewritten and refactored by James L. Hammons
5 // (C) 2010 Underground Software
6 //
7 // JLH = James L. Hammons <jlhamm@acm.org>
8 //
9 // Who  When        What
10 // ---  ----------  -----------------------------------------------------------
11 // JLH  05/10/2010  Created this file. :-)
12 //
13
14 #include "widgetpen.h"
15
16 WidgetPen::WidgetPen(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
17         QWidget(parent, flags)
18 {
19         ui.setupUi(this);
20 }
21
22 WidgetPen::~WidgetPen()
23 {
24 }
25
26 void WidgetPen::setPen(RS_Pen pen, bool showByLayer, bool showUnchanged, const QString & title)
27 {
28         ui.cbColor->init(showByLayer, showUnchanged);
29         ui.cbWidth->init(showByLayer, showUnchanged);
30         ui.cbLineType->init(showByLayer, showUnchanged);
31
32         if (!showUnchanged)
33         {
34                 ui.cbColor->setColor(pen.getColor());
35                 ui.cbWidth->setWidth(pen.getWidth());
36                 ui.cbLineType->setLineType(pen.getLineType());
37         }
38
39         if (!title.isEmpty())
40                 ui.bgPen->setTitle(title);
41 }
42
43 RS_Pen WidgetPen::getPen()
44 {
45         RS_Pen pen;
46
47         pen.setColor(ui.cbColor->getColor());
48         pen.setWidth(ui.cbWidth->getWidth());
49         pen.setLineType(ui.cbLineType->getLineType());
50
51         return pen;
52 }
53
54 bool WidgetPen::isColorUnchanged()
55 {
56         return ui.cbColor->isUnchanged();
57 }
58
59 bool WidgetPen::isLineTypeUnchanged()
60 {
61         return ui.cbLineType->isUnchanged();
62 }
63
64 bool WidgetPen::isWidthUnchanged()
65 {
66         return ui.cbWidth->isUnchanged();
67 }