// 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
+// Portions copyright (C) 2001-2003 RibbonSoft
+// Copyright (C) 2010 Underground Software
+// See the README and GPLv2 files for licensing and warranty information
//
// JLH = James L. Hammons <jlhamm@acm.org>
//
#include "cadtoolbarselect.h"
#include "cadtoolbarsnap.h"
#include "cadtoolbarsplines.h"
-#include "rs.h"
+#include "enums.h"
CadToolBar::CadToolBar(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
QWidget(parent, flags), actionHandler(NULL), currentTb(NULL), tbSplines(NULL),
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()
/**
* @return Pointer to action handler or NULL.
*/
-QG_ActionHandler * CadToolBar::getActionHandler()
+ActionHandler * CadToolBar::getActionHandler()
{
return actionHandler;
}
*
* @param ah Pointer to action handler which will deal with the actions in this tool bar.
*/
-void CadToolBar::createSubToolBars(QG_ActionHandler * ah)
+void CadToolBar::createSubToolBars(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();
}
void CadToolBar::showToolBarPolylines()
{
-//#ifdef RS_PROF
showToolBar(RS2::ToolBarPolylines);
-//#endif
}
void CadToolBar::showToolBarCircles()
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;
+}