1# 2# tkextlib/bwidget/labelframe.rb 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5 6require 'tk' 7require 'tk/frame' 8require 'tkextlib/bwidget.rb' 9require 'tkextlib/bwidget/label' 10 11module Tk 12 module BWidget 13 class LabelFrame < TkWindow 14 end 15 end 16end 17 18class Tk::BWidget::LabelFrame 19 TkCommandNames = ['LabelFrame'.freeze].freeze 20 WidgetClassName = 'LabelFrame'.freeze 21 WidgetClassNames[WidgetClassName] ||= self 22 23 def __strval_optkeys 24 super() << 'helptext' 25 end 26 private :__strval_optkeys 27 28 def __boolval_optkeys 29 super() << 'dragenabled' << 'dropenabled' 30 end 31 private :__boolval_optkeys 32 33 def __tkvariable_optkeys 34 super() << 'helpvar' 35 end 36 private :__tkvariable_optkeys 37 38 def self.align(*args) 39 tk_call('LabelFrame::align', *args) 40 end 41 def get_frame(&b) 42 win = window(tk_send_without_enc('getframe')) 43 if b 44 if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!! 45 win.instance_exec(self, &b) 46 else 47 win.instance_eval(&b) 48 end 49 end 50 win 51 end 52end 53