Class | TkOptionMenubutton |
In: |
tk/lib/tk/menu.rb
|
Parent: | TkMenubutton |
TkCommandNames | = | ['tk_optionMenu'.freeze].freeze |
# File tk/lib/tk/menu.rb, line 455 def initialize(*args) # args :: [parent,] [var,] [value[, ...],] [keys] # parent --> TkWindow or nil # var --> TkVariable or nil # keys --> Hash # keys[:parent] or keys['parent'] --> parent # keys[:variable] or keys['variable'] --> var # keys[:values] or keys['values'] --> value, ... # other Hash keys are menubutton options keys = {} keys = args.pop if args[-1].kind_of?(Hash) keys = _symbolkey2str(keys) parent = nil if args[0].kind_of?(TkWindow) || args[0] == nil keys.delete('parent') # ignore parent = args.shift else parent = keys.delete('parent') end @variable = nil if args[0].kind_of?(TkVariable) || args[0] == nil keys.delete('variable') # ignore @variable = args.shift else @variable = keys.delete('variable') end @variable = TkVariable.new unless @variable (args = keys.delete('values') || []) if args.empty? if args.empty? args << @variable.value else @variable.value = args[0] end install_win(if parent then parent.path end) @menu = OptionMenu.new(tk_call('tk_optionMenu', @path, @variable.id, *args)) configure(keys) if keys end
# File tk/lib/tk/menu.rb, line 511 def add(value) @menu.add('radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end
# File tk/lib/tk/menu.rb, line 560 def current_entryconfiginfo(index, key=nil) @menu.current_entryconfiginfo(index, key) end
# File tk/lib/tk/menu.rb, line 547 def current_menuconfiginfo(key=nil) @menu.current_configinfo(key) end
# File tk/lib/tk/menu.rb, line 557 def entryconfiginfo(index, key=nil) @menu.entryconfiginfo(index, key) end
# File tk/lib/tk/menu.rb, line 553 def entryconfigure(index, key, val=None) @menu.entryconfigure(index, key, val) self end
# File tk/lib/tk/menu.rb, line 522 def insert(index, value) @menu.insert(index, 'radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end
# File tk/lib/tk/menu.rb, line 540 def menuconfigure(key, val=None) @menu.configure(key, val) self end