]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
BUG 8828: Translate in Locked study V2_2_0_VISU_improvement JFA_MERGE_TO_3_0_0__2005-07-07
authorvsv <vsv@opencascade.com>
Thu, 2 Jun 2005 10:01:09 +0000 (10:01 +0000)
committervsv <vsv@opencascade.com>
Thu, 2 Jun 2005 10:01:09 +0000 (10:01 +0000)
src/VISUGUI/VisuGUI.cxx
src/VISUGUI/VisuGUI_OffsetDlg.cxx
src/VISUGUI/VisuGUI_OffsetDlg.h
src/VISUGUI/VisuGUI_TimeAnimation.cxx

index 8772c164dd2081af57075226bb7c1580d2ede423..7bf12b85ee4165b5cfaadfbb7a408f7be9e29470 100644 (file)
@@ -2960,8 +2960,8 @@ bool VisuGUI::CustomPopup (QAD_Desktop* parent, QPopupMenu* thePopup, const QStr
     }
     else if ( selMode == homoPresentations ) {
       if (isVTKViewer) {
-       if ( !isStudyLocked( GetActiveStudy()->getStudyDocument() ) )
-         thePopup->insertItem("Translate...", visuGUI, SLOT(TranslatePrs()));
+       //      if ( !isStudyLocked( GetActiveStudy()->getStudyDocument() ) )
+       thePopup->insertItem("Translate...", visuGUI, SLOT(TranslatePrs()));
        thePopup->insertItem( "Display", visuGUI, SLOT( DisplayManyPrs() ) );
        thePopup->insertItem( "Erase", visuGUI, SLOT( EraseManyPrs () ) );
        thePopup->insertSeparator();
@@ -3184,8 +3184,8 @@ bool VisuGUI::CustomPopup (QAD_Desktop* parent, QPopupMenu* thePopup, const QStr
            }
 
            if (isVTKViewer) {
-             if ( !isStudyLocked( GetActiveStudy()->getStudyDocument() ) )
-               thePopup->insertItem("Translate...", visuGUI, SLOT(TranslatePrs()));
+             //              if ( !isStudyLocked( GetActiveStudy()->getStudyDocument() ) )
+             thePopup->insertItem("Translate...", visuGUI, SLOT(TranslatePrs()));
               thePopup->insertItem("Clipping planes", visuGUI, SLOT(ClippingPlanes()));
 
              if ( theParent == "Viewer" && 
index 2ffaf7d0c7aefe2027ad117515c00f4ef243c202..4151e7707ca1bb2ef65a2248d937e85e1bf6a2c0 100644 (file)
@@ -63,7 +63,8 @@ VisuGUI_OffsetDlg::VisuGUI_OffsetDlg()
     mySaveChk = new QCheckBox("Save to presentation", this);
     TopLayout->addWidget(mySaveChk);
     mySaveChk->setChecked(true);
-  }
+  } else
+    mySaveChk = 0;
 
   // Common buttons ===========================================================
   QGroupBox* GroupButtons = new QGroupBox( this, "GroupButtons" );
@@ -93,7 +94,7 @@ VisuGUI_OffsetDlg::VisuGUI_OffsetDlg()
   TopLayout->addWidget( GroupButtons );
 
   connect( buttonOk,     SIGNAL( clicked() ),      this, SLOT( accept() ) );
-  connect( buttonApply, SIGNAL( clicked() ),      this, SLOT( updateOffset() ) );
+  connect( buttonApply, SIGNAL( clicked() ),      this, SLOT( onApply() ) );
   connect( buttonCancel, SIGNAL( clicked() ),      this, SLOT( reject() ) );
 
 
@@ -141,7 +142,7 @@ void VisuGUI_OffsetDlg::onReset()
 
 bool VisuGUI_OffsetDlg::isToSave() const
 {
-  if (!VisuGUI::GetActiveStudy()->getStudyDocument()->GetProperties()->IsLocked())
+  if (mySaveChk)
     return mySaveChk->isChecked();
   else
     return false;
@@ -191,3 +192,12 @@ void VisuGUI_OffsetDlg::reject()
   }
   QDialog::reject();
 }
+    
+void VisuGUI_OffsetDlg::onApply()
+{
+  float aOffset[3];
+  getOffset(aOffset);
+  for (int i = 0; i < myPrsList.count(); i++) {
+    updateOffset(myPrsList.at(i), aOffset);
+  }
+}
index 8ab70ca99d728cfbbf175d6788b910a48c91f58a..8772df25ebf1854ad89f8463ed214f58b6770c0d 100644 (file)
@@ -36,9 +36,10 @@ class VisuGUI_OffsetDlg: public QDialog
   protected slots:
     virtual void accept();
     virtual void reject();
-    void updateOffset(VISU::Prs3d_i* thePrs, float* theOffset);
+    void onApply();
 
  private:
+  void updateOffset(VISU::Prs3d_i* thePrs, float* theOffset);
   //  VISU::Prs3d_i*    myPrs;
   QPtrList<VISU::Prs3d_i> myPrsList;
 
index b3845e82e4e4673b7232d52efdf8a5c3398ba9ed..dcd10a4c3fd415003b7799734ba3d344d0a3930f 100644 (file)
@@ -1062,6 +1062,7 @@ void VisuGUI_TimeAnimationDlg::clearView() {
 //************************************************************************
 void VisuGUI_TimeAnimationDlg::closeEvent(QCloseEvent* theEvent) {
   myAnimator->stopAnimation();
+  myAnimator->wait(500);
   if (myAnimator->running() && (! myAnimator->finished())) {
     isClosing = true;
     myEvent = theEvent;