class Rgw::SyncedSpinButton

Public Class Methods

new(min, max, step, locked) click to toggle source
Calls superclass method
# File lib/rgw/synced-spin-button.rb, line 31
def initialize min, max, step, locked
    super(:orientation => :horizontal)
    @locked = locked

    @s1 = Gtk::SpinButton.new min, max, step
    @s2 = Gtk::SpinButton.new min, max, step

    @s1.signal_connect(:value_changed) do
        signal_emit :value1_changed, @s1.value
        next unless @locked
        @s2.value = @s1.value if @s2.value != @s1.value
    end

    @s2.signal_connect(:value_changed) do
        signal_emit :value2_changed, @s2.value
        next unless @locked
        @s1.value = @s2.value if @s1.value != @s2.value
    end

    lb = Gtk::ToggleButton.new
    lb.active = @locked
    img = Gtk::Image.new(:file => Rgw::PIXMAP_PATH + (locked ? 'lock16.png' : 'unlock16.png'))
    lb << img
    lb.signal_connect(:toggled) do
        @locked = lb.active?
        img.file = @locked ? Rgw::PIXMAP_PATH + 'lock16.png' : PIXMAP_PATH + 'unlock16.png'
        @s2.value = @s1.value if @locked
    end

    pack_start @s1, :expand => true, :fill => true, :padding => 0
    pack_start lb, :expand => false, :fill => false, :padding => 0
    pack_start @s2, :expand => true, :fill => true, :padding => 0
end

Public Instance Methods

get_values() click to toggle source
# File lib/rgw/synced-spin-button.rb, line 74
def get_values
    [@s1.value, @s2.value]
end
set_values(v1, v2) click to toggle source
# File lib/rgw/synced-spin-button.rb, line 66
def set_values v1, v2
    raise RangeError, 'value 1 out of range' if v1 < @s1.range.min or v1 > @s1.range.max
    raise RangeError, 'value 2 out of range' if v2 < @s2.range.min or v1 > @s2.range.max
    @s1.value = v1
    @s2.value = v2
end
signal_do_value1_changed(foo;) click to toggle source
# File lib/rgw/synced-spin-button.rb, line 27
def signal_do_value1_changed foo; end
signal_do_value2_changed(foo;) click to toggle source
# File lib/rgw/synced-spin-button.rb, line 28
def signal_do_value2_changed foo; end