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 =
//! Returns the existing document or creates new if it is not exist
HYDRODATA_EXPORT static Handle(HYDROData_Document) Document(const int theStudyID);
+ //! Returns the document by object
+ HYDRODATA_EXPORT static Handle(HYDROData_Document) Document(
+ const Handle(HYDROData_Object)& theObject );
+
//! Returns true if data model contains document for this study
HYDRODATA_EXPORT static bool HasDocument(const int theStudyID);