]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.cpp
Beginning to make the Layer widget functional.
[architektonas] / src / drawingview.cpp
index 838d45aae4f62e59827d082a9c6b34eb8c6eca18..3020368913cfa3b4358df95669b1b65649523d15 100644 (file)
@@ -49,8 +49,8 @@ DrawingView::DrawingView(QWidget * parent/*= NULL*/): QWidget(parent),
        document(Vector(0, 0)),
        /*gridSpacing(12.0),*/ gridPixels(0), collided(false), rotateTool(false),
        rx(150.0), ry(150.0),
-       scrollDrag(false), addLineTool(false), addCircleTool(false),
-       addDimensionTool(false),
+//     scrollDrag(false), addLineTool(false), addCircleTool(false),
+//     addDimensionTool(false),
        toolAction(NULL)
 {
        document.isTopLevelContainer = true;
@@ -266,6 +266,13 @@ void DrawingView::AddNewObjectToDocument(Object * object)
 }
 
 
+void DrawingView::SetCurrentLayer(int layer)
+{
+       Object::currentLayer = layer;
+//printf("DrawingView::CurrentLayer = %i\n", layer);
+}
+
+
 QPoint DrawingView::GetAdjustedMousePosition(QMouseEvent * event)
 {
        // This is undoing the transform, e.g. going from client coords to local coords.
@@ -496,3 +503,27 @@ void DrawingView::mouseReleaseEvent(QMouseEvent * event)
        }
 }
 
+
+void DrawingView::keyPressEvent(QKeyEvent * event)
+{
+       if (toolAction)
+       {
+               bool needUpdate = toolAction->KeyDown(event->key());
+
+               if (needUpdate)
+                       update();
+       }
+}
+
+
+void DrawingView::keyReleaseEvent(QKeyEvent * event)
+{
+       if (toolAction)
+       {
+               bool needUpdate = toolAction->KeyReleased(event->key());
+
+               if (needUpdate)
+                       update();
+       }
+}
+