1 // Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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, or (at your option) any later version.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 // File: LightApp_Preferences.cxx
24 // Author: Sergey TELKOV
26 #include "LightApp_Preferences.h"
29 Constructor.Initialize by resource manager and parent QWidget.
31 LightApp_Preferences::LightApp_Preferences( QtxResourceMgr* resMgr, QWidget* parent )
32 : SUIT_PreferenceMgr( resMgr, parent )
39 LightApp_Preferences::~LightApp_Preferences()
46 int LightApp_Preferences::addPreference( const QString& label, const int pId, const int type,
47 const QString& section, const QString& param )
49 return addItem( label, pId, (SUIT_PreferenceMgr::PrefItemType)type, section, param );
55 int LightApp_Preferences::addPreference( const QString& mod, const QString& label, const int pId,
56 const int type, const QString& section, const QString& param )
58 int id = addItem( label, pId, (SUIT_PreferenceMgr::PrefItemType)type, section, param );
59 if ( id != -1 && !mod.isEmpty() )
60 myPrefMod.insert( id, mod );
65 Checks: is preferences has module with name \a mod.
67 bool LightApp_Preferences::hasModule( const QString& mod ) const
70 for ( PrefModuleMap::ConstIterator it = myPrefMod.begin(); it != myPrefMod.end() && !res; ++it )
71 res = it.value() == mod;
75 void LightApp_Preferences::activateItem( const QString& path )
77 activateItem( QStringList() << path );
80 void LightApp_Preferences::activateItem( const QStringList& path )
82 QtxPreferenceItem* item = root();
83 foreach( QString label, path )
87 item = item->findItem( label, false );
91 item->ensureVisible();
97 void LightApp_Preferences::onHelp()
101 /*!Store preferences on apply.*/
102 void LightApp_Preferences::onApply()
107 /*!Emit preference changed.*/
108 void LightApp_Preferences::changedResources( const ResourceMap& map )
110 bool toRestart = false;
111 for ( ResourceMap::ConstIterator it = map.begin();
112 it != map.end(); ++it )
115 it.key()->resource( sec, param );
116 QString mod = module( it.key()->id() );
117 emit preferenceChanged( mod, sec, param );
118 toRestart = toRestart || it.key()->isRestartRequired();
121 emit restartRequired();
125 /*!Gets module name by \a id, if exist.*/
126 QString LightApp_Preferences::module( const int id ) const
129 if ( myPrefMod.contains( id ) )