1 // File: SalomeApp_ResourceEditor.h
3 // Author: Alexander Sladkov
6 #ifndef SALOMEAPP_RESOURCEEDITOR_H
7 #define SALOMEAPP_RESOURCEEDITOR_H
11 #include <qgroupbox.h>
12 #include <qtabwidget.h>
13 #include <qpushbutton.h>
26 Class: SalomeApp_ResourceEditor
27 Descr: GUI implementation of QtxResourceEditor - manager of resources
30 #include <SalomeApp.h>
31 #include <QtxDialog.h>
32 #include <QtxResourceEditor.h>
34 class SALOMEAPP_EXPORT SalomeApp_ResourceEditor :
35 public QtxDialog, public QtxResourceEditor
51 class DataDoubleEditItem;
52 class IntegerSpinItem;
53 class IntegerEditItem;
56 SalomeApp_ResourceEditor( QtxResourceMgr*, QWidget* = 0 );
57 virtual ~SalomeApp_ResourceEditor();
60 virtual void accept();
61 virtual void reject();
67 void onSelectionChanged();
70 virtual Category* createCategory( const QString& );
71 virtual void updateViewer();
73 void setTabOrder( QObject*, ... );
74 void setTabOrder( const QObjectList& );
78 QWidgetStack* mypCatStack;
81 class SalomeApp_ResourceEditor::Spacing : public Item
84 Spacing( SalomeApp_ResourceEditor*, QWidget* = 0 );
88 virtual void Retrieve();
91 class SalomeApp_ResourceEditor::ListItem : public Item
94 ListItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
97 virtual void Set( const QString&, const QString&, const int, const QString& );
98 virtual void SetList( const QValueList<int>&, const QStringList& );
100 virtual void Retrieve();
105 QMap<int, int> myIndex;
109 class SalomeApp_ResourceEditor::ColorItem : public Item
112 ColorItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
113 virtual ~ColorItem();
115 virtual void Set( const QString&, const QString&, const int, const QString& );
116 virtual void Store();
117 virtual void Retrieve();
121 QPushButton* mypColor;
125 class SalomeApp_ResourceEditor::StateItem : public Item
128 StateItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
129 virtual ~StateItem();
131 virtual void Set( const QString&, const QString&, const int, const QString& );
132 virtual void Store();
133 virtual void Retrieve();
141 class SalomeApp_ResourceEditor::StringItem : public Item
144 StringItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
145 virtual ~StringItem();
147 virtual void Set( const QString&, const QString&, const int, const QString& );
148 virtual void Store();
149 virtual void Retrieve();
153 QLineEdit* mypString;
157 class SalomeApp_ResourceEditor::DoubleSpinItem : public Item
160 DoubleSpinItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
161 virtual ~DoubleSpinItem();
163 virtual void Set( const QString&, const QString&, const int, const QString& );
164 virtual void SetRange( const double, const double, const double = 3, const double = -1 );
165 virtual void Store();
166 virtual void Retrieve();
170 QtxDblSpinBox* mypDouble;
174 class SalomeApp_ResourceEditor::DoubleEditItem : public Item
177 DoubleEditItem( SalomeApp_ResourceEditor*, QWidget* = 0);
178 virtual ~DoubleEditItem();
180 virtual void Set( const QString&, const QString&, const int, const QString& );
181 virtual void Store();
182 virtual void Retrieve();
186 QLineEdit* mypDouble;
190 class SalomeApp_ResourceEditor::IntegerSpinItem : public Item
193 IntegerSpinItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
194 virtual ~IntegerSpinItem();
196 virtual void Set( const QString&, const QString&, const int, const QString& );
197 virtual void SetRange( const double, const double, const double = 3, const double = -1 );
198 virtual void Store();
199 virtual void Retrieve();
203 QSpinBox* mypInteger;
207 class SalomeApp_ResourceEditor::IntegerEditItem : public Item
210 IntegerEditItem( SalomeApp_ResourceEditor*, QWidget* = 0 );
211 virtual ~IntegerEditItem();
213 virtual void Set( const QString&, const QString&, const int, const QString& );
214 virtual void Store();
215 virtual void Retrieve();
219 QLineEdit* mypInteger;
222 class SalomeApp_ResourceEditor::PrefGroup : public QGroupBox, public Group
225 PrefGroup( const QString&, SalomeApp_ResourceEditor*, QWidget* = 0 );
226 virtual ~PrefGroup();
228 virtual void SetColumns( const int );
229 virtual void SetTitle( const QString& );
232 virtual Item* createItem( const int, const QString& = QString::null );
235 SalomeApp_ResourceEditor* myEditor;
239 class SalomeApp_ResourceEditor::PrefTab : public QFrame, public Tab
242 PrefTab( const QString&, SalomeApp_ResourceEditor*, QTabWidget* );
245 virtual void SetTitle( const QString& );
250 virtual Group* createGroup( const QString& );
253 QTabWidget* mypTabWidget;
254 QGroupBox* mypMainFrame;
255 SalomeApp_ResourceEditor* myEditor;
259 class SalomeApp_ResourceEditor::PrefCategory : public QTabWidget, public Category
262 PrefCategory( const QString&, SalomeApp_ResourceEditor*, QListBox*, QWidgetStack* );
263 virtual ~PrefCategory();
265 virtual void SetTitle( const QString& );
270 virtual Tab* createTab( const QString& );
273 QListBox* mypListBox;
274 QWidgetStack* mypWidgetStack;
275 SalomeApp_ResourceEditor* myEditor;
279 class ColorButton : public QPushButton
284 ColorButton( QWidget* = 0 );
285 virtual ~ColorButton();