Class: Othello::BoardView::Square

Inherits:
Object
  • Object
show all
Defined in:
sample/tcltklib/sample2.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view, row, col) ⇒ Square

Returns a new instance of Square.


198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
# File 'sample/tcltklib/sample2.rb', line 198

def initialize(view, row, col)
   @view = view
   @id = @view.e("create rectangle",
                 *(view.tk_rect(view.left + col,
                                view.top + row,
                                view.left + col + 1,
                                view.top + row + 1) \
                   << "-fill #{BACK_GROUND_COLOR}") )
   @row = row
   @col = col
   @view.e("itemconfigure", @id,
     "-width 0.5m -outline #{BORDER_COLOR}")
   @view.e("bind", @id, "<Any-Enter>", TclTkCallback.new($ip, proc{
      if @oval == nil
         view.e("itemconfigure", @id, "-fill #{HILIT_BG_COLOR}")
      end
   }))
   @view.e("bind", @id, "<Any-Leave>", TclTkCallback.new($ip, proc{
      view.e("itemconfigure", @id, "-fill #{BACK_GROUND_COLOR}")
   }))
   @view.e("bind", @id, "<ButtonRelease-1>", TclTkCallback.new($ip,
      proc{
      view.click_square(self)
   }))
end

Instance Attribute Details

#colObject (readonly)

Returns the value of attribute col


196
197
198
# File 'sample/tcltklib/sample2.rb', line 196

def col
  @col
end

#ovalObject (readonly)

Returns the value of attribute oval


194
195
196
# File 'sample/tcltklib/sample2.rb', line 194

def oval
  @oval
end

#rowObject (readonly)

Returns the value of attribute row


195
196
197
# File 'sample/tcltklib/sample2.rb', line 195

def row
  @row
end

Instance Method Details


224
225
226
227
228
229
# File 'sample/tcltklib/sample2.rb', line 224

def blink(color)
   @view.e("itemconfigure", @id, "-fill #{color}")
   $update.e()
   sleep(0.1)
   @view.e("itemconfigure", @id, "-fill #{BACK_GROUND_COLOR}")
end