Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
# File tk/lib/tk/menu.rb, line 558 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 610 def activate(index) @menu.activate(index) self end
# File tk/lib/tk/menu.rb, line 614 def add(value) @menu.add('radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end
# File tk/lib/tk/menu.rb, line 672 def current_entryconfiginfo(index, key=nil) @menu.current_entryconfiginfo(index, key) end
# File tk/lib/tk/menu.rb, line 630 def delete(index, last=None) @menu.delete(index, last) self end
# File tk/lib/tk/menu.rb, line 659 def entrycget(index, key) @menu.entrycget(index, key) end
# File tk/lib/tk/menu.rb, line 662 def entrycget_strict(index, key) @menu.entrycget_strict(index, key) end
# File tk/lib/tk/menu.rb, line 669 def entryconfiginfo(index, key=nil) @menu.entryconfiginfo(index, key) end
# File tk/lib/tk/menu.rb, line 665 def entryconfigure(index, key, val=None) @menu.entryconfigure(index, key, val) self end
# File tk/lib/tk/menu.rb, line 619 def index(index) @menu.index(index) end
# File tk/lib/tk/menu.rb, line 625 def insert(index, value) @menu.insert(index, 'radiobutton', 'variable'=>@variable, 'label'=>value, 'value'=>value) self end
# File tk/lib/tk/menu.rb, line 622 def invoke(index) @menu.invoke(index) end
# File tk/lib/tk/menu.rb, line 606 def value=(val) @variable.value = val end