Sha256: 0e28040e0d446f8eb08e87bfe22b3a06daba8c714aa80d560cce97b51feeecae

Contents?: true

Size: 1.03 KB

Versions: 6

Compression:

Stored size: 1.03 KB

Contents

require 'purple_shoes'

Shoes.app height: 250, width: 198 do
  def do_calc
    @number = @previous.send(@op, @number)  if @op
    @op = nil
  end
  @previous, @number, @op = 0, 0, nil
  background rgb(235, 235, 210)
  flow margin: 5 do
    flow height: 240, width: 190, margin: [2, 5, 0, 0] do
      background tr_color("#996")[0, 3]..tr_color("#333")[0, 3], curve: 5
      number_field = para strong(@number, ' '*20), stroke: white, margin: 8
      flow width: 218 do
        %w(7 8 9 / 4 5 6 * 1 2 3 - 0 Clr = +).each do |btn|
          button btn, width: 46, height: 46 do
            case btn
            when /[0-9]/
              @number = @number.to_i * 10 + btn.to_i
            when 'Clr'
              @previous, @number, @op = 0, 0, nil
            when '='
              do_calc
            else
              do_calc
              @previous, @number = @number, nil
              @op = btn
            end      
            number_field.text = @number.to_s
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
purple_shoes-0.7.166 samples/sample46.rb
purple_shoes-0.6.153 samples/sample46.rb
purple_shoes-0.5.149 samples/sample46.rb
purple_shoes-0.0.126 samples/sample46.rb
purple_shoes-0.0.115 samples/sample46.rb
purple_shoes-0.0.101 samples/sample46.rb