In Files

  • tk/lib/tk/menu.rb

Class/Module Index [+]

Quicksearch

Tk::OptionMenubutton

Constants

TkCommandNames

Public Class Methods

new(*args) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 593
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.empty? && (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.empty? && (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
            

Public Instance Methods

activate(index) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 645
def activate(index)
  @menu.activate(index)
  self
end
            
add(value) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 649
def add(value)
  @menu.add('radiobutton', 'variable'=>@variable,
            'label'=>value, 'value'=>value)
  self
end
            
current_entryconfiginfo(index, key=nil) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 707
def current_entryconfiginfo(index, key=nil)
  @menu.current_entryconfiginfo(index, key)
end
            
current_menuconfiginfo(key=nil) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 691
def current_menuconfiginfo(key=nil)
  @menu.current_configinfo(key)
end
            
delete(index, last=None) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 665
def delete(index, last=None)
  @menu.delete(index, last)
  self
end
            
entrycget(index, key) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 694
def entrycget(index, key)
  @menu.entrycget(index, key)
end
            
entrycget_strict(index, key) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 697
def entrycget_strict(index, key)
  @menu.entrycget_strict(index, key)
end
            
entryconfiginfo(index, key=nil) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 704
def entryconfiginfo(index, key=nil)
  @menu.entryconfiginfo(index, key)
end
            
entryconfigure(index, key, val=None) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 700
def entryconfigure(index, key, val=None)
  @menu.entryconfigure(index, key, val)
  self
end
            
index(index) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 654
def index(index)
  @menu.index(index)
end
            
insert(index, value) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 660
def insert(index, value)
  @menu.insert(index, 'radiobutton', 'variable'=>@variable,
            'label'=>value, 'value'=>value)
  self
end
            
invoke(index) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 657
def invoke(index)
  @menu.invoke(index)
end
            
value() click to toggle source
 
               # File tk/lib/tk/menu.rb, line 637
def value
  @variable.value
end
            
value=(val) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 641
def value=(val)
  @variable.value = val
end
            
xposition(index) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 669
def xposition(index)
  @menu.xposition(index)
end
            
yposition(index) click to toggle source
 
               # File tk/lib/tk/menu.rb, line 672
def yposition(index)
  @menu.yposition(index)
end