Sha256: 0e922dfcc436e796febfc47c1574f6a9730b7c21da5ebbf89b296db2a1f8c930

Contents?: true

Size: 1.26 KB

Versions: 7

Compression:

Stored size: 1.26 KB

Contents

require 'Qt'
require 'pp'

class LCDRange < Qt::Widget
  signals 'valueChanged(int)'
  slots 'setValue(int)', 'setRange(int, int)', 'setText(const char *)'

  def initialize(s, parent = nil)
    super(parent)
    init()
    setText(s)
  end

  def init()
    lcd = Qt::LCDNumber.new(2)
    @slider = Qt::Slider.new(Qt::Horizontal)
    @slider.range = 0..99
    @slider.setValue(0)
    @label = Qt::Label.new(' ')
    @label.setAlignment(Qt::AlignHCenter.to_i | Qt::AlignTop.to_i)

    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

  def setText(s)
    @label.setText(s)
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

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