]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
add zoom action when wheel is spinning
authormpa <mpa@opencascade.com>
Wed, 11 Jun 2014 07:06:57 +0000 (11:06 +0400)
committermpa <mpa@opencascade.com>
Wed, 11 Jun 2014 07:06:57 +0000 (11:06 +0400)
src/DependencyTree/DependencyTree_View.cxx
src/DependencyTree/DependencyTree_View.h

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
index 29d16bae50848f5fa5115e0f1dedd41c15b3fe09..6c606d40118e4bd109d3b5104266fdac830de612 100644 (file)
@@ -54,7 +54,8 @@ public:
   void                    init( GraphicsView_ViewFrame* );
   void                    updateModel( bool = true, bool = true );
 
-  void                    mouseMoveEvent(QMouseEvent *event);
+  void                    mouseMoveEvent(QMouseEvent* event);
+  void                    wheelEvent( QWheelEvent* event );
 
   QString                 getViewName() const;
   int                     getStudyId() const;