add support for maptool doubleclick events

git-svn-id: http://svn.osgeo.org/qgis/trunk@8542 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
jef 2008-05-29 15:59:57 +00:00
parent 4a6c91f1c7
commit 7384134467
5 changed files with 26 additions and 1 deletions

View File

@ -33,6 +33,9 @@ class QgsMapTool : QObject
//! Mouse move event for overriding
virtual void canvasMoveEvent(QMouseEvent * e);
//! Mouse double click event for overriding
virtual void canvasDoubleClickEvent(QMouseEvent * e);
//! Mouse press event for overriding
virtual void canvasPressEvent(QMouseEvent * e);

View File

@ -703,6 +703,19 @@ void QgsMapCanvas::keyReleaseEvent(QKeyEvent * e)
} //keyReleaseEvent()
void QgsMapCanvas::mouseDoubleClickEvent(QMouseEvent * e)
{
if(mDrawing)
{
return;
}
// call handler of current map tool
if (mMapTool)
mMapTool->canvasDoubleClickEvent(e);
} // mouseDoubleClickEvent
void QgsMapCanvas::mousePressEvent(QMouseEvent * e)
{
if(mDrawing)
@ -900,7 +913,6 @@ void QgsMapCanvas::zoomWithCenter(int x, int y, bool zoomIn)
refresh();
}
void QgsMapCanvas::mouseMoveEvent(QMouseEvent * e)
{
if(mDrawing)

View File

@ -307,6 +307,9 @@ protected:
//! Overridden key release event
void keyReleaseEvent(QKeyEvent * e);
//! Overridden mouse double click event
void mouseDoubleClickEvent(QMouseEvent * e);
//! Overridden mouse move event
void mouseMoveEvent(QMouseEvent * e);

View File

@ -116,6 +116,10 @@ void QgsMapTool::canvasMoveEvent(QMouseEvent *)
{
}
void QgsMapTool::canvasDoubleClickEvent(QMouseEvent *)
{
}
void QgsMapTool::canvasPressEvent(QMouseEvent *)
{
}

View File

@ -41,6 +41,9 @@ class GUI_EXPORT QgsMapTool : public QObject
//! Mouse move event for overriding. Default implementation does nothing.
virtual void canvasMoveEvent(QMouseEvent * e);
//! Mouse double click event for overriding. Default implementation does nothing.
virtual void canvasDoubleClickEvent(QMouseEvent * e);
//! Mouse press event for overriding. Default implementation does nothing.
virtual void canvasPressEvent(QMouseEvent * e);