summaryrefslogtreecommitdiffstats
path: root/kdeprint/droptionview.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeprint/droptionview.h')
-rw-r--r--kdeprint/droptionview.h136
1 files changed, 136 insertions, 0 deletions
diff --git a/kdeprint/droptionview.h b/kdeprint/droptionview.h
new file mode 100644
index 000000000..4426f91c6
--- /dev/null
+++ b/kdeprint/droptionview.h
@@ -0,0 +1,136 @@
+/*
+ * This file is part of the KDE libraries
+ * Copyright (c) 2001 Michael Goffioul <kdeprint@swing.be>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ **/
+
+#ifndef DROPTIONVIEW_H
+#define DROPTIONVIEW_H
+
+#include <qwidget.h>
+#include <qgroupbox.h>
+#include <qstringlist.h>
+
+class QLineEdit;
+class QSlider;
+class QLabel;
+class KListBox;
+class QListBoxItem;
+class QVButtonGroup;
+class QWidgetStack;
+class QListViewItem;
+class DrBase;
+class DriverItem;
+
+class OptionBaseView : public QWidget
+{
+ Q_OBJECT
+public:
+ OptionBaseView(QWidget *parent = 0, const char *name = 0);
+ virtual void setOption(DrBase*);
+ virtual void setValue(const QString&);
+
+signals:
+ void valueChanged(const QString&);
+
+protected:
+ bool blockSS;
+};
+
+class OptionNumericView : public OptionBaseView
+{
+ Q_OBJECT
+public:
+ OptionNumericView(QWidget *parent = 0, const char *name = 0);
+ void setOption(DrBase *opt);
+ void setValue(const QString& val);
+
+protected slots:
+ void slotSliderChanged(int);
+ void slotEditChanged(const QString&);
+
+private:
+ QLineEdit *m_edit;
+ QSlider *m_slider;
+ QLabel *m_minval, *m_maxval;
+ bool m_integer;
+};
+
+class OptionStringView : public OptionBaseView
+{
+public:
+ OptionStringView(QWidget *parent = 0, const char *name = 0);
+ void setOption(DrBase *opt);
+ void setValue(const QString& val);
+
+private:
+ QLineEdit *m_edit;
+};
+
+class OptionListView : public OptionBaseView
+{
+ Q_OBJECT
+public:
+ OptionListView(QWidget *parent = 0, const char *name = 0);
+ void setOption(DrBase *opt);
+ void setValue(const QString& val);
+
+protected slots:
+ void slotSelectionChanged();
+
+private:
+ KListBox *m_list;
+ QStringList m_choices;
+};
+
+class OptionBooleanView : public OptionBaseView
+{
+ Q_OBJECT
+public:
+ OptionBooleanView(QWidget *parent = 0, const char *name = 0);
+ void setOption(DrBase *opt);
+ void setValue(const QString& val);
+
+protected slots:
+ void slotSelected(int);
+
+private:
+ QVButtonGroup *m_group;
+ QStringList m_choices;
+};
+
+class DrOptionView : public QGroupBox
+{
+ Q_OBJECT
+public:
+ DrOptionView(QWidget *parent = 0, const char *name = 0);
+ void setAllowFixed(bool on) { m_allowfixed = on; }
+
+signals:
+ void changed();
+
+public slots:
+ void slotValueChanged(const QString&);
+ void slotItemSelected(QListViewItem*);
+
+private:
+ QWidgetStack *m_stack;
+ DriverItem *m_item;
+ bool m_block;
+ bool m_allowfixed;
+};
+
+#endif