1 // File: QtxListResourceEdit.h
2 // Author: Sergey TELKOV
4 #ifndef QTXLISTRESOURCEEDIT_H
5 #define QTXLISTRESOURCEEDIT_H
7 #include "QtxResourceEdit.h"
12 #include <qgroupbox.h>
13 #include <qvalidator.h>
26 class QtxDirListEditor;
29 Class: QtxListResourceEdit
30 Descr: GUI implementation of QtxResourceEdit - manager of resources
33 class QTX_EXPORT QtxListResourceEdit : public QFrame, public QtxResourceEdit
50 class IntegerSpinItem;
51 class IntegerEditItem;
56 enum { Space, Bool, Color, String, Selector, DblSpin, IntSpin, Double, Integer, GroupBox, Font, DirList, File, User };
59 QtxListResourceEdit( QtxResourceMgr*, QWidget* = 0 );
60 virtual ~QtxListResourceEdit();
62 virtual void setItemProperty( const int, const QString&, const QVariant& );
65 void resourceChanged( int );
66 void resourceChanged( QString&, QString& );
67 void resourcesChanged( const QMap<int, QString>& );
70 void onSelectionChanged();
73 virtual void itemAdded( Item* );
74 virtual Item* createItem( const QString&, const int );
75 virtual void changedResources( const QMap<Item*, QString>& );
83 QWidgetStack* myStack;
87 Class: QtxListResourceEdit::Category
88 Descr: GUI implementation of 'Category' frame
91 class QtxListResourceEdit::Category : public QFrame, public Item
94 Category( QtxListResourceEdit*, QWidget* = 0 );
97 virtual bool isEmpty() const;
99 virtual int type() const;
100 virtual void store();
101 virtual void retrieve();
103 virtual QVariant property( const QString& ) const;
104 virtual void setProperty( const QString&, const QVariant& );
107 virtual Item* createItem( const QString&, const int );
118 Class: QtxListResourceEdit::Tab
119 Descr: GUI implementation of resources tab.
122 class QtxListResourceEdit::Tab : public QFrame, public Item
125 Tab( QtxResourceEdit*, Item*, QWidget* = 0 );
128 virtual int type() const;
129 virtual void store();
130 virtual void retrieve();
133 virtual void polish();
136 virtual Item* createItem( const QString&, const int );
142 QWidget* myMainFrame;
146 Class: QtxListResourceEdit::Group
147 Descr: GUI implementation of resources group.
150 class QtxListResourceEdit::Group : public QGroupBox, public Item
153 Group( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
156 virtual int type() const;
157 virtual void store();
158 virtual void retrieve();
160 virtual QVariant property( const QString& ) const;
161 virtual void setProperty( const QString&, const QVariant& );
163 virtual void setTitle( const QString& );
166 virtual Item* createItem( const QString&, const int );
170 Class: QtxListResourceEdit::PrefItem
171 Descr: Base class for preferences items.
174 class QtxListResourceEdit::PrefItem : public QHBox, public Item
177 PrefItem( const int, QtxResourceEdit*, Item* = 0, QWidget* = 0 );
180 virtual int type() const;
183 virtual Item* createItem( const QString&, const int );
190 Class: QtxListResourceEdit::Spacer
191 Descr: GUI implementation of resources spacer.
194 class QtxListResourceEdit::Spacer : public PrefItem
197 Spacer( QtxResourceEdit*, Item*, QWidget* = 0 );
200 virtual void store();
201 virtual void retrieve();
205 Class: QtxListResourceEdit::SelectItem
206 Descr: GUI implementation of resources selector item.
209 class QtxListResourceEdit::SelectItem : public PrefItem
212 SelectItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
213 virtual ~SelectItem();
215 virtual void store();
216 virtual void retrieve();
218 virtual QVariant property( const QString& ) const;
219 virtual void setProperty( const QString&, const QVariant& );
222 void setStrings( const QVariant& );
223 void setIndexes( const QVariant& );
225 void setStrings( const QStringList& );
226 void setIndexes( const QValueList<int>& );
230 QMap<int, int> myIndex;
234 Class: QtxListResourceEdit::StateItem
235 Descr: GUI implementation of resources bool item.
238 class QtxListResourceEdit::StateItem : public PrefItem
241 StateItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
242 virtual ~StateItem();
244 virtual void store();
245 virtual void retrieve();
252 Class: QtxListResourceEdit::StringItem
253 Descr: GUI implementation of resources string item.
256 class QtxListResourceEdit::StringItem : public PrefItem
259 StringItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
260 virtual ~StringItem();
262 virtual void store();
263 virtual void retrieve();
270 Class: QtxListResourceEdit::IntegerEditItem
271 Descr: GUI implementation of resources integer item.
274 class QtxListResourceEdit::IntegerEditItem : public PrefItem
277 IntegerEditItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
278 virtual ~IntegerEditItem();
280 virtual void store();
281 virtual void retrieve();
284 QLineEdit* myInteger;
288 Class: QtxListResourceEdit::IntegerSpinItem
289 Descr: GUI implementation of resources integer item.
292 class QtxListResourceEdit::IntegerSpinItem : public PrefItem
295 IntegerSpinItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
296 virtual ~IntegerSpinItem();
298 virtual void store();
299 virtual void retrieve();
301 virtual QVariant property( const QString& ) const;
302 virtual void setProperty( const QString&, const QVariant& );
305 QtxIntSpinBox* myInteger;
309 Class: QtxListResourceEdit::DoubleEditItem
310 Descr: GUI implementation of resources double item.
313 class QtxListResourceEdit::DoubleEditItem : public PrefItem
316 DoubleEditItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
317 virtual ~DoubleEditItem();
319 virtual void store();
320 virtual void retrieve();
327 Class: QtxListResourceEdit::DoubleSpinItem
328 Descr: GUI implementation of resources double item.
331 class QtxListResourceEdit::DoubleSpinItem : public PrefItem
334 DoubleSpinItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
335 virtual ~DoubleSpinItem();
337 virtual void store();
338 virtual void retrieve();
340 virtual QVariant property( const QString& ) const;
341 virtual void setProperty( const QString&, const QVariant& );
344 QtxDblSpinBox* myDouble;
348 Class: QtxListResourceEdit::ColorItem
349 Descr: GUI implementation of resources color item.
352 class QtxListResourceEdit::ColorItem : public PrefItem
355 ColorItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
356 virtual ~ColorItem();
358 virtual void store();
359 virtual void retrieve();
366 Class: QtxListResourceEdit::FontItem
367 Descr: GUI implementation of resources font item.
373 class QtxListResourceEdit::FontItem : public PrefItem
388 All = Family | Size | UserSize | Bold | Italic | Underline | Preview
393 FontItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
396 virtual void store();
397 virtual void retrieve();
399 virtual QVariant property( const QString& ) const;
400 virtual void setProperty( const QString&, const QVariant& );
403 void onActivateFamily( int );
407 void setFamily( const QString& );
408 QString family() const;
409 void setSize( const int );
411 void setParams( const bool, const bool, const bool );
412 void params( bool&, bool&, bool& );
413 void internalUpdate();
418 QtxComboBox *myFamilies, *mySizes;
419 QCheckBox *myBold, *myItalic, *myUnderline;
420 QToolButton *myPreview;
421 QMap<QString, QVariant> myProperties;
426 * \brief GUI implementation of resources directory list item.
430 class QtxListResourceEdit::DirListItem : public PrefItem
439 DirListItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
443 virtual ~DirListItem();
446 * \brief Stores the data
448 virtual void store();
451 * \brief Retrieves the data
453 virtual void retrieve();
456 QtxDirListEditor* myDirListEditor; //!< The widget wich implements in GUI the list of directories
460 Class: QtxListResourceEdit::FontItem
461 Descr: GUI implementation of resources font item.
468 class QtxListResourceEdit::FileItem : public PrefItem
473 class FileValidator : public QValidator
476 FileValidator( FileItem*, QObject* );
479 virtual QValidator::State validate( QString&, int& ) const;
486 FileItem( const QString&, QtxResourceEdit*, Item*, QWidget* = 0 );
489 virtual void store();
490 virtual void retrieve();
492 virtual QVariant property( const QString& ) const;
493 virtual void setProperty( const QString&, const QVariant& );
495 virtual bool isFileCorrect( const QString& ) const;
499 void onFileSelected( const QString& );
503 QStringList myFilter;
506 QToolButton* myOpenFile;
507 QFileDialog* myFileDlg;