]> Shamusworld >> Repos - architektonas/blobdiff - src/forms/cadtoolbar.cpp
In the middle of major refactoring...
[architektonas] / src / forms / cadtoolbar.cpp
index ec5929dec3a5a824c2a7f53c1755b164bc8d599f..d988c7ca3895c764d8e72fb2d2c3bb8ab778c931 100644 (file)
@@ -35,10 +35,19 @@ CadToolBar::CadToolBar(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
        tbEllipses(NULL), tbArcs(NULL), tbModify(NULL), tbCircles(NULL), tbSnap(NULL),
        tbSelect(NULL), tbPolylines(NULL)
 {
-       ui.setupUi(this);
+//hmm.
+#if 1
+       resize(86, 336);
+//     QSizePolicy policy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
+//     policy.setHorizontalStretch(0);
+//     policy.setVerticalStretch(0);
+//     policy.setHeightForWidth(sizePolicy().hasHeightForWidth());
+//     setSizePolicy(policy);
+       setMinimumSize(QSize(56, 336));
+#endif
 //hm. here maybe? Yesh!
-if (parent)
-       ((QToolBar *)parent)->addWidget(this);
+       if (parent)
+               ((QToolBar *)parent)->addWidget(this);
 }
 
 CadToolBar::~CadToolBar()
@@ -93,55 +102,32 @@ void CadToolBar::createSubToolBars(QG_ActionHandler * ah)
 {
        actionHandler = ah;
        tbMain = new CadToolBarMain(this);
-       tbMain->setCadToolBar(this);
        currentTb = tbMain;
 
        tbPoints = new CadToolBarPoints(this);
-       tbPoints->setCadToolBar(this);
-       tbPoints->hide();
-
        tbLines = new CadToolBarLines(this);
-       tbLines->setCadToolBar(this);
-       tbLines->hide();
-
        tbArcs = new CadToolBarArcs(this);
-       tbArcs->setCadToolBar(this);
-       tbArcs->hide();
-
        tbCircles = new CadToolBarCircles(this);
-       tbCircles->setCadToolBar(this);
-       tbCircles->hide();
-
        tbEllipses = new CadToolBarEllipses(this);
-       tbEllipses->setCadToolBar(this);
-       tbEllipses->hide();
-
        tbSplines = new CadToolBarSplines(this);
-       tbSplines->setCadToolBar(this);
-       tbSplines->hide();
-
        tbPolylines = new CadToolBarPolylines(this);
-       tbPolylines->setCadToolBar(this);
-       tbPolylines->hide();
-
        tbDim = new CadToolBarDim(this);
-       tbDim->setCadToolBar(this);
-       tbDim->hide();
-
        tbInfo = new CadToolBarInfo(this);
-       tbInfo->setCadToolBar(this);
-       tbInfo->hide();
-
        tbModify = new CadToolBarModify(this);
-       tbModify->setCadToolBar(this);
-       tbModify->hide();
-
        tbSnap = new CadToolBarSnap(this);
-       tbSnap->setCadToolBar(this);
-       tbSnap->hide();
-
        tbSelect = new CadToolBarSelect(this);
-       tbSelect->setCadToolBar(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();
 }
 
@@ -237,9 +223,7 @@ void CadToolBar::showToolBarSplines()
 
 void CadToolBar::showToolBarPolylines()
 {
-//#ifdef RS_PROF
        showToolBar(RS2::ToolBarPolylines);
-//#endif
 }
 
 void CadToolBar::showToolBarCircles()
@@ -272,9 +256,30 @@ void CadToolBar::showToolBarSelect()
        showToolBarSelect(NULL, -1);
 }
 
-void CadToolBar::showToolBarSelect(RS_ActionInterface * selectAction, int nextAction)
+void CadToolBar::showToolBarSelect(ActionInterface * selectAction, int nextAction)
 {
        tbSelect->setNextAction(nextAction);
        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;
+}