Sha256: 22a6c50717eb9cec7b267e275712ba67ab17f0351a1c12eed999d761a3af52f5
Contents?: true
Size: 1.65 KB
Versions: 4
Compression:
Stored size: 1.65 KB
Contents
PROG_PATH = File.join(File.dirname(__FILE__), "SimulatorGui.gtk") PROG_NAME = "Vending Machine" module Gui class SimulatorGui < SimulatorguiGtk def initialize(simulator) super(PROG_PATH, PROG_NAME) @simulator = simulator simulator.monitor_changes(:bin) do glade['bin_box'].buffer.text = @simulator.component(:bin).contents.join("\n") end simulator.monitor_changes(:display) do glade['display_line_1'].buffer.text = @simulator.component(:display).line_one glade['display_line_2'].buffer.text = @simulator.component(:display).line_two end end def on_fetch_button_clicked(widget) @simulator.component(:bin).fetch_all end def on_cola_button_clicked(widget) @simulator.component(:button_0).press end def on_fanta_button_clicked(widget) @simulator.component(:button_1).press end def on_sprite_button_clicked(widget) @simulator.component(:button_2).press end def on_sisi_button_clicked(widget) @simulator.component(:button_3).press end def on_two_euro_button_clicked(widget) @simulator.component(:cash_register).insert_coin(Hardware::Coin.two_euro) end def on_one_euro_button_clicked(widget) @simulator.component(:cash_register).insert_coin(Hardware::Coin.one_euro) end def on_fifty_cents_button_clicked(widget) @simulator.component(:cash_register).insert_coin(Hardware::Coin.fifty_cents) end def on_exit_button_clicked(widget) @stopped = true end def stopped? @stopped end def show glade['window1'].show_all end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
vmsim-1.0.1 | lib/gui/simulator_gui.rb |
vmsim-1.0.0 | lib/gui/simulator_gui.rb |
vmsim-0.2.4 | lib/gui/simulator_gui.rb |
vmsim-0.2.3 | lib/gui/simulator_gui.rb |