Class: TkFrameAdapter

Inherits:
TkFrame
  • Object
show all
Includes:
TkMovable
Defined in:
lib/a-tkcommons.rb

Direct Known Subclasses

AGTkSplittedFrames

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from TkMovable

#moving_do_move_obj, #moving_do_press, #start_moving, #stop_moving

Constructor Details

#initialize(scope_parent = nil, *args) ⇒ TkFrameAdapter

Returns a new instance of TkFrameAdapter.



239
240
241
242
243
244
# File 'lib/a-tkcommons.rb', line 239

def initialize(scope_parent=nil, *args)
  super(scope_parent, *args)
  @scope_parent = scope_parent
  @movable = true
  #ObjectSpace.define_finalizer(self, self.method(:detach_frame).to_proc)
end

Instance Attribute Details

#frameObject (readonly)

Returns the value of attribute frame.



238
239
240
# File 'lib/a-tkcommons.rb', line 238

def frame
  @frame
end

Instance Method Details

#add_moved_by(_obj) ⇒ Object



246
247
248
249
# File 'lib/a-tkcommons.rb', line 246

def add_moved_by(_obj)
  @movable = true
  start_moving(_obj, self)
end

#attach_frame(_frame) ⇒ Object



263
264
265
266
267
268
269
270
271
272
# File 'lib/a-tkcommons.rb', line 263

def attach_frame(_frame)
  @frame = _frame
  refresh
  if @movable
    @frame.bind_append("Configure",proc{ refresh})
    @frame.bind_append("Map",proc{refresh})
    @frame.bind_append("Unmap",proc{unplace if TkWinfo.mapped?(@frame)})
  end
  self
end

#detach_frameObject



251
252
253
254
255
256
257
258
259
260
261
# File 'lib/a-tkcommons.rb', line 251

def detach_frame
  if @frame 
    if @movable
      @frame.bind_remove("Configure") 
      @frame.bind_remove("Map") 
      @frame.bind_remove("Unmap") 
    end
    @frame = nil
    self.unplace
  end
end

#refresh(_x = 0, _y = 0) ⇒ Object



275
276
277
# File 'lib/a-tkcommons.rb', line 275

def refresh(_x=0, _y=0)
  place('in'=>@frame, 'x'=>_x, 'y'=>_y, 'relheight'=> 1, 'relwidth'=>1, 'bordermode'=>'outside')
end