Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/kernel.git] / src / SALOMEGUI / QAD_ResourceMgr.h
1 //  File      : QAD_ResourceMgr.cxx
2 //  Created   : UI team, 22.10.00
3 //  Descr     : ResourceMgr QAD-based application
4 //  Author    : UI team
5 //  Project   : SALOME
6 //  Module    : SALOMEGUI
7 //  Copyright : Open CASCADE
8 //  $Header$
9
10
11 #ifndef QAD_RESOURCEMGR_H
12 #define QAD_RESOURCEMGR_H
13
14 #include <qdict.h>
15 #include <qpixmap.h>
16 #include <qcstring.h>
17 #include <qasciidict.h>
18 #include <qtranslator.h>
19
20 #include "QAD.h"
21 class QAD_EXPORT QAD_ResourceMgr : public QObject
22 {
23     Q_OBJECT
24
25     typedef QDict<QString>  StringDict;
26     class ResourceSettings 
27     {
28         StringDict      myConfig;
29      public:
30          ResourceSettings() : myConfig( 10, false ) 
31             { myConfig.setAutoDelete( true ); }
32          ~ResourceSettings() 
33             { myConfig.clear(); }
34
35         StringDict& config() { return myConfig; }
36         bool        load( const QString& filename );        
37     };
38
39 public:
40     QAD_ResourceMgr();
41     ~QAD_ResourceMgr();
42
43 public:
44     bool                    loadResources( const char* resname, QString& msg );    
45     QPixmap                 loadPixmap( const char* resname,
46                                         const QString& id ) const;  
47     bool                    loadDoc( const char* resname, 
48                                      const QString& id ) const;
49     QString                 language( const char* prefix ) const;
50     QString                 resources( const char* prefix ) const;
51
52     QString                 findFile(const QString& filename, const char* prefix ) const;
53     QString                 getFile( const QString& filename, const char* prefix ) const;
54
55     bool                    removeResources( const char* resname );
56
57 private:
58     QString                 path( const QString& filename, 
59                                   const char* resname, 
60                                   const char* key ) const;
61     QString                 collectDirs( const QString& prefix ) const;
62
63 private:
64     QAsciiDict<ResourceSettings> myRes;     /* prefix <-> resources  */         
65 };
66
67 #endif
68