Salome HOME
add zoom action when wheel is spinning
[modules/geom.git] / src / DependencyTree / DependencyTree_View.cxx
index 24d9abae30677578f3adeb6b4aadc8d76de47456..884446e6e181f373cc05d0c33c1c17f37d35ab64 100644 (file)
@@ -36,6 +36,7 @@
 // Qt includes
 #include <QApplication>
 #include <QWidgetAction>
+#include <QWheelEvent>
 
 DependencyTree_View::DependencyTree_View( QWidget* theParent )
 :GraphicsView_ViewPort( theParent ),
@@ -156,6 +157,23 @@ void DependencyTree_View::mouseMoveEvent( QMouseEvent *event )
   }
 }
 
+//=================================================================================
+// function : wheelEvent()
+// purpose  : add zoom action when wheel is spinning
+//=================================================================================
+void DependencyTree_View::wheelEvent( QWheelEvent* event )
+{
+  int inc = 10; // zoom coefficient
+  double cx = width() / 2;
+  double cy = height() / 2;
+  if( event->delta() > 0 )
+    zoom( cx, cy, cx + inc, cy + inc );
+  else
+    zoom( cx, cy, cx - inc, cy - inc );
+
+  QGraphicsView::wheelEvent( event );
+}
+
 //=================================================================================
 // function : getViewName()
 // purpose  : return the name of current view