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