Sha256: 75ba444dae67a502dd42628be056fd21af25a5c1141cd7fd9b99fcf4f9e2573e

Contents?: true

Size: 716 Bytes

Versions: 19

Compression:

Stored size: 716 Bytes

Contents

require 'glimmer-dsl-libui'

class Counter
  attr_accessor :count
  
  def initialize
    self.count = 0
  end
end

class ButtonCounter
  include Glimmer::LibUI::Application

  before_body do
    @counter = Counter.new
  end

  body {
    window('Hello, Button!', 190, 20) {
      vertical_box {
        button {
          # data-bind button text to @counter count, converting to string on read from model.
          text <= [@counter, :count, on_read: ->(count) {"Count: #{count}"}]
          
          on_clicked do
            # This change will automatically propagate to button text through data-binding above
            @counter.count += 1
          end
        }
      }
    }
  }
end

ButtonCounter.launch

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
glimmer-dsl-libui-0.12.7 examples/button_counter.rb
glimmer-dsl-libui-0.12.6 examples/button_counter.rb
glimmer-dsl-libui-0.12.5 examples/button_counter.rb
glimmer-dsl-libui-0.12.4 examples/button_counter.rb
glimmer-dsl-libui-0.12.3 examples/button_counter.rb
glimmer-dsl-libui-0.12.2 examples/button_counter.rb
glimmer-dsl-libui-0.12.1 examples/button_counter.rb
glimmer-dsl-libui-0.12.0 examples/button_counter.rb
glimmer-dsl-libui-0.11.10 examples/button_counter.rb
glimmer-dsl-libui-0.11.9 examples/button_counter.rb
glimmer-dsl-libui-0.11.8 examples/button_counter.rb
glimmer-dsl-libui-0.11.7 examples/button_counter.rb
glimmer-dsl-libui-0.11.6 examples/button_counter.rb
glimmer-dsl-libui-0.11.5 examples/button_counter.rb
glimmer-dsl-libui-0.11.4 examples/button_counter.rb
glimmer-dsl-libui-0.11.3 examples/button_counter.rb
glimmer-dsl-libui-0.11.2 examples/button_counter.rb
glimmer-dsl-libui-0.11.1 examples/button_counter.rb
glimmer-dsl-libui-0.11.0 examples/button_counter.rb