Sha256: 08833f7cb2f50bc5ee1ddfb5067be9b6f7d04211cf714a870e2e116dfff9cfe6
Contents?: true
Size: 1.05 KB
Versions: 7
Compression:
Stored size: 1.05 KB
Contents
require 'Qt' class LCDRange < Qt::Widget signals 'valueChanged(int)' slots 'setValue(int)', 'setRange(int, int)' def initialize(parent = nil) super lcd = Qt::LCDNumber.new(2) @slider = Qt::Slider.new(Qt::Horizontal) @slider.range = 0..99 @slider.setValue(0) connect(@slider, SIGNAL('valueChanged(int)'), lcd, SLOT('display(int)')) connect(@slider, SIGNAL('valueChanged(int)'), SIGNAL('valueChanged(int)')) layout = Qt::VBoxLayout.new layout.addWidget(lcd) layout.addWidget(@slider) setLayout(layout) setFocusProxy(@slider) end def value() @slider.value() end def setValue(value) @slider.setValue(value) end def range=(r) setRange(r.begin, r.end) end def setRange(minVal, maxVal) if minVal < 0 || maxVal > 99 || minVal > maxVal printf("LCDRange::setRange(%d,%d)\n" + "\tRange must be 0..99\n" + "\tand minVal must not be greater than maxVal", minVal, maxVal) return end @slider.setRange(minVal, maxVal) end end
Version data entries
7 entries across 7 versions & 2 rubygems