X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Document.cxx;h=7d1a12552c9a37fe957777ba17e695a4e2625949;hb=deed826b2d6c39ba2ed410108cdf54d64cded321;hp=da06a2c8ba819b0fb09bcdf9daa06b6cd771fe55;hpb=ac7145bc4d05b5df24b7bb28e968dfdc2930aed6;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Document.cxx b/src/HYDROData/HYDROData_Document.cxx index da06a2c8..7d1a1255 100644 --- a/src/HYDROData/HYDROData_Document.cxx +++ b/src/HYDROData/HYDROData_Document.cxx @@ -37,6 +37,41 @@ Handle(HYDROData_Document) HYDROData_Document::Document(const int theStudyID) return aResult; } +Handle(HYDROData_Document) HYDROData_Document::Document( + const TDF_Label& theObjectLabel ) +{ + Handle(HYDROData_Document) aResDoc; + if ( theObjectLabel.IsNull() ) + return aResDoc; + + Handle(TDocStd_Document) anObjDoc; + try + { + anObjDoc = TDocStd_Document::Get( theObjectLabel ); + } + 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 = @@ -162,6 +197,9 @@ bool HYDROData_Document::DumpToPython( const QString& theFileName ) const aRes = aRes && dumpPartitionToPython( aFile, aTreatedObjects, KIND_IMAGE ); aRes = aRes && dumpPartitionToPython( aFile, aTreatedObjects, KIND_POLYLINE ); aRes = aRes && dumpPartitionToPython( aFile, aTreatedObjects, KIND_BATHYMETRY ); + aRes = aRes && dumpPartitionToPython( aFile, aTreatedObjects, KIND_ALTITUDE ); + aRes = aRes && dumpPartitionToPython( aFile, aTreatedObjects, KIND_IMMERSIBLE_ZONE ); + aRes = aRes && dumpPartitionToPython( aFile, aTreatedObjects, KIND_CALCULATION ); return aRes; } @@ -191,6 +229,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 ); @@ -211,7 +251,7 @@ bool HYDROData_Document::dumpPartitionToPython( QFile& theFile, HYDROData_Iterator anIterator( this, theObjectKind ); for( ; anIterator.More(); anIterator.Next() ) { - Handle(HYDROData_Object) anObject = anIterator.Current(); + Handle(HYDROData_Entity) anObject = anIterator.Current(); if ( anObject.IsNull() ) continue; @@ -313,7 +353,7 @@ void HYDROData_Document::Redo() myTransactionsAfterSave++; } -Handle_HYDROData_Object HYDROData_Document::CreateObject(const ObjectKind theKind) +Handle(HYDROData_Entity) HYDROData_Document::CreateObject(const ObjectKind theKind) { return HYDROData_Iterator::CreateObject(this, theKind); }