Salome HOME
This commit was generated by cvs2git to track changes on a CVS vendor
[modules/kernel.git] / src / SALOMEGUI / QAD_Settings.h
1 //  File      : QAD_Settings.h
2 //  Created   : Tue Sep 04 09:30:33 2001
3 //  Author    : Nicolas REJNERI
4 //  Project   : SALOME
5 //  Module    : SALOMEGUI
6 //  Copyright : Open CASCADE
7 //  $Header$
8
9 #ifndef QAD_SETTINGS_H
10 #define QAD_SETTINGS_H
11
12 #include <qlist.h>
13 #include <qstring.h>
14 #include <qobject.h>
15
16 /*!
17    Class Setting wraps a single setting with a name and a value.
18 */
19 class QAD_Setting
20 {
21
22 public:
23   /** Constructor. */
24   QAD_Setting() { autoValue=true; }
25   QAD_Setting( QString _name, QString _value, bool _autoValue=true )
26     { name=_name; value=_value; autoValue=_autoValue; }
27
28   ~QAD_Setting() {}
29   
30   /** Sets the name of this setting. */
31   void setName(QString _name)
32     { name=_name; }
33
34   /** Gets the name of this setting. */
35   QString getName()
36     { return name; }
37
38   /** Sets the value of this setting. */
39   void setValue(QString _value)
40     { value=_value; }
41
42   /** Gets the value of the setting. */
43   QString getValue()
44     { return value; }
45
46   /** Sets the auto value flag. */
47   void setAutoValue(bool _av)
48     { autoValue=_av; }
49
50   /** Gets the auto value flag. */
51   bool isAutoValue()
52     { return autoValue; }
53   
54 private:
55   QString name;
56   QString value;
57   bool autoValue;
58 };
59
60
61
62 class QAD_Settings : public QObject
63 {
64   Q_OBJECT
65
66 public:
67   /** Constructor. */
68   QAD_Settings() { settingList.setAutoDelete(true); }
69   QAD_Settings(QString _sectionName,
70                QChar _nameStarter, QChar _nameStopper,
71                QChar _valueStarter, QChar _valueStopper);
72   QAD_Settings(QString _sectionName,
73                QChar _nameStarter, QChar _separator,
74                QChar _valueStopper);
75   QAD_Settings(QChar _nameStopper, QChar _valueStarter,
76                QChar _valueStopper);
77   virtual ~QAD_Settings();
78
79   /** Returns the list of settings as a QList. */
80   QList<QAD_Setting>* getSettingList() { return &settingList; }
81
82   /** Sets the name of the section where this settings are saved. */
83   virtual void    setSectionName(QString name) { sectionName=name; }
84
85   virtual void    clear();
86   virtual void    addSetting(QString _name, QString _value, bool _autoValue=true);
87   virtual void    addSetting(QString _name, int _value, bool _autoValue=true);
88   virtual void    addSetting(QString _name, double _value, bool _autoValue=true);
89   virtual bool    removeSettings(QString name);
90   virtual void    removeNonAutoSettings();
91   virtual QString getSetting(QString name);
92   virtual QString replace(QString str);
93   virtual bool    hasSetting(QString name);
94
95 protected:
96   /** The list which contains all stored settings. */
97   QList<QAD_Setting> settingList;
98
99 private:
100   QString sectionName;
101   QChar nameStarter;
102   QChar nameStopper;
103   QChar valueStarter;
104   QChar valueStopper;
105
106 };
107
108 #endif
109
110
111
112
113