]> Shamusworld >> Repos - architektonas/blob - src/forms/cadtoolbarinfo.cpp
Refactored CAD tool bars to use predefined actions.
[architektonas] / src / forms / cadtoolbarinfo.cpp
1 // cadtoolbarinfo.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 "cadtoolbarinfo.h"
16
17 #include "cadtoolbar.h"
18 #include "createqtactions.h"
19
20 CadToolBarInfo::CadToolBarInfo(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(actionInfoDist), 1, 0, 1, 1);
36         gridLayout->addWidget(CreateToolButton(actionInfoDist2), 1, 1, 1, 1);
37         gridLayout->addWidget(CreateToolButton(actionInfoAngle), 2, 0, 1, 1);
38         gridLayout->addWidget(CreateToolButton(actionInfoTotalLength), 2, 1, 1, 1);
39         gridLayout->addWidget(CreateToolButton(actionInfoArea), 3, 0, 1, 1);
40 }
41
42 CadToolBarInfo::~CadToolBarInfo()
43 {
44 }
45
46 void CadToolBarInfo::back()
47 {
48         cadToolBar->back();
49 }
50
51 QToolButton * CadToolBarInfo::CreateToolButton(QAction * action)
52 {
53         QToolButton * button = new QToolButton(this);
54         button->setDefaultAction(action);
55         button->setIconSize(QSize(18, 18));
56
57         return button;
58 }