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