]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
Modified method EnableUseCaseAutoFilling
authorsrn <srn@opencascade.com>
Wed, 13 Dec 2006 11:49:52 +0000 (11:49 +0000)
committersrn <srn@opencascade.com>
Wed, 13 Dec 2006 11:49:52 +0000 (11:49 +0000)
src/SALOMEDS/SALOMEDS_Study_i.cxx
src/SALOMEDS/SALOMEDS_Study_i.hxx

index dcf58e808cb24ef6be687739b31091d850f4c626..7110e933ae69254de3de986bed43f2a4268e6498 100644 (file)
@@ -399,6 +399,7 @@ SALOMEDS::ListOfStrings* SALOMEDS_Study_i::GetFileNames(const char* theContext)
 //============================================================================
 /*! Function : GetComponentNames
  *  Purpose  : method to get all components names
+ *  SRN:       Note, theContext can be any, it doesn't matter
  */
 //============================================================================
 SALOMEDS::ListOfStrings* SALOMEDS_Study_i::GetComponentNames(const char* theContext) 
@@ -407,9 +408,6 @@ SALOMEDS::ListOfStrings* SALOMEDS_Study_i::GetComponentNames(const char* theCont
 
   SALOMEDS::ListOfStrings_var aResult = new SALOMEDS::ListOfStrings;
 
-  if (strlen(theContext) == 0 && !_impl->HasCurrentContext())
-    throw SALOMEDS::Study::StudyInvalidContext();
-
   Handle(TColStd_HSequenceOfAsciiString) aSeq =
     _impl->GetComponentNames(TCollection_AsciiString((char*)theContext));
 
@@ -880,6 +878,27 @@ char* SALOMEDS_Study_i::GetDefaultScript(const char* theModuleName, const char*
   return CORBA::string_dup(script.c_str());
 }
 
+//============================================================================
+/*! Function : EnableUseCaseAutoFilling
+ *  Purpose  : 
+ */
+//============================================================================
+void SALOMEDS_Study_i::EnableUseCaseAutoFilling(CORBA::Boolean isEnabled) 
+{ 
+  _impl->EnableUseCaseAutoFilling(isEnabled); 
+  Handle(SALOMEDSImpl_StudyBuilder) builder = _builder->GetImpl();
+  if(!builder.IsNull()) {
+    if(isEnabled) {
+      builder->SetOnAddSObject(_impl->GetCallback());
+      builder->SetOnRemoveSObject(_impl->GetCallback());
+    }
+    else {
+      builder->SetOnAddSObject(NULL);
+      builder->SetOnRemoveSObject(NULL);
+    }
+  }
+}
+
 //===========================================================================
 //   PRIVATE FUNCTIONS
 //===========================================================================
index e1fdc8656699121befcf66da1b1c29dd1a76f248..95d3b643d8fa9ce4db39c4070861c4fede3bfabc 100644 (file)
@@ -260,7 +260,7 @@ public:
 
   virtual void Close();
 
-  void EnableUseCaseAutoFilling(CORBA::Boolean isEnabled) { _impl->EnableUseCaseAutoFilling(isEnabled); }
+  void EnableUseCaseAutoFilling(CORBA::Boolean isEnabled)
 
   // postponed destroying of CORBA object functionality
   virtual void AddPostponed(const char* theIOR);