summaryrefslogtreecommitdiffstats
path: root/libkscan/kscanslider.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit47d455dd55be855e4cc691c32f687f723d9247ee (patch)
tree52e236aaa2576bdb3840ebede26619692fed6d7d /libkscan/kscanslider.h
downloadtdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.tar.gz
tdegraphics-47d455dd55be855e4cc691c32f687f723d9247ee.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'libkscan/kscanslider.h')
-rw-r--r--libkscan/kscanslider.h244
1 files changed, 244 insertions, 0 deletions
diff --git a/libkscan/kscanslider.h b/libkscan/kscanslider.h
new file mode 100644
index 00000000..7502ecad
--- /dev/null
+++ b/libkscan/kscanslider.h
@@ -0,0 +1,244 @@
+/* This file is part of the KDE Project
+ Copyright (C) 2000 Klaas Freitag <freitag@suse.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ 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 KSCANSLIDER_H
+#define KSCANSLIDER_H
+
+#include <qframe.h>
+#include <qstrlist.h>
+#include <qhbox.h>
+#include <qcombobox.h>
+#include <qslider.h>
+#include <qlineedit.h>
+/**
+ *@author Klaas Freitag
+ */
+
+class QPushButton;
+class QSpinBox;
+class QLabel;
+
+/**
+ * a kind of extended slider which has a spinbox beside the slider offering
+ * the possibility to enter an exact numeric value to the slider. If
+ * desired, the slider has a neutral button by the side. A descriptional
+ * text is handled automatically.
+ *
+ * @author Klaas Freitag <freitag@suse.de>
+ */
+class KScanSlider : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( int slider_val READ value WRITE slSetSlider )
+
+public:
+ /**
+ * Create the slider.
+ *
+ * @param parent parent widget
+ * @param text is the text describing the the slider value. If the text
+ * contains a '&', a buddy for the slider will be created.
+ * @param min minimum slider value
+ * @param max maximum slider value
+ * @param haveStdButt make a 'set to standard'-button visible. The button
+ * appears on the left of the slider.
+ * @param stdValue the value to which the standard button resets the slider.
+ */
+ KScanSlider( QWidget *parent, const QString& text,
+ double min, double max, bool haveStdButt=false,
+ int stdValue=0);
+ /**
+ * Destructor
+ */
+ ~KScanSlider();
+
+ /**
+ * @return the current slider value
+ */
+ int value( ) const
+ { return( slider->value()); }
+
+public slots:
+ /**
+ * sets the slider value
+ */
+ void slSetSlider( int );
+
+ /**
+ * enables the complete slider.
+ */
+ void setEnabled( bool b );
+
+protected slots:
+ /**
+ * reverts the slider back to the standard value given in the constructor
+ */
+ void slRevertValue();
+
+ signals:
+ /**
+ * emitted if the slider value changes
+ */
+ void valueChanged( int );
+
+private slots:
+ void slSliderChange( int );
+
+private:
+ QSlider *slider;
+ QLabel *l1, *numdisp;
+ QSpinBox *m_spin;
+ int m_stdValue;
+ QPushButton *m_stdButt;
+ class KScanSliderPrivate;
+ KScanSliderPrivate *d;
+
+};
+
+/**
+ * a entry field with a prefix text for description.
+ */
+class KScanEntry : public QFrame
+{
+ Q_OBJECT
+ Q_PROPERTY( QString text READ text WRITE slSetEntry )
+
+public:
+ /**
+ * create a new entry field prepended by text.
+ * @param parent the parent widget
+ * @text the prefix text
+ */
+ KScanEntry( QWidget *parent, const QString& text );
+ // ~KScanEntry();
+
+ /**
+ * @return the current entry field contents.
+ */
+ QString text( ) const;
+
+public slots:
+ /**
+ * set the current text
+ * @param t the new string
+ */
+ void slSetEntry( const QString& t );
+ /**
+ * enable or disable the text entry.
+ * @param b set enabled if true, else disabled.
+ */
+ void setEnabled( bool b ){ if( entry) entry->setEnabled( b ); }
+
+protected slots:
+ void slReturnPressed( void );
+
+signals:
+ void valueChanged( const QCString& );
+ void returnPressed( const QCString& );
+
+private slots:
+ void slEntryChange( const QString& );
+
+private:
+ QLineEdit *entry;
+
+ class KScanEntryPrivate;
+ KScanEntryPrivate *d;
+
+};
+
+
+/**
+ * a combobox filled with a decriptional text.
+ */
+class KScanCombo : public QHBox
+{
+ Q_OBJECT
+ Q_PROPERTY( QString cbEntry READ currentText WRITE slSetEntry )
+
+public:
+ /**
+ * create a combobox with prepended text.
+ *
+ * @param parent parent widget
+ * @param text the text the combobox is prepended by
+ * @param list a stringlist with values the list should contain.
+ */
+ KScanCombo( QWidget *parent, const QString& text, const QStrList& list );
+ KScanCombo( QWidget *parent, const QString& text, const QStringList& list );
+ // ~KScanCombo();
+
+ /**
+ * @return the current selected text
+ */
+ QString currentText( ) const;
+
+ /**
+ * @return the text a position i
+ */
+ QString text( int i ) const;
+
+ /**
+ * @return the amount of list entries.
+ */
+ int count( ) const;
+
+public slots:
+ /**
+ * set the current entry to the given string if it is member of the list.
+ * if not, the entry is not changed.
+ */
+ void slSetEntry( const QString &);
+
+ /**
+ * enable or disable the combobox.
+ * @param b enables the combobox if true.
+ */
+ void setEnabled( bool b){ if(combo) combo->setEnabled( b ); };
+
+ /**
+ * set an icon for a string in the combobox
+ * @param pix the pixmap to set.
+ * @param str the string for which the pixmap should be set.
+ */
+ void slSetIcon( const QPixmap& pix, const QString& str);
+
+ /**
+ * set the current item of the combobox.
+ */
+ void setCurrentItem( int i );
+
+private slots:
+ void slFireActivated( int);
+ void slComboChange( const QString & );
+
+signals:
+ void valueChanged( const QCString& );
+ void activated(int);
+
+private:
+ void createCombo( const QString& text );
+ QComboBox *combo;
+ QStrList combolist;
+
+ class KScanComboPrivate;
+ KScanComboPrivate *d;
+};
+
+#endif