]> Shamusworld >> Repos - architektonas/blob - src/forms/cadtoolbardim.cpp
Refactored CAD tool bars to use predefined actions.
[architektonas] / src / forms / cadtoolbardim.cpp
1 // cadtoolbardim.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 // (C) 2010 Underground Software
7 //
8 // JLH = James L. Hammons <jlhamm@acm.org>
9 //
10 // Who  When        What
11 // ---  ----------  -----------------------------------------------------------
12 // JLH  05/10/2010  Created this file. :-)
13 //
14
15 #include "cadtoolbardim.h"
16
17 #include "cadtoolbar.h"
18 #include "createqtactions.h"
19
20 CadToolBarDim::CadToolBarDim(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/):
21         QWidget((QWidget *)parent, flags), cadToolBar(parent)
22 {
23         QGridLayout * gridLayout = new QGridLayout(this);
24         gridLayout->setSpacing(0);
25         gridLayout->setContentsMargins(0, 0, 0, 0);
26
27         QAction * actionBack = new QAction(QIcon(":/res/qg_back"), tr("Back"), this);
28         QToolButton * button = new QToolButton(this);
29         button->setDefaultAction(actionBack);
30         QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
31         button->setSizePolicy(policy);
32         gridLayout->addWidget(button, 0, 0, 1, 2);
33         connect(button, SIGNAL(triggered(QAction *)), this, SLOT(back()));
34
35         gridLayout->addWidget(CreateToolButton(actionDimAligned), 1, 0, 1, 1);
36         gridLayout->addWidget(CreateToolButton(actionDimLinear), 1, 1, 1, 1);
37         gridLayout->addWidget(CreateToolButton(actionDimLinearHor), 2, 0, 1, 1);
38         gridLayout->addWidget(CreateToolButton(actionDimLinearVer), 2, 1, 1, 1);
39         gridLayout->addWidget(CreateToolButton(actionDimRadial), 3, 0, 1, 1);
40         gridLayout->addWidget(CreateToolButton(actionDimDiametric), 3, 1, 1, 1);
41         gridLayout->addWidget(CreateToolButton(actionDimAngular), 4, 0, 1, 1);
42         gridLayout->addWidget(CreateToolButton(actionDimLeader), 4, 1, 1, 1);
43 }
44
45 CadToolBarDim::~CadToolBarDim()
46 {
47 }
48
49 void CadToolBarDim::back()
50 {
51         cadToolBar->back();
52 }
53
54 QToolButton * CadToolBarDim::CreateToolButton(QAction * action)
55 {
56         QToolButton * button = new QToolButton(this);
57         button->setDefaultAction(action);
58         button->setIconSize(QSize(18, 18));
59
60         return button;
61 }