lib/shoes/swt/radio_group.rb in shoes-swt-4.0.0.pre2 vs lib/shoes/swt/radio_group.rb in shoes-swt-4.0.0.pre3
- old
+ new
@@ -1,54 +1,54 @@
-class Shoes
- module Swt
- # In Swt radio groups are managed by composites which occupy space
- # and can interfere with users interacting with other controls. Here
- # we simulate radio groups so that they can all be in one composite.
- class RadioGroup
- extend Forwardable
- include Enumerable
-
- DEFAULT_RADIO_GROUP = "Default Radio Group"
-
- @group_lookup = Hash.new { |h, k| h[k] = RadioGroup.new(k) }
-
- attr_reader :name
- def_delegators :@radio_buttons, :each, :length, :empty?
-
- def initialize(name = DEFAULT_RADIO_GROUP)
- @name = name
- @radio_buttons = []
- @selection_listeners = []
- end
-
- def add(radio_button)
- return if @radio_buttons.include?(radio_button)
- @radio_buttons << radio_button
-
- selection_listener = SelectionListener.new radio_button do |selected_radio, event|
- select_only_one_radio_in_group(selected_radio)
- end
- @selection_listeners << selection_listener
- radio_button.real.add_selection_listener selection_listener
- end
-
- def remove(radio_button)
- index = @radio_buttons.index(radio_button)
- return if index.nil?
- @radio_buttons.delete_at(index)
-
- radio_button.real.remove_selection_listener @selection_listeners[index]
- @selection_listeners.delete_at(index)
- end
-
- def self.group_lookup
- @group_lookup
- end
-
- def select_only_one_radio_in_group(selected_radio)
- @radio_buttons.each do |radio|
- radio.real.set_selection(radio == selected_radio)
- end
- end
- end
- end
-end
\ No newline at end of file
+class Shoes
+ module Swt
+ # In Swt radio groups are managed by composites which occupy space
+ # and can interfere with users interacting with other controls. Here
+ # we simulate radio groups so that they can all be in one composite.
+ class RadioGroup
+ extend Forwardable
+ include Enumerable
+
+ DEFAULT_RADIO_GROUP = "Default Radio Group"
+
+ @group_lookup = Hash.new { |h, k| h[k] = RadioGroup.new(k) }
+
+ attr_reader :name
+ def_delegators :@radio_buttons, :each, :length, :empty?
+
+ def initialize(name = DEFAULT_RADIO_GROUP)
+ @name = name
+ @radio_buttons = []
+ @selection_listeners = []
+ end
+
+ def add(radio_button)
+ return if @radio_buttons.include?(radio_button)
+ @radio_buttons << radio_button
+
+ selection_listener = SelectionListener.new radio_button do |selected_radio, _event|
+ select_only_one_radio_in_group(selected_radio)
+ end
+ @selection_listeners << selection_listener
+ radio_button.real.add_selection_listener selection_listener
+ end
+
+ def remove(radio_button)
+ index = @radio_buttons.index(radio_button)
+ return if index.nil?
+ @radio_buttons.delete_at(index)
+
+ radio_button.real.remove_selection_listener @selection_listeners[index]
+ @selection_listeners.delete_at(index)
+ end
+
+ class << self
+ attr_reader :group_lookup
+ end
+
+ def select_only_one_radio_in_group(selected_radio)
+ @radio_buttons.each do |radio|
+ radio.real.set_selection(radio == selected_radio)
+ end
+ end
+ end
+ end
+end