1# 2# tscrollbar 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 TScrollbar < Tk::Scrollbar 11 end 12 Scrollbar = TScrollbar 13 end 14end 15 16class Tk::Tile::TScrollbar < Tk::Scrollbar 17 include Tk::Tile::TileWidget 18 19 if Tk::Tile::USE_TTK_NAMESPACE 20 TkCommandNames = ['::ttk::scrollbar'.freeze].freeze 21 else 22 TkCommandNames = ['::tscrollbar'.freeze].freeze 23 end 24 WidgetClassName = 'TScrollbar'.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 alias identify ttk_identify 32end 33 34#Tk.__set_toplevel_aliases__(:Ttk, Tk::Tile::Scrollbar, :TkScrollbar) 35Tk.__set_loaded_toplevel_aliases__('tkextlib/tile/tscrollbar.rb', 36 :Ttk, Tk::Tile::Scrollbar, :TkScrollbar) 37 38####################################################################### 39 40class Tk::Tile::XScrollbar < Tk::Tile::TScrollbar 41 def create_self(keys) 42 keys = {} unless keys 43 keys['orient'] = 'horizontal' 44 super(keys) 45 end 46 private :create_self 47end 48 49class Tk::Tile::YScrollbar < Tk::Tile::TScrollbar 50 def create_self(keys) 51 keys = {} unless keys 52 keys['orient'] = 'vertical' 53 super(keys) 54 end 55 private :create_self 56end 57 58#Tk.__set_toplevel_aliases__(:Ttk, Tk::Tile::XScrollbar, :TkXScrollbar) 59#Tk.__set_toplevel_aliases__(:Ttk, Tk::Tile::YScrollbar, :TkYScrollbar) 60Tk.__set_loaded_toplevel_aliases__('tkextlib/tile/tscrollbar.rb', 61 :Ttk, Tk::Tile::XScrollbar, :TkXScrollbar) 62Tk.__set_loaded_toplevel_aliases__('tkextlib/tile/tscrollbar.rb', 63 :Ttk, Tk::Tile::YScrollbar, :TkYScrollbar) 64