From 02bb602f4be403121153dc5b062614d3dbaf1ea4 Mon Sep 17 00:00:00 2001 From: "David A. Cuadrado" Date: Sat, 3 Nov 2007 12:52:32 -0500 Subject: [PATCH] modify abstracttool iface --- yamf/drawing/abstracttool.cpp | 15 ++++++++++++++- yamf/drawing/abstracttool.h | 11 +++++++---- yamf/drawing/paintarea.cpp | 1 + yamf/drawing/photogram.cpp | 8 ++++---- yamf/tools/brush/brush.cpp | 11 ++++++++--- yamf/tools/brush/brush.h | 6 +++--- yamf/tools/colorpicker/colorpicker.cpp | 8 +++++--- yamf/tools/colorpicker/colorpicker.h | 6 +++--- yamf/tools/fill/fill.cpp | 7 ++++--- yamf/tools/fill/fill.h | 6 +++--- yamf/tools/geometric/geometric.cpp | 9 ++++++--- yamf/tools/geometric/geometric.h | 6 +++--- yamf/tools/itween/itween.cpp | 10 +++++++--- yamf/tools/itween/itween.h | 6 +++--- yamf/tools/polygons/polygons.cpp | 7 ++++--- yamf/tools/polygons/polygons.h | 6 +++--- yamf/tools/polyline/polyline.cpp | 22 ++++++++++++---------- yamf/tools/polyline/polyline.h | 8 ++++---- yamf/tools/selection/contour.cpp | 10 ++++++---- yamf/tools/selection/contour.h | 6 +++--- yamf/tools/selection/select.cpp | 9 ++++++--- yamf/tools/selection/select.h | 6 +++--- yamf/tools/text/text.cpp | 9 ++++++--- yamf/tools/text/text.h | 6 +++--- yamf/tools/view/hand.cpp | 9 ++++----- yamf/tools/view/hand.h | 6 +++--- yamf/tools/view/zoom.cpp | 9 ++++++--- yamf/tools/view/zoom.h | 6 +++--- 28 files changed, 137 insertions(+), 92 deletions(-) diff --git a/yamf/drawing/abstracttool.cpp b/yamf/drawing/abstracttool.cpp index d34ab9e..23ca2e3 100644 --- a/yamf/drawing/abstracttool.cpp +++ b/yamf/drawing/abstracttool.cpp @@ -32,6 +32,8 @@ namespace Drawing { struct AbstractTool::Private { + Private() : paintArea(0) {} + PaintArea *paintArea; }; /** @@ -51,6 +53,17 @@ AbstractTool::~AbstractTool() delete d; } +void AbstractTool::setPaintArea(PaintArea *const paintArea) +{ + d->paintArea = paintArea; +} + +PaintArea *AbstractTool::paintArea() const +{ + return d->paintArea; +} + + /** * @~spanish * Se ejecuta en el momento que se selecciona la herramienta. @@ -72,7 +85,7 @@ void AbstractTool::updatePhotogram(Photogram *photogram) * @~spanish * Se ejecuta en un evento de doble click sobre el area de dibujo. */ -void AbstractTool::doubleClick(const QGraphicsSceneMouseEvent *, PaintArea *const ) +void AbstractTool::doubleClick(const QGraphicsSceneMouseEvent *) { } diff --git a/yamf/drawing/abstracttool.h b/yamf/drawing/abstracttool.h index 878c509..da3320a 100644 --- a/yamf/drawing/abstracttool.h +++ b/yamf/drawing/abstracttool.h @@ -67,16 +67,19 @@ class YAMF_EXPORT AbstractTool : public QObject AbstractTool(QObject * parent = 0); ~AbstractTool(); + void setPaintArea(PaintArea *const d); + PaintArea *paintArea() const; + virtual QString id() const = 0; virtual int type() const = 0; virtual void init(Photogram *photogram); virtual void updatePhotogram(Photogram *photogram); - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea ) = 0; - virtual void doubleClick(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea ); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) = 0; - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) = 0; + virtual void press(const QGraphicsSceneMouseEvent *input) = 0; + virtual void doubleClick(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input) = 0; + virtual void release(const QGraphicsSceneMouseEvent *input) = 0; virtual void photogramChanged(Photogram *const photogram); diff --git a/yamf/drawing/paintarea.cpp b/yamf/drawing/paintarea.cpp index 48e3701..e6c6939 100644 --- a/yamf/drawing/paintarea.cpp +++ b/yamf/drawing/paintarea.cpp @@ -415,6 +415,7 @@ void PaintArea::setTool(AbstractTool *tool ) d->toolsConfigBar->clear(); tool->setupConfigBar(d->toolsConfigBar); + tool->setPaintArea(this); d->photogram->setTool(tool); } diff --git a/yamf/drawing/photogram.cpp b/yamf/drawing/photogram.cpp index c9a036a..a6a1d94 100644 --- a/yamf/drawing/photogram.cpp +++ b/yamf/drawing/photogram.cpp @@ -446,7 +446,7 @@ void Photogram::mousePressEvent(QGraphicsSceneMouseEvent *event) if ( event->buttons() == Qt::LeftButton ) { d->isDrawing = true; - d->tool->press(event, d->paintArea); + d->tool->press(event); } } } @@ -471,7 +471,7 @@ void Photogram::mouseMoved(QGraphicsSceneMouseEvent *event) if (d->tool /*&& d->isDrawing*/ ) { - d->tool->move(event, d->paintArea ); + d->tool->move(event); } } @@ -495,7 +495,7 @@ void Photogram::mouseReleased(QGraphicsSceneMouseEvent *event) if ( d->tool && d->isDrawing ) { - d->tool->release(event, d->paintArea ); + d->tool->release(event); // drawCurrentPhotogram(); FIXME esto borra los nodos } @@ -514,7 +514,7 @@ void Photogram::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) if(d->tool) { - d->tool->doubleClick( event, d->paintArea ); + d->tool->doubleClick( event); } } /** diff --git a/yamf/tools/brush/brush.cpp b/yamf/tools/brush/brush.cpp index 877d7b3..d83b74f 100644 --- a/yamf/tools/brush/brush.cpp +++ b/yamf/tools/brush/brush.cpp @@ -137,8 +137,10 @@ QString Brush::id() const * @~spanish * Función sobrecargada para implementar el trazo de lineas. */ -void Brush::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Brush::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); + d->firstPoint = input->scenePos(); d->path = QPainterPath(); d->path.moveTo(d->firstPoint); @@ -153,8 +155,10 @@ void Brush::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintA * @~spanish * Función sobrecargada para implementar el trazo de lineas. */ -void Brush::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Brush::move(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); + if(input->buttons() == Qt::LeftButton) { QPointF lastPoint = input->scenePos(); @@ -178,8 +182,9 @@ void Brush::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAr * @~spanish * Función sobrecargada para implementar el trazo de lineas. */ -void Brush::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Brush::release(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); BrushManager *brushManager = paintArea->brushManager(); double smoothness = 0.1; diff --git a/yamf/tools/brush/brush.h b/yamf/tools/brush/brush.h index 579cdfa..7f70824 100644 --- a/yamf/tools/brush/brush.h +++ b/yamf/tools/brush/brush.h @@ -59,9 +59,9 @@ class YAMF_EXPORT Brush : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; diff --git a/yamf/tools/colorpicker/colorpicker.cpp b/yamf/tools/colorpicker/colorpicker.cpp index 90f50f8..0db3202 100644 --- a/yamf/tools/colorpicker/colorpicker.cpp +++ b/yamf/tools/colorpicker/colorpicker.cpp @@ -112,8 +112,9 @@ QString ColorPicker::id() const * @~spanish * Función sobrecargada para implementar la selección del color. */ -void ColorPicker::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void ColorPicker::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); QRectF rect = paintArea->photogram()->sceneRect(); d->image = QImage( rect.size().toSize(), QImage::Format_ARGB32_Premultiplied ); d->image.fill(0); @@ -131,8 +132,9 @@ void ColorPicker::press(const QGraphicsSceneMouseEvent *input, PaintArea *const * @~spanish * Función sobrecargada para implementar la selección del color. */ -void ColorPicker::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void ColorPicker::move(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); QRectF rect = paintArea->photogram()->sceneRect(); if(input->buttons() == Qt::LeftButton) { @@ -148,7 +150,7 @@ void ColorPicker::move(const QGraphicsSceneMouseEvent *input, PaintArea *const p * @~spanish * Función sobrecargada para implementar la selección del color. */ -void ColorPicker::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void ColorPicker::release(const QGraphicsSceneMouseEvent *input) { } diff --git a/yamf/tools/colorpicker/colorpicker.h b/yamf/tools/colorpicker/colorpicker.h index ea2ccd7..8bed3c2 100644 --- a/yamf/tools/colorpicker/colorpicker.h +++ b/yamf/tools/colorpicker/colorpicker.h @@ -44,9 +44,9 @@ class ColorPicker : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; diff --git a/yamf/tools/fill/fill.cpp b/yamf/tools/fill/fill.cpp index 31435b6..9ee83e6 100644 --- a/yamf/tools/fill/fill.cpp +++ b/yamf/tools/fill/fill.cpp @@ -109,8 +109,9 @@ QString Fill::id() const return "fill"; } -void Fill::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Fill::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); Photogram *photogram = paintArea->photogram(); if(input->buttons() == Qt::LeftButton) @@ -149,12 +150,12 @@ void Fill::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAr } } -void Fill::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Fill::move(const QGraphicsSceneMouseEvent *input) { } -void Fill::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Fill::release(const QGraphicsSceneMouseEvent *input) { } diff --git a/yamf/tools/fill/fill.h b/yamf/tools/fill/fill.h index 833c6e8..90ea34b 100644 --- a/yamf/tools/fill/fill.h +++ b/yamf/tools/fill/fill.h @@ -52,9 +52,9 @@ class YAMF_EXPORT Fill : public Drawing::AbstractTool void init(Photogram *photogram); - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; int type() const; diff --git a/yamf/tools/geometric/geometric.cpp b/yamf/tools/geometric/geometric.cpp index d448124..8d89bde 100644 --- a/yamf/tools/geometric/geometric.cpp +++ b/yamf/tools/geometric/geometric.cpp @@ -149,8 +149,9 @@ QString Geometric::id() const * @~spanish * Función sobrecargada para implementar la creación de la figura geometrica. */ -void Geometric::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Geometric::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); if(input->buttons() == Qt::LeftButton) { switch(d->shape) @@ -191,8 +192,9 @@ void Geometric::press(const QGraphicsSceneMouseEvent *input, PaintArea *const pa * @~spanish * Función sobrecargada para implementar la creación de la figura geometrica. */ -void Geometric::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Geometric::move(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); if(input->buttons() == Qt::LeftButton) { QRectF rect( d->position, d->item->mapFromScene(input->scenePos())); @@ -225,8 +227,9 @@ void Geometric::move(const QGraphicsSceneMouseEvent *input, PaintArea *const pai * @~spanish * Función sobrecargada para implementar la creación de la figura geometrica. */ -void Geometric::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Geometric::release(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); paintArea->currentFrame()->addItem(d->item); } diff --git a/yamf/tools/geometric/geometric.h b/yamf/tools/geometric/geometric.h index b1085d1..b5035a8 100644 --- a/yamf/tools/geometric/geometric.h +++ b/yamf/tools/geometric/geometric.h @@ -48,9 +48,9 @@ class YAMF_EXPORT Geometric : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; diff --git a/yamf/tools/itween/itween.cpp b/yamf/tools/itween/itween.cpp index dd4c8b2..9d58f91 100644 --- a/yamf/tools/itween/itween.cpp +++ b/yamf/tools/itween/itween.cpp @@ -312,8 +312,10 @@ QString ITween::id() const return "itween"; } -void ITween::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void ITween::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); // FIXME + d->firstPos = input->scenePos(); d->lastPos = input->scenePos(); @@ -442,10 +444,11 @@ void ITween::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paint } } -void ITween::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void ITween::move(const QGraphicsSceneMouseEvent *input) { if( d->target == 0 ) return; + PaintArea *paintArea = this->paintArea(); if(input->buttons() == Qt::LeftButton) { if( d->group.checkedId() == Private::PathMotion ) @@ -459,10 +462,11 @@ void ITween::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintA } } -void ITween::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void ITween::release(const QGraphicsSceneMouseEvent *input) { if( d->target == 0 ) return; + PaintArea *paintArea = this->paintArea(); switch(d->group.checkedId()) { case Private::Transform: diff --git a/yamf/tools/itween/itween.h b/yamf/tools/itween/itween.h index ecbed32..9a9b252 100644 --- a/yamf/tools/itween/itween.h +++ b/yamf/tools/itween/itween.h @@ -52,9 +52,9 @@ class YAMF_EXPORT ITween : public Drawing::AbstractTool void init(Photogram *photogram); - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; int type() const; diff --git a/yamf/tools/polygons/polygons.cpp b/yamf/tools/polygons/polygons.cpp index df95db9..725a80b 100644 --- a/yamf/tools/polygons/polygons.cpp +++ b/yamf/tools/polygons/polygons.cpp @@ -138,8 +138,9 @@ QString Polygons::id() const * @~spanish * Función sobrecargada para implementar la creación de los poligonos. */ -void Polygons::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Polygons::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); if(input->buttons() == Qt::LeftButton) { d->item = new Item::Polygon(d->corners->value()); @@ -156,7 +157,7 @@ void Polygons::press(const QGraphicsSceneMouseEvent *input, PaintArea *const pai * @~spanish * Función sobrecargada para implementar la creación de los poligonos. */ -void Polygons::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Polygons::move(const QGraphicsSceneMouseEvent *input) { if(input->buttons() == Qt::LeftButton) { @@ -168,7 +169,7 @@ void Polygons::move(const QGraphicsSceneMouseEvent *input, PaintArea *const pain * @~spanish * Función sobrecargada para implementar la creación de los poligonos. */ -void Polygons::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Polygons::release(const QGraphicsSceneMouseEvent *input) { } diff --git a/yamf/tools/polygons/polygons.h b/yamf/tools/polygons/polygons.h index b931c09..8f10b0d 100644 --- a/yamf/tools/polygons/polygons.h +++ b/yamf/tools/polygons/polygons.h @@ -54,9 +54,9 @@ class YAMF_EXPORT Polygons: public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; diff --git a/yamf/tools/polyline/polyline.cpp b/yamf/tools/polyline/polyline.cpp index ad2371e..297837c 100644 --- a/yamf/tools/polyline/polyline.cpp +++ b/yamf/tools/polyline/polyline.cpp @@ -141,16 +141,16 @@ QString PolyLine::id() const * @~spanish * Función sobrecargada para implementar la creación de los trazos rectos y curvilíneos. */ -void PolyLine::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void PolyLine::press(const QGraphicsSceneMouseEvent *input) { - d->paintArea = paintArea; - QGraphicsScene *scene = paintArea->scene(); + d->paintArea = this->paintArea(); // FIXME + QGraphicsScene *scene = d->paintArea->scene(); if(scene->items().contains(d->line3)) { scene->removeItem(d->line3); } - BrushManager *brushManager = paintArea->brushManager(); + BrushManager *brushManager = d->paintArea->brushManager(); scene->clearSelection(); @@ -177,7 +177,7 @@ void PolyLine::press(const QGraphicsSceneMouseEvent *input, PaintArea *const pai d->path.cubicTo(d->center, d->center, input->scenePos()); d->editor->save(); d->item->setPath(d->path); - paintArea->brushManager()->map(d->item); + d->paintArea->brushManager()->map(d->item); } else { @@ -185,7 +185,7 @@ void PolyLine::press(const QGraphicsSceneMouseEvent *input, PaintArea *const pai d->path.cubicTo(d->center, d->right, input->scenePos()); d->editor->save(); d->item->setPath(d->path); - paintArea->brushManager()->map(d->item); + d->paintArea->brushManager()->map(d->item); } } @@ -198,8 +198,9 @@ void PolyLine::press(const QGraphicsSceneMouseEvent *input, PaintArea *const pai * @~spanish * Función sobrecargada para implementar la creación de los trazos rectos y curvilíneos. */ -void PolyLine::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void PolyLine::move(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); QGraphicsScene *scene = paintArea->scene(); if(d->item) { @@ -296,9 +297,10 @@ void PolyLine::move(const QGraphicsSceneMouseEvent *input, PaintArea *const pain * @~spanish * Función sobrecargada para implementar la creación de los trazos rectos y curvilíneos. */ -void PolyLine::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void PolyLine::release(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input); + PaintArea *paintArea = this->paintArea(); d->editor->expandAllNodes (); @@ -324,10 +326,10 @@ void PolyLine::release(const QGraphicsSceneMouseEvent *input, PaintArea *const p * Función sobrecargada para implementar la creación de los trazos rectos y curvilíneos. * termina de hacer el trazo. */ -void PolyLine::doubleClick(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void PolyLine::doubleClick(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input); - Q_UNUSED(paintArea); + endItem(); } diff --git a/yamf/tools/polyline/polyline.h b/yamf/tools/polyline/polyline.h index bd1a02e..2a456e1 100644 --- a/yamf/tools/polyline/polyline.h +++ b/yamf/tools/polyline/polyline.h @@ -47,10 +47,10 @@ class YAMF_EXPORT PolyLine : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void doubleClick(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); + virtual void doubleClick(const QGraphicsSceneMouseEvent *input); void keyPressEvent(QKeyEvent *event); virtual DGui::Action *action() const; diff --git a/yamf/tools/selection/contour.cpp b/yamf/tools/selection/contour.cpp index 3014700..bd69d1f 100644 --- a/yamf/tools/selection/contour.cpp +++ b/yamf/tools/selection/contour.cpp @@ -103,9 +103,10 @@ QString Contour::id() const * @~spanish * Función sobrecargada para implementar la edición de nodos. */ -void Contour::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Contour::press(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input); + PaintArea *paintArea = this->paintArea(); aboutToChangePhotogram(paintArea->photogram()); } @@ -113,19 +114,20 @@ void Contour::press(const QGraphicsSceneMouseEvent *input, PaintArea *const pain * @~spanish * Función sobrecargada para implementar la edición de nodos. */ -void Contour::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Contour::move(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input); - Q_UNUSED(paintArea); } /** * @~spanish * Función sobrecargada para implementar la edición de nodos. */ -void Contour::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Contour::release(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input); + PaintArea *paintArea = this->paintArea(); + if(paintArea->scene()->selectedItems().count() > 0) { QList selecteds = paintArea->scene()->selectedItems(); diff --git a/yamf/tools/selection/contour.h b/yamf/tools/selection/contour.h index b421d03..d16cd89 100644 --- a/yamf/tools/selection/contour.h +++ b/yamf/tools/selection/contour.h @@ -46,9 +46,9 @@ class YAMF_EXPORT Contour : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual void keyPressEvent(QKeyEvent *event); virtual void photogramChanged(Photogram *const photogram); diff --git a/yamf/tools/selection/select.cpp b/yamf/tools/selection/select.cpp index 99a7c35..2e7f29b 100644 --- a/yamf/tools/selection/select.cpp +++ b/yamf/tools/selection/select.cpp @@ -96,8 +96,10 @@ QString Select::id() const * @~spanish * Función sobrecargada para implementar la transformación de los objetos graficos. */ -void Select::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Select::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); + paintArea->setDragMode (QGraphicsView::RubberBandDrag); if(d->transformer) { @@ -144,7 +146,7 @@ void Select::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paint * @~spanish * Función sobrecargada para implementar la transformación de los objetos graficos. */ -void Select::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Select::move(const QGraphicsSceneMouseEvent *input) { if(d->transformer) { @@ -170,8 +172,9 @@ void Select::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintA * @~spanish * Función sobrecargada para implementar la transformación de los objetos graficos. */ -void Select::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Select::release(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); QGraphicsScene *scene = paintArea->scene(); if(scene->selectedItems().count() > 0) diff --git a/yamf/tools/selection/select.h b/yamf/tools/selection/select.h index df41133..b965b88 100644 --- a/yamf/tools/selection/select.h +++ b/yamf/tools/selection/select.h @@ -41,9 +41,9 @@ class Select : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual void photogramChanged(Photogram *const photogram); diff --git a/yamf/tools/text/text.cpp b/yamf/tools/text/text.cpp index 5b92c2a..f3f83d3 100644 --- a/yamf/tools/text/text.cpp +++ b/yamf/tools/text/text.cpp @@ -146,8 +146,9 @@ QString Text::id() const * @~spanish * Funci�n sobrecargada para implementar la inserci�n de texto */ -void Text::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Text::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); if(input->buttons() == Qt::LeftButton) { QList items = paintArea->scene()->selectedItems(); @@ -204,7 +205,7 @@ void Text::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAr * @~spanish * Funci�n sobrecargada para implementar la inserci�n de texto */ -void Text::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Text::move(const QGraphicsSceneMouseEvent *input) { if(input->buttons() == Qt::LeftButton) { @@ -227,8 +228,10 @@ void Text::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAre * @~spanish * Funci�n sobrecargada para implementar la inserci�n de texto */ -void Text::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Text::release(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); // FIXME + if(!d->paintArea) { d->paintArea = paintArea; diff --git a/yamf/tools/text/text.h b/yamf/tools/text/text.h index e19fee8..33077a7 100644 --- a/yamf/tools/text/text.h +++ b/yamf/tools/text/text.h @@ -49,9 +49,9 @@ class Text : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; diff --git a/yamf/tools/view/hand.cpp b/yamf/tools/view/hand.cpp index cc07513..0e43a34 100644 --- a/yamf/tools/view/hand.cpp +++ b/yamf/tools/view/hand.cpp @@ -104,9 +104,10 @@ QString Hand::id() const * @~spanish * Función sobrecargada para habilitar la carateristica de la herramieta. */ -void Hand::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Hand::press(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input) + PaintArea *paintArea = this->paintArea(); paintArea->setDragMode(QGraphicsView::ScrollHandDrag); d->paintarea = paintArea; } @@ -115,20 +116,18 @@ void Hand::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAr * @~spanish * Función sobrecargada para habilitar la carateristica de la herramieta. */ -void Hand::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Hand::move(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input) - Q_UNUSED(paintArea); } /** * @~spanish * Función sobrecargada para habilitar la carateristica de la herramieta. */ -void Hand::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Hand::release(const QGraphicsSceneMouseEvent *input) { Q_UNUSED(input) - Q_UNUSED(paintArea); } /** diff --git a/yamf/tools/view/hand.h b/yamf/tools/view/hand.h index 4a123ab..e4c42dc 100644 --- a/yamf/tools/view/hand.h +++ b/yamf/tools/view/hand.h @@ -43,9 +43,9 @@ class Hand : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; int type() const; diff --git a/yamf/tools/view/zoom.cpp b/yamf/tools/view/zoom.cpp index 1c539d9..ef6f8d9 100644 --- a/yamf/tools/view/zoom.cpp +++ b/yamf/tools/view/zoom.cpp @@ -106,8 +106,9 @@ QString Zoom::id() const * @~spanish * Función sobrecargada para habilitar la selección del area para ampliar. */ -void Zoom::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Zoom::press(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); if(!paintArea->scene()->items().contains(d->rect)) { paintArea->scene()->addItem(d->rect); @@ -121,8 +122,9 @@ void Zoom::press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAr * @~spanish * Función sobrecargada para habilitar la selección del area para ampliar. */ -void Zoom::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Zoom::move(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); if ( input->buttons() == Qt::LeftButton ) { paintArea->setDragMode(QGraphicsView::NoDrag); @@ -147,8 +149,9 @@ void Zoom::move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintAre * @~spanish * Función sobrecargada para habilitar para ampliar el area seleccionada. */ -void Zoom::release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea) +void Zoom::release(const QGraphicsSceneMouseEvent *input) { + PaintArea *paintArea = this->paintArea(); QRectF rect = d->rect->rect(); if ( input->button() == Qt::LeftButton ) { diff --git a/yamf/tools/view/zoom.h b/yamf/tools/view/zoom.h index 650a3a3..7352f30 100644 --- a/yamf/tools/view/zoom.h +++ b/yamf/tools/view/zoom.h @@ -47,9 +47,9 @@ class YAMF_EXPORT Zoom : public Drawing::AbstractTool virtual void init(Photogram *photogram); virtual QString id() const; - virtual void press(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void move(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); - virtual void release(const QGraphicsSceneMouseEvent *input, PaintArea *const paintArea); + virtual void press(const QGraphicsSceneMouseEvent *input); + virtual void move(const QGraphicsSceneMouseEvent *input); + virtual void release(const QGraphicsSceneMouseEvent *input); virtual DGui::Action *action() const; int type() const; -- 2.11.4.GIT