#include "painter.h"
//#include "rotateaction.h"
#include "settingsdialog.h"
+#include "structs.h"
//#include "triangulateaction.h"
//#include "trimaction.h"
void ApplicationWindow::closeEvent(QCloseEvent * event)
{
WriteSettings();
- event->accept(); // Use ignore() if can't close for some reason
+ event->accept(); // Use ignore() if can't close for some reason
//Do we have a memory leak here if we don't delete the font in the Object???
}
void ApplicationWindow::FileNew(void)
{
// Should warn the user if drawing hasn't been saved...
-// drawing->document.Clear();
drawing->document.objects.empty();
drawing->update();
documentName.clear();
}
-// We want certain tools to be exclusive, and this approach isn't working correctly...
void ApplicationWindow::DeleteTool(void)
{
// For this tool, we check first to see if anything is selected. If so, we
// delete those and *don't* select the delete tool.
-#if 0
- if (drawing->document.ItemsSelected() > 0)
+ if (drawing->numSelected > 0)
{
- drawing->document.DeleteSelectedItems();
+ drawing->DeleteSelectedItems();
drawing->update();
deleteAct->setChecked(false);
return;
}
-#endif
// Otherwise, toggle the state of the tool
ClearUIToolStatesExcept(deleteAct);
void ApplicationWindow::ClearUIToolStatesExcept(QAction * exception)
{
- if (exception != addArcAct)
- addArcAct->setChecked(false);
-
- if (exception != addCircleAct)
- addCircleAct->setChecked(false);
-
- if (exception != addDimensionAct)
- addDimensionAct->setChecked(false);
-
- if (exception != addLineAct)
- addLineAct->setChecked(false);
-
- if (exception != addPolygonAct)
- addPolygonAct->setChecked(false);
-
- if (exception != addSplineAct)
- addSplineAct->setChecked(false);
+ QAction * actionList[] = {
+ addArcAct, addLineAct, addCircleAct, addDimensionAct, addPolygonAct,
+ addSplineAct, deleteAct, rotateAct, mirrorAct, trimAct, triangulateAct, 0
+ };
- if (exception != deleteAct)
- deleteAct->setChecked(false);
-
- if (exception != rotateAct)
- rotateAct->setChecked(false);
-
- if (exception != mirrorAct)
- mirrorAct->setChecked(false);
-
- if (exception != trimAct)
- trimAct->setChecked(false);
-
- if (exception != triangulateAct)
- triangulateAct->setChecked(false);
+ for(int i=0; actionList[i]!=0; i++)
+ {
+ if (actionList[i] != exception)
+ actionList[i]->setChecked(false);
+ }
}
void ApplicationWindow::SetInternalToolStates(void)
{
- Global::deleteActive = deleteAct->isChecked();
- Global::dimensionActive = addDimensionAct->isChecked();
+// 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
if (drawing->toolAction)
Global::ignoreClicks = true;
+#else
+ if (addLineAct->isChecked())
+ Global::tool = TTLine;
+ else if (addCircleAct->isChecked())
+ Global::tool = TTCircle;
+ else if (addArcAct->isChecked())
+ Global::tool = TTArc;
+ else if (addDimensionAct->isChecked())
+ Global::tool = TTDimension;
+ else if (addSplineAct->isChecked())
+ Global::tool = TTSpline;
+ else if (addPolygonAct->isChecked())
+ Global::tool = TTPolygon;
+ else if (deleteAct->isChecked())
+ Global::tool = TTDelete;
+ else if (mirrorAct->isChecked())
+ Global::tool = TTMirror;
+ else if (rotateAct->isChecked())
+ Global::tool = TTRotate;
+ else if (trimAct->isChecked())
+ Global::tool = TTTrim;
+ else if (triangulateAct->isChecked())
+ Global::tool = TTTriangulate;
+ else
+ Global::tool = TTNone;
#endif
drawing->update();