Salome HOME
Tests for Bathymetry object.
[modules/hydro.git] / src / HYDROData / HYDROData_Document.cxx
index da06a2c8ba819b0fb09bcdf9daa06b6cd771fe55..a92695f82fd47b95615a1ad4a9c7240badefbb11 100644 (file)
@@ -37,6 +37,41 @@ Handle(HYDROData_Document) HYDROData_Document::Document(const int theStudyID)
   return aResult;
 }
 
+Handle(HYDROData_Document) HYDROData_Document::Document(
+  const Handle(HYDROData_Object)& theObject )
+{
+  Handle(HYDROData_Document) aResDoc;
+  if ( theObject.IsNull() )
+    return aResDoc;
+
+  Handle(TDocStd_Document) anObjDoc;
+  try
+  {
+    anObjDoc = TDocStd_Document::Get( theObject->Label() );
+  }
+  catch( ... )
+  {
+  }
+
+  if ( anObjDoc.IsNull() )
+    return aResDoc;
+
+  HYDROData_Application* anApp = HYDROData_Application::GetApplication();
+
+  DataMapOfStudyIDDocument::Iterator aMapIt( anApp->myDocuments );
+  for ( ; aMapIt.More(); aMapIt.Next() )
+  {
+    Handle(HYDROData_Document) anAppDoc = aMapIt.Value();
+    if ( anAppDoc.IsNull() || anAppDoc->myDoc != anObjDoc )
+      continue;
+
+    aResDoc = anAppDoc;
+    break;
+  }
+
+  return aResDoc;
+}
+
 bool HYDROData_Document::HasDocument(const int theStudyID)
 {
   Handle(HYDROData_Document) aResult = 
@@ -191,6 +226,8 @@ QStringList HYDROData_Document::DumpToPython( MapOfTreatedObjects& theTreatedObj
   QStringList aResScript;
 
   aResScript << QString( "from HYDROData import *" );
+  aResScript << QString( "from PyQt4.QtCore import *" );
+  aResScript << QString( "from PyQt4.QtGui import *" );
   aResScript << QString( "" );
   aResScript << QString( "%1 = HYDROData_Document.Document( %2 );" ).arg( aDocName ).arg( aDocId );