![show/hide quicksearch [+]](../../images/find.png)
 
               # File tk/lib/tkextlib/blt/table.rb, line 330
def add(container, *args)
  if args.empty?
    tk_call('::blt::table', container)
  else
    args = args.collect{|arg|
      if arg.kind_of?(TkWindow)
        _epath(arg)
      elsif arg.kind_of?(Array)  # index
        arg.join(',')
      else
        arg
      end
    }
    tk_call('::blt::table', container, *args)
  end
  container
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 348
def arrange(container)
  tk_call('::blt::table', 'arrange', container)
  container
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 193
def cget(container, option)
  __itemcget([container], option)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 196
def cget_strict(container, option)
  __itemcget_strict([container], option)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 190
def cget_tkstring(container, option)
  __itemcget_tkstring([container], option)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 204
def configinfo(container, *args)
  __itemconfiginfo([container], *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 200
def configure(container, *args)
  __itemconfigure([container], *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 389
def containers(arg={})
  list(tk_call('::blt::table', 'containers', *hash_kv(arg)))
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 393
def containers_pattern(pat)
  list(tk_call('::blt::table', 'containers', '-pattern', pat))
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 397
def containers_slave(win)
  list(tk_call('::blt::table', 'containers', '-slave', win))
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 318
def create_container(container)
  tk_call('::blt::table', container)
  begin
    class << container
      include Tk::BLT::Table::TableContainer
    end
  rescue
    warn('fail to include TableContainer methods (frozen object?)')
  end
  container
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 208
def current_configinfo(container, *args)
  __current_itemconfiginfo([container], *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 264
def current_itemconfiginfo(container, *args)
  slot = args[-1]
  if slot.kind_of?(String) || slot.kind_of?(Symbol)
    slot = slot.to_s
    if slot[0] == .. || slot =~ /^\d+,\d+$/ || slot =~ /^(c|C|r|R)(\*|\d+)/
      #   widget     ||    row,col          ||    Ci or Ri
      slot = nil
    else
      # option
      slot = args.pop
    end
  else
    slot = nil
  end
  fail ArgumentError, 'no item is given' if args.empty?
  id = [container]
  args.each{|item| id << tagid(item)}
  __current_itemconfiginfo(id, slot)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 353
def delete(container, *args)
  tk_call('::blt::table', 'delete', container, *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 357
def extents(container, item)
  ret = []
  inf = list(tk_call('::blt::table', 'extents', container, item))
  ret << inf.slice!(0..4) until inf.empty?
  ret
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 364
def forget(*wins)
  wins = wins.collect{|win| _epath(win)}
  tk_call('::blt::table', 'forget', *wins)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 286
def info(container)
  ret = {}
  inf = list(tk_call('::blt::table', 'info', container))
  until inf.empty?
    opt = inf.slice!(0..1)
    ret[opt[1..-1]] = opt[1]
  end
  ret
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 369
def insert(container, *args)
  tk_call('::blt::table', 'insert', container, *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 377
def insert_after(container, *args)
  tk_call('::blt::table', 'insert', container, '-after', *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 373
def insert_before(container, *args)
  tk_call('::blt::table', 'insert', container, '-before', *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 215
def itemcget(container, item, option)
  __itemcget([container, tagid(item)], option)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 218
def itemcget_strict(container, item, option)
  __itemcget_strict([container, tagid(item)], option)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 212
def itemcget_tkstring(container, item, option)
  __itemcget_tkstring([container, tagid(item)], option)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 242
def itemconfiginfo(container, *args)
  slot = args[-1]
  if slot.kind_of?(String) || slot.kind_of?(Symbol)
    slot = slot.to_s
    if slot[0] == .. || slot =~ /^\d+,\d+$/ || slot =~ /^(c|C|r|R)(\*|\d+)/
      #   widget     ||    row,col          ||    Ci or Ri
      slot = nil
    else
      # option
      slot = args.pop
    end
  else
    slot = nil
  end
  fail ArgumentError, 'no item is given' if args.empty?
  id = [container]
  args.each{|item| id << tagid(item)}
  __itemconfiginfo(id, slot)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 222
def itemconfigure(container, *args)
  if args[-1].kind_of?(Hash)
    # container, item, item, ... , hash_optkeys
    keys = args.pop
    fail ArgumentError, 'no item is given' if args.empty?
    id = [container]
    args.each{|item| id << tagid(item)}
    __itemconfigure(id, keys)
  else
    # container, item, item, ... , option, value
    val = args.pop
    opt = args.pop
    fail ArgumentError, 'no item is given' if args.empty?
    id = [container]
    args.each{|item| id << tagid(item)}
    __itemconfigure(id, opt, val)
  end
  container
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 296
def iteminfo(container, item)
  inf = list(tk_call('::blt::table', 'info', container, tagid(item)).chomp)
  ret = []
  until inf.empty? || (inf[0].kind_of?(String) && inf[0] =~ /^-/)
    ret << inf.shift
  end
  if inf.length > 1
    keys = {}
    while inf.length > 1
      opt = inf.slice!(0..1)
      keys[opt[0][1..-1]] = opt[1]
    end
    ret << keys
  end
  ret
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 381
def join(container, first, last)
  tk_call('::blt::table', 'join', container, first, last)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 385
def locate(container, x, y)
  tk_call('::blt::table', 'locate', container, x, y)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 401
def save(container)
  tk_call('::blt::table', 'save', container)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 405
def search(container, keys={})
  list(tk_call('::blt::table', 'containers', *hash_kv(keys)))
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 409
def split(container, *args)
  tk_call('::blt::table', 'split', container, *args)
end
             
             
               # File tk/lib/tkextlib/blt/table.rb, line 165
def tagid(tag)
  if tag.kind_of?(Array)
    case tag[0]
    when Integer
      # [row, col]
      tag.join(',')
    when :c, :C, 'c', 'C', :r, :R, 'r', 'R'
      # c0 or r1 or C*, and so on
      tag.collect{|elem| elem.to_s}.join('')
    else
      tag
    end
  elsif tag.kind_of?(TkWindow)
    _epath(tag)
  else
    tag
  end
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.