Sha256: 5359a93156f61206d4685d357f1290b7ee183746fb5ed6c81d24f6149ee10fbc

Contents?: true

Size: 649 Bytes

Versions: 4

Compression:

Stored size: 649 Bytes

Contents

require 'glimmer/data_binding/observable'
require 'glimmer/data_binding/observer'

module Glimmer
  module DataBinding
    module Tk
      class WidgetBinding
        include Glimmer
        include Observable
        include Observer
  
        attr_reader :widget, :attribute
        def initialize(widget, attribute)
          @widget = widget
          @attribute = attribute  
        end
        
        def call(value)
          @widget.set_attribute(@attribute, value) unless evaluate_attribute == value
        end
        
        def evaluate_attribute
          @widget.get_attribute(@attribute)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
glimmer-dsl-tk-0.0.6 lib/glimmer/data_binding/tk/widget_binding.rb
glimmer-dsl-tk-0.0.5 lib/glimmer/data_binding/tk/widget_binding.rb
glimmer-dsl-tk-0.0.4 lib/glimmer/data_binding/tk/widget_binding.rb
glimmer-dsl-tk-0.0.3 lib/glimmer/data_binding/tk/widget_binding.rb