]> Shamusworld >> Repos - architektonas/blobdiff - src/drawingview.cpp
Add pen toolbar widget.
[architektonas] / src / drawingview.cpp
index 0ef95dd7edece441097e24590038ed8fe4d550ab..30b159172248d04c0e87e75d6396f1f629bca807 100644 (file)
@@ -311,6 +311,42 @@ void DrawingView::HandleLayerSwap(int layer1, int layer2)
 }
 
 
+void DrawingView::HandlePenWidth(float width)
+{
+       std::vector<void *>::iterator i = select.begin();
+
+       for(; i!=select.end(); i++)
+       {
+               Object * obj = (Object *)(*i);
+               obj->thickness = width;
+       }
+}
+
+
+void DrawingView::HandlePenStyle(int style)
+{
+       std::vector<void *>::iterator i = select.begin();
+
+       for(; i!=select.end(); i++)
+       {
+               Object * obj = (Object *)(*i);
+               obj->style = style;
+       }
+}
+
+
+void DrawingView::HandlePenColor(uint32_t color)
+{
+       std::vector<void *>::iterator i = select.begin();
+
+       for(; i!=select.end(); i++)
+       {
+               Object * obj = (Object *)(*i);
+               obj->color = color;
+       }
+}
+
+
 QPoint DrawingView::GetAdjustedMousePosition(QMouseEvent * event)
 {
        // This is undoing the transform, e.g. going from client coords to local
@@ -833,7 +869,7 @@ void DrawingView::ToolDraw(Painter * painter)
                {
                        if (toolPoint[0] == toolPoint[1])
                                return;
-                       
+
                        Point mirrorPoint = toolPoint[0] + Vector(toolPoint[1], toolPoint[0]);
                        painter->DrawLine(mirrorPoint, toolPoint[1]);
 
@@ -1260,6 +1296,9 @@ void DrawingView::mousePressEvent(QMouseEvent * event)
                        dragged = (Object *)hover[0];
                        draggingObject = true;
 
+                       // Alert the pen widget
+                       emit(ObjectSelected(dragged));
+
                        // See if anything is using just a straight click on a handle
                        if (HandleObjectClicked())
                        {