[QGIS Commit] r8542 - in trunk/qgis: python/gui src/gui

svn_qgis at osgeo.org svn_qgis at osgeo.org
Thu May 29 11:59:57 EDT 2008


Author: jef
Date: 2008-05-29 11:59:57 -0400 (Thu, 29 May 2008)
New Revision: 8542

Modified:
   trunk/qgis/python/gui/qgsmaptool.sip
   trunk/qgis/src/gui/qgsmapcanvas.cpp
   trunk/qgis/src/gui/qgsmapcanvas.h
   trunk/qgis/src/gui/qgsmaptool.cpp
   trunk/qgis/src/gui/qgsmaptool.h
Log:
add support for maptool doubleclick events

Modified: trunk/qgis/python/gui/qgsmaptool.sip
===================================================================
--- trunk/qgis/python/gui/qgsmaptool.sip	2008-05-28 23:00:37 UTC (rev 8541)
+++ trunk/qgis/python/gui/qgsmaptool.sip	2008-05-29 15:59:57 UTC (rev 8542)
@@ -33,6 +33,9 @@
     //! 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);
 

Modified: trunk/qgis/src/gui/qgsmapcanvas.cpp
===================================================================
--- trunk/qgis/src/gui/qgsmapcanvas.cpp	2008-05-28 23:00:37 UTC (rev 8541)
+++ trunk/qgis/src/gui/qgsmapcanvas.cpp	2008-05-29 15:59:57 UTC (rev 8542)
@@ -703,6 +703,19 @@
 } //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 @@
   refresh();
 }
 
-
 void QgsMapCanvas::mouseMoveEvent(QMouseEvent * e)
 {
   if(mDrawing)

Modified: trunk/qgis/src/gui/qgsmapcanvas.h
===================================================================
--- trunk/qgis/src/gui/qgsmapcanvas.h	2008-05-28 23:00:37 UTC (rev 8541)
+++ trunk/qgis/src/gui/qgsmapcanvas.h	2008-05-29 15:59:57 UTC (rev 8542)
@@ -307,6 +307,9 @@
     //! 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);
 

Modified: trunk/qgis/src/gui/qgsmaptool.cpp
===================================================================
--- trunk/qgis/src/gui/qgsmaptool.cpp	2008-05-28 23:00:37 UTC (rev 8541)
+++ trunk/qgis/src/gui/qgsmaptool.cpp	2008-05-29 15:59:57 UTC (rev 8542)
@@ -116,6 +116,10 @@
 {
 }
 
+void QgsMapTool::canvasDoubleClickEvent(QMouseEvent *)
+{
+}
+
 void QgsMapTool::canvasPressEvent(QMouseEvent *)
 {
 }

Modified: trunk/qgis/src/gui/qgsmaptool.h
===================================================================
--- trunk/qgis/src/gui/qgsmaptool.h	2008-05-28 23:00:37 UTC (rev 8541)
+++ trunk/qgis/src/gui/qgsmaptool.h	2008-05-29 15:59:57 UTC (rev 8542)
@@ -41,6 +41,9 @@
     //! 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);
 



More information about the QGIS-commit mailing list