]> SALOME platform Git repositories - modules/hexablock.git/blob - src/HEXABLOCK/Hex.hxx
Salome HOME
da255db341489458e6b9c1ff0d1dbd3e9bdb0fad
[modules/hexablock.git] / src / HEXABLOCK / Hex.hxx
1
2 // class : La clase principale de Hexa
3
4 // Copyright (C) 2009-2012  CEA/DEN, EDF R&D
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ 
21 // or email : webmaster.salome@opencascade.com
22 //
23
24 #ifndef __HEX_H
25 #define __HEX_H
26
27 #include "hexa_base.hxx"
28
29 BEGIN_NAMESPACE_HEXA
30
31 class Hex
32 {
33 public:
34    static Hex* getInstance ();
35
36    int       countDocument ();
37    Document* getDocument (int nro);
38    void      removeDocument (Document* doc);
39
40    Document* addDocument  (cpchar name="default");
41    Document* loadDocument (cpchar name);
42    Document* findDocument (cpchar name);
43    Document* findDocument (const string& name) 
44              { return findDocument (name.c_str()) ; }
45
46    int loadAllDocs (cpchar flow);
47    int saveAllDocs (cpchar filename);
48    void makeName   (cpchar radical, string& name);
49
50    void lockDump();
51    void restoreDump();
52      
53 // private:
54              //  Constructeur + destructeur
55     Hex ();
56    ~Hex ();
57
58 private:
59    static Hex* first_instance;
60    vector <Document*> liste_documents;
61    Globale*    glob;
62 };
63
64 END_NAMESPACE_HEXA
65 #endif