#include "about.h"
#include "blockwidget.h"
-//#include "dimension.h"
#include "drawingview.h"
-//#include "drawarcaction.h"
-//#include "drawcircleaction.h"
-//#include "drawdimensionaction.h"
-//#include "drawlineaction.h"
-//#include "drawsplineaction.h"
#include "fileio.h"
#include "generaltab.h"
-//#include "geometry.h"
#include "global.h"
#include "layerwidget.h"
-//#include "line.h"
-//#include "mirroraction.h"
#include "painter.h"
-//#include "rotateaction.h"
#include "settingsdialog.h"
#include "structs.h"
-//#include "triangulateaction.h"
-//#include "trimaction.h"
+#include "utils.h"
// Class variables
// delete those and *don't* select the delete tool.
if (drawing->numSelected > 0)
{
- drawing->DeleteSelectedItems();
+// drawing->DeleteSelectedItems();
+ DeleteSelectedObjects(drawing->document.objects);
drawing->update();
deleteAct->setChecked(false);
return;
void ApplicationWindow::RotateTool(void)
{
ClearUIToolStatesExcept(rotateAct);
+
+ // Do tear-down if Rotate tool has been turned off
+ if (!rotateAct->isChecked())
+ drawing->RotateHandler(ToolCleanup, Point(0, 0));
+
SetInternalToolStates();
}
void ApplicationWindow::SetInternalToolStates(void)
{
-// Global::deleteActive = deleteAct->isChecked();
-// Global::dimensionActive = addDimensionAct->isChecked();
-
// We can be sure that if we've come here, then either an active tool is
// being deactivated, or a new tool is being created. In either case, the
// old tool needs to be deleted.
-#if 0
- if (drawing->toolAction)
- {
- delete drawing->toolAction;
- drawing->toolAction = NULL;
- Global::ignoreClicks = false;
- }
+ Global::toolState = TSNone;
- 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);
- drawing->SetToolActive(addSplineAct->isChecked() ? new DrawSplineAction() : NULL);
- drawing->SetToolActive(mirrorAct->isChecked() ? new MirrorAction() : NULL);
- drawing->SetToolActive(rotateAct->isChecked() ? new RotateAction() : NULL);
- drawing->SetToolActive(trimAct->isChecked() ? new TrimAction() : NULL);
- drawing->SetToolActive(triangulateAct->isChecked() ? new TriangulateAction() : NULL);
-
- if (drawing->toolAction)
- Global::ignoreClicks = true;
-#else
if (addLineAct->isChecked())
Global::tool = TTLine;
else if (addCircleAct->isChecked())
Global::tool = TTTriangulate;
else
Global::tool = TTNone;
-#endif
drawing->update();
}
container->state = OSSelected;
statusBar()->showMessage(QString(tr("Grouped %1 objects.")).arg(itemsSelected));
}
+#else
#endif
drawing->update();
}
}
}
+#else
#endif
}