]> Shamusworld >> Repos - architektonas/blobdiff - src/forms/cadtoolbarsnap.cpp
Refactored CAD tool bars to use predefined actions.
[architektonas] / src / forms / cadtoolbarsnap.cpp
index 9acce483b7b1008a3b5dc385a53c639e2aad8204..ff7fa81d2bd79cf4e6c6fe5a18d0b7a070bb5b77 100644 (file)
@@ -14,6 +14,7 @@
 
 #include "cadtoolbarsnap.h"
 
+#if 0
 #include "cadtoolbar.h"
 #include "qg_actionhandler.h"
 #include "rs_debug.h"
@@ -291,3 +292,59 @@ 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)
+{
+       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(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(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(CreateToolButton(actionSetRelativeZero), 10, 0, 1, 1);
+       gridLayout->addWidget(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