]> Shamusworld >> Repos - architektonas/blobdiff - src/base/rs_eventhandler.cpp
In the middle of major refactoring...
[architektonas] / src / base / rs_eventhandler.cpp
index 2961ff733d4e2e8b4e902e62462d67c8cc1ab732..3484ca9f159b11e83d4dee41b4a81219706c2c3b 100644 (file)
 
 #include "rs_eventhandler.h"
 
-#include <QtGui>
-#include "rs_actioninterface.h"
+#include "actioninterface.h"
 #include "rs_commandevent.h"
 #include "rs_debug.h"
 #include "rs_dialogfactory.h"
-#include "rs_graphicview.h"
+#include "graphicview.h"
 #include "rs_math.h"
 
 /**
  * Constructor.
  */
-RS_EventHandler::RS_EventHandler(RS_GraphicView * graphicView)
+RS_EventHandler::RS_EventHandler(GraphicView * graphicView)
 {
        this->graphicView = graphicView;
        actionIndex = -1;
@@ -91,7 +90,7 @@ void RS_EventHandler::enter()
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::mousePressEvent(QMouseEvent * e)
 {
@@ -116,7 +115,7 @@ void RS_EventHandler::mousePressEvent(QMouseEvent * e)
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::mouseReleaseEvent(QMouseEvent * e)
 {
@@ -132,7 +131,7 @@ void RS_EventHandler::mouseReleaseEvent(QMouseEvent * e)
        }
        else
        {
-               if (defaultAction != NULL)
+               if (defaultAction)
                        defaultAction->mouseReleaseEvent(e);
                else
                        e->ignore();
@@ -140,11 +139,11 @@ void RS_EventHandler::mouseReleaseEvent(QMouseEvent * e)
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::mouseMoveEvent(QMouseEvent * e)
 {
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
        {
                currentActions[actionIndex]->mouseMoveEvent(e);
@@ -152,7 +151,7 @@ void RS_EventHandler::mouseMoveEvent(QMouseEvent * e)
        }
        else
        {
-               if (defaultAction!=NULL)
+               if (defaultAction)
                {
                        defaultAction->mouseMoveEvent(e);
                        e->accept();
@@ -164,53 +163,53 @@ void RS_EventHandler::mouseMoveEvent(QMouseEvent * e)
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::mouseLeaveEvent()
 {
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
        {
                currentActions[actionIndex]->suspend();
        }
        else
        {
-               if (defaultAction != NULL)
+               if (defaultAction)
                        defaultAction->suspend();
                //RS_DEBUG->print("currently no action defined");
        }
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::mouseEnterEvent()
 {
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
        {
                currentActions[actionIndex]->resume();
        }
        else
        {
-               if (defaultAction != NULL)
+               if (defaultAction)
                        defaultAction->resume();
        }
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::keyPressEvent(QKeyEvent * e)
 {
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
        {
                currentActions[actionIndex]->keyPressEvent(e);
        }
        else
        {
-               if (defaultAction != NULL)
+               if (defaultAction)
                        defaultAction->keyPressEvent(e);
                else
                        e->ignore();
@@ -220,18 +219,18 @@ void RS_EventHandler::keyPressEvent(QKeyEvent * e)
 }
 
 /**
- * Called by RS_GraphicView
+ * Called by GraphicView
  */
 void RS_EventHandler::keyReleaseEvent(QKeyEvent * e)
 {
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
        {
                currentActions[actionIndex]->keyReleaseEvent(e);
        }
        else
        {
-               if (defaultAction != NULL)
+               if (defaultAction)
                        defaultAction->keyReleaseEvent(e);
                else
                        e->ignore();
@@ -326,7 +325,6 @@ void RS_EventHandler::commandEvent(RS_CommandEvent * e)
                                if (actionIndex >= 0 && currentActions[actionIndex] != NULL
                                        && !currentActions[actionIndex]->isFinished())
                                {
-//                                     int commaPos = cmd.find('<');
                                        int commaPos = cmd.indexOf('<');
                                        bool ok1, ok2;
                                        double r = RS_Math::eval(cmd.left(commaPos), &ok1);
@@ -376,7 +374,7 @@ void RS_EventHandler::commandEvent(RS_CommandEvent * e)
                                        }
                                        else
                                        {
-                                               if (RS_DIALOGFACTORY != NULL)
+                                               if (RS_DIALOGFACTORY)
                                                        RS_DIALOGFACTORY->commandMessage("Expression Syntax Error");
                                        }
 
@@ -389,7 +387,7 @@ void RS_EventHandler::commandEvent(RS_CommandEvent * e)
        // send command event directly to current action:
        if (!e->isAccepted())
        {
-               if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+               if (actionIndex >= 0 && currentActions[actionIndex]
                        && !currentActions[actionIndex]->isFinished())
                {
                        currentActions[actionIndex]->commandEvent(e);
@@ -397,7 +395,7 @@ void RS_EventHandler::commandEvent(RS_CommandEvent * e)
                }
                else
                {
-                       if (defaultAction != NULL)
+                       if (defaultAction)
                                defaultAction->commandEvent(e);
                }
        }
@@ -424,9 +422,9 @@ void RS_EventHandler::disableCoordinateInput()
 /**
  * @return Current action.
  */
-RS_ActionInterface * RS_EventHandler::getCurrentAction()
+ActionInterface * RS_EventHandler::getCurrentAction()
 {
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
                return currentActions[actionIndex];
 
@@ -436,7 +434,7 @@ RS_ActionInterface * RS_EventHandler::getCurrentAction()
 /**
  * @return The current default action.
  */
-RS_ActionInterface * RS_EventHandler::getDefaultAction()
+ActionInterface * RS_EventHandler::getDefaultAction()
 {
        return defaultAction;
 }
@@ -444,9 +442,9 @@ RS_ActionInterface * RS_EventHandler::getDefaultAction()
 /**
  * Sets the default action.
  */
-void RS_EventHandler::setDefaultAction(RS_ActionInterface * action)
+void RS_EventHandler::setDefaultAction(ActionInterface * action)
 {
-       if (defaultAction != NULL)
+       if (defaultAction)
        {
                defaultAction->finish();
                delete defaultAction;
@@ -459,18 +457,18 @@ void RS_EventHandler::setDefaultAction(RS_ActionInterface * action)
 /**
  * Sets the current action.
  */
-void RS_EventHandler::setCurrentAction(RS_ActionInterface * action)
+void RS_EventHandler::setCurrentAction(ActionInterface * action)
 {
        RS_DEBUG->print("RS_EventHandler::setCurrentAction");
 
-       if (action == NULL)
+       if (!action)
                return;
 
        // Predecessor of the new action or NULL:
-       RS_ActionInterface * predecessor = NULL;
+       ActionInterface * predecessor = NULL;
 
        // Suspend current action:
-       if (actionIndex >= 0 && currentActions[actionIndex] != NULL
+       if (actionIndex >= 0 && currentActions[actionIndex]
                && !currentActions[actionIndex]->isFinished())
        {
                predecessor = currentActions[actionIndex];
@@ -479,7 +477,7 @@ void RS_EventHandler::setCurrentAction(RS_ActionInterface * action)
        }
        else
        {
-               if (defaultAction != NULL)
+               if (defaultAction)
                {
                        predecessor = defaultAction;
                        predecessor->suspend();
@@ -491,7 +489,7 @@ void RS_EventHandler::setCurrentAction(RS_ActionInterface * action)
        if (actionIndex == RS_MAXACTIONS - 1)
        {
                // delete oldest action if necessary (usually never happens):
-               if (currentActions[0] != NULL)
+               if (currentActions[0])
                {
                        currentActions[0]->finish();
                        delete currentActions[0];
@@ -528,7 +526,7 @@ void RS_EventHandler::setCurrentAction(RS_ActionInterface * action)
 
        RS_DEBUG->print("RS_EventHandler::setCurrentAction: debugging actions");
        debugActions();
-       RS_DEBUG->print("RS_GraphicView::setCurrentAction: OK");
+       RS_DEBUG->print("GraphicView::setCurrentAction: OK");
 }
 
 /**
@@ -539,7 +537,7 @@ void RS_EventHandler::killSelectActions()
 {
        for(int c=0; c<RS_MAXACTIONS; ++c)
        {
-               if (currentActions[c] != NULL)
+               if (currentActions[c])
                {
                        if (currentActions[c]->rtti() == RS2::ActionSelectSingle
                                || currentActions[c]->rtti() == RS2::ActionSelectContour
@@ -571,7 +569,7 @@ void RS_EventHandler::killAllActions()
  */
 bool RS_EventHandler::hasAction()
 {
-       if (actionIndex != -1 || defaultAction != NULL)
+       if (actionIndex != -1 || defaultAction)
                return true;
 
        return false;
@@ -635,14 +633,14 @@ void RS_EventHandler::cleanUp()
        // Resume last used action:
        if (doResume)
        {
-               if (currentActions[resume] != NULL && !currentActions[resume]->isFinished())
+               if (currentActions[resume] && !currentActions[resume]->isFinished())
                {
                        currentActions[resume]->resume();
                        currentActions[resume]->showOptions();
                }
                else
                {
-                       if (defaultAction != NULL)
+                       if (defaultAction)
                        {
                                defaultAction->resume();
                                defaultAction->showOptions();
@@ -658,12 +656,17 @@ void RS_EventHandler::cleanUp()
  */
 void RS_EventHandler::setSnapMode(RS2::SnapMode sm)
 {
+#if 0
        for(int c=0; c<RS_MAXACTIONS; ++c)
-               if (currentActions[c] != NULL)
+               if (currentActions[c])
                        currentActions[c]->setSnapMode(sm);
 
-       if (defaultAction!=NULL)
+       if (defaultAction)
                defaultAction->setSnapMode(sm);
+#else
+#warning "!!! Not sure if this is going to work correctly..."
+       graphicView->snapper.setSnapMode(sm);
+#endif
 }
 
 /**
@@ -671,12 +674,17 @@ void RS_EventHandler::setSnapMode(RS2::SnapMode sm)
  */
 void RS_EventHandler::setSnapRestriction(RS2::SnapRestriction sr)
 {
+#if 0
        for(int c=0; c<RS_MAXACTIONS; ++c)
-               if (currentActions[c] != NULL)
+               if (currentActions[c])
                        currentActions[c]->setSnapRestriction(sr);
 
-       if (defaultAction != NULL)
+       if (defaultAction)
                defaultAction->setSnapRestriction(sr);
+#else
+#warning "!!! Not sure if this is going to work correctly..."
+       graphicView->snapper.setSnapRestriction(sr);
+#endif
 }
 
 void RS_EventHandler::debugActions()
@@ -688,7 +696,7 @@ void RS_EventHandler::debugActions()
                if (c == actionIndex)
                        RS_DEBUG->print("Current");
 
-               if (currentActions[c] != NULL)
+               if (currentActions[c])
                        RS_DEBUG->print("Action %03d: %s [%s]",
                                c, currentActions[c]->getName().toLatin1().data(),
                                currentActions[c]->isFinished() ? "finished" : "active");