1 // SALOME SALOMEGUI : implementation of desktop and GUI kernel
3 // Copyright (C) 2003 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.
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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
24 // File : QAD_Settings.h
25 // Author : Nicolas REJNERI
29 #ifndef QAD_SETTINGS_H
30 #define QAD_SETTINGS_H
37 Class Setting wraps a single setting with a name and a value.
44 QAD_Setting() { autoValue=true; }
45 QAD_Setting( QString _name, QString _value, bool _autoValue=true )
46 { name=_name; value=_value; autoValue=_autoValue; }
50 /** Sets the name of this setting. */
51 void setName(QString _name)
54 /** Gets the name of this setting. */
58 /** Sets the value of this setting. */
59 void setValue(QString _value)
62 /** Gets the value of the setting. */
66 /** Sets the auto value flag. */
67 void setAutoValue(bool _av)
70 /** Gets the auto value flag. */
82 class QAD_Settings : public QObject
88 QAD_Settings() { settingList.setAutoDelete(true); }
89 QAD_Settings(QString _sectionName,
90 QChar _nameStarter, QChar _nameStopper,
91 QChar _valueStarter, QChar _valueStopper);
92 QAD_Settings(QString _sectionName,
93 QChar _nameStarter, QChar _separator,
95 QAD_Settings(QChar _nameStopper, QChar _valueStarter,
97 virtual ~QAD_Settings();
99 /** Returns the list of settings as a QList. */
100 QList<QAD_Setting>* getSettingList() { return &settingList; }
102 /** Sets the name of the section where this settings are saved. */
103 virtual void setSectionName(QString name) { sectionName=name; }
105 virtual void clear();
106 virtual void addSetting(QString _name, QString _value, bool _autoValue=true);
107 virtual void addSetting(QString _name, int _value, bool _autoValue=true);
108 virtual void addSetting(QString _name, double _value, bool _autoValue=true);
109 virtual bool removeSettings(QString name);
110 virtual void removeNonAutoSettings();
111 virtual QString getSetting(QString name);
112 virtual QString replace(QString str);
113 virtual bool hasSetting(QString name);
116 /** The list which contains all stored settings. */
117 QList<QAD_Setting> settingList;