]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Improvement of View Name feature
authorouv <ouv@opencascade.com>
Mon, 22 Nov 2010 09:32:13 +0000 (09:32 +0000)
committerouv <ouv@opencascade.com>
Mon, 22 Nov 2010 09:32:13 +0000 (09:32 +0000)
src/GraphicsView/GraphicsView_ViewPort.cxx
src/GraphicsView/GraphicsView_ViewPort.h

index 6559b44a9986f42a98eb425a040468fe3c1e8555..f9ede1288450dbe0b8b5222efacd825c2c32ba88 100644 (file)
@@ -115,6 +115,7 @@ void GraphicsView_ViewPort::destroyCursors()
 //=======================================================================
 GraphicsView_ViewPort::GraphicsView_ViewPort( QWidget* theParent )
 : QGraphicsView( theParent ),
+  myNameLabel( 0 ),
   myForegroundItem( 0 ),
   myIsTransforming( false ),
   myHighlightedObject( 0 ),
@@ -132,14 +133,6 @@ GraphicsView_ViewPort::GraphicsView_ViewPort( QWidget* theParent )
   myScene = new GraphicsView_Scene( this );
   setScene( myScene );
 
-  // view name
-  myNameLabel = new NameLabel( viewport() );
-  myNameLabel->setVisible( false );
-
-  QBoxLayout* aLayout = new QVBoxLayout( viewport() );
-  aLayout->addStretch();
-  aLayout->addWidget( myNameLabel );
-
   // background
   setBackgroundBrush( QBrush( Qt::white ) );
 
@@ -304,21 +297,35 @@ QImage GraphicsView_ViewPort::dumpView( bool theWholeScene )
 }
 
 //================================================================
-// Function : setViewName
+// Function : setViewNameEnabled
 // Purpose  : 
 //================================================================
-void GraphicsView_ViewPort::setViewName( const QString& theName )
+void GraphicsView_ViewPort::setViewNameEnabled( bool theState,
+                                                bool theIsForced )
 {
-  myNameLabel->setText( theName );
+  if( theIsForced && !myNameLabel )
+  {
+    myNameLabel = new NameLabel( viewport() );
+
+    QBoxLayout* aLayout = new QVBoxLayout( viewport() );
+    aLayout->setMargin( 10 );
+    aLayout->setSpacing( 0 );
+    aLayout->addStretch();
+    aLayout->addWidget( myNameLabel );
+  }
+
+  if( myNameLabel )
+    myNameLabel->setVisible( theState );
 }
 
 //================================================================
-// Function : setViewNameEnabled
+// Function : setViewName
 // Purpose  : 
 //================================================================
-void GraphicsView_ViewPort::setViewNameEnabled( bool theState )
+void GraphicsView_ViewPort::setViewName( const QString& theName )
 {
-  myNameLabel->setVisible( theState );
+  if( myNameLabel )
+    myNameLabel->setText( theName );
 }
 
 //================================================================
@@ -447,14 +454,16 @@ void GraphicsView_ViewPort::pan( double theDX, double theDY )
 {
   myIsTransforming = true;
 
-  myNameLabel->setAcceptMoveEvents( false );
+  if( myNameLabel )
+    myNameLabel->setAcceptMoveEvents( false );
 
   if( QScrollBar* aHBar = horizontalScrollBar() )
     aHBar->setValue( aHBar->value() - theDX );
   if( QScrollBar* aVBar = verticalScrollBar() )
     aVBar->setValue( aVBar->value() + theDY );
 
-  myNameLabel->setAcceptMoveEvents( true );
+  if( myNameLabel )
+    myNameLabel->setAcceptMoveEvents( true );
 
   myIsTransforming = false;
 }
index 93ea6f62ca5ad289b957b05e8ec15c8efb3c143c..c5e7be2168f2fa4760268828e7cf56ff20883ed4 100644 (file)
@@ -67,8 +67,8 @@ public:
 
 public:
   // view name
+  void                             setViewNameEnabled( bool theState, bool theIsForced = false );
   void                             setViewName( const QString& theName );
-  void                             setViewNameEnabled( bool theState );
 
   // background / foreground
   QColor                           backgroundColor() const;