Salome HOME
Updated copyright comment
[modules/gui.git] / src / GLViewer / GLViewer_Viewer.cxx
index 60efe28ee7c06aebd36c69b004b0881f403ea2f8..ac137a2bec3b9c9658348d467f3d5cdfa9583959 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -48,12 +48,12 @@ static QEvent* l_mbPressEvent = 0;
 /*!
     Constructor
 */
-GLViewer_Viewer::GLViewer_Viewer( const QString& title )
+GLViewer_Viewer::GLViewer_Viewer( const QString& /*title*/ )
 : SUIT_ViewModel(),
 mySelector( 0 ),
+mySelMode( NoSelection ),
 mySketcher( 0 ),
-myTransformer( 0 ),
-mySelMode( NoSelection )
+myTransformer( 0 )
 {
 }
 
@@ -333,7 +333,7 @@ bool GLViewer_Viewer::eventFilter( QObject* o, QEvent* e )
 /*!
     Called when smth is selected in this viewer. [ virtual protected slot ]
 */
-void GLViewer_Viewer::onSelectionDone( bool bAdded, SelectionChangeStatus status  )
+void GLViewer_Viewer::onSelectionDone( bool /*bAdded*/, SelectionChangeStatus status  )
 {
     emit selectionChanged( status );
 }
@@ -433,9 +433,9 @@ void GLViewer_Viewer::handleMousePress( QMouseEvent* e )
     if ( e->modifiers() & GLViewer_ViewTransformer::accelKey() )
     {
         Qt::MouseButton bs = e->button();
-        if ( bs == GLViewer_ViewTransformer::zoomButton() )
+        if ( (int)bs == GLViewer_ViewTransformer::zoomButton() ) // todo Qt::MouseButton is unsigned int: comparison of int with uint
             activateTransform( Zoom );
-        else if ( bs == GLViewer_ViewTransformer::panButton() )
+        else if ( (int)bs == GLViewer_ViewTransformer::panButton() ) // todo Qt::MouseButton is unsigned int: comparison of int with uint
             activateTransform( Pan );
     }
     else
@@ -472,7 +472,7 @@ void GLViewer_Viewer::handleMouseMove( QMouseEvent* e )
     }
     /* Try to activate default sketching
     */
-    else if ( e->button() == GLViewer_ViewSketcher::sketchButton() )
+    else if ( (int)e->button() == GLViewer_ViewSketcher::sketchButton() ) // todo Qt::MouseButton is unsigned int: comparison of int with uint
     {
         activateSketching( Rect );
         if ( mySketcher )
@@ -541,8 +541,8 @@ GLViewer_ViewTransformer::GLViewer_ViewTransformer( GLViewer_Viewer* v, int type
 : QObject( 0 ),
 myViewer( v ),
 myType( type ),
-myMajorBtn( Qt::NoButton ),
 myButtonState( 0 ),
+myMajorBtn( Qt::NoButton ),
 myRectBand( 0 )
 {
     if ( myType == GLViewer_Viewer::Pan ||
@@ -654,10 +654,13 @@ bool GLViewer_ViewTransformer::eventFilter( QObject* o, QEvent* e )
             TransformState state = EnTrain;
             QMouseEvent* me = ( QMouseEvent* )e;
 
-            myButtonState = me->modifiers();
+            myButtonState = me->buttons();
             if ( e->type() == QEvent::MouseButtonPress )
                 myButtonState |= me->button();  /* add pressed button */
 
+            if ( e->type() == QEvent::MouseButtonRelease )
+                myButtonState |= me->button();  /* add release button */
+
             int mouseOnlyState = ( myButtonState & ( Qt::LeftButton | Qt::MidButton | Qt::RightButton ) );
             if ( myStart.isNull() )
             {
@@ -666,7 +669,7 @@ bool GLViewer_ViewTransformer::eventFilter( QObject* o, QEvent* e )
                 myMajorBtn = mouseOnlyState;
             }
 
-            if ( e->type() == QEvent::MouseButtonRelease && mouseOnlyState == myMajorBtn )
+            if ( e->type() == QEvent::MouseButtonRelease )
             {
                 state = Fin;
             }
@@ -785,8 +788,8 @@ int GLViewer_ViewSketcher::sketchBtn = Qt::LeftButton;
 GLViewer_ViewSketcher::GLViewer_ViewSketcher( GLViewer_Viewer* viewer, int type )
 : QObject( 0 ),
 myViewer( viewer ),
-myData( 0 ),
 myType( type ),
+myData( 0 ),
 myRectBand( 0 )
 {
     if( !myViewer )
@@ -832,7 +835,7 @@ bool GLViewer_ViewSketcher::eventFilter( QObject* o, QEvent* e )
             SketchState state = EnTrain;
             QMouseEvent* me = (QMouseEvent*)e;
 
-            myButtonState = me->modifiers();
+            myButtonState = me->buttons();
             if ( e->type() == QEvent::MouseButtonPress )
                 myButtonState |= me->button();  /* add pressed button */
 
@@ -885,7 +888,6 @@ void GLViewer_ViewSketcher::onSketch( SketchState state )
 
     if ( state == Fin )
     {
-        QApplication::syncX();  /* force rectangle redrawing */
         myViewer->activateSketching( GLViewer_Viewer::NoSketching );
     }
 }