X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Application.cxx;h=04a0e18b9c85ca06c86a8a33d71e4acc2f9d1ba2;hb=3ad1721baafb8864b968fe6ef6ab68ecf49a669e;hp=3c03259b597c8cadfde7756745c6c8e746c0e42b;hpb=5e350d1b82873d4a8b4844d4026221635ebedf10;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Application.cxx b/src/HYDROData/HYDROData_Application.cxx index 3c03259b..04a0e18b 100644 --- a/src/HYDROData/HYDROData_Application.cxx +++ b/src/HYDROData/HYDROData_Application.cxx @@ -1,8 +1,25 @@ +// Copyright (C) 2014-2015 EDF-R&D +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + #include #include -IMPLEMENT_STANDARD_HANDLE(HYDROData_Application,TDocStd_Application) IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Application,TDocStd_Application) static HYDROData_Application* TheApplication = new HYDROData_Application; @@ -17,10 +34,30 @@ HYDROData_Application* HYDROData_Application::GetApplication() } //======================================================================= -//function : getDocument +//function : GetDocument +//purpose : +//======================================================================= +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) +Handle(HYDROData_Document) HYDROData_Application::GetDocument(int theStudyID) const { if (myDocuments.IsBound(theStudyID)) { return myDocuments.Find(theStudyID); @@ -44,7 +81,7 @@ HYDROData_Application::HYDROData_Application () //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); } @@ -53,7 +90,7 @@ void HYDROData_Application::AddDocument(int theStudyID, Handle(HYDROData_Documen //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())