Module: GamesParadise::GUI::Gtk::Minesweeper::SmileyFaceModule

Includes:
Gtk::BaseModule
Included in:
SmileyFace
Defined in:
lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb

Constant Summary collapse

NAMESPACE =
#

NAMESPACE

#
inspect
TITLE =
#

TITLE

#
'Minesweeper - Smiley Face Module'
WIDTH =
#

WIDTH

#
120
HEIGHT =
#

HEIGHT

#
100

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.runObject

#

GamesParadise::GUI::Gtk::Minesweeper::SmileyFaceModule.run

#


150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 150

def self.run
  require 'gtk_paradise/run'
  _ = ::GamesParadise::GUI::Gtk::Minesweeper::SmileyFaceModule.new
  r = ::Gtk.run
  r << _
  r.set_size_request(
    _.width?,
    _.height?
  )
  r.automatic_title
  r.top_left_then_run
end

Instance Method Details

#border_size?Boolean

#

border_size?

#

Returns:

  • (Boolean)


97
98
99
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 97

def border_size?
  2
end

#initialize(master_widget) ⇒ Object

#

initialize

#


48
49
50
51
52
53
54
55
56
57
58
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 48

def initialize(master_widget)
  super()
  @master_widget = master_widget
  self.can_focus = false
  self.fancy_tooltips = return_tooltip_string
  set_size_request(
    ::GamesParadise::Minesweeper::BUTTON_BASE_DIMENSION,
    ::GamesParadise::Minesweeper::BUTTON_BASE_DIMENSION
  )
  reset
end

#padding?Boolean

#

padding?

#

Returns:

  • (Boolean)


90
91
92
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 90

def padding?
  2
end

#register_signalsObject

#

register_signals

Register signals

#


133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 133

def register_signals
  on_clicked { @master_widget.restart_game }
  on_button_press_event { |widget, event|
    case event.event_type
    when Gdk::EventType::BUTTON_PRESS # normal mouse button
      case event.button
      when 2 # middle mouse button
        @master_widget.reveal_all
      end
    end
  }
end

#resetObject

#

reset

#


63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 63

def reset
  reset_the_internal_variables
  register_signals
  set_happy_image
  set_use_this_font(:dejavu_condensed_25)
  # ======================================================================= #
  # === @configuration
  # ======================================================================= #
  @configuration = [true, __dir__, NAMESPACE]
  # ======================================================================= #
  # === @title
  # ======================================================================= #
  @title  = TITLE
  # ======================================================================= #
  # === @width
  # ======================================================================= #
  set_width(WIDTH)
  # ======================================================================= #
  # === @height
  # ======================================================================= #
  set_height(HEIGHT)
  use_project_css_file
end

#return_tooltip_stringObject

#

return_tooltip_string

#


104
105
106
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 104

def return_tooltip_string
  'To <b>restart</b> the game you can also click <b>ALT+R</b>.'
end

#set_happy_imageObject

#

set_happy_image

#


111
112
113
114
115
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 111

def set_happy_image
  set_image(
    gtk_image(::GamesParadise::Minesweeper::HAPPY_SMILEY_FACE)
  )
end

#set_unhappy_image(i = ::GamesParadise::Minesweeper::SAD_SMILEY_FACE) ⇒ Object

#

set_unhappy_image

#


120
121
122
123
124
125
126
# File 'lib/games_paradise/gui/shared_code/minesweeper/smiley_face_module.rb', line 120

def set_unhappy_image(
    i = ::GamesParadise::Minesweeper::SAD_SMILEY_FACE
  )
  set_image(
    gtk_image(i)
  )
end