]> Shamusworld >> Repos - architektonas/commitdiff
Successfully refactored CadToolBarLines to use predefined actions.
authorShamus Hammons <jlhamm@acm.org>
Sat, 19 Jun 2010 21:13:53 +0000 (21:13 +0000)
committerShamus Hammons <jlhamm@acm.org>
Sat, 19 Jun 2010 21:13:53 +0000 (21:13 +0000)
19 files changed:
src/forms/cadtoolbar.cpp
src/forms/cadtoolbararcs.cpp
src/forms/cadtoolbarcircles.cpp
src/forms/cadtoolbardim.cpp
src/forms/cadtoolbarellipses.cpp
src/forms/cadtoolbarinfo.cpp
src/forms/cadtoolbarlines.cpp
src/forms/cadtoolbarlines.h
src/forms/cadtoolbarpoints.cpp
src/forms/cadtoolbarpolylines.cpp
src/forms/cadtoolbarselect.cpp
src/forms/cadtoolbarsnap.cpp
src/forms/cadtoolbarsplines.cpp
src/mainapp/applicationwindow.cpp
src/mainapp/applicationwindow.h
src/mainapp/commands.cpp
src/mainapp/mdiwindow.h
src/mainapp/qc_dialogfactory.cpp
src/widgets/qg_mainwindowinterface.h

index ec5929dec3a5a824c2a7f53c1755b164bc8d599f..2ae0746f427baeae21cd65f8d2a89c400e0deeda 100644 (file)
@@ -101,7 +101,7 @@ void CadToolBar::createSubToolBars(QG_ActionHandler * ah)
        tbPoints->hide();
 
        tbLines = new CadToolBarLines(this);
-       tbLines->setCadToolBar(this);
+//     tbLines->setCadToolBar(this);
        tbLines->hide();
 
        tbArcs = new CadToolBarArcs(this);
index 35cb97492f4d1e4d92be0f45a83f50c7eacc78a9..6ea2bd0689ff4d56505c626ca9fc5b2803c4fb2e 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbararcs.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
index b6ebd27f91637cc1ed01532e4353e8f2e3b89197..0ca00d6ab10360a03eeefc754d811df0a5be4ea9 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarcircles.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
index f7dd4c8700624f5d5d7ee7e3301f5f39c302c7a5..b6eb56757ebc8cfe57a784f19e52b49f453f598d 100644 (file)
@@ -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
index d7645287e660f307e675cbff3ecbcf31686ee417..6e385327fbe3d1fe09b2416d1a55788e40cefcf4 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarellipses.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
index e0f4143984e12929f4585863496b0a81943f13e0..98daa80c0f8c7fdd1b69e628653eeb2fc72ca0c8 100644 (file)
@@ -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
index 04554ad96b2b7fe8abbee47f24abd7719fd732ba..a02ad624fe17b66e46a52bdcc87c64e4847cd4a3 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarlines.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
 // Who  When        What
 // ---  ----------  -----------------------------------------------------------
 // JLH  05/10/2010  Created this file. :-)
+// JLH  06/18/2010  Changed this class to use predefined actions instead of
+//                  reinventing the wheel. Also changed construction to use
+//                  type CadToolBar instead of QWidget.
 //
 
 #include "cadtoolbarlines.h"
 
 #include "cadtoolbar.h"
-#include "qg_actionhandler.h"
-#include "rs_debug.h"
-
-CadToolBarLines::CadToolBarLines(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
-       QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL)
-{
-       ui.setupUi(this);
+#include "createqtactions.h"
+
+CadToolBarLines::CadToolBarLines(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/):
+       QWidget((QWidget *)parent, flags), cadToolBar(parent)
+{
+       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);
 }
 
 CadToolBarLines::~CadToolBarLines()
 {
 }
 
-void CadToolBarLines::contextMenuEvent(QContextMenuEvent * e)
-{
-       e->accept();
-}
-
-void CadToolBarLines::setCadToolBar(CadToolBar * tb)
-{
-       cadToolBar = tb;
-
-       if (tb != NULL)
-               actionHandler = tb->getActionHandler();
-       else
-               RS_DEBUG->print(RS_Debug::D_ERROR, "CadToolBarLines::setCadToolBar(): No valid toolbar set.");
-}
-
-void CadToolBarLines::drawLine()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLine();
-}
-
-void CadToolBarLines::drawLineAngle()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineAngle();
-}
-
-void CadToolBarLines::drawLineHorizontal()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineHorizontal();
-}
-
-void CadToolBarLines::drawLineHorVert()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineHorVert();
-}
-
-void CadToolBarLines::drawLineVertical()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineVertical();
-}
-
-void CadToolBarLines::drawLineParallel()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineParallel();
-}
-
-void CadToolBarLines::drawLineParallelThrough()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineParallelThrough();
-}
-
-void CadToolBarLines::drawLineRectangle()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineRectangle();
-}
-
-void CadToolBarLines::drawLineBisector()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineBisector();
-}
-
-void CadToolBarLines::drawLineTangent1()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineTangent1();
-}
-
-void CadToolBarLines::drawLineTangent2()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineTangent2();
-}
-
-void CadToolBarLines::drawLineOrthogonal()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineOrthogonal();
-}
-
-void CadToolBarLines::drawLineRelAngle()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineRelAngle();
-}
-
-void CadToolBarLines::drawLineFree()
-{
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLineFree();
-}
-
-void CadToolBarLines::drawLinePolygon()
+void CadToolBarLines::back()
 {
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLinePolygon();
+       cadToolBar->back();
 }
 
-void CadToolBarLines::drawLinePolygon2()
+QToolButton * CadToolBarLines::CreateToolButton(QAction * action)
 {
-       if (cadToolBar != NULL && actionHandler != NULL)
-               actionHandler->slotDrawLinePolygon2();
-}
+       QToolButton * button = new QToolButton(this);
+       button->setDefaultAction(action);
+       button->setIconSize(QSize(18, 18));
 
-void CadToolBarLines::back()
-{
-       if (cadToolBar != NULL)
-               cadToolBar->back();
+       return button;
 }
index 9081e2ad6f2bfb6bbec60c96aca6e666254c9a55..e1161a08856aa44517f289d6c3bfb55f481f8328 100644 (file)
@@ -1,46 +1,26 @@
 #ifndef __CADTOOLBARLINES_H__
 #define __CADTOOLBARLINES_H__
 
-#include "ui_cadtoolbarlines.h"
+#include <QtGui>
 
 class CadToolBar;
-class QG_ActionHandler;
 
 class CadToolBarLines: public QWidget
 {
        Q_OBJECT
 
        public:
-               CadToolBarLines(QWidget * parent = 0, Qt::WindowFlags flags = 0);
+               CadToolBarLines(CadToolBar * parent, Qt::WindowFlags flags = 0);
                ~CadToolBarLines();
 
-       public slots:
-               void contextMenuEvent(QContextMenuEvent * e);
-               void setCadToolBar(CadToolBar * tb);
-               void drawLine();
-               void drawLineAngle();
-               void drawLineHorizontal();
-               void drawLineHorVert();
-               void drawLineVertical();
-               void drawLineParallel();
-               void drawLineParallelThrough();
-               void drawLineRectangle();
-               void drawLineBisector();
-               void drawLineTangent1();
-               void drawLineTangent2();
-               void drawLineOrthogonal();
-               void drawLineRelAngle();
-               void drawLineFree();
-               void drawLinePolygon();
-               void drawLinePolygon2();
+       protected slots:
                void back();
 
+       private:
+               QToolButton * CreateToolButton(QAction * action);
+
        protected:
-               QG_ActionHandler * actionHandler;
                CadToolBar * cadToolBar;
-
-       private:
-               Ui::CadToolBarLines ui;
 };
 
 #endif // __CADTOOLBARLINES_H__
index 5f1245eb344d9dd394f709c71f464ddf50a0f81f..89758ab9c576dcf8b6e04666f56ef4f939f5c7e1 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarpoints.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
index 0b75c2bfb2f6009dd8c9bde469f929f2520165a4..17ab7bca37dd7fa64f29393c7d50bf3582a4a43a 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarpolylines.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
index 3f03ab84c243b997da9d513997b0c792db58e0e1..14fa5ddba9348eced15fc06bd182e5bdb3285345 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarselect.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
index 90800f05312305bbe6fc8f23bf29d5133141b601..9acce483b7b1008a3b5dc385a53c639e2aad8204 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarsnap.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
index 7fcd384ddac5c2c8b6b2d57dcd51e8706feaa428..6b6aff799d286b7fd0f3ecd6efd7e14b79edaf12 100644 (file)
@@ -1,5 +1,6 @@
 // cadtoolbarsplines.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
index a0cb9716f692ba6e7b93d507f5852e674542e883..7e3e989225e205d2e24e87bd29563f32624f13b5 100644 (file)
 #include "mousewidget.h"
 #include "selectionwidget.h"
 
-#include "mdiwindow.h"
-#include "qc_dialogfactory.h"
 #include "createqtactions.h"
+#include "qc_dialogfactory.h"
+#include "qg_graphicview.h"
 #include "main.h"
+#include "mdiwindow.h"
 
 ApplicationWindow * ApplicationWindow::appWindow = NULL;
 
@@ -89,6 +90,7 @@ ApplicationWindow::ApplicationWindow():
 //     setIcon(qPixmapFromMimeSource(QC_APP_ICON));
 //     setWindowIcon(qPixmapFromMimeSource(QC_APP_ICON));
        setWindowIcon(QIcon(":/res/" QC_APP_ICON));
+       CreateQtActions(this);
 
        RS_DEBUG->print("ApplicationWindow::ApplicationWindow: creating action handler");
        actionHandler = new QG_ActionHandler(this);
@@ -359,7 +361,6 @@ void ApplicationWindow::initMDI()
 void ApplicationWindow::initActions()
 {
        RS_DEBUG->print("ApplicationWindow::initActions()");
-       CreateQtActions(this);
 
        //
        // File actions:
index bb1b0f690a0bddfcebf1d79c2d09f12b3e805e90..abb835f375502f299c8879f9e6d477797b1844f9 100644 (file)
@@ -5,7 +5,7 @@
 
 #include "rs_document.h"
 #include "qc_dialogfactory.h"
-#include "qc_graphicview.h"
+//#include "qc_graphicview.h"
 #include "mdiwindow.h"
 #include "qg_actionhandler.h"
 #include "qg_blockwidget.h"
index 429c04e7f1c326bb5bbef6c4867d153e0229daba..2b31db528182d0d8ebc25b4219a7bb11d2b07039 100644 (file)
@@ -25,7 +25,7 @@ Commands * Commands::uniqueInstance = NULL;
  */
 Commands::Commands()
 {
-       // This is NOT necessary; we don't anything out of the hash
+       // This is NOT necessary; we don't take anything out of the hash
 //     mainCommands.setAutoDelete(true);
 //     shortCommands.setAutoDelete(true);
 
index fdd821514dc42896423d91afc98c0ee8b39712de..c3b782b3781c86229a5dc955fb0d357a2d68b185 100644 (file)
@@ -2,7 +2,6 @@
 #define QC_MDIWINDOW_H
 
 #include <QtGui>
-//#include "qc_graphicview.h"
 #include "qg_layerwidget.h"
 #include "qg_pentoolbar.h"
 #include "rs_document.h"
index 4e46d6d625d53ab1e3fd765a459a4df22cbd9fb9..716b50c083bc8315adf8cec5d7c65c293a6047ec 100644 (file)
@@ -15,6 +15,7 @@
 #include "qc_dialogfactory.h"
 
 #include "applicationwindow.h"
+#include "qg_graphicview.h"
 
 QC_DialogFactory::QC_DialogFactory(QWidget * parent, QToolBar * ow): QG_DialogFactory(parent, ow)
 {
index 4fbdf5c4e6aded00136edc0fe065ee912e9d7739..8d00ff04f33f9a4f655dda62128971a36acfbd9f 100644 (file)
@@ -1,10 +1,7 @@
 #ifndef QG_MAINWINDOWINTERFACE_H
 #define QG_MAINWINDOWINTERFACE_H
 
-//#include "rs_document.h"
 #include "rs_mainwindowinterface.h"
-//#include "qg_graphicview.h"
-//#include "qg_actionhandler.h"
 
 class QMainWindow;
 class QG_ActionHandler;