1#
2#  tkextlib/bwidget/progressdlg.rb
3#                               by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
4#
5
6require 'tk'
7require 'tk/variable'
8require 'tkextlib/bwidget.rb'
9require 'tkextlib/bwidget/progressbar'
10require 'tkextlib/bwidget/messagedlg'
11
12module Tk
13  module BWidget
14    class ProgressDlg < Tk::BWidget::MessageDlg
15    end
16  end
17end
18
19class Tk::BWidget::ProgressDlg
20  TkCommandNames = ['ProgressDlg'.freeze].freeze
21  WidgetClassName = 'ProgressDlg'.freeze
22  WidgetClassNames[WidgetClassName] ||= self
23
24  def create_self(keys)
25    # NOT create widget for reusing the object
26    super(keys)
27    @keys['textvariable'] = TkVariable.new unless @keys.key?('textvariable')
28    @keys['variable']     = TkVariable.new unless @keys.key?('variable')
29  end
30
31  def textvariable
32    @keys['textvariable']
33  end
34
35  def text
36    @keys['textvariable'].value
37  end
38
39  def text= (txt)
40    @keys['textvariable'].value = txt
41  end
42
43  def variable
44    @keys['variable']
45  end
46
47  def value
48    @keys['variable'].value
49  end
50
51  def value= (val)
52    @keys['variable'].value = val
53  end
54
55  def create
56    window(tk_call(self.class::TkCommandNames[0], @path, *hash_kv(@keys)))
57  end
58end
59