]> Shamusworld >> Repos - architektonas/blobdiff - src/actions/actiondefault.cpp
Removed useless *Listener class and references.
[architektonas] / src / actions / actiondefault.cpp
index 4385c7c0dd9f775551ff4613dbbe9e612ece7b03..c58d2ba172e2d75ff7cf85a2469a2e501c951f96 100644 (file)
@@ -3,7 +3,9 @@
 // Part of the Architektonas Project
 // Originally part of QCad Community Edition by Andrew Mustun
 // Extensively rewritten and refactored by James L. Hammons
-// (C) 2010 Underground Software
+// Portions copyright (C) 2001-2003 RibbonSoft
+// Copyright (C) 2010 Underground Software
+// See the README and GPLv2 files for licensing and warranty information
 //
 // JLH = James L. Hammons <jlhamm@acm.org>
 //
@@ -31,6 +33,9 @@ ActionDefault::ActionDefault(RS_EntityContainer & container,
        container, graphicView)
 {
        RS_DEBUG->print("ActionDefault::ActionDefault");
+       //hm.
+       graphicView.snapper.SetVisible();
+       graphicView.preview.SetVisible();
        RS_DEBUG->print("ActionDefault::ActionDefault: OK");
 }
 
@@ -49,10 +54,13 @@ void ActionDefault::init(int status /*= 0*/)
 
        ActionInterface::init(status);
        v1 = v2 = Vector(false);
-//     snapMode = RS2::SnapFree;
-//     snapRes = RS2::RestrictNothing;
+       graphicView->snapper.setSnapMode(RS2::SnapFree);
+       graphicView->snapper.setSnapRestriction(RS2::RestrictNothing);
        restrBak = RS2::RestrictNothing;
        RS_DIALOGFACTORY->requestToolBar(RS2::ToolBarMain);
+//hm. Nope.
+//     graphicView->snapper.SetVisible();
+//     graphicView->preview.SetVisible();
 
        RS_DEBUG->print("ActionDefault::init: OK");
 }
@@ -66,15 +74,15 @@ void ActionDefault::keyPressEvent(QKeyEvent * e)
 {
        if (e->key() == Qt::Key_Shift)
        {
-//             restrBak = snapRes;
-//             setSnapRestriction(RS2::RestrictOrthogonal);
+               restrBak = graphicView->snapper.getSnapRestriction();
+               graphicView->snapper.setSnapRestriction(RS2::RestrictOrthogonal);
        }
 }
 
 void ActionDefault::keyReleaseEvent(QKeyEvent * e)
 {
-//     if (e->key() == Qt::Key_Shift)
-//             setSnapRestriction(restrBak);
+       if (e->key() == Qt::Key_Shift)
+               graphicView->snapper.setSnapRestriction(restrBak);
 }
 
 void ActionDefault::mouseMoveEvent(QMouseEvent * e)
@@ -97,8 +105,7 @@ void ActionDefault::mouseMoveEvent(QMouseEvent * e)
 
                        if (ref.valid && graphicView->toGuiDX(dist) < 8)
                        {
-                               RS_DEBUG->print("ActionDefault::mouseMoveEvent: "
-                                       "moving reference point");
+                               RS_DEBUG->print("ActionDefault::mouseMoveEvent: moving reference point");
                                setStatus(MovingRef);
                                v1 = ref;
                                graphicView->moveRelativeZero(v1);
@@ -110,8 +117,7 @@ void ActionDefault::mouseMoveEvent(QMouseEvent * e)
 
                                if (en && en->isSelected())
                                {
-                                       RS_DEBUG->print("ActionDefault::mouseMoveEvent: "
-                                               "moving entity");
+                                       RS_DEBUG->print("ActionDefault::mouseMoveEvent: moving entity");
                                        setStatus(Moving);
                                        v1 = en->getNearestRef(v1);
                                        graphicView->moveRelativeZero(v1);
@@ -127,21 +133,31 @@ void ActionDefault::mouseMoveEvent(QMouseEvent * e)
        case MovingRef:
                v2 = snapPoint(e);
 
-//             deletePreview();
 //             clearPreview();
 //             preview->addSelectionFrom(*container);
 //             preview->moveRef(v1, v2 - v1);
 //             drawPreview();
+               graphicView->preview.clear();
+               graphicView->preview.addSelectionFrom(*container);
+               graphicView->preview.moveRef(v1, v2 -v1);
+               graphicView->snapper.SetVisible();
+               graphicView->preview.SetVisible();
+               graphicView->redraw();
                break;
 
        case Moving:
                v2 = snapPoint(e);
 
-//             deletePreview();
 //             clearPreview();
 //             preview->addSelectionFrom(*container);
 //             preview->move(v2 - v1);
 //             drawPreview();
+               graphicView->preview.clear();
+               graphicView->preview.addSelectionFrom(*container);
+               graphicView->preview.move(v2 -v1);
+               graphicView->snapper.SetVisible();
+               graphicView->preview.SetVisible();
+               graphicView->redraw();
                break;
 
        case SetCorner2:
@@ -149,18 +165,19 @@ void ActionDefault::mouseMoveEvent(QMouseEvent * e)
                {
                        v2 = mouse;
 
-//                     deletePreview();
-//                     clearPreview();
+                       graphicView->preview.clear();
 
-//                     preview->addEntity(new RS_Line(preview,
-//                             RS_LineData(Vector(v1.x, v1.y), Vector(v2.x, v1.y))));
-//                     preview->addEntity(new RS_Line(preview,
-//                             RS_LineData(Vector(v2.x, v1.y), Vector(v2.x, v2.y))));
-//                     preview->addEntity(new RS_Line(preview,
-//                             RS_LineData(Vector(v2.x, v2.y), Vector(v1.x, v2.y))));
-//                     preview->addEntity(new RS_Line(preview,
-//                             RS_LineData(Vector(v1.x, v2.y), Vector(v1.x, v1.y))));
-//                     drawPreview();
+                       graphicView->preview.addEntity(new RS_Line(&(graphicView->preview),
+                               RS_LineData(Vector(v1.x, v1.y), Vector(v2.x, v1.y))));
+                       graphicView->preview.addEntity(new RS_Line(&(graphicView->preview),
+                               RS_LineData(Vector(v2.x, v1.y), Vector(v2.x, v2.y))));
+                       graphicView->preview.addEntity(new RS_Line(&(graphicView->preview),
+                               RS_LineData(Vector(v2.x, v2.y), Vector(v1.x, v2.y))));
+                       graphicView->preview.addEntity(new RS_Line(&(graphicView->preview),
+                               RS_LineData(Vector(v1.x, v2.y), Vector(v1.x, v1.y))));
+
+                       graphicView->preview.SetVisible();
+                       graphicView->redraw();
                }
 
        default:
@@ -253,7 +270,7 @@ void ActionDefault::mouseReleaseEvent(QMouseEvent * e)
                        else
                                setStatus(SetCorner2);
                }
-               break;
+                       break;
 
                case SetCorner2:
                {
@@ -263,6 +280,7 @@ void ActionDefault::mouseReleaseEvent(QMouseEvent * e)
 //                     deleteSnapper();
 //                     deletePreview();
 //                     clearPreview();
+                       graphicView->preview.SetVisible(false);
 
                        bool cross = (v2.y > v1.y);
                        RS_Selection s(*container, graphicView);
@@ -273,9 +291,13 @@ void ActionDefault::mouseReleaseEvent(QMouseEvent * e)
                        setStatus(Neutral);
                        e->accept();
                }
-               break;
+                       break;
 
                default:
+                       // Was either moving entity or point, so clear that shiatsu
+                       graphicView->snapper.SetVisible(false);
+                       graphicView->preview.SetVisible(false);
+                       graphicView->redraw();
                        break;
                }
        }