}
//=======================================================================
-//function : getDocument
+//function : GetDocument
//purpose :
//=======================================================================
-Handle(HYDROData_Document) HYDROData_Application::GetDocument(int theStudyID)
+bool HYDROData_Application::GetDocumentId(const Handle(HYDROData_Document)& theDocument,
+ int& theDocId) const
+{
+ DataMapOfStudyIDDocument::Iterator aMapit( myDocuments );
+ for ( ; aMapit.More(); aMapit.Next() )
+ {
+ if ( aMapit.Value() != theDocument )
+ continue;
+
+ theDocId = aMapit.Key();
+ return true;
+ }
+
+ return false;
+}
+
+//=======================================================================
+//function : GetDocument
+//purpose :
+//=======================================================================
+Handle(HYDROData_Document) HYDROData_Application::GetDocument(int theStudyID) const
{
if (myDocuments.IsBound(theStudyID)) {
return myDocuments.Find(theStudyID);
//function : addDocument
//purpose :
//=======================================================================
-void HYDROData_Application::AddDocument(int theStudyID, Handle(HYDROData_Document) theDocument)
+void HYDROData_Application::AddDocument(int theStudyID, const Handle(HYDROData_Document)& theDocument)
{
myDocuments.Bind(theStudyID, theDocument);
}
//function : removeDocument
//purpose :
//=======================================================================
-void HYDROData_Application::RemoveDocument(Handle(HYDROData_Document) theDocument)
+void HYDROData_Application::RemoveDocument(const Handle(HYDROData_Document)& theDocument)
{
DataMapOfStudyIDDocument::Iterator anIter(myDocuments);
for(; anIter.More(); anIter.Next())