droptionview.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef DROPTIONVIEW_H
00021 #define DROPTIONVIEW_H
00022
00023 #include <qwidget.h>
00024 #include <qgroupbox.h>
00025 #include <qstringlist.h>
00026
00027 class QLineEdit;
00028 class QSlider;
00029 class QLabel;
00030 class KListBox;
00031 class QListBoxItem;
00032 class QVButtonGroup;
00033 class QWidgetStack;
00034 class QListViewItem;
00035 class DrBase;
00036 class DriverItem;
00037
00038 class OptionBaseView : public QWidget
00039 {
00040 Q_OBJECT
00041 public:
00042 OptionBaseView(QWidget *parent = 0, const char *name = 0);
00043 virtual void setOption(DrBase*);
00044 virtual void setValue(const QString&);
00045
00046 signals:
00047 void valueChanged(const QString&);
00048
00049 protected:
00050 bool blockSS;
00051 };
00052
00053 class OptionNumericView : public OptionBaseView
00054 {
00055 Q_OBJECT
00056 public:
00057 OptionNumericView(QWidget *parent = 0, const char *name = 0);
00058 void setOption(DrBase *opt);
00059 void setValue(const QString& val);
00060
00061 protected slots:
00062 void slotSliderChanged(int);
00063 void slotEditChanged(const QString&);
00064
00065 private:
00066 QLineEdit *m_edit;
00067 QSlider *m_slider;
00068 QLabel *m_minval, *m_maxval;
00069 bool m_integer;
00070 };
00071
00072 class OptionStringView : public OptionBaseView
00073 {
00074 public:
00075 OptionStringView(QWidget *parent = 0, const char *name = 0);
00076 void setOption(DrBase *opt);
00077 void setValue(const QString& val);
00078
00079 private:
00080 QLineEdit *m_edit;
00081 };
00082
00083 class OptionListView : public OptionBaseView
00084 {
00085 Q_OBJECT
00086 public:
00087 OptionListView(QWidget *parent = 0, const char *name = 0);
00088 void setOption(DrBase *opt);
00089 void setValue(const QString& val);
00090
00091 protected slots:
00092 void slotSelectionChanged();
00093
00094 private:
00095 KListBox *m_list;
00096 QStringList m_choices;
00097 };
00098
00099 class OptionBooleanView : public OptionBaseView
00100 {
00101 Q_OBJECT
00102 public:
00103 OptionBooleanView(QWidget *parent = 0, const char *name = 0);
00104 void setOption(DrBase *opt);
00105 void setValue(const QString& val);
00106
00107 protected slots:
00108 void slotSelected(int);
00109
00110 private:
00111 QVButtonGroup *m_group;
00112 QStringList m_choices;
00113 };
00114
00115 class DrOptionView : public QGroupBox
00116 {
00117 Q_OBJECT
00118 public:
00119 DrOptionView(QWidget *parent = 0, const char *name = 0);
00120 void setAllowFixed(bool on) { m_allowfixed = on; }
00121
00122 signals:
00123 void changed();
00124
00125 public slots:
00126 void slotValueChanged(const QString&);
00127 void slotItemSelected(QListViewItem*);
00128
00129 private:
00130 QWidgetStack *m_stack;
00131 DriverItem *m_item;
00132 bool m_block;
00133 bool m_allowfixed;
00134 };
00135
00136 #endif
|