Class/Module Index [+]

Quicksearch

Tk::Iwidgets::Menubar

Public Instance Methods

__methodcall_optkeys() click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 76
def __methodcall_optkeys
  {'menubuttons'=>'menubuttons'}
end
            
_parse_menu_spec(menu_spec) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 89
def _parse_menu_spec(menu_spec)
  ret = ''
  menu_spec.each{|spec|
    next unless spec

    if spec.kind_of?(Hash)
      args = [spec]
      type = 'options'
    else
      type, *args = spec
    end

    type = type.to_s
    case type
    when 'options'
      keys = args[0]
      ary = [type]
      ary.concat(hash_kv(keys))
      ret << array2tk_list(ary) << "\n"

    when 'menubutton', 'cascade'
      name, keys = args
      if keys
        ary = [type, name]
        keys = _symbolkey2str(keys)
        keys['menu'] = _parse_menu_spec(keys['menu']) if keys.key?('menu')
        ary.concat(hash_kv(keys))
        ret << array2tk_list(ary) << "\n"
      else
        ret << array2tk_list([type, name]) << "\n"
      end

    else
      name, keys = args
      if keys
        ary = [type, name]
        ary.concat(hash_kv(keys))
        ret << array2tk_list(ary) << "\n"
      else
        ret << array2tk_list([type, name]) << "\n"
      end
    end
  }
  ret
end
            
add(type, tag=nil, keys={}) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 137
def add(type, tag=nil, keys={})
  if tag.kind_of?(Hash)
    keys = tag
    tag = nil
  end
  if tag
    tag = Tk::Itk::Component.new(self, tagid(tag))
  else
    tag = Tk::Itk::Component.new(self)
  end
  keys = _symbolkey2str(keys)
  keys['menu'] = _parse_menu_spec(keys['menu']) if keys.key?('menu')
  tk_call(@path, 'add', type, tagid(tag), *hash_kv(keys))
  tag
end
            
delete(path1, path2=nil) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 153
def delete(path1, path2=nil)
  if path2
  else
    tk_call(@path, 'delete', index(idx))
  end
  self
end
            
index(idx) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 161
def index(idx)
  number(tk_call(@path, 'index', tagid(idx)))
end
            
insert(idx, type, tag=nil, keys={}) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 165
def insert(idx, type, tag=nil, keys={})
  if tag.kind_of?(Hash)
    keys = tag
    tag = nil
  end
  if tag
    tag = Tk::Itk::Component.new(self, tagid(tag))
  else
    tag = Tk::Itk::Component.new(self)
  end
  keys = _symbolkey2str(keys)
  keys['menu'] = _parse_menu_spec(keys['menu']) if keys.key?('menu')
  tk_call(@path, 'insert', index(idx), type, tagid(tag), *hash_kv(keys))
  tag
end
            
invoke(idx) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 181
def invoke(idx)
  tk_call(@path, 'invoke', index(idx))
  self
end
            
tagid(tagOrId) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 55
def tagid(tagOrId)
  if tagOrId.kind_of?(Tk::Itk::Component)
    tagOrId.name
  else
    #_get_eval_string(tagOrId)
    tagOrId
  end
end
            
type(path) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 205
def type(path)
  tk_call(@path, 'type', path)
end
            
yposition(path) click to toggle source
 
               # File tk/lib/tkextlib/iwidgets/menubar.rb, line 209
def yposition(path)
  number(tk_call(@path, 'yposition', path))
end
            

Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

blog comments powered by Disqus