1 // File: QtxListResourceEdit.h
2 // Author: Sergey TELKOV
4 #ifndef QTXLISTRESOURCEEDIT_H
5 #define QTXLISTRESOURCEEDIT_H
7 #include "QtxResourceEdit.h"
12 #include <qgroupbox.h>
25 class QtxDirListEditor;
28 Class: QtxListResourceEdit
29 Descr: GUI implementation of QtxResourceEdit - manager of resources
32 class QTX_EXPORT QtxListResourceEdit : public QFrame, public QtxResourceEdit
49 class IntegerSpinItem;
50 class IntegerEditItem;
54 enum { Space, Bool, Color, String, Selector, DblSpin, IntSpin, Double, Integer, GroupBox, Font, DirList, User };
57 QtxListResourceEdit( QtxResourceMgr*, QWidget* = 0 );
58 virtual ~QtxListResourceEdit();
60 virtual void setItemProperty( const int, const QString&, const QVariant& );
63 void resourceChanged( int );
64 void resourceChanged( QString&, QString& );
65 void resourcesChanged( const QMap<int, QString>& );
68 void onSelectionChanged();
71 virtual void itemAdded( Item* );
72 virtual Item* createItem( const QString&, const int );
73 virtual void changedResources( const QMap<Item*, QString>& );
81 QWidgetStack* myStack;
85 Class: QtxListResourceEdit::Category
86 Descr: GUI implementation of 'Category' frame
89 class QtxListResourceEdit::Category : public QFrame, public Item
92 Category( QtxListResourceEdit*, QWidget* = 0 );
95 virtual bool isEmpty() const;
97 virtual int type() const;
99 virtual void retrieve();
101 virtual QVariant property( const QString& ) const;
102 virtual void setProperty( const QString&, const QVariant& );
105 virtual Item* createItem( const QString&, const int );
116 Class: QtxListResourceEdit::Tab
117 Descr: GUI implementation of resources tab.
120 class QtxListResourceEdit::Tab : public QFrame, public Item
123 Tab( QtxResourceEdit*, Item*, QWidget* = 0 );
126 virtual int type() const;
127 virtual void store();
128 virtual void retrieve();
131 virtual void polish();
134 virtual Item* createItem( const QString&, const int );
140 QWidget* myMainFrame;
144 Class: QtxListResourceEdit::Group
145 Descr: GUI implementation of resources group.
148 class QtxListResourceEdit::Group : public QGroupBox, public Item
151 Group( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
154 virtual int type() const;
155 virtual void store();
156 virtual void retrieve();
158 virtual QVariant property( const QString& ) const;
159 virtual void setProperty( const QString&, const QVariant& );
161 virtual void setTitle( const QString& );
164 virtual Item* createItem( const QString&, const int );
168 Class: QtxListResourceEdit::PrefItem
169 Descr: Base class for preferences items.
172 class QtxListResourceEdit::PrefItem : public QHBox, public Item
175 PrefItem( const int, QtxResourceEdit*, Item* = 0, QWidget* = 0 );
178 virtual int type() const;
181 virtual Item* createItem( const QString&, const int );
188 Class: QtxListResourceEdit::Spacer
189 Descr: GUI implementation of resources spacer.
192 class QtxListResourceEdit::Spacer : public PrefItem
195 Spacer( QtxResourceEdit*, Item*, QWidget* = 0 );
198 virtual void store();
199 virtual void retrieve();
203 Class: QtxListResourceEdit::SelectItem
204 Descr: GUI implementation of resources selector item.
207 class QtxListResourceEdit::SelectItem : public PrefItem
210 SelectItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
211 virtual ~SelectItem();
213 virtual void store();
214 virtual void retrieve();
216 virtual QVariant property( const QString& ) const;
217 virtual void setProperty( const QString&, const QVariant& );
220 void setStrings( const QVariant& );
221 void setIndexes( const QVariant& );
223 void setStrings( const QStringList& );
224 void setIndexes( const QValueList<int>& );
228 QMap<int, int> myIndex;
232 Class: QtxListResourceEdit::StateItem
233 Descr: GUI implementation of resources bool item.
236 class QtxListResourceEdit::StateItem : public PrefItem
239 StateItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
240 virtual ~StateItem();
242 virtual void store();
243 virtual void retrieve();
250 Class: QtxListResourceEdit::StringItem
251 Descr: GUI implementation of resources string item.
254 class QtxListResourceEdit::StringItem : public PrefItem
257 StringItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
258 virtual ~StringItem();
260 virtual void store();
261 virtual void retrieve();
268 Class: QtxListResourceEdit::IntegerEditItem
269 Descr: GUI implementation of resources integer item.
272 class QtxListResourceEdit::IntegerEditItem : public PrefItem
275 IntegerEditItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
276 virtual ~IntegerEditItem();
278 virtual void store();
279 virtual void retrieve();
282 QLineEdit* myInteger;
286 Class: QtxListResourceEdit::IntegerSpinItem
287 Descr: GUI implementation of resources integer item.
290 class QtxListResourceEdit::IntegerSpinItem : public PrefItem
293 IntegerSpinItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
294 virtual ~IntegerSpinItem();
296 virtual void store();
297 virtual void retrieve();
299 virtual QVariant property( const QString& ) const;
300 virtual void setProperty( const QString&, const QVariant& );
303 QtxIntSpinBox* myInteger;
307 Class: QtxListResourceEdit::DoubleEditItem
308 Descr: GUI implementation of resources double item.
311 class QtxListResourceEdit::DoubleEditItem : public PrefItem
314 DoubleEditItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
315 virtual ~DoubleEditItem();
317 virtual void store();
318 virtual void retrieve();
325 Class: QtxListResourceEdit::DoubleSpinItem
326 Descr: GUI implementation of resources double item.
329 class QtxListResourceEdit::DoubleSpinItem : public PrefItem
332 DoubleSpinItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
333 virtual ~DoubleSpinItem();
335 virtual void store();
336 virtual void retrieve();
338 virtual QVariant property( const QString& ) const;
339 virtual void setProperty( const QString&, const QVariant& );
342 QtxDblSpinBox* myDouble;
346 Class: QtxListResourceEdit::ColorItem
347 Descr: GUI implementation of resources color item.
350 class QtxListResourceEdit::ColorItem : public PrefItem
353 ColorItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
354 virtual ~ColorItem();
356 virtual void store();
357 virtual void retrieve();
364 Class: QtxListResourceEdit::FontItem
365 Descr: GUI implementation of resources font item.
370 class QtxListResourceEdit::FontItem : public PrefItem
384 All = Family | Size | UserSize | Bold | Italic | Underline
389 FontItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
392 virtual void store();
393 virtual void retrieve();
395 virtual QVariant property( const QString& ) const;
396 virtual void setProperty( const QString&, const QVariant& );
399 void onActivateFamily( int );
402 void setFamily( const QString& );
403 QString family() const;
404 void setSize( const int );
406 void setParams( const bool, const bool, const bool );
407 void params( bool&, bool&, bool& );
408 void internalUpdate();
413 QtxComboBox *myFamilies, *mySizes;
414 QCheckBox *myBold, *myItalic, *myUnderline;
415 QMap<QString, QVariant> myProperties;
420 * \brief GUI implementation of resources directory list item.
424 class QtxListResourceEdit::DirListItem : public PrefItem
433 DirListItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
437 virtual ~DirListItem();
440 * \brief Stores the data
442 virtual void store();
445 * \brief Retrieves the data
447 virtual void retrieve();
450 QtxDirListEditor* myDirListEditor; //!< The widget wich implements in GUI the list of directories