1 // File: QtxResourceEdit.h
2 // Author: Sergey TELKOV
4 #ifndef QTXRESOURCEEDIT_H
5 #define QTXRESOURCEEDIT_H
8 #pragma warning( disable:4251 )
20 class QTX_EXPORT QtxResourceEdit
26 QtxResourceEdit( QtxResourceMgr* );
27 virtual ~QtxResourceEdit();
29 QtxResourceMgr* resourceMgr() const;
31 virtual int addItem( const QString& label, const int pId = -1, const int = -1,
32 const QString& section = QString::null,
33 const QString& param = QString::null );
35 QVariant property( const int, const QString& ) const;
36 virtual void setProperty( const int, const QString&, const QVariant& );
38 void resource( const int, QString&, QString& ) const;
41 virtual void retrieve();
43 virtual void update();
45 virtual void toBackup();
46 virtual void fromBackup();
49 Item* item( const int ) const;
50 Item* item( const QString& ) const;
51 Item* item( const QString&, const int ) const;
53 virtual Item* createItem( const QString&, const int ) = 0;
55 void resourceValues( QMap<int, QString>& ) const;
56 void resourceValues( QMap<Item*, QString>& ) const;
58 void setResourceValues( QMap<int, QString>& ) const;
59 void setResourceValues( QMap<Item*, QString>& ) const;
61 void differentValues( const QMap<int, QString>&, const QMap<int, QString>&,
62 QMap<int, QString>&, const bool fromFirst = false ) const;
63 void differentValues( const QMap<Item*, QString>&, const QMap<Item*, QString>&,
64 QMap<Item*, QString>&, const bool fromFirst = false ) const;
66 virtual void changedResources( const QMap<Item*, QString>& );
69 void removeItem( Item* );
70 Item* createItem( const QString&, const int, const int );
73 typedef QMap<int, Item*> ItemMap;
77 QtxResourceMgr* myResMgr;
78 QMap<Item*, QString> myBackup;
80 friend class QtxResourceEdit::Item;
84 Class: QtxResourceEditor::Item
85 Descr: Class for incapsulation of one preference item
88 class QtxResourceEdit::Item
91 Item( QtxResourceEdit*, Item* = 0 );
95 virtual int type() const = 0;
97 Item* parentItem() const;
98 void childItems( QPtrList<Item>& ) const;
100 QString title() const;
101 void resource( QString&, QString& ) const;
103 virtual void setTitle( const QString& );
104 virtual void setResource( const QString&, const QString& );
106 virtual void update();
108 QVariant property( const QString& ) const;
109 virtual void setProperty( const QString&, const QVariant& );
111 virtual void store() = 0;
112 virtual void retrieve() = 0;
114 virtual Item* createItem( const QString&, const int ) = 0;
116 QString resourceValue() const;
117 void setResourceValue( const QString& );
120 QtxResourceMgr* resourceMgr() const;
121 QtxResourceEdit* resourceEdit() const;
123 int getInteger( const int = 0 ) const;
124 double getDouble( const double = 0.0 ) const;
125 bool getBoolean( const bool = false ) const;
126 QColor getColor( const QColor& = QColor() ) const;
127 QFont getFont( const QFont& = QFont() ) const;
128 QString getString( const QString& = QString::null ) const;
130 void setInteger( const int );
131 void setDouble( const double );
132 void setBoolean( const bool );
133 void setColor( const QColor& );
134 void setFont( const QFont& );
135 void setString( const QString& );
137 Item* item( const int ) const;
138 Item* item( const QString& ) const;
139 Item* item( const QString&, const int ) const;
142 typedef QPtrList<Item> ItemList;
143 typedef QPtrListIterator<Item> ItemListIterator;
146 static int generateId();
154 QString myResSection;
155 QString myResParameter;
157 QtxResourceEdit* myEdit;
161 #pragma warning( default:4251 )