]> Shamusworld >> Repos - architektonas/blobdiff - src/forms/cadtoolbarmodify.cpp
Refactored CAD tool bars to use predefined actions.
[architektonas] / src / forms / cadtoolbarmodify.cpp
index faf53ae882753d0bb4e0602fe03a67fe231fc010..35edbce46be0601306ed5822d058069ee5a4c81a 100644 (file)
 #include "cadtoolbarmodify.h"
 
 #include "cadtoolbar.h"
-#include "qg_actionhandler.h"
-#include "rs_debug.h"
+#include "createqtactions.h"
 
-CadToolBarModify::CadToolBarModify(QWidget * parent /*= 0*/, Qt::WindowFlags flags /*= 0*/):
-       QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL)
+CadToolBarModify::CadToolBarModify(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/):
+       QWidget((QWidget *)parent, flags), cadToolBar(parent)
 {
-       ui.setupUi(this);
-}
-
-CadToolBarModify::~CadToolBarModify()
-{
-}
-
-void CadToolBarModify::mousePressEvent(QMouseEvent * e)
-{
-       if (e->button() == Qt::RightButton && cadToolBar != NULL)
-       {
-               cadToolBar->back();
-               e->accept();
-       }
-}
-
-void CadToolBarModify::contextMenuEvent(QContextMenuEvent *e)
-{
-       e->accept();
-}
-
-void CadToolBarModify::setCadToolBar(CadToolBar * tb)
-{
-       cadToolBar = tb;
-
-       if (tb != NULL)
-               actionHandler = tb->getActionHandler();
-       else
-               RS_DEBUG->print(RS_Debug::D_ERROR,
-                       "CadToolBarModify::setCadToolBar(): No valid toolbar set.");
-}
-
-void CadToolBarModify::modifyMove()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyMove();
-}
-
-void CadToolBarModify::modifyRotate()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyRotate();
-}
-
-void CadToolBarModify::modifyScale()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyScale();
-}
-
-void CadToolBarModify::modifyMirror()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyMirror();
-}
-
-void CadToolBarModify::modifyMoveRotate()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyMoveRotate();
-}
+       QGridLayout * gridLayout = new QGridLayout(this);
+       gridLayout->setSpacing(0);
+       gridLayout->setContentsMargins(0, 0, 0, 0);
 
-void CadToolBarModify::modifyRotate2()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyRotate2();
-}
+       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 CadToolBarModify::modifyTrim()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyTrim();
-}
+       gridLayout->addWidget(CreateToolButton(actionModifyMove), 1, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyRotate), 1, 1, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyScale), 2, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyMirror), 2, 1, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyMoveRotate), 3, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyRotate2), 3, 1, 1, 1);
 
-void CadToolBarModify::modifyTrim2()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyTrim2();
-}
+       gridLayout->addWidget(CreateToolButton(actionModifyTrim), 5, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyTrim2), 5, 1, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyTrimAmount), 6, 0, 1, 1);
 
-void CadToolBarModify::modifyTrimAmount()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyTrimAmount();
-}
+       gridLayout->addWidget(CreateToolButton(actionModifyBevel), 8, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyRound), 8, 1, 1, 1);
 
-void CadToolBarModify::modifyCut()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyCut();
-}
+       gridLayout->addWidget(CreateToolButton(actionModifyCut), 10, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyStretch), 10, 1, 1, 1);
 
-void CadToolBarModify::modifyBevel()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyBevel();
-}
+       gridLayout->addWidget(CreateToolButton(actionModifyEntity), 12, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyAttributes), 12, 1, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyDelete), 13, 0, 1, 1);
+       gridLayout->addWidget(CreateToolButton(actionModifyExplode), 13, 1, 1, 1);
 
-void CadToolBarModify::modifyRound()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyRound();
+       gridLayout->addWidget(CreateToolButton(actionModifyExplodeText), 15, 0, 1, 1);
+#warning "!!! actionModifyEntityText is missing !!!"
+//EntityText
+//     gridLayout->addWidget(CreateToolButton(actionModifyEntityText), 15, 1, 1, 1);
 }
 
-void CadToolBarModify::modifyEntity()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyEntity();
-}
-
-void CadToolBarModify::modifyDelete()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyDelete();
-}
-
-void CadToolBarModify::modifyAttributes()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyAttributes();
-}
-
-void CadToolBarModify::modifyStretch()
+CadToolBarModify::~CadToolBarModify()
 {
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyStretch();
 }
 
-void CadToolBarModify::modifyExplode()
+void CadToolBarModify::back()
 {
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotBlocksExplode();
+       cadToolBar->back();
 }
 
-void CadToolBarModify::modifyExplodeText()
+QToolButton * CadToolBarModify::CreateToolButton(QAction * action)
 {
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotModifyExplodeText();
-}
+       QToolButton * button = new QToolButton(this);
+       button->setDefaultAction(action);
+       button->setIconSize(QSize(18, 18));
 
-void CadToolBarModify::back()
-{
-       if (cadToolBar != NULL)
-               cadToolBar->back();
+       return button;
 }
-