1# 2# tcombobox 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 TCombobox < Tk::Tile::TEntry 11 end 12 Combobox = TCombobox 13 end 14end 15 16class Tk::Tile::TCombobox < Tk::Tile::TEntry 17 include Tk::Tile::TileWidget 18 19 if Tk::Tile::USE_TTK_NAMESPACE 20 TkCommandNames = ['::ttk::combobox'.freeze].freeze 21 else 22 TkCommandNames = ['::tcombobox'.freeze].freeze 23 end 24 WidgetClassName = 'TCombobox'.freeze 25 WidgetClassNames[WidgetClassName] ||= self 26 27 def __boolval_optkeys 28 super() << 'exportselection' 29 end 30 private :__boolval_optkeys 31 32 def __listval_optkeys 33 super() << 'values' 34 end 35 private :__listval_optkeys 36 37 def self.style(*args) 38 [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') 39 end 40 41 def current 42 number(tk_send_without_enc('current')) 43 end 44 def current=(idx) 45 tk_send_without_enc('current', idx) 46 end 47 48 def set(val) 49 tk_send('set', val) 50 end 51end 52 53#Tk.__set_toplevel_aliases__(:Ttk, Tk::Tile::Combobox, :TkCombobox) 54Tk.__set_loaded_toplevel_aliases__('tkextlib/tile/tcombobox.rb', 55 :Ttk, Tk::Tile::Combobox, :TkCombobox) 56