1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#
# tkextlib/bwidget/panelframe.rb
# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
#
require 'tk'
require 'tk/frame'
require 'tkextlib/bwidget.rb'
module Tk
module BWidget
class PanelFrame < TkWindow
end
end
end
class Tk::BWidget::PanelFrame
TkCommandNames = ['PanelFrame'.freeze].freeze
WidgetClassName = 'PanelFrame'.freeze
WidgetClassNames[WidgetClassName] ||= self
def __strval_optkeys
super() + ['panelforeground', 'panelbackground']
end
private :__strval_optkeys
def add(win, keys={})
tk_send('add', win, keys)
self
end
def delete(*wins)
tk_send('delete', *wins)
self
end
def get_frame(&b)
win = window(tk_send_without_enc('getframe'))
if b
if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
win.instance_exec(self, &b)
else
win.instance_eval(&b)
end
end
win
end
def items
simplelist(tk_send('items')).map{|w| window(w)}
end
def remove(*wins)
tk_send('remove', *wins)
self
end
def remove_with_destroy(*wins)
tk_send('remove', '-destroy', *wins)
self
end
def delete(*wins) # same to 'remove_with_destroy'
tk_send('delete', *wins)
self
end
end
|