Salome HOME
This commit was generated by cvs2git to create tag 'V1_4_0b2'.
[modules/kernel.git] / src / SALOMEGUI / QAD_Study.cxx
index 10d381eaa1e460d92934a74d7ea500df169a2f3e..1be9aef0e0b111f80415207363ee22c0fd2162c1 100644 (file)
@@ -60,7 +60,6 @@ using namespace std;
 // QT Include
 #include <qapplication.h>
 
-#define MAX_UNDO 10
 /*!
     Constructor
 */
@@ -75,7 +74,7 @@ myPath( path )
 {
     myStudy = aStudy;
 
-    myTitle = QAD_Tools::getFileNameFromPath( path, false );
+    myTitle = QAD_Tools::getFileNameFromPath( path, true );
 
     myIsActive = false;
     myIsSaved = false;
@@ -94,7 +93,8 @@ myPath( path )
     SCRUTE(_interp);
 
     /* create default selection */
-    Selection( "Salome" );
+    //NRI    Selection( "Salome" );
+    Selection( QAD_Application::getDesktop()->getComponentUserName( "KERNEL" ) );
 
     /* create study frame */
     myResult = true;
@@ -103,7 +103,12 @@ myPath( path )
     /* set default Undo/Redo limit */
     QAD_ASSERT_DEBUG_ONLY( !myStudy->_is_nil() );
     SALOMEDS::StudyBuilder_var SB = myStudy->NewBuilder();
-    SB->UndoLimit( MAX_UNDO );
+
+    int aLocked = myStudy->GetProperties()->IsLocked();
+    if (aLocked) myStudy->GetProperties()->SetLocked(false);
+    SB->UndoLimit(QAD_Desktop::getUndoLevel());
+    if (aLocked) myStudy->GetProperties()->SetLocked(true);
+
 }
 
 /*!
@@ -168,7 +173,10 @@ void QAD_Study::removeStudyFrame( QAD_StudyFrame* sf )
       SALOMEDS::SObject_var fatherSF = myStudy->FindObjectID(sf->entry());
       if (!fatherSF->_is_nil()) {
        SALOMEDS::StudyBuilder_var aStudyBuilder = myStudy->NewBuilder();
+       int aLocked = myStudy->GetProperties()->IsLocked();
+       if (aLocked) myStudy->GetProperties()->SetLocked(false);
        aStudyBuilder->RemoveObject(fatherSF);
+       if (aLocked) myStudy->GetProperties()->SetLocked(true);
       }
       
       updateObjBrowser( true );
@@ -273,7 +281,7 @@ void QAD_Study::setTitle( const QString& path )
 {
   myPath = path;
 
-  QString title = QAD_Tools::getFileNameFromPath( path, false );
+  QString title = QAD_Tools::getFileNameFromPath( path, true );
   QAD_ASSERT_DEBUG_ONLY ( !title.isNull() );
 
   for ( QAD_StudyFrame* sf = myStudyFrames.first(); sf ; sf = myStudyFrames.next() )
@@ -379,6 +387,7 @@ void QAD_Study::onStudyDeactivated()
 */
 void QAD_Study::close()
 {
+  emit closed();
   if ( !myStudy->_is_nil() )
     abortAllOperations();
     /* clear each study frame */