]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
1) GLViewer_ViewPort2d::turnGrid() returns boolean value
authorouv <ouv@opencascade.com>
Mon, 23 Aug 2010 11:22:03 +0000 (11:22 +0000)
committerouv <ouv@opencascade.com>
Mon, 23 Aug 2010 11:22:03 +0000 (11:22 +0000)
2) additional check in GLViewer_Widget::resizeGL()

src/GLViewer/GLViewer_ViewPort2d.cxx
src/GLViewer/GLViewer_ViewPort2d.h
src/GLViewer/GLViewer_Widget.cxx

index 855c3ccc727957d2d604a3bbe02f42e08d4b2880..3b18e54b6f407966029beb1edfeee8310af4b3c6 100644 (file)
@@ -470,17 +470,22 @@ void GLViewer_ViewPort2d::turnCompass( GLboolean on )
 /*!
   Creates or deletes grid
   \param on - if it is true, then to create
+  \return true if the grid has been just created
 */
-void GLViewer_ViewPort2d::turnGrid( GLboolean on )
+bool GLViewer_ViewPort2d::turnGrid( GLboolean on )
 {
+    bool aResult = false;
     if( on )
     {
         if( !myGrid )
+        {
             myGrid = new GLViewer_Grid( 2*WIDTH, 2*HEIGHT,
                                         2*WIDTH, 2*HEIGHT,
                                         GRID_XSIZE, GRID_YSIZE,
                                         myXPan, myYPan,
                                         myXScale, myYScale );
+            aResult = true;
+        }
         myGrid->setEnabled( GL_TRUE );
     }
     else
@@ -488,6 +493,7 @@ void GLViewer_ViewPort2d::turnGrid( GLboolean on )
         if( myGrid )
             myGrid->setEnabled( GL_FALSE );
     }
+    return aResult;
 }
 
 /*!
index 8d9419ae1fa386b74b23c4c278f579a5940596fd..cb5bfc7a3d7ee3a4273f328f263ba6f471d07a80 100644 (file)
@@ -73,7 +73,7 @@ public:
   ~GLViewer_ViewPort2d();
 
   //! On/off rectangular grid
-  void                   turnGrid( GLboolean on );
+  bool                   turnGrid( GLboolean on );
   //! Returns rectangular grid
   GLViewer_Grid*         getGrid() const { return myGrid; }
   //! Returns grid color
index e1de5e4c3150c901bc59fe210811c125c637c9d9..1322ff49dd886a484ba7680f6a579c66ec88fe8b 100644 (file)
@@ -340,14 +340,17 @@ void GLViewer_Widget::paintGL()
 */
 void GLViewer_Widget::resizeGL( int w, int h )
 {
-
   if( h < 1 ) h = 1;
   if( w < 1 ) w = 1;
   glViewport( 0, 0, w, h);
 
   myViewPort->initResize( w, h );
 
-  if( myStart )
+  // check if the widget has not been resized yet
+  // (values 100 and 30 of width and height are default initial)
+  bool anIsUnitializedWidget = ( w == 100 && h == 30 );
+
+  if( myStart && !anIsUnitializedWidget )
   {
     myWidth = w;
     myHeight = h;