]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Fix for Bug VISU200820407
authorapo <apo@opencascade.com>
Thu, 25 Sep 2008 09:47:45 +0000 (09:47 +0000)
committerapo <apo@opencascade.com>
Thu, 25 Sep 2008 09:47:45 +0000 (09:47 +0000)
Function ?Sweep? is activated for any presentation only after pushing/unpushing of button ?Cycled?

src/VISUGUI/VisuGUI_Sweep.cxx
src/VISUGUI/VisuGUI_Sweep.h

index db1c841cc331c6eb6cea2395ded99b9d78fd78ed..f447bb5a77bee83f8c9c6f32bb5c60dc74e66578 100644 (file)
@@ -144,8 +144,8 @@ VisuGUI_Sweep::VisuGUI_Sweep( VisuGUI* theModule,
        QToolButton* aStopButton = new QToolButton( aNavigationTab );
        aStopButton->setIcon( aResourceMgr->loadPixmap( "VISU", tr( "ICON_SWEEP_STOP" ) ) );
        aStopButton->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed );
-       aStopButton->setCheckable( true );
-       connect( aStopButton, SIGNAL( toggled( bool ) ), SLOT( onStop( bool ) ) );
+       aStopButton->setCheckable( false );
+       connect( aStopButton, SIGNAL( clicked( ) ), SLOT( onStop( ) ) );
        aHBoxLayout->addWidget( aStopButton );
        
        myIsCycled = new QCheckBox( aNavigationTab );
@@ -278,7 +278,7 @@ void VisuGUI_Sweep::onModuleDeactivated()
 {
   setHidden( true );
 
-  onStop( true );
+  onEnable( true );
 }
 
 
@@ -304,7 +304,7 @@ namespace
     
     ~TEnabler()
     {
-      myWidget->onStop( !myIsValidSelection );
+      myWidget->onEnable( !myIsValidSelection );
     }
   };
 }
@@ -358,8 +358,6 @@ void VisuGUI_Sweep::onValueChanged( int value )
 {
   bool anIsValidSelection = ( myScalarMap && myActor.GetPointer() );
 
-  TEnabler anEnabler( this, anIsValidSelection );
-
   if ( !anIsValidSelection )
     return;
 
@@ -468,7 +466,6 @@ void VisuGUI_Sweep::onLast()
 //----------------------------------------------------------------------------
 void VisuGUI_Sweep::onPlay( bool on )
 {
-  SUIT_ResourceMgr* aResourceMgr = VISU::GetResourceMgr();
   if ( on ) {
     myPlayButton->setIcon( myPausePixmap );
     myTimer->start( int( myStepDelay->value() * 1000 ) );
@@ -491,12 +488,20 @@ void VisuGUI_Sweep::onToggleView( bool on )
 
 
 //----------------------------------------------------------------------------
-void VisuGUI_Sweep::onStop( bool on )
+void VisuGUI_Sweep::onStop()
 {
-  if ( on ) {
-    onPlay( false );
-    mySweepSlider->setValue( mySweepSlider->maximum() );
-  }
+  onPlay( false );
+  mySweepSlider->setValue( mySweepSlider->maximum() );
+
+  if ( myViewWindow )
+    myViewWindow->Repaint();
+}
+
+
+//----------------------------------------------------------------------------
+void VisuGUI_Sweep::onEnable( bool on )
+{
+  onStop();
 
   mySweepSlider->setEnabled( !on );
   
@@ -507,9 +512,6 @@ void VisuGUI_Sweep::onStop( bool on )
   
   myNextButton->setEnabled( !on );
   myLastButton->setEnabled( !on );
-
-  if ( on && myViewWindow )
-    myViewWindow->Repaint();
 }
 
 
index 8062d2693d9b5a8e7765d466384bf4a0d29a8f0d..23fa34027310882e2b1bc02a1539262d1feaabc0 100644 (file)
@@ -86,7 +86,9 @@ public slots:
 
   virtual void     onLast();
 
-  virtual void     onStop( bool );
+  virtual void     onStop();
+
+  virtual void     onEnable( bool );
 
   virtual void     onValueChanged( int );