]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Introducing "ImmediateSelectionEnabled" flag. It allows, when the right mouse button...
authorouv <ouv@opencascade.com>
Mon, 6 Dec 2010 09:51:20 +0000 (09:51 +0000)
committerouv <ouv@opencascade.com>
Mon, 6 Dec 2010 09:51:20 +0000 (09:51 +0000)
src/GraphicsView/GraphicsView_Viewer.cxx
src/GraphicsView/GraphicsView_Viewer.h

index 105d7fcb2f898ed9dd44319ce170ead77d09e237..faa4ff7f24e31a64ee21b79be19982602deee507 100644 (file)
@@ -44,7 +44,8 @@ GraphicsView_Viewer::GraphicsView_Viewer( const QString& title )
 : SUIT_ViewModel(),
   mySelector( 0 ),
   myTransformer( 0 ),
-  myIsInitialized( false )
+  myIsInitialized( false ),
+  myIsImmediateSelectionEnabled( false )
 {
 }
 
@@ -178,6 +179,15 @@ void GraphicsView_Viewer::setIsInitialized( bool theFlag )
   myIsInitialized = theFlag;
 }
 
+//================================================================
+// Function : setIsImmediateSelectionEnabled
+// Purpose  : 
+//================================================================
+void GraphicsView_Viewer::setIsImmediateSelectionEnabled( bool theFlag )
+{
+  myIsImmediateSelectionEnabled = theFlag;
+}
+
 //================================================================
 // Function : createTransformer
 // Purpose  : 
@@ -270,6 +280,11 @@ void GraphicsView_Viewer::handleMousePress( QGraphicsSceneMouseEvent* e )
     else if ( bs == GraphicsView_ViewTransformer::panButton() )
       activateTransform( Pan );
   }
+  else if ( e->button() == Qt::RightButton && isImmediateSelectionEnabled() )
+  {
+    bool append = bool ( e->modifiers() & GraphicsView_Selector::getAppendKey() );
+    getSelector()->select( QRectF(), append );
+  }
   else // checking for other operations before selection in release event
     startOperations( e );
 }
index 225a7d708aa0c79471fabe7f45e1655905f42fca..f6d70147ef6a64e442b040bf9f3b744a3f56a69c 100644 (file)
@@ -75,6 +75,9 @@ public:
   bool                          isInitialized() const { return myIsInitialized; }
   void                          setIsInitialized( bool );
 
+  bool                          isImmediateSelectionEnabled() const { return myIsImmediateSelectionEnabled; }
+  void                          setIsImmediateSelectionEnabled( bool );
+
 signals:
   void                          selectionChanged( GV_SelectionChangeStatus );
 
@@ -109,6 +112,7 @@ protected:
   GraphicsView_ViewTransformer* myTransformer;
 
   bool                          myIsInitialized;
+  bool                          myIsImmediateSelectionEnabled;
 };
 
 #endif