Constrained gtk radio buttons

Hi Paul,

IMHO, your problem has more to do with gtk than ruby or ruby-gtk. And
for discussions about ruby-gtk, I am not sure this is the best list.

Anyway, so far I think you're connecting to the wrong signal. Also,
I'm going to use ruby-gtk2 and you should use set_active and not
set_state in gtk2. Anyway, here's how I would do it, and it seems to
work as you expected.

···

-=-=---=-=---=-=---=-=---=-=---=-=--
require 'gtk2'

class DwellWindow < Gtk::Window
    
    def initialize
        super
        @single_button = Gtk::RadioButton.new("Single")
        @double_button = Gtk::RadioButton.new(@single_button,"Double")
        @double_button.signal_connect("toggled") {
            if @double_button.active?
                @left_button.set_active(true)
            end
        }

        @left_button = Gtk::RadioButton.new("Left")
        @right_button = Gtk::RadioButton.new(@left_button, "Right")
        @right_button.signal_connect("toggled") {
            if @right_button.active?
                @single_button.set_active(true)
            end
        }

        type_box = Gtk::VBox.new
        type_box.add(@single_button)
        type_box.add(@double_button)

        button_box = Gtk::VBox.new
        button_box.add(@left_button)
        button_box.add(@right_button)

        top_box = Gtk::HBox.new
        top_box.add(button_box)
        top_box.add(type_box)

        add(top_box)
        show_all
    end

end

Gtk.init
dwell = DwellWindow.new
Gtk.main
-=-=---=-=---=-=---=-=---=-=---=-=--

--
Guillaume Cottenceau - http://zarb.org/~gc/