X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fforms%2Fcadtoolbarinfo.cpp;h=383e9e6fadd2d138e1af9b0a661684e793fae119;hb=f7188d32d0beaef31fc3475be05daea2f018ebec;hp=e0f4143984e12929f4585863496b0a81943f13e0;hpb=27d4a138d23453e93a833e9347444b828a971cb4;p=architektonas diff --git a/src/forms/cadtoolbarinfo.cpp b/src/forms/cadtoolbarinfo.cpp index e0f4143..383e9e6 100644 --- a/src/forms/cadtoolbarinfo.cpp +++ b/src/forms/cadtoolbarinfo.cpp @@ -1,5 +1,6 @@ // cadtoolbarinfo.cpp // +// Part of the Architektonas Project // Originally part of QCad Community Edition by Andrew Mustun // Extensively rewritten and refactored by James L. Hammons // (C) 2010 Underground Software @@ -14,75 +15,44 @@ #include "cadtoolbarinfo.h" #include "cadtoolbar.h" -#include "qg_actionhandler.h" -#include "rs_debug.h" +#include "createqtactions.h" -CadToolBarInfo::CadToolBarInfo(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/): - QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL) +CadToolBarInfo::CadToolBarInfo(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): + QWidget((QWidget *)parent, flags), cadToolBar(parent) { - ui.setupUi(this); -} - -CadToolBarInfo::~CadToolBarInfo() -{ -} - -void CadToolBarInfo::mousePressEvent(QMouseEvent * e) -{ - if (e->button() == Qt::RightButton && cadToolBar != NULL) - { - cadToolBar->back(); - e->accept(); - } -} - -void CadToolBarInfo::contextMenuEvent(QContextMenuEvent *e) { - e->accept(); -} - -void CadToolBarInfo::setCadToolBar(CadToolBar * tb) -{ - cadToolBar = tb; - - if (tb != NULL) - actionHandler = tb->getActionHandler(); - else - RS_DEBUG->print(RS_Debug::D_ERROR, - "CadToolBarInfo::setCadToolBar(): No valid toolbar set."); -} + QGridLayout * gridLayout = new QGridLayout(this); + gridLayout->setSpacing(0); + gridLayout->setContentsMargins(0, 0, 0, 0); -void CadToolBarInfo::infoDist() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotInfoDist(); -} + QAction * actionBack = new QAction(QIcon(":/res/qg_back"), tr("Back"), this); + QToolButton * button = new QToolButton(this); + button->setDefaultAction(actionBack); + QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); + button->setSizePolicy(policy); + gridLayout->addWidget(button, 0, 0, 1, 2); + connect(button, SIGNAL(triggered(QAction *)), this, SLOT(back())); -void CadToolBarInfo::infoDist2() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotInfoDist2(); + gridLayout->addWidget(CreateToolButton(actionInfoDist), 1, 0, 1, 1); + gridLayout->addWidget(CreateToolButton(actionInfoDist2), 1, 1, 1, 1); + gridLayout->addWidget(CreateToolButton(actionInfoAngle), 2, 0, 1, 1); + gridLayout->addWidget(CreateToolButton(actionInfoTotalLength), 2, 1, 1, 1); + gridLayout->addWidget(CreateToolButton(actionInfoArea), 3, 0, 1, 1); } -void CadToolBarInfo::infoAngle() +CadToolBarInfo::~CadToolBarInfo() { - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotInfoAngle(); } -void CadToolBarInfo::infoTotalLength() +void CadToolBarInfo::back() { - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotInfoTotalLength(); + cadToolBar->back(); } -void CadToolBarInfo::infoArea() +QToolButton * CadToolBarInfo::CreateToolButton(QAction * action) { - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotInfoArea(); -} + QToolButton * button = new QToolButton(this); + button->setDefaultAction(action); + button->setIconSize(QSize(18, 18)); -void CadToolBarInfo::back() -{ - if (cadToolBar != NULL) - cadToolBar->back(); + return button; }