]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Issue 32118 (Acheron) - added a flag that controls whether the custom Resizer is...
authorsrn <srn@opencascade.com>
Wed, 13 Feb 2013 13:50:23 +0000 (13:50 +0000)
committersrn <srn@opencascade.com>
Wed, 13 Feb 2013 13:50:23 +0000 (13:50 +0000)
src/Qtx/QtxMainWindow.cxx
src/Qtx/QtxMainWindow.h

index dad786f4aa9a452b1c956e83d96ed9a72324e5b8..7b6ffff04b4b96d766998bafcab3302cdae336c0 100644 (file)
@@ -236,7 +236,8 @@ QtxMainWindow::QtxMainWindow( QWidget* parent, Qt::WindowFlags f )
   myStatusBar( 0 ),
   myOpaque( true ),
   myResizer( 0 ),
-  myMouseMove( 0 )
+  myMouseMove( 0 ),
+  myResizerEnabled( true )
 {
 }
 
@@ -355,6 +356,25 @@ void QtxMainWindow::setOpaqueResize( bool on )
   myOpaque = on;
 }
 
+/*!
+  \brief Returns whether a resizer is enabled or not
+  \return boolean flag
+ */ 
+bool QtxMainWindow::isResizerEnabled() const
+{
+  return myResizerEnabled;
+}
+
+/*!
+  \brief Sets a flag that controls whether a resizer is enabled or not
+  \param on boolean flag
+ */ 
+void QtxMainWindow::setResizerEnabled( bool on )
+{
+  myResizerEnabled = on; 
+}
+   
+
 /*!
   \brief Dump main window geometry to the string.
   \return string represenation of the window geometry
@@ -564,7 +584,10 @@ bool QtxMainWindow::event( QEvent* e )
     QMouseEvent* me = static_cast<QMouseEvent*>( e );
     myResizer->setFinalEvent( new QMouseEvent( me->type(), me->pos(), me->globalPos(),
                                               me->button(), me->buttons(), me->modifiers() ) );
-    myResizer = 0;
+    if(myResizer) {
+      delete myResizer;                                               
+      myResizer = 0;
+    }
     return true;
   }
 
@@ -595,7 +618,14 @@ bool QtxMainWindow::event( QEvent* e )
        }
       if ( status ) {
        QMouseEvent* me = static_cast<QMouseEvent*>( e );
-       myResizer = new Resizer( me->globalPos(), o, this );
+       if(myResizerEnabled)
+         myResizer = new Resizer( me->globalPos(), o, this );
+       else {
+         if(myResizer) {
+           delete myResizer;
+           myResizer = 0;    
+         }
+       }
       }
     }
   }
index d574cf024fcb59fd22aacc08a7e5c930fec0f4e3..8770856f9b985a296249655338872c43a6cd08c4 100644 (file)
@@ -42,6 +42,9 @@ public:
   bool              isOpaqueResize() const;
   void              setOpaqueResize( bool );
 
+  bool              isResizerEnabled() const;
+  void              setResizerEnabled( bool );
+
   bool              isDockableMenuBar() const;
   void              setDockableMenuBar( const bool );
 
@@ -67,6 +70,8 @@ private:
   bool              myOpaque;
   Resizer*          myResizer;
   QMouseEvent*      myMouseMove;
+  
+  bool              myResizerEnabled;
 };
 
 #endif // QTXMAINWINDOW_H