X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fapplicationwindow.cpp;h=c51000044ba82085b214772d0c2740d521b5349d;hb=89b8b0c60579d8ef0cf9a13521e7bf7c7864883f;hp=bf181a882d50629fb27c30e079a34c4ba29af86f;hpb=3047a65eb459ddb4a85e1a694aa2b2491437472e;p=architektonas diff --git a/src/applicationwindow.cpp b/src/applicationwindow.cpp index bf181a8..c510000 100644 --- a/src/applicationwindow.cpp +++ b/src/applicationwindow.cpp @@ -31,6 +31,10 @@ #include "about.h" #include "blockwidget.h" #include "drawingview.h" +#include "drawarcaction.h" +#include "drawcircleaction.h" +#include "drawdimensionaction.h" +#include "drawlineaction.h" #include "fileio.h" #include "generaltab.h" #include "layerwidget.h" @@ -384,9 +388,19 @@ void ApplicationWindow::SetInternalToolStates(void) drawing->toolAction = NULL; } +#if 0 drawing->SetAddLineToolActive(addLineAct->isChecked()); drawing->SetAddCircleToolActive(addCircleAct->isChecked()); + drawing->SetAddArcToolActive(addArcAct->isChecked()); drawing->SetAddDimensionToolActive(addDimensionAct->isChecked()); +#else + drawing->SetToolActive(addLineAct->isChecked() ? new DrawLineAction() : NULL); + drawing->SetToolActive(addCircleAct->isChecked() ? new DrawCircleAction() : NULL); + drawing->SetToolActive(addArcAct->isChecked() ? new DrawArcAction() : NULL); + drawing->SetToolActive(addDimensionAct->isChecked() ? new DrawDimensionAction() : NULL); +#endif + + update(); } @@ -578,6 +592,10 @@ void ApplicationWindow::CreateActions(void) groupAct = CreateAction(tr("&Group"), tr("Group"), tr("Group/ungroup selected objects."), QIcon(":/res/group-tool.png"), QKeySequence("g")); connect(groupAct, SIGNAL(triggered()), this, SLOT(HandleGrouping())); + connectAct = CreateAction(tr("&Connect"), tr("Connect"), tr("Connect objects at point."), QIcon(":/res/connect-tool.png"), QKeySequence("c,c")); + + disconnectAct = CreateAction(tr("&Disconnect"), tr("Disconnect"), tr("Disconnect objects joined at point."), QIcon(":/res/disconnect-tool.png"), QKeySequence("d,d")); + //Hm. I think we'll have to have separate logic to do the "Radio Group Toolbar" thing... // Yup, in order to turn them off, we'd have to have an "OFF" toolbar button. Ick. /* QActionGroup * group = new QActionGroup(this); @@ -646,6 +664,8 @@ void ApplicationWindow::CreateMenus(void) menu->addAction(fixAngleAct); menu->addAction(fixLengthAct); menu->addAction(rotateAct); + menu->addAction(connectAct); + menu->addAction(disconnectAct); menu->addSeparator(); menu->addAction(deleteAct); menu->addSeparator(); @@ -687,6 +707,8 @@ void ApplicationWindow::CreateToolbars(void) toolbar->addAction(fixLengthAct); toolbar->addAction(rotateAct); toolbar->addAction(deleteAct); + toolbar->addAction(connectAct); + toolbar->addAction(disconnectAct); toolbar->addSeparator(); toolbar->addAction(addLineAct); toolbar->addAction(addCircleAct);