Sha256: 1a22c884e8113e822c62414e06135919c89ff8ff92a748543997991e6f607747

Contents?: true

Size: 686 Bytes

Versions: 1

Compression:

Stored size: 686 Bytes

Contents

class Shoes
  class Button
    include Shoes::CommonMethods
    include Shoes::Common::Clickable
    include Shoes::Common::State
    include DimensionsDelegations

    attr_reader :app, :parent, :blk, :gui, :opts, :dimensions
    attr_accessor :text

    def initialize(app, parent, text = 'Button', opts = {}, blk = nil)
      @app    = app
      @parent = parent
      @text   = text
      @opts   = opts
      @blk    = blk

      @dimensions = Dimensions.new parent, opts

      @gui = Shoes.configuration.backend_for(self, @parent.gui)

      parent.add_child self

      clickable_options(opts)
      state_options(opts)
    end

    def focus
      @gui.focus
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoes-4.0.0.pre1 lib/shoes/button.rb