Salome HOME
Preferences
[modules/gui.git] / src / SalomeApp / SalomeApp_Preferences.cxx
1 // File:      SalomeApp_Preferences.cxx
2 // Author:    Sergey TELKOV
3
4 #include "SalomeApp_Preferences.h"
5
6 #include <QtxListResourceEdit.h>
7
8 #include <qlayout.h>
9
10 SalomeApp_Preferences::SalomeApp_Preferences( QtxResourceMgr* resMgr, QWidget* parent )
11 : QtxListResourceEdit( resMgr, parent )
12 {
13 }
14
15 SalomeApp_Preferences::~SalomeApp_Preferences()
16 {
17 }
18
19 int SalomeApp_Preferences::addPreference( const QString& label, const int pId, const int type,
20                                           const QString& section, const QString& param )
21 {
22   return addItem( label, pId, type, section, param );
23 }
24
25 int SalomeApp_Preferences::addPreference( const QString& mod, const QString& label, const int pId,
26                                           const int type, const QString& section, const QString& param )
27 {
28   int id = addItem( label, pId, type, section, param );
29   if ( id != -1 && !mod.isEmpty() )
30     myPrefMod.insert( id, mod );
31   return id;
32 }
33
34 QVariant SalomeApp_Preferences::property( const int id, const QString& param ) const
35 {
36   return QtxResourceEdit::property( id, param );
37 }
38
39 void SalomeApp_Preferences::setProperty( const int id, const QString& param, const QVariant& prop )
40 {
41   QtxResourceEdit::setProperty( id, param, prop );
42 }
43
44 bool SalomeApp_Preferences::hasModule( const QString& mod ) const
45 {
46   bool res = false;
47   for ( PrefModuleMap::ConstIterator it = myPrefMod.begin(); it != myPrefMod.end() && !res; ++it )
48     res = it.data() == mod;
49   return res;
50 }
51
52 void SalomeApp_Preferences::onHelp()
53 {
54 }
55
56 void SalomeApp_Preferences::onApply()
57 {
58   store();
59 }
60
61 void SalomeApp_Preferences::changedResources( const QMap<Item*, QString>& map )
62 {
63   for ( QMap<Item*, QString>::ConstIterator it = map.begin(); it != map.end(); ++it )
64   {
65     QString sec, param;
66     it.key()->resource( sec, param );
67     QString mod = module( it.key()->id() );
68     emit preferenceChanged( mod, sec, param );
69   }
70 }
71
72 QString SalomeApp_Preferences::module( const int id ) const
73 {
74   QString mod;
75   if ( myPrefMod.contains( id ) )
76     mod = myPrefMod[id];
77   return mod;
78 }