summaryrefslogtreecommitdiffstats
path: root/main/dependencies/qt3/tutorial/t12/lcdrange.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main/dependencies/qt3/tutorial/t12/lcdrange.cpp')
-rw-r--r--main/dependencies/qt3/tutorial/t12/lcdrange.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/main/dependencies/qt3/tutorial/t12/lcdrange.cpp b/main/dependencies/qt3/tutorial/t12/lcdrange.cpp
new file mode 100644
index 000000000..bdd722dc4
--- /dev/null
+++ b/main/dependencies/qt3/tutorial/t12/lcdrange.cpp
@@ -0,0 +1,83 @@
+/****************************************************************
+**
+** Implementation of LCDRange class, Qt tutorial 12
+**
+****************************************************************/
+
+#include "lcdrange.h"
+
+#include <qslider.h>
+#include <qlcdnumber.h>
+#include <qlabel.h>
+
+
+LCDRange::LCDRange( QWidget *parent, const char *name )
+ : QVBox( parent, name )
+{
+ init();
+}
+
+
+LCDRange::LCDRange( const char *s, QWidget *parent,
+ const char *name )
+ : QVBox( parent, name )
+{
+ init();
+ setText( s );
+}
+
+
+void LCDRange::init()
+{
+ QLCDNumber *lcd = new QLCDNumber( 2, this, "lcd" );
+ slider = new QSlider( Horizontal, this, "slider" );
+ slider->setRange( 0, 99 );
+ slider->setValue( 0 );
+
+ label = new QLabel( " ", this, "label" );
+ label->setAlignment( AlignCenter );
+
+ connect( slider, SIGNAL(valueChanged(int)),
+ lcd, SLOT(display(int)) );
+ connect( slider, SIGNAL(valueChanged(int)),
+ SIGNAL(valueChanged(int)) );
+
+ setFocusProxy( slider );
+}
+
+
+int LCDRange::value() const
+{
+ return slider->value();
+}
+
+
+const char *LCDRange::text() const
+{
+ return label->text();
+}
+
+
+void LCDRange::setValue( int value )
+{
+ slider->setValue( value );
+}
+
+
+void LCDRange::setRange( int minVal, int maxVal )
+{
+ if ( minVal < 0 || maxVal > 99 || minVal > maxVal ) {
+ qWarning( "LCDRange::setRange(%d,%d)\n"
+ "\tRange must be 0..99\n"
+ "\tand minVal must not be greater than maxVal",
+ minVal, maxVal );
+ return;
+ }
+ slider->setRange( minVal, maxVal );
+}
+
+
+void LCDRange::setText( const char *s )
+{
+ label->setText( s );
+}