]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
fix for Bug GVIEW10318
authorpkv <pkv@opencascade.com>
Tue, 18 Oct 2005 10:27:37 +0000 (10:27 +0000)
committerpkv <pkv@opencascade.com>
Tue, 18 Oct 2005 10:27:37 +0000 (10:27 +0000)
src/OBJECT/VISU_GaussPtsAct.cxx
src/PIPELINE/VISU_ScalarBarCtrl.cxx
src/PIPELINE/VISU_ScalarBarCtrl.hxx

index 0155c28fb3990802dca2a76ed281b1189ba0a93f..cb5470a11aad81a42d0e45c59b6b59a67e715af8 100644 (file)
@@ -360,7 +360,7 @@ VISU_GaussPtsAct
 ::SetVisibility(int theMode)
 {
   Superclass::SetVisibility(theMode);
-  myScalarBarCtrl->SetBarVisibility(theMode && myBarVisibility);
+  myScalarBarCtrl->SetVisibility(theMode);
 }
 
 //----------------------------------------------------------------------------
@@ -369,7 +369,7 @@ VISU_GaussPtsAct
 ::SetBarVisibility(bool theMode)
 {
   myBarVisibility = theMode;
-  myScalarBarCtrl->SetBarVisibility(theMode); 
+  myScalarBarCtrl->SetCtrlVisibility((int)theMode); 
 }
 
 bool
index 4d9c3f00ffd5bdaead1607b647336a0cd47dce37..e200b2ea1926c715f31671f843c116cb2eb9fe65 100644 (file)
@@ -48,7 +48,6 @@ vtkStandardNewMacro(VISU_ScalarBarCtrl);
 //==================================================================
 VISU_ScalarBarCtrl::VISU_ScalarBarCtrl()
 {
-  myBarVisibility=true;
   myDistance=0.02;
   myL=0.8;
   myB=0.15;
@@ -88,6 +87,9 @@ VISU_ScalarBarCtrl::VISU_ScalarBarCtrl()
     myBlack[i]=0;
     myGrey[i]=192;
   }
+  //
+  myCtrlVisibility=1;
+  SetVisibility(1);
 }
 //==================================================================
 // function : ~
@@ -117,20 +119,40 @@ int  VISU_ScalarBarCtrl::GetMode()const
   return myMode;
 }
 //==================================================================
-// function : SetBarVisibility
+// function : SetVisibility
+// purpose  :
+//==================================================================
+void VISU_ScalarBarCtrl::SetVisibility(const int theFlag)
+{
+  int iVisibility=(myCtrlVisibility && theFlag);
+  for (int i=0; i<2; ++i){
+    mySBA[i]->SetVisibility(iVisibility);
+  }
+}
+//==================================================================
+// function : GetVisibility
 // purpose  :
 //==================================================================
-void VISU_ScalarBarCtrl::SetBarVisibility(const bool theFlag)
+int VISU_ScalarBarCtrl::GetVisibility()const
 {
-  myBarVisibility=theFlag;
+  return mySBA[0]->GetVisibility();
 }
 //==================================================================
-// function : GetBarVisibility
+// function : SetCtrlVisibility
 // purpose  :
 //==================================================================
-bool VISU_ScalarBarCtrl::GetBarVisibility()const
+void VISU_ScalarBarCtrl::SetCtrlVisibility(const int theFlag)
 {
-  return myBarVisibility;
+  myCtrlVisibility=theFlag;
+  SetVisibility(1);
+}
+//==================================================================
+// function : GetCtrlVisibility
+// purpose  :
+//==================================================================
+int VISU_ScalarBarCtrl::GetCtrlVisibility()const
+{
+  return myCtrlVisibility;
 }
 //==================================================================
 // function : SetRangeLocal
@@ -383,10 +405,8 @@ bool VISU_ScalarBarCtrl::GetIsMarked()const
 //==================================================================
 void VISU_ScalarBarCtrl::Update()
 {
-  if (!myBarVisibility) {
-    for (int i=0; i<myScalarBarNumberMax; ++i){
-      mySBA[i]->SetVisibility(myBarVisibility);
-    }
+  if (!myCtrlVisibility) {
+    SetVisibility(0);
     return;
   }
   //
@@ -452,7 +472,6 @@ void VISU_ScalarBarCtrl::PrepareTables()
     //
     mySBA[i]->SetMaximumNumberOfColors(myMaximumNumberOfColors); 
     mySBA[i]->SetLookupTable(myXLT[i]);
-    mySBA[i]->SetVisibility(myBarVisibility);
     mySBA[i]->Modified();
   } 
 }
index c5f3e50dc067cc3428da8888b1d4f018e6760b06..dab8250369c500abce79d677cf19c23fa17ecf2d 100644 (file)
@@ -65,8 +65,12 @@ public:
   void RemoveFromRender(vtkRenderer* theRenderer);
   //
   // Visibility
-  void SetBarVisibility(const bool theFlag);
-  bool GetBarVisibility()const;
+  void SetVisibility(const int theFlag);
+  int  GetVisibility()const;
+  //
+  // Visibility
+  void SetCtrlVisibility(const int theFlag);
+  int GetCtrlVisibility()const;
   //
   // Build
   void Update();
@@ -125,7 +129,7 @@ protected:
   float myRangeLocal[2];
   float myRangeGlobal[2];
   bool  myBicolor;
-  bool  myBarVisibility;
+  int   myCtrlVisibility;
   int   myMaximumNumberOfColors;
   unsigned char myBlack[4];
   unsigned char myGrey[4];