Class: Gui::SimulatorGui

Inherits:
SimulatorguiGtk show all
Defined in:
lib/gui/simulator_gui.rb

Instance Attribute Summary

Attributes inherited from SimulatorguiGtk

#glade

Instance Method Summary collapse

Constructor Details

#initialize(simulator) ⇒ SimulatorGui

Returns a new instance of SimulatorGui.



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/gui/simulator_gui.rb', line 7

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

Instance Method Details

#on_cola_button_clicked(widget) ⇒ Object



24
25
26
# File 'lib/gui/simulator_gui.rb', line 24

def on_cola_button_clicked(widget)
  @simulator.component(:button_0).press
end

#on_exit_button_clicked(widget) ⇒ Object



52
53
54
# File 'lib/gui/simulator_gui.rb', line 52

def on_exit_button_clicked(widget)
  @stopped = true
end

#on_fanta_button_clicked(widget) ⇒ Object



28
29
30
# File 'lib/gui/simulator_gui.rb', line 28

def on_fanta_button_clicked(widget)
  @simulator.component(:button_1).press
end

#on_fetch_button_clicked(widget) ⇒ Object



20
21
22
# File 'lib/gui/simulator_gui.rb', line 20

def on_fetch_button_clicked(widget)
  @simulator.component(:bin).fetch_all
end

#on_fifty_cents_button_clicked(widget) ⇒ Object



48
49
50
# File 'lib/gui/simulator_gui.rb', line 48

def on_fifty_cents_button_clicked(widget)
  @simulator.component(:cash_register).insert_coin(Hardware::Coin.fifty_cents)
end

#on_one_euro_button_clicked(widget) ⇒ Object



44
45
46
# File 'lib/gui/simulator_gui.rb', line 44

def on_one_euro_button_clicked(widget)
  @simulator.component(:cash_register).insert_coin(Hardware::Coin.one_euro)
end

#on_sisi_button_clicked(widget) ⇒ Object



36
37
38
# File 'lib/gui/simulator_gui.rb', line 36

def on_sisi_button_clicked(widget)
  @simulator.component(:button_3).press
end

#on_sprite_button_clicked(widget) ⇒ Object



32
33
34
# File 'lib/gui/simulator_gui.rb', line 32

def on_sprite_button_clicked(widget)
  @simulator.component(:button_2).press
end

#on_two_euro_button_clicked(widget) ⇒ Object



40
41
42
# File 'lib/gui/simulator_gui.rb', line 40

def on_two_euro_button_clicked(widget)
  @simulator.component(:cash_register).insert_coin(Hardware::Coin.two_euro)
end

#showObject



60
61
62
# File 'lib/gui/simulator_gui.rb', line 60

def show
   glade['window1'].show_all
end

#stopped?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/gui/simulator_gui.rb', line 56

def stopped?
  @stopped
end