1 // Copyright (C) 2014-2015 EDF-R&D
2 // This library is free software; you can redistribute it and/or
3 // modify it under the terms of the GNU Lesser General Public
4 // License as published by the Free Software Foundation; either
5 // version 2.1 of the License, or (at your option) any later version.
7 // This library is distributed in the hope that it will be useful,
8 // but WITHOUT ANY WARRANTY; without even the implied warranty of
9 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 // Lesser General Public License for more details.
12 // You should have received a copy of the GNU Lesser General Public
13 // License along with this library; if not, write to the Free Software
14 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #include <HYDROData_Application.h>
21 #include <TColStd_SequenceOfExtendedString.hxx>
23 IMPLEMENT_STANDARD_HANDLE(HYDROData_Application,TDocStd_Application)
24 IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Application,TDocStd_Application)
26 static HYDROData_Application* TheApplication = new HYDROData_Application;
28 //=======================================================================
29 //function : getApplication
31 //=======================================================================
32 HYDROData_Application* HYDROData_Application::GetApplication()
34 return TheApplication;
37 //=======================================================================
38 //function : GetDocument
40 //=======================================================================
41 bool HYDROData_Application::GetDocumentId(const Handle(HYDROData_Document)& theDocument,
44 DataMapOfStudyIDDocument::Iterator aMapit( myDocuments );
45 for ( ; aMapit.More(); aMapit.Next() )
47 if ( aMapit.Value() != theDocument )
50 theDocId = aMapit.Key();
57 //=======================================================================
58 //function : GetDocument
60 //=======================================================================
61 Handle(HYDROData_Document) HYDROData_Application::GetDocument(int theStudyID) const
63 if (myDocuments.IsBound(theStudyID)) {
64 return myDocuments.Find(theStudyID);
66 // document not found => create the new one
67 return Handle(HYDROData_Document)();
70 //=======================================================================
71 //function : OCAFApp_Application
73 //=======================================================================
74 HYDROData_Application::HYDROData_Application ()
76 // store handle to the application to avoid nullification
77 static Handle(HYDROData_Application) TheKeepHandle;
81 //=======================================================================
82 //function : addDocument
84 //=======================================================================
85 void HYDROData_Application::AddDocument(int theStudyID, const Handle(HYDROData_Document)& theDocument)
87 myDocuments.Bind(theStudyID, theDocument);
90 //=======================================================================
91 //function : removeDocument
93 //=======================================================================
94 void HYDROData_Application::RemoveDocument(const Handle(HYDROData_Document)& theDocument)
96 DataMapOfStudyIDDocument::Iterator anIter(myDocuments);
97 for(; anIter.More(); anIter.Next())
98 if (anIter.Value() == theDocument) {
99 myDocuments.UnBind(anIter.Key());
104 //=======================================================================
107 //=======================================================================
108 void HYDROData_Application::Formats(TColStd_SequenceOfExtendedString& theFormats)
110 theFormats.Append(TCollection_ExtendedString ("BinOcaf")); // standard binary schema
113 //=======================================================================
114 //function : ResourcesName
116 //=======================================================================
117 Standard_CString HYDROData_Application::ResourcesName()
119 return Standard_CString("Standard");