1# 2# tprogressbar widget 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5require 'tk' 6require 'tkextlib/tile.rb' 7 8module Tk 9 module Tile 10 class TProgressbar < TkWindow 11 end 12 Progressbar = TProgressbar 13 end 14end 15 16class Tk::Tile::TProgressbar 17 include Tk::Tile::TileWidget 18 19 if Tk::Tile::USE_TTK_NAMESPACE 20 TkCommandNames = ['::ttk::progressbar'.freeze].freeze 21 else 22 TkCommandNames = ['::tprogressbar'.freeze].freeze 23 end 24 WidgetClassName = 'TProgressbar'.freeze 25 WidgetClassNames[WidgetClassName] ||= self 26 27 def self.style(*args) 28 [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') 29 end 30 31 def step(amount=None) 32 tk_send_without_enc('step', amount).to_f 33 end 34 #def step=(amount) 35 # tk_send_without_enc('step', amount) 36 #end 37 38 def start(interval=None) 39 if Tk::Tile::TILE_SPEC_VERSION_ID < 5 40 tk_call_without_enc('::tile::progressbar::start', @path, interval) 41 else 42 tk_send_without_enc('start', interval) 43 end 44 end 45 46 def stop(amount=None) 47 if Tk::Tile::TILE_SPEC_VERSION_ID < 5 48 tk_call_without_enc('::tile::progressbar::stop', @path) 49 else 50 tk_send_without_enc('stop', amount) 51 end 52 end 53end 54 55#Tk.__set_toplevel_aliases__(:Ttk, Tk::Tile::Progressbar, :TkProgressbar) 56Tk.__set_loaded_toplevel_aliases__('tkextlib/tile/tprogressbar.rb', 57 :Ttk, Tk::Tile::Progressbar, :TkProgressbar) 58