class Glimmer::DataBinding::Tk::ListSelectionBinding

Tk List widget selection binding

Constants

PROPERTY_EVALUATORS
PROPERTY_TYPE_UPDATERS

Attributes

widget_proxy[R]

Public Class Methods

new(widget_proxy) click to toggle source

Initialize with list widget and property_type property_type :string represents default list single selection property_type :array represents list multi selection

# File lib/glimmer/data_binding/tk/list_selection_binding.rb, line 58
def initialize(widget_proxy)
  property_type = widget_proxy.selectmode == 'browse' ? :string : :array
  @widget_proxy = widget_proxy
  @property_type = property_type
end

Public Instance Methods

call(value) click to toggle source
# File lib/glimmer/data_binding/tk/list_selection_binding.rb, line 64
def call(value)
  PROPERTY_TYPE_UPDATERS[@property_type].call(@widget_proxy, value) unless evaluate_property == value
end
evaluate_property() click to toggle source
# File lib/glimmer/data_binding/tk/list_selection_binding.rb, line 68
def evaluate_property
  selection_array = @widget_proxy.tk.selection.to_a
  PROPERTY_EVALUATORS[@property_type].call(selection_array)
end