#include "cadtoolbarcircles.h"
#include "cadtoolbar.h"
-#include "qg_actionhandler.h"
-#include "rs_debug.h"
+#include "createqtactions.h"
-CadToolBarCircles::CadToolBarCircles(QWidget * parent/*= 0*/, Qt::WindowFlags flags/*= 0*/):
- QWidget(parent, flags), actionHandler(NULL), cadToolBar(NULL)
+CadToolBarCircles::CadToolBarCircles(CadToolBar * parent, Qt::WindowFlags flags/*= 0*/):
+ QWidget((QWidget *)parent, flags), cadToolBar(parent)
{
- ui.setupUi(this);
-}
-
-CadToolBarCircles::~CadToolBarCircles()
-{
-}
-
-void CadToolBarCircles::mousePressEvent(QMouseEvent * e)
-{
- if (e->button() == Qt::RightButton && cadToolBar != NULL)
- {
- cadToolBar->back();
- e->accept();
- }
-}
-
-void CadToolBarCircles::contextMenuEvent(QContextMenuEvent * e)
-{
- e->accept();
-}
+ QGridLayout * gridLayout = new QGridLayout(this);
+ gridLayout->setSpacing(0);
+ gridLayout->setContentsMargins(0, 0, 0, 0);
-void CadToolBarCircles::setCadToolBar(CadToolBar * tb)
-{
- cadToolBar = tb;
+ 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()));
- if (tb != NULL)
- {
- actionHandler = tb->getActionHandler();
- }
- else
- {
- RS_DEBUG->print(RS_Debug::D_ERROR,
- "CadToolBarCircles::setCadToolBar(): No valid toolbar set.");
- }
+ 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);
}
-void CadToolBarCircles::drawCircle()
-{
- if (cadToolBar != NULL && actionHandler != NULL)
- actionHandler->slotDrawCircle();
-}
-
-void CadToolBarCircles::drawCircleCR()
-{
- if (cadToolBar != NULL && actionHandler != NULL)
- actionHandler->slotDrawCircleCR();
-}
-
-void CadToolBarCircles::drawCircle2P()
+CadToolBarCircles::~CadToolBarCircles()
{
- if (cadToolBar != NULL && actionHandler != NULL)
- actionHandler->slotDrawCircle2P();
}
-void CadToolBarCircles::drawCircle3P()
+void CadToolBarCircles::back()
{
- if (cadToolBar != NULL && actionHandler != NULL)
- actionHandler->slotDrawCircle3P();
+ cadToolBar->back();
}
-void CadToolBarCircles::drawCircleParallel()
+QToolButton * CadToolBarCircles::CreateToolButton(QAction * action)
{
- if (cadToolBar != NULL && actionHandler != NULL)
- actionHandler->slotDrawCircleParallel();
-}
+ QToolButton * button = new QToolButton(this);
+ button->setDefaultAction(action);
+ button->setIconSize(QSize(18, 18));
-void CadToolBarCircles::back()
-{
- if (cadToolBar != NULL)
- cadToolBar->back();
+ return button;
}