diff options
Diffstat (limited to 'qtjava/javalib/tutorial/t12/LCDRange.java')
-rw-r--r-- | qtjava/javalib/tutorial/t12/LCDRange.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/qtjava/javalib/tutorial/t12/LCDRange.java b/qtjava/javalib/tutorial/t12/LCDRange.java new file mode 100644 index 00000000..3211120b --- /dev/null +++ b/qtjava/javalib/tutorial/t12/LCDRange.java @@ -0,0 +1,56 @@ +import org.kde.qt.*; + +public class LCDRange extends QVBox { + private QSlider slider; + private QLabel label; + + public LCDRange(QWidget parent, String name) { + super(parent, name); + init(); + } + + public LCDRange(String s, QWidget parent, String name) { + super(parent, name); + init(); + setText(s); + } + + private void 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", 0); + label.setAlignment(AlignCenter); + + connect(slider, SIGNAL("valueChanged(int)"), + lcd, SLOT("display(int)")); + connect(slider, SIGNAL("valueChanged(int)"), + SIGNAL("valueChanged(int)")); + + setFocusProxy(slider); + } + + public int value() { + return slider.value(); + } + + public void setValue(int value) { + slider.setValue(value); + } + + public void setRange(int minVal, int maxVal) { + if (minVal < 0 || maxVal > 99 || minVal > maxVal) { + qWarning("LCDRange::setRange("+minVal+","+maxVal+")\n"+ + "\tRange must be 0..99\n"+ + "\tand minVal must not be greater than maxVal"); + return; + } + slider.setRange(minVal, maxVal); + } + + public void setText(String s) { + label.setText(s); + } +} |