From c5e595b3156fdf5f93ab6a1032dcc77e859ac6fa Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Wed, 23 Jun 2010 04:27:33 +0000 Subject: [PATCH] Refactored CAD tool bars once more... --- architektonas.pro | 1 - src/base/rs_blocklistlistener.h | 62 ++--- src/base/rs_preview.cpp | 2 +- src/forms/cadtoolbar.cpp | 58 ++-- src/forms/cadtoolbar.h | 6 +- src/forms/cadtoolbararcs.cpp | 100 +------ src/forms/cadtoolbararcs.h | 11 - src/forms/cadtoolbarcircles.cpp | 34 +-- src/forms/cadtoolbarcircles.h | 11 - src/forms/cadtoolbardim.cpp | 40 +-- src/forms/cadtoolbardim.h | 11 - src/forms/cadtoolbarellipses.cpp | 28 +- src/forms/cadtoolbarellipses.h | 11 - src/forms/cadtoolbarinfo.cpp | 34 +-- src/forms/cadtoolbarinfo.h | 11 - src/forms/cadtoolbarlines.cpp | 56 ++-- src/forms/cadtoolbarlines.h | 11 - src/forms/cadtoolbarmain.cpp | 93 ++++--- src/forms/cadtoolbarmain.h | 12 +- src/forms/cadtoolbarmain.ui | 445 ------------------------------ src/forms/cadtoolbarmodify.cpp | 62 ++--- src/forms/cadtoolbarmodify.h | 11 - src/forms/cadtoolbarpoints.cpp | 26 +- src/forms/cadtoolbarpoints.h | 11 - src/forms/cadtoolbarpolylines.cpp | 36 +-- src/forms/cadtoolbarpolylines.h | 11 - src/forms/cadtoolbarselect.cpp | 52 +--- src/forms/cadtoolbarselect.h | 9 - src/forms/cadtoolbarsnap.cpp | 334 ++-------------------- src/forms/cadtoolbarsnap.h | 59 ---- src/forms/cadtoolbarsplines.cpp | 26 +- src/forms/cadtoolbarsplines.h | 11 - src/mainapp/mdiwindow.h | 6 - src/widgets/qg_graphicview.cpp | 5 + src/widgets/qg_graphicview.h | 1 - 35 files changed, 245 insertions(+), 1452 deletions(-) delete mode 100644 src/forms/cadtoolbarmain.ui diff --git a/architektonas.pro b/architektonas.pro index 9cb30c5..b7636d3 100644 --- a/architektonas.pro +++ b/architektonas.pro @@ -582,7 +582,6 @@ SOURCES += \ FORMS = \ src/forms/blockdialog.ui \ - src/forms/cadtoolbarmain.ui \ src/forms/commandwidget.ui \ src/forms/coordinatewidget.ui \ src/forms/dimensionlabeleditor.ui \ diff --git a/src/base/rs_blocklistlistener.h b/src/base/rs_blocklistlistener.h index e25d88a..2581f92 100644 --- a/src/base/rs_blocklistlistener.h +++ b/src/base/rs_blocklistlistener.h @@ -7,36 +7,36 @@ * This class is an interface for classes that are interested in * knowing about changes in the block list. */ -class RS_BlockListListener { -public: - RS_BlockListListener() {} - virtual ~RS_BlockListListener() {} - - /** - * Called when the active block changes. - */ - virtual void blockActivated(RS_Block*) {} - - /** - * Called when a new block is added to the list. - */ - virtual void blockAdded(RS_Block*) {} - - /** - * Called when a block is removed from the list. - */ - virtual void blockRemoved(RS_Block*) {} - - /** - * Called when a block's attributes are modified. - */ - virtual void blockEdited(RS_Block*) {} - - /** - * Called when a block's visibility is toggled. - */ - virtual void blockToggled(RS_Block*) {} -} -; +class RS_BlockListListener +{ + public: + RS_BlockListListener() {} + virtual ~RS_BlockListListener() {} + + /** + * Called when the active block changes. + */ + virtual void blockActivated(RS_Block*) {} + + /** + * Called when a new block is added to the list. + */ + virtual void blockAdded(RS_Block*) {} + + /** + * Called when a block is removed from the list. + */ + virtual void blockRemoved(RS_Block*) {} + + /** + * Called when a block's attributes are modified. + */ + virtual void blockEdited(RS_Block*) {} + + /** + * Called when a block's visibility is toggled. + */ + virtual void blockToggled(RS_Block*) {} +}; #endif diff --git a/src/base/rs_preview.cpp b/src/base/rs_preview.cpp index f2d9bc0..6bbbb66 100644 --- a/src/base/rs_preview.cpp +++ b/src/base/rs_preview.cpp @@ -15,7 +15,7 @@ #include "rs_preview.h" #include "rs_entitycontainer.h" -#include "rs_graphicview.h" +#include "graphicview.h" #include "rs_information.h" #include "settings.h" diff --git a/src/forms/cadtoolbar.cpp b/src/forms/cadtoolbar.cpp index fd44fc7..8a09e77 100644 --- a/src/forms/cadtoolbar.cpp +++ b/src/forms/cadtoolbar.cpp @@ -102,43 +102,32 @@ void CadToolBar::createSubToolBars(QG_ActionHandler * ah) { actionHandler = ah; tbMain = new CadToolBarMain(this); - tbMain->setCadToolBar(this); currentTb = tbMain; tbPoints = new CadToolBarPoints(this); - tbPoints->hide(); - tbLines = new CadToolBarLines(this); - tbLines->hide(); - tbArcs = new CadToolBarArcs(this); - tbArcs->hide(); - tbCircles = new CadToolBarCircles(this); - tbCircles->hide(); - tbEllipses = new CadToolBarEllipses(this); - tbEllipses->hide(); - tbSplines = new CadToolBarSplines(this); - tbSplines->hide(); - tbPolylines = new CadToolBarPolylines(this); - tbPolylines->hide(); - tbDim = new CadToolBarDim(this); - tbDim->hide(); - tbInfo = new CadToolBarInfo(this); - tbInfo->hide(); - tbModify = new CadToolBarModify(this); - tbModify->hide(); - tbSnap = new CadToolBarSnap(this); - tbSnap->hide(); - tbSelect = new CadToolBarSelect(this); + + tbPoints->hide(); + tbLines->hide(); + tbArcs->hide(); + tbCircles->hide(); + tbEllipses->hide(); + tbSplines->hide(); + tbPolylines->hide(); + tbDim->hide(); + tbInfo->hide(); + tbModify->hide(); + tbSnap->hide(); tbSelect->hide(); } @@ -234,9 +223,7 @@ void CadToolBar::showToolBarSplines() void CadToolBar::showToolBarPolylines() { -//#ifdef RS_PROF showToolBar(RS2::ToolBarPolylines); -//#endif } void CadToolBar::showToolBarCircles() @@ -275,3 +262,24 @@ void CadToolBar::showToolBarSelect(RS_ActionInterface * selectAction, int nextAc tbSelect->setSelectAction(selectAction); showToolBar(RS2::ToolBarSelect); } + +QToolButton * CadToolBar::CreateBackButton(QWidget * widget) +{ + QAction * actionBack = new QAction(QIcon(":/res/qg_back"), tr("Back"), widget); + QToolButton * button = new QToolButton(widget); + button->setDefaultAction(actionBack); + QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); + button->setSizePolicy(policy); + connect(button, SIGNAL(triggered(QAction *)), this, SLOT(back())); + + return button; +} + +QToolButton * CadToolBar::CreateToolButton(QAction * action) +{ + QToolButton * button = new QToolButton(); + button->setDefaultAction(action); + button->setIconSize(QSize(18, 18)); + + return button; +} diff --git a/src/forms/cadtoolbar.h b/src/forms/cadtoolbar.h index c593a28..eb72869 100644 --- a/src/forms/cadtoolbar.h +++ b/src/forms/cadtoolbar.h @@ -1,7 +1,6 @@ #ifndef __CADTOOLBAR_H__ #define __CADTOOLBAR_H__ -//#include "ui_cadtoolbar.h" #include class RS_ActionInterface; @@ -51,6 +50,8 @@ class CadToolBar: public QWidget void showToolBarDim(); void showToolBarSelect(); void showToolBarSelect(RS_ActionInterface * selectAction, int nextAction); + QToolButton * CreateBackButton(QWidget *); + QToolButton * CreateToolButton(QAction * action); signals: void signalBack(); @@ -72,9 +73,6 @@ class CadToolBar: public QWidget CadToolBarSnap * tbSnap; CadToolBarSelect * tbSelect; CadToolBarPolylines * tbPolylines; - -// private: -// Ui::CadToolBar ui; }; #endif // __CADTOOLBAR_H__ diff --git a/src/forms/cadtoolbararcs.cpp b/src/forms/cadtoolbararcs.cpp index 98469c1..b4956d0 100644 --- a/src/forms/cadtoolbararcs.cpp +++ b/src/forms/cadtoolbararcs.cpp @@ -14,112 +14,24 @@ #include "cadtoolbararcs.h" -#if 0 -#include "cadtoolbar.h" -#include "qg_actionhandler.h" -#include "rs_debug.h" - -CadToolBarArcs::CadToolBarArcs(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/): - QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL) -{ - ui.setupUi(this); -} - -CadToolBarArcs::~CadToolBarArcs() -{ -} - -/*void QG_CadToolBarArcs::mousePressEvent(QMouseEvent* e) { - if (e->button()==RightButton && cadToolBar!=NULL) { - cadToolBar->back(); - e->accept(); - } -}*/ - -void CadToolBarArcs::contextMenuEvent(QContextMenuEvent * e) -{ - e->accept(); -} - -void CadToolBarArcs::setCadToolBar(CadToolBar * tb) -{ - cadToolBar = tb; - - if (tb != NULL) - actionHandler = tb->getActionHandler(); - else - RS_DEBUG->print(RS_Debug::D_ERROR, "CadToolBarArcs::setCadToolBar(): No valid toolbar set."); -} - -void CadToolBarArcs::drawArc() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDrawArc(); -} - -void CadToolBarArcs::drawArc3P() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDrawArc3P(); -} - -void CadToolBarArcs::drawArcParallel() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDrawArcParallel(); -} - -void CadToolBarArcs::drawArcTangential() -{ - if (cadToolBar != NULL && actionHandler != NULL) - actionHandler->slotDrawArcTangential(); -} - -void CadToolBarArcs::back() -{ - if (cadToolBar != NULL) - cadToolBar->back(); -} -#else #include "cadtoolbar.h" #include "createqtactions.h" CadToolBarArcs::CadToolBarArcs(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDrawArc), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawArc3P), 1, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawArcParallel), 2, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawArcTangential), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawArc), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawArc3P), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawArcParallel), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawArcTangential), 2, 1, 1, 1); } CadToolBarArcs::~CadToolBarArcs() { } - -void CadToolBarArcs::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarArcs::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} -#endif diff --git a/src/forms/cadtoolbararcs.h b/src/forms/cadtoolbararcs.h index d29afc2..8c99255 100644 --- a/src/forms/cadtoolbararcs.h +++ b/src/forms/cadtoolbararcs.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarArcs: public QWidget { - Q_OBJECT - public: CadToolBarArcs(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarArcs(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARARCS_H__ diff --git a/src/forms/cadtoolbarcircles.cpp b/src/forms/cadtoolbarcircles.cpp index 17a3671..aef3321 100644 --- a/src/forms/cadtoolbarcircles.cpp +++ b/src/forms/cadtoolbarcircles.cpp @@ -18,41 +18,21 @@ #include "createqtactions.h" CadToolBarCircles::CadToolBarCircles(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDrawCircle), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawCircleCR), 1, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawCircle2P), 2, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawCircle3P), 2, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawCircleParallel), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawCircle), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawCircleCR), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawCircle2P), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawCircle3P), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawCircleParallel), 3, 0, 1, 1); } CadToolBarCircles::~CadToolBarCircles() { } - -void CadToolBarCircles::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarCircles::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarcircles.h b/src/forms/cadtoolbarcircles.h index edfe31e..085e436 100644 --- a/src/forms/cadtoolbarcircles.h +++ b/src/forms/cadtoolbarcircles.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarCircles: public QWidget { - Q_OBJECT - public: CadToolBarCircles(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarCircles(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARCIRCLES_H__ diff --git a/src/forms/cadtoolbardim.cpp b/src/forms/cadtoolbardim.cpp index 8d7caf1..8512b53 100644 --- a/src/forms/cadtoolbardim.cpp +++ b/src/forms/cadtoolbardim.cpp @@ -18,44 +18,24 @@ #include "createqtactions.h" CadToolBarDim::CadToolBarDim(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - 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); + gridLayout->addWidget(parent->CreateToolButton(actionDimAligned), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimLinear), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimLinearHor), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimLinearVer), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimRadial), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimDiametric), 3, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimAngular), 4, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDimLeader), 4, 1, 1, 1); } CadToolBarDim::~CadToolBarDim() { } - -void CadToolBarDim::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarDim::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbardim.h b/src/forms/cadtoolbardim.h index 2c80cb6..d3f694a 100644 --- a/src/forms/cadtoolbardim.h +++ b/src/forms/cadtoolbardim.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarDim: public QWidget { - Q_OBJECT - public: CadToolBarDim(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarDim(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARDIM_H__ diff --git a/src/forms/cadtoolbarellipses.cpp b/src/forms/cadtoolbarellipses.cpp index db170f6..72f0f7d 100644 --- a/src/forms/cadtoolbarellipses.cpp +++ b/src/forms/cadtoolbarellipses.cpp @@ -18,38 +18,18 @@ #include "createqtactions.h" CadToolBarEllipses::CadToolBarEllipses(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDrawEllipseAxis), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawEllipseArcAxis), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawEllipseAxis), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawEllipseArcAxis), 1, 1, 1, 1); } CadToolBarEllipses::~CadToolBarEllipses() { } - -void CadToolBarEllipses::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarEllipses::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarellipses.h b/src/forms/cadtoolbarellipses.h index 7f778e9..e97c783 100644 --- a/src/forms/cadtoolbarellipses.h +++ b/src/forms/cadtoolbarellipses.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarEllipses: public QWidget { - Q_OBJECT - public: CadToolBarEllipses(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarEllipses(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARELLIPSES_H__ diff --git a/src/forms/cadtoolbarinfo.cpp b/src/forms/cadtoolbarinfo.cpp index 383e9e6..e8fd7a4 100644 --- a/src/forms/cadtoolbarinfo.cpp +++ b/src/forms/cadtoolbarinfo.cpp @@ -18,41 +18,21 @@ #include "createqtactions.h" CadToolBarInfo::CadToolBarInfo(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - 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); + gridLayout->addWidget(parent->CreateToolButton(actionInfoDist), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionInfoDist2), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionInfoAngle), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionInfoTotalLength), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionInfoArea), 3, 0, 1, 1); } CadToolBarInfo::~CadToolBarInfo() { } - -void CadToolBarInfo::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarInfo::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarinfo.h b/src/forms/cadtoolbarinfo.h index f326cf4..45ec834 100644 --- a/src/forms/cadtoolbarinfo.h +++ b/src/forms/cadtoolbarinfo.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarInfo: public QWidget { - Q_OBJECT - public: CadToolBarInfo(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarInfo(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARINFO_H__ diff --git a/src/forms/cadtoolbarlines.cpp b/src/forms/cadtoolbarlines.cpp index a02ad62..ffd9bcd 100644 --- a/src/forms/cadtoolbarlines.cpp +++ b/src/forms/cadtoolbarlines.cpp @@ -21,51 +21,31 @@ #include "createqtactions.h" CadToolBarLines::CadToolBarLines(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); - - gridLayout->addWidget(CreateToolButton(actionDrawLine), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineAngle), 1, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineHorizontal), 2, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineVertical), 2, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineRectangle), 3, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineBisector), 3, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineParallel), 4, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineParallelThrough), 4, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineTangent1), 5, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineTangent2), 5, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineOrthogonal), 6, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineRelAngle), 6, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLinePolygon), 7, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLinePolygon2), 7, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDrawLineFree), 8, 0, 1, 1); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); + + gridLayout->addWidget(parent->CreateToolButton(actionDrawLine), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineAngle), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineHorizontal), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineVertical), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineRectangle), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineBisector), 3, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineParallel), 4, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineParallelThrough), 4, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineTangent1), 5, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineTangent2), 5, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineOrthogonal), 6, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineRelAngle), 6, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLinePolygon), 7, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLinePolygon2), 7, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawLineFree), 8, 0, 1, 1); } CadToolBarLines::~CadToolBarLines() { } - -void CadToolBarLines::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarLines::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarlines.h b/src/forms/cadtoolbarlines.h index e1161a0..84fcf53 100644 --- a/src/forms/cadtoolbarlines.h +++ b/src/forms/cadtoolbarlines.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarLines: public QWidget { - Q_OBJECT - public: CadToolBarLines(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarLines(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARLINES_H__ diff --git a/src/forms/cadtoolbarmain.cpp b/src/forms/cadtoolbarmain.cpp index f854a4a..e4748e3 100644 --- a/src/forms/cadtoolbarmain.cpp +++ b/src/forms/cadtoolbarmain.cpp @@ -10,65 +10,70 @@ // Who When What // --- ---------- ----------------------------------------------------------- // JLH 05/10/2010 Created this file. :-) +// JLH 06/22/2010 Refactored file to remove .ui dependency. This also results +// in a much smaller, easier to manage file. ;-) // #include "cadtoolbarmain.h" -#include "cadtoolbar.h" #include "qg_actionhandler.h" -#include "createqtactions.h" -#include "rs_debug.h" +#include "cadtoolbar.h" -CadToolBarMain::CadToolBarMain(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/): - QWidget(parent, flags) +CadToolBarMain::CadToolBarMain(CadToolBar * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/): + QWidget((QWidget *)parent, flags) { - ui.setupUi(this); + QG_ActionHandler * actionHandler = parent->getActionHandler(); + + gridLayout = new QGridLayout(this); + gridLayout->setSpacing(0); + gridLayout->setContentsMargins(0, 0, 0, 0); + + connect(CreateToolButton(0, 0, ":/res/qg_menupoint"), SIGNAL(clicked()), + actionHandler, SLOT(slotDrawPoint())); + connect(CreateToolButton(0, 1, ":/res/qg_menuline"), SIGNAL(clicked()), + parent, SLOT(showToolBarLines())); + connect(CreateToolButton(1, 0, ":/res/qg_menuarc"), SIGNAL(clicked()), + parent, SLOT(showToolBarArcs())); + connect(CreateToolButton(1, 1, ":/res/qg_menucircle"), SIGNAL(clicked()), + parent, SLOT(showToolBarCircles())); + connect(CreateToolButton(2, 0, ":/res/qg_menuellipse"), SIGNAL(clicked()), + parent, SLOT(showToolBarEllipses())); + connect(CreateToolButton(2, 1, ":/res/qg_menuspline"), SIGNAL(clicked()), + actionHandler, SLOT(slotDrawSpline())); + connect(CreateToolButton(3, 0, ":/res/qg_menupolyline"), SIGNAL(clicked()), + parent, SLOT(showToolBarPolylines())); + + connect(CreateToolButton(5, 0, ":/res/qg_menutext"), SIGNAL(clicked()), + actionHandler, SLOT(slotDrawText())); + connect(CreateToolButton(5, 1, ":/res/qg_menudim"), SIGNAL(clicked()), + parent, SLOT(showToolBarDim())); + connect(CreateToolButton(6, 0, ":/res/qg_menuhatch"), SIGNAL(clicked()), + actionHandler, SLOT(slotDrawHatch())); + connect(CreateToolButton(6, 1, ":/res/qg_menuimage"), SIGNAL(clicked()), + actionHandler, SLOT(slotDrawImage())); -// Ain't hidin' dis no mo'... -//#ifndef RS_PROF -// ui.bMenuPolyline->hide(); -//#endif + connect(CreateToolButton(8, 0, ":/res/qg_menuedit"), SIGNAL(clicked()), + parent, SLOT(showToolBarModify())); + connect(CreateToolButton(8, 1, ":/res/qg_menumeasure"), SIGNAL(clicked()), + parent, SLOT(showToolBarInfo())); -//hm. -//well, it looks like something else is messing with this... -// if (parent) -// ((QToolBar *)parent)->addWidget(this); + connect(CreateToolButton(10, 0, ":/res/qg_menublock"), SIGNAL(clicked()), + actionHandler, SLOT(slotBlocksCreate())); + connect(CreateToolButton(10, 1, ":/res/qg_menuselect"), SIGNAL(clicked()), + parent, SLOT(showToolBarSelect())); +#endif } CadToolBarMain::~CadToolBarMain() { } -void CadToolBarMain::setCadToolBar(CadToolBar * tb) +QToolButton * CadToolBarMain::CreateToolButton(int row, int col, QString iconName) { - QG_ActionHandler * ah = NULL; - - if (tb) - ah = tb->getActionHandler(); - else - RS_DEBUG->print(RS_Debug::D_ERROR, "CadToolBarMain::setCadToolBar(): No valid toolbar set."); - - if (ah) - { - connect(ui.bMenuPoint, SIGNAL(clicked()), ah, SLOT(slotDrawPoint())); - connect(ui.bMenuLine, SIGNAL(clicked()), tb, SLOT(showToolBarLines())); - connect(ui.bMenuArc, SIGNAL(clicked()), tb, SLOT(showToolBarArcs())); - connect(ui.bMenuCircle, SIGNAL(clicked()), tb, SLOT(showToolBarCircles())); - connect(ui.bMenuEllipse, SIGNAL(clicked()), tb, SLOT(showToolBarEllipses())); - connect(ui.bMenuSpline, SIGNAL(clicked()), ah, SLOT(slotDrawSpline())); - connect(ui.bMenuPolyline, SIGNAL(clicked()), tb, SLOT(showToolBarPolylines())); - - connect(ui.bMenuText, SIGNAL(clicked()), ah, SLOT(slotDrawText())); - connect(ui.bMenuDim, SIGNAL(clicked()), tb, SLOT(showToolBarDim())); - connect(ui.bMenuHatch, SIGNAL(clicked()), ah, SLOT(slotDrawHatch())); - connect(ui.bMenuImage, SIGNAL(clicked()), ah, SLOT(slotDrawImage())); - - connect(ui.bMenuModify, SIGNAL(clicked()), tb, SLOT(showToolBarModify())); - connect(ui.bMenuInfo, SIGNAL(clicked()), tb, SLOT(showToolBarInfo())); + QToolButton * button = new QToolButton(this); + button->setIcon(QIcon(iconName)); + button->setIconSize(QSize(18, 18)); + gridLayout->addWidget(button, row, col, 1, 1); - connect(ui.bMenuBlock, SIGNAL(clicked()), ah, SLOT(slotBlocksCreate())); - connect(ui.bMenuSelect, SIGNAL(clicked()), tb, SLOT(showToolBarSelect())); - } - else - RS_DEBUG->print(RS_Debug::D_ERROR, "CadToolBarMain::setCadToolBar(): No valid action handler set."); + return button; } diff --git a/src/forms/cadtoolbarmain.h b/src/forms/cadtoolbarmain.h index 3b4b808..fad5833 100644 --- a/src/forms/cadtoolbarmain.h +++ b/src/forms/cadtoolbarmain.h @@ -1,23 +1,21 @@ #ifndef __CADTOOLBARMAIN_H__ #define __CADTOOLBARMAIN_H__ -#include "ui_cadtoolbarmain.h" +#include class CadToolBar; class CadToolBarMain: public QWidget { - Q_OBJECT - public: - CadToolBarMain(QWidget * parent = 0, Qt::WindowFlags flags = 0); + CadToolBarMain(CadToolBar * parent = 0, Qt::WindowFlags flags = 0); ~CadToolBarMain(); - public slots: - void setCadToolBar(CadToolBar * tb); + private: + QToolButton * CreateToolButton(int row, int col, QString iconName); private: - Ui::CadToolBarMain ui; + QGridLayout * gridLayout; }; #endif // __CADTOOLBARMAIN_H__ diff --git a/src/forms/cadtoolbarmain.ui b/src/forms/cadtoolbarmain.ui deleted file mode 100644 index b20cf86..0000000 --- a/src/forms/cadtoolbarmain.ui +++ /dev/null @@ -1,445 +0,0 @@ - - - CadToolBarMain - - - - 0 - 0 - 86 - 224 - - - - - 0 - 0 - - - - - 56 - 200 - - - - Main - - - - 0 - - - 0 - - - - - - 0 - 0 - - - - Points - - - - - - - :/res/qg_menupoint.xpm:/res/qg_menupoint.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Lines" - - - - - - - :/res/qg_menuline.xpm:/res/qg_menuline.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Arcs" - - - - - - - :/res/qg_menuarc.xpm:/res/qg_menuarc.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Circles" - - - - - - - :/res/qg_menucircle.xpm:/res/qg_menucircle.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Ellipses" - - - - - - - :/res/qg_menuellipse.xpm:/res/qg_menuellipse.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Splines - - - - - - - :/res/qg_menuspline.xpm:/res/qg_menuspline.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Polylines - - - - - - - :/res/qg_menupolyline.xpm:/res/qg_menupolyline.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Texts - - - - - - - :/res/qg_menutext.xpm:/res/qg_menutext.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Dimensions" - - - - - - - :/res/qg_menudim.png:/res/qg_menudim.png - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Hatches / Solid Fills - - - - - - - :/res/qg_menuhatch.xpm:/res/qg_menuhatch.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Raster Image - - - - - - - :/res/qg_menuimage.xpm:/res/qg_menuimage.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Edit" - - - - - - - :/res/qg_menuedit.xpm:/res/qg_menuedit.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Measure" - - - - - - - :/res/qg_menumeasure.xpm:/res/qg_menumeasure.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Create Block - - - - - - - :/res/qg_menublock.xpm:/res/qg_menublock.xpm - - - - 18 - 18 - - - - - - - - - 0 - 0 - - - - Show menu "Select" - - - - - - - :/res/qg_menuselect.xpm:/res/qg_menuselect.xpm - - - - 18 - 18 - - - - - - - - Qt::Horizontal - - - - 8 - 20 - - - - - - - - - - - - diff --git a/src/forms/cadtoolbarmodify.cpp b/src/forms/cadtoolbarmodify.cpp index 35edbce..6e79e8e 100644 --- a/src/forms/cadtoolbarmodify.cpp +++ b/src/forms/cadtoolbarmodify.cpp @@ -17,62 +17,42 @@ #include "createqtactions.h" CadToolBarModify::CadToolBarModify(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - 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); + gridLayout->addWidget(parent->CreateToolButton(actionModifyMove), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyRotate), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyScale), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyMirror), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyMoveRotate), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyRotate2), 3, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyTrim), 5, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyTrim2), 5, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyTrimAmount), 6, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyTrim), 5, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyTrim2), 5, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyTrimAmount), 6, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyBevel), 8, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyRound), 8, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyBevel), 8, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyRound), 8, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyCut), 10, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyStretch), 10, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyCut), 10, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyStretch), 10, 1, 1, 1); - 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); + gridLayout->addWidget(parent->CreateToolButton(actionModifyEntity), 12, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyAttributes), 12, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyDelete), 13, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyExplode), 13, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionModifyExplodeText), 15, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionModifyExplodeText), 15, 0, 1, 1); #warning "!!! actionModifyEntityText is missing !!!" //EntityText -// gridLayout->addWidget(CreateToolButton(actionModifyEntityText), 15, 1, 1, 1); +// gridLayout->addWidget(parent->CreateToolButton(actionModifyEntityText), 15, 1, 1, 1); } CadToolBarModify::~CadToolBarModify() { } - -void CadToolBarModify::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarModify::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarmodify.h b/src/forms/cadtoolbarmodify.h index a42133a..5205045 100644 --- a/src/forms/cadtoolbarmodify.h +++ b/src/forms/cadtoolbarmodify.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarModify: public QWidget { - Q_OBJECT - public: CadToolBarModify(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarModify(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARMODIFY_H__ diff --git a/src/forms/cadtoolbarpoints.cpp b/src/forms/cadtoolbarpoints.cpp index 6c06233..2342922 100644 --- a/src/forms/cadtoolbarpoints.cpp +++ b/src/forms/cadtoolbarpoints.cpp @@ -18,37 +18,17 @@ #include "createqtactions.h" CadToolBarPoints::CadToolBarPoints(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDrawPoint), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawPoint), 1, 0, 1, 1); } CadToolBarPoints::~CadToolBarPoints() { } - -void CadToolBarPoints::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarPoints::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarpoints.h b/src/forms/cadtoolbarpoints.h index 1dd8b99..6cc6347 100644 --- a/src/forms/cadtoolbarpoints.h +++ b/src/forms/cadtoolbarpoints.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarPoints: public QWidget { - Q_OBJECT - public: CadToolBarPoints(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarPoints(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARPOINTS_H__ diff --git a/src/forms/cadtoolbarpolylines.cpp b/src/forms/cadtoolbarpolylines.cpp index 6ff2ea1..1ea4636 100644 --- a/src/forms/cadtoolbarpolylines.cpp +++ b/src/forms/cadtoolbarpolylines.cpp @@ -18,43 +18,23 @@ #include "createqtactions.h" CadToolBarPolylines::CadToolBarPolylines(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDrawPolyline), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionPolylineAdd), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawPolyline), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionPolylineAdd), 1, 1, 1, 1); #warning "!!! Missing actionPolylineAppend !!!" -// gridLayout->addWidget(CreateToolButton(actionPolylineAppend), 2, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionPolylineDel), 2, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionPolylineDelBetween), 3, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionPolylineTrim), 3, 1, 1, 1); +// gridLayout->addWidget(parent->CreateToolButton(actionPolylineAppend), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionPolylineDel), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionPolylineDelBetween), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionPolylineTrim), 3, 1, 1, 1); } CadToolBarPolylines::~CadToolBarPolylines() { } - -void CadToolBarPolylines::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarPolylines::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarpolylines.h b/src/forms/cadtoolbarpolylines.h index 1ae2265..2223cf4 100644 --- a/src/forms/cadtoolbarpolylines.h +++ b/src/forms/cadtoolbarpolylines.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarPolylines: public QWidget { - Q_OBJECT - public: CadToolBarPolylines(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarPolylines(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARPOLYLINES_H__ diff --git a/src/forms/cadtoolbarselect.cpp b/src/forms/cadtoolbarselect.cpp index 27eee4e..235d306 100644 --- a/src/forms/cadtoolbarselect.cpp +++ b/src/forms/cadtoolbarselect.cpp @@ -20,37 +20,32 @@ #include "createqtactions.h" CadToolBarSelect::CadToolBarSelect(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent), actionHandler(NULL), - selectAction(NULL), nextAction(-1) + QWidget((QWidget *)parent, flags), actionHandler(NULL), selectAction(NULL), + nextAction(-1) { - actionHandler = cadToolBar->getActionHandler(); + actionHandler = parent->getActionHandler(); QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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(clicked()), this, SLOT(back())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDeselectAll), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectAll), 1, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectSingle), 2, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectContour), 2, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDeselectWindow), 3, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectWindow), 3, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionDeselectIntersected), 4, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectIntersected), 4, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectInvert), 5, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSelectLayer), 5, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDeselectAll), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectAll), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectSingle), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectContour), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDeselectWindow), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectWindow), 3, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDeselectIntersected), 4, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectIntersected), 4, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectInvert), 5, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSelectLayer), 5, 1, 1, 1); QAction * actionDoit = new QAction(QIcon(":/res/qg_forward"), tr("Forward"), this); doit = new QToolButton(this); doit->setDefaultAction(actionDoit); + QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); doit->setSizePolicy(policy); gridLayout->addWidget(doit, 6, 0, 1, 2); connect(doit, SIGNAL(clicked()), this, SLOT(runNextAction())); @@ -78,32 +73,15 @@ void CadToolBarSelect::setNextAction(int nextAction) void CadToolBarSelect::runNextAction() { -//printf("CadToolBarSelect::runNextAction(): Entered function...\n"); if (selectAction) { -//printf("CadToolBarSelect::runNextAction(): About to do selectAction...\n"); selectAction->finish(); selectAction = NULL; } if (nextAction != -1) { -//printf("CadToolBarSelect::runNextAction(): About to do nextAction...\n"); actionHandler->killSelectActions(); actionHandler->setCurrentAction((RS2::ActionType)nextAction); } } - -void CadToolBarSelect::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarSelect::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarselect.h b/src/forms/cadtoolbarselect.h index 434ce94..03a157d 100644 --- a/src/forms/cadtoolbarselect.h +++ b/src/forms/cadtoolbarselect.h @@ -21,15 +21,6 @@ class CadToolBarSelect: public QWidget public slots: void runNextAction(); - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; - private: QToolButton * doit; QG_ActionHandler * actionHandler; diff --git a/src/forms/cadtoolbarsnap.cpp b/src/forms/cadtoolbarsnap.cpp index ff7fa81..833bd42 100644 --- a/src/forms/cadtoolbarsnap.cpp +++ b/src/forms/cadtoolbarsnap.cpp @@ -14,337 +14,37 @@ #include "cadtoolbarsnap.h" -#if 0 -#include "cadtoolbar.h" -#include "qg_actionhandler.h" -#include "rs_debug.h" - -CadToolBarSnap::CadToolBarSnap(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/): - QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL) -{ - ui.setupUi(this); -} - -CadToolBarSnap::~CadToolBarSnap() -{ -} - -//void CadToolBarSnap::mousePressEvent(QMouseEvent* e) { -// if (e->button()==RightButton && cadToolBar!=NULL) { -//cadToolBar->back(); -// e->accept(); -// } -//} - -void CadToolBarSnap::contextMenuEvent(QContextMenuEvent * e) -{ - e->accept(); -} - -void CadToolBarSnap::setCadToolBar(CadToolBar * tb) -{ - cadToolBar = tb; - - if (tb!=NULL) - { - actionHandler = tb->getActionHandler(); - actionHandler->setCadToolBarSnap(this); - } - else - RS_DEBUG->print(RS_Debug::D_ERROR, "CadToolBarSnap::setCadToolBar(): No valid toolbar set."); -} - -void CadToolBarSnap::snapFree() -{ - if (actionHandler!=NULL) - { - disableSnaps(); - ui.bFree->setChecked(true); - actionHandler->slotSnapFree(); - } -} - -void CadToolBarSnap::snapGrid() -{ - if (actionHandler!=NULL) - { - actionHandler->slotSnapGrid(); - disableSnaps(); - ui.bGrid->setChecked(true); - } -} - -void CadToolBarSnap::snapEndpoint() { - if (actionHandler!=NULL) { - actionHandler->slotSnapEndpoint(); - disableSnaps(); - ui.bEndpoint->setChecked(true); - } -} - -void CadToolBarSnap::snapOnEntity() { - if (actionHandler!=NULL) { - actionHandler->slotSnapOnEntity(); - disableSnaps(); - ui.bOnEntity->setChecked(true); - } -} - -void CadToolBarSnap::snapCenter() { - if (actionHandler!=NULL) { - actionHandler->slotSnapCenter(); - disableSnaps(); - ui.bCenter->setChecked(true); - } -} - -void CadToolBarSnap::snapMiddle() { - if (actionHandler!=NULL) { - actionHandler->slotSnapMiddle(); - disableSnaps(); - ui.bMiddle->setChecked(true); - } -} - -void CadToolBarSnap::snapDist() { - if (actionHandler!=NULL) { - actionHandler->slotSnapDist(); - disableSnaps(); - ui.bDist->setChecked(true); - } -} - -void CadToolBarSnap::snapIntersection() { - if (actionHandler!=NULL) { - actionHandler->slotSnapIntersection(); - disableSnaps(); - ui.bIntersection->setChecked(true); - } -} - -void CadToolBarSnap::snapIntersectionManual() -{ - if (actionHandler!=NULL) - { - actionHandler->slotSnapIntersectionManual(); - //disableSnaps(); - //bIntersectionManual->setChecked(true); - } -} - -void CadToolBarSnap::restrictNothing() -{ - if (actionHandler!=NULL) - { - actionHandler->slotRestrictNothing(); - disableRestrictions(); - ui.bResNothing->setChecked(true); - } -} - -void CadToolBarSnap::restrictOrthogonal() -{ - if (actionHandler!=NULL) - { - actionHandler->slotRestrictOrthogonal(); - disableRestrictions(); - ui.bResOrthogonal->setChecked(true); - } -} - -void CadToolBarSnap::restrictHorizontal() -{ - if (actionHandler!=NULL) - { - actionHandler->slotRestrictHorizontal(); - disableRestrictions(); - ui.bResHorizontal->setChecked(true); - } -} - -void CadToolBarSnap::restrictVertical() -{ - if (actionHandler!=NULL) - { - actionHandler->slotRestrictVertical(); - disableRestrictions(); - ui.bResVertical->setChecked(true); - } -} - -void CadToolBarSnap::disableSnaps() -{ - if (ui.bFree->isChecked()) - ui.bFree->setChecked(false); - - if (ui.bGrid->isChecked()) - ui.bGrid->setChecked(false); - - if (ui.bEndpoint->isChecked()) - ui.bEndpoint->setChecked(false); - - if (ui.bOnEntity->isChecked()) - ui.bOnEntity->setChecked(false); - - if (ui.bCenter->isChecked()) - ui.bCenter->setChecked(false); - - if (ui.bMiddle->isChecked()) - ui.bMiddle->setChecked(false); - - if (ui.bDist->isChecked()) - ui.bDist->setChecked(false); - - if (ui.bIntersection->isChecked()) - ui.bIntersection->setChecked(false); - - if (ui.bIntersectionManual->isChecked()) - ui.bIntersectionManual->setChecked(false); -} - -void CadToolBarSnap::disableRestrictions() -{ - if (ui.bResNothing->isChecked()) - ui.bResNothing->setChecked(false); - - if (ui.bResOrthogonal->isChecked()) - ui.bResOrthogonal->setChecked(false); - - if (ui.bResHorizontal->isChecked()) - ui.bResHorizontal->setChecked(false); - - if (ui.bResVertical->isChecked()) - ui.bResVertical->setChecked(false); -} - -void CadToolBarSnap::setSnapMode(int sm) -{ - switch (sm) - { - case RS2::SnapFree: - ui.bFree->setChecked(true); - break; - case RS2::SnapEndpoint: - ui.bEndpoint->setChecked(true); - break; - case RS2::SnapGrid: - ui.bGrid->setChecked(true); - break; - case RS2::SnapOnEntity: - ui.bOnEntity->setChecked(true); - break; - case RS2::SnapCenter: - ui.bCenter->setChecked(true); - break; - case RS2::SnapMiddle: - ui.bMiddle->setChecked(true); - break; - case RS2::SnapDist: - ui.bDist->setChecked(true); - break; - case RS2::SnapIntersection: - ui.bIntersection->setChecked(true); - break; - default: - break; - } -} - -void CadToolBarSnap::setSnapRestriction(int sr) -{ - switch (sr) - { - default: - case RS2::RestrictNothing: - ui.bResNothing->setChecked(true); - break; - case RS2::RestrictOrthogonal: - ui.bResOrthogonal->setChecked(true); - break; - case RS2::RestrictHorizontal: - ui.bResHorizontal->setChecked(true); - break; - case RS2::RestrictVertical: - ui.bResVertical->setChecked(true); - break; - } -} - -void CadToolBarSnap::setRelativeZero() -{ - if (cadToolBar!=NULL && actionHandler!=NULL) - actionHandler->slotSetRelativeZero(); -} - -void CadToolBarSnap::lockRelativeZero(bool on) -{ - if (cadToolBar!=NULL && actionHandler!=NULL) - actionHandler->slotLockRelativeZero(on); -} - -void CadToolBarSnap::setLockRelativeZero(bool on) -{ - ui.bLockRelZero->setChecked(on); -} - -void CadToolBarSnap::back() -{ - if (cadToolBar != NULL) - cadToolBar->back(); -} -#else #include "cadtoolbar.h" #include "createqtactions.h" CadToolBarSnap::CadToolBarSnap(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionSnapFree), 1, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapGrid), 1, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapEndpoint), 2, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapOnEntity), 2, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapCenter), 3, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapMiddle), 3, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapDist), 4, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapIntersection), 4, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSnapIntersectionManual), 5, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapFree), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapGrid), 1, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapEndpoint), 2, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapOnEntity), 2, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapCenter), 3, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapMiddle), 3, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapDist), 4, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapIntersection), 4, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSnapIntersectionManual), 5, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionRestrictNothing), 7, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionRestrictOrthogonal), 7, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionRestrictHorizontal), 8, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionRestrictVertical), 8, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionRestrictNothing), 7, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionRestrictOrthogonal), 7, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionRestrictHorizontal), 8, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionRestrictVertical), 8, 1, 1, 1); - gridLayout->addWidget(CreateToolButton(actionSetRelativeZero), 10, 0, 1, 1); - gridLayout->addWidget(CreateToolButton(actionLockRelativeZero), 10, 1, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionSetRelativeZero), 10, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionLockRelativeZero), 10, 1, 1, 1); } CadToolBarSnap::~CadToolBarSnap() { } - -void CadToolBarSnap::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarSnap::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} -#endif diff --git a/src/forms/cadtoolbarsnap.h b/src/forms/cadtoolbarsnap.h index 2e0dfa0..bb3e99e 100644 --- a/src/forms/cadtoolbarsnap.h +++ b/src/forms/cadtoolbarsnap.h @@ -1,74 +1,15 @@ #ifndef __CADTOOLBARSNAP_H__ #define __CADTOOLBARSNAP_H__ -#if 0 -#include "ui_cadtoolbarsnap.h" - -class CadToolBar; -class QG_ActionHandler; - -class CadToolBarSnap: public QWidget -{ - Q_OBJECT - - public: - CadToolBarSnap(QWidget* parent = 0, Qt::WindowFlags flags = 0); - ~CadToolBarSnap(); - - public slots: - void contextMenuEvent(QContextMenuEvent * e); - void setCadToolBar(CadToolBar * tb); - void snapFree(); - void snapGrid(); - void snapEndpoint(); - void snapOnEntity(); - void snapCenter(); - void snapMiddle(); - void snapDist(); - void snapIntersection(); - void snapIntersectionManual(); - void restrictNothing(); - void restrictOrthogonal(); - void restrictHorizontal(); - void restrictVertical(); - void disableSnaps(); - void disableRestrictions(); - void setSnapMode(int sm); - void setSnapRestriction(int sr); - void setRelativeZero(); - void lockRelativeZero(bool on); - void setLockRelativeZero(bool on); - void back(); - - protected: - QG_ActionHandler * actionHandler; - CadToolBar * cadToolBar; - - private: - Ui::CadToolBarSnap ui; -}; -#else #include class CadToolBar; class CadToolBarSnap: public QWidget { - Q_OBJECT - public: CadToolBarSnap(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarSnap(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; -#endif #endif // __CADTOOLBARSNAP_H__ diff --git a/src/forms/cadtoolbarsplines.cpp b/src/forms/cadtoolbarsplines.cpp index 2ad19b0..e549661 100644 --- a/src/forms/cadtoolbarsplines.cpp +++ b/src/forms/cadtoolbarsplines.cpp @@ -18,37 +18,17 @@ #include "createqtactions.h" CadToolBarSplines::CadToolBarSplines(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/): - QWidget((QWidget *)parent, flags), cadToolBar(parent) + QWidget((QWidget *)parent, flags) { QGridLayout * gridLayout = new QGridLayout(this); gridLayout->setSpacing(0); gridLayout->setContentsMargins(0, 0, 0, 0); - 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())); + gridLayout->addWidget(parent->CreateBackButton(this), 0, 0, 1, 2); - gridLayout->addWidget(CreateToolButton(actionDrawSpline), 1, 0, 1, 1); + gridLayout->addWidget(parent->CreateToolButton(actionDrawSpline), 1, 0, 1, 1); } CadToolBarSplines::~CadToolBarSplines() { } - -void CadToolBarSplines::back() -{ - cadToolBar->back(); -} - -QToolButton * CadToolBarSplines::CreateToolButton(QAction * action) -{ - QToolButton * button = new QToolButton(this); - button->setDefaultAction(action); - button->setIconSize(QSize(18, 18)); - - return button; -} diff --git a/src/forms/cadtoolbarsplines.h b/src/forms/cadtoolbarsplines.h index 1c4e1ee..2e00b7e 100644 --- a/src/forms/cadtoolbarsplines.h +++ b/src/forms/cadtoolbarsplines.h @@ -7,20 +7,9 @@ class CadToolBar; class CadToolBarSplines: public QWidget { - Q_OBJECT - public: CadToolBarSplines(CadToolBar * parent, Qt::WindowFlags flags = 0); ~CadToolBarSplines(); - - protected slots: - void back(); - - private: - QToolButton * CreateToolButton(QAction * action); - - protected: - CadToolBar * cadToolBar; }; #endif // __CADTOOLBARSPLINES_H__ diff --git a/src/mainapp/mdiwindow.h b/src/mainapp/mdiwindow.h index c3b782b..d6ca611 100644 --- a/src/mainapp/mdiwindow.h +++ b/src/mainapp/mdiwindow.h @@ -20,7 +20,6 @@ class MDIWindow: public QMdiSubWindow public: MDIWindow(RS_Document * doc, QWidget * parent, const char * name = NULL, -// Qt::WindowFlags wflags = Qt::WDestructiveClose); Qt::WindowFlags wflags = Qt::SubWindow); ~MDIWindow(); @@ -37,20 +36,16 @@ class MDIWindow: public QMdiSubWindow void slotFilePrint(); public: -// QC_GraphicView * getGraphicView(); QG_GraphicView * getGraphicView(); RS_Document * getDocument(); Drawing * getGraphic(); RS_EventHandler * getEventHandler(); - void addChildWindow(MDIWindow * w); void removeChildWindow(MDIWindow * w); MDIWindow * getPrintPreview(); void setParentWindow(MDIWindow * p); int getId(); - bool closeMDI(bool force, bool ask = true); - void setForceClosing(bool on); friend std::ostream & operator<<(std::ostream & os, MDIWindow & w); @@ -68,7 +63,6 @@ class MDIWindow: public QMdiSubWindow static int idCounter; /** Graphic view */ //let's see if we can get rid of this... -// QC_GraphicView * graphicView; QG_GraphicView * graphicView; /** Document */ RS_Document * document; diff --git a/src/widgets/qg_graphicview.cpp b/src/widgets/qg_graphicview.cpp index d885f8a..4704f0a 100644 --- a/src/widgets/qg_graphicview.cpp +++ b/src/widgets/qg_graphicview.cpp @@ -156,6 +156,7 @@ A non-zero alignment indicates that the widget should not grow to fill the avail //w->setEraseColor(QColor(255,0,0)); gridStatus = new QLabel("-", this); gridStatus->setAlignment(Qt::AlignRight); +// gridStatus->setAutoFillBackground(true); // layout->addMultiCellWidget(gridStatus, 1, 1, 1, 2); layout->addWidget(gridStatus, 1, 1, 1, 2); // layout->addColSpacing(1, 50); @@ -365,6 +366,10 @@ void QG_GraphicView::resizeEvent(QResizeEvent * /*e*/) RS_DEBUG->print("QG_GraphicView::resizeEvent end"); } +/* +This is retarded. There is absolutely no reason to have this shit in here. +This could be easily called from whoever calls this crap. +*/ // Next three methods from RS_LayerListListener Interface: void QG_GraphicView::layerEdited(RS_Layer *) { diff --git a/src/widgets/qg_graphicview.h b/src/widgets/qg_graphicview.h index 2a5c3a8..2b3293b 100644 --- a/src/widgets/qg_graphicview.h +++ b/src/widgets/qg_graphicview.h @@ -18,7 +18,6 @@ class RS_Preview; * Instances of this class can be linked to layer lists using * addLayerListListener(). */ -//class QG_GraphicView: public QWidget, public RS_GraphicView, //public Q3FilePreview, class QG_GraphicView: public QWidget, public GraphicView, //public Q3FilePreview, public RS_LayerListListener, public RS_BlockListListener { -- 2.37.2