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 05/10/2010 Created this file. :-)
13 // JLH 06/18/2010 Changed this class to use predefined actions instead of
14 // reinventing the wheel. Also changed construction to use
15 // type CadToolBar instead of QWidget.
18 #include "cadtoolbarlines.h"
20 #include "cadtoolbar.h"
21 #include "createqtactions.h"
23 CadToolBarLines::CadToolBarLines(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/):
24 QWidget((QWidget *)parent, flags), cadToolBar(parent)
26 QGridLayout * gridLayout = new QGridLayout(this);
27 gridLayout->setSpacing(0);
28 gridLayout->setContentsMargins(0, 0, 0, 0);
30 QAction * actionBack = new QAction(QIcon(":/res/qg_back"), tr("Back"), this);
31 QToolButton * button = new QToolButton(this);
32 button->setDefaultAction(actionBack);
33 QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
34 button->setSizePolicy(policy);
35 gridLayout->addWidget(button, 0, 0, 1, 2);
36 connect(button, SIGNAL(triggered(QAction *)), this, SLOT(back()));
38 gridLayout->addWidget(CreateToolButton(actionDrawLine), 1, 0, 1, 1);
39 gridLayout->addWidget(CreateToolButton(actionDrawLineAngle), 1, 1, 1, 1);
40 gridLayout->addWidget(CreateToolButton(actionDrawLineHorizontal), 2, 0, 1, 1);
41 gridLayout->addWidget(CreateToolButton(actionDrawLineVertical), 2, 1, 1, 1);
42 gridLayout->addWidget(CreateToolButton(actionDrawLineRectangle), 3, 0, 1, 1);
43 gridLayout->addWidget(CreateToolButton(actionDrawLineBisector), 3, 1, 1, 1);
44 gridLayout->addWidget(CreateToolButton(actionDrawLineParallel), 4, 0, 1, 1);
45 gridLayout->addWidget(CreateToolButton(actionDrawLineParallelThrough), 4, 1, 1, 1);
46 gridLayout->addWidget(CreateToolButton(actionDrawLineTangent1), 5, 0, 1, 1);
47 gridLayout->addWidget(CreateToolButton(actionDrawLineTangent2), 5, 1, 1, 1);
48 gridLayout->addWidget(CreateToolButton(actionDrawLineOrthogonal), 6, 0, 1, 1);
49 gridLayout->addWidget(CreateToolButton(actionDrawLineRelAngle), 6, 1, 1, 1);
50 gridLayout->addWidget(CreateToolButton(actionDrawLinePolygon), 7, 0, 1, 1);
51 gridLayout->addWidget(CreateToolButton(actionDrawLinePolygon2), 7, 1, 1, 1);
52 gridLayout->addWidget(CreateToolButton(actionDrawLineFree), 8, 0, 1, 1);
55 CadToolBarLines::~CadToolBarLines()
59 void CadToolBarLines::back()
64 QToolButton * CadToolBarLines::CreateToolButton(QAction * action)
66 QToolButton * button = new QToolButton(this);
67 button->setDefaultAction(action);
68 button->setIconSize(QSize(18, 18));