Sha256: d5be35110647b5fd2184d605b3b05882289429781fad24b9d72359cd01030013

Contents?: true

Size: 1.03 KB

Versions: 7

Compression:

Stored size: 1.03 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
      qWarning("LCDRange::setRange(#{minVal},#{maxVal})\n" +
               "\tRange must be 0..99\n" +
               "\tand minVal must not be greater than maxVal")
      return
    end
    @slider.range = minVal..maxVal
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
rock-qtbindings-4.8.6.5 examples/tutorial/t10/lcdrange.rb
qtbindings-4.8.6.5 examples/tutorial/t10/lcdrange.rb
qtbindings-4.8.6.5-x86-mingw32 examples/tutorial/t10/lcdrange.rb
qtbindings-4.8.6.5-x64-mingw32 examples/tutorial/t10/lcdrange.rb
qtbindings-4.8.6.4-x86-mingw32 examples/tutorial/t10/lcdrange.rb
qtbindings-4.8.6.4-x64-mingw32 examples/tutorial/t10/lcdrange.rb
qtbindings-4.8.6.4 examples/tutorial/t10/lcdrange.rb