X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fforms%2Fcadtoolbardim.cpp;h=8d7caf1ce2ced45245e32994176fec79bcd461dd;hb=f7188d32d0beaef31fc3475be05daea2f018ebec;hp=f7dd4c8700624f5d5d7ee7e3301f5f39c302c7a5;hpb=27d4a138d23453e93a833e9347444b828a971cb4;p=architektonas diff --git a/src/forms/cadtoolbardim.cpp b/src/forms/cadtoolbardim.cpp index f7dd4c8..8d7caf1 100644 --- a/src/forms/cadtoolbardim.cpp +++ b/src/forms/cadtoolbardim.cpp @@ -1,5 +1,6 @@ // cadtoolbardim.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,93 +15,47 @@ #include "cadtoolbardim.h" #include "cadtoolbar.h" -#include "qg_actionhandler.h" -#include "rs_debug.h" +#include "createqtactions.h" -CadToolBarDim::CadToolBarDim(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/): - QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL) +CadToolBarDim::CadToolBarDim(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): + QWidget((QWidget *)parent, flags), cadToolBar(parent) { - ui.setupUi(this); -} - -CadToolBarDim::~CadToolBarDim() -{ -} - -void CadToolBarDim::mousePressEvent(QMouseEvent * e) -{ - if (e->button() == Qt::RightButton && cadToolBar != NULL) - { - cadToolBar->back(); - e->accept(); - } -} - -void CadToolBarDim::contextMenuEvent(QContextMenuEvent * e) -{ - e->accept(); -} - -void CadToolBarDim::setCadToolBar(CadToolBar * tb) -{ - cadToolBar = tb; - - if (tb != NULL) - actionHandler = tb->getActionHandler(); - else - RS_DEBUG->print(RS_Debug::D_ERROR, "CadToolBarDim::setCadToolBar(): No valid toolbar set."); -} - -void CadToolBarDim::drawDimAligned() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimAligned(); -} - -void CadToolBarDim::drawDimLinear() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimLinear(); -} - -void CadToolBarDim::drawDimLinearHor() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimLinearHor(); -} + QGridLayout * gridLayout = new QGridLayout(this); + gridLayout->setSpacing(0); + gridLayout->setContentsMargins(0, 0, 0, 0); -void CadToolBarDim::drawDimLinearVer() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimLinearVer(); -} + 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 CadToolBarDim::drawDimRadial() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimRadial(); + gridLayout->addWidget(CreateToolButton(actionDimAligned), 1, 0, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimLinear), 1, 1, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimLinearHor), 2, 0, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimLinearVer), 2, 1, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimRadial), 3, 0, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimDiametric), 3, 1, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimAngular), 4, 0, 1, 1); + gridLayout->addWidget(CreateToolButton(actionDimLeader), 4, 1, 1, 1); } -void CadToolBarDim::drawDimDiametric() +CadToolBarDim::~CadToolBarDim() { - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimDiametric(); } -void CadToolBarDim::drawDimAngular() +void CadToolBarDim::back() { - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimAngular(); + cadToolBar->back(); } -void CadToolBarDim::drawDimLeader() +QToolButton * CadToolBarDim::CreateToolButton(QAction * action) { - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDimLeader(); -} + QToolButton * button = new QToolButton(this); + button->setDefaultAction(action); + button->setIconSize(QSize(18, 18)); -void CadToolBarDim::back() -{ - if (cadToolBar != NULL) - cadToolBar->back(); + return button; }