In Files

  • tk/lib/tkextlib/blt/table.rb

Class/Module Index [+]

Quicksearch

Tk::BLT::Table

Constants

TkCommandNames

Public Class Methods

__current_itemconfiginfo(container, *args) click to toggle source
__itemcget(container, item, option) click to toggle source
Alias for: itemcget
__itemcget_strict(container, item, option) click to toggle source
Alias for: itemcget_strict
__itemcget_tkstring(container, item, option) click to toggle source
Alias for: itemcget_tkstring
__itemconfiginfo(container, *args) click to toggle source
Alias for: itemconfiginfo
__itemconfigure(container, *args) click to toggle source
Alias for: itemconfigure
add(container, *args) click to toggle source
 
               # 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
            
arrange(container) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 348
def arrange(container)
  tk_call('::blt::table', 'arrange', container)
  container
end
            
cget(container, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 193
def cget(container, option)
  __itemcget([container], option)
end
            
cget_strict(container, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 196
def cget_strict(container, option)
  __itemcget_strict([container], option)
end
            
cget_tkstring(container, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 190
def cget_tkstring(container, option)
  __itemcget_tkstring([container], option)
end
            
configinfo(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 204
def configinfo(container, *args)
  __itemconfiginfo([container], *args)
end
            
configure(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 200
def configure(container, *args)
  __itemconfigure([container], *args)
end
            
containers(arg={}) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 389
def containers(arg={})
  list(tk_call('::blt::table', 'containers', *hash_kv(arg)))
end
            
containers_pattern(pat) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 393
def containers_pattern(pat)
  list(tk_call('::blt::table', 'containers', '-pattern', pat))
end
            
containers_slave(win) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 397
def containers_slave(win)
  list(tk_call('::blt::table', 'containers', '-slave', win))
end
            
create_container(container) click to toggle source
 
               # 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
            
current_configinfo(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 208
def current_configinfo(container, *args)
  __current_itemconfiginfo([container], *args)
end
            
current_itemconfiginfo(container, *args) click to toggle source
 
               # 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
            
Also aliased as: __current_itemconfiginfo
delete(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 353
def delete(container, *args)
  tk_call('::blt::table', 'delete', container, *args)
end
            
extents(container, item) click to toggle source
 
               # 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
            
forget(*wins) click to toggle source
 
               # 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
            
info(container) click to toggle source
 
               # 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
            
insert(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 369
def insert(container, *args)
  tk_call('::blt::table', 'insert', container, *args)
end
            
insert_after(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 377
def insert_after(container, *args)
  tk_call('::blt::table', 'insert', container, '-after', *args)
end
            
insert_before(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 373
def insert_before(container, *args)
  tk_call('::blt::table', 'insert', container, '-before', *args)
end
            
itemcget(container, item, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 215
def itemcget(container, item, option)
  __itemcget([container, tagid(item)], option)
end
            
Also aliased as: __itemcget
itemcget_strict(container, item, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 218
def itemcget_strict(container, item, option)
  __itemcget_strict([container, tagid(item)], option)
end
            
Also aliased as: __itemcget_strict
itemcget_tkstring(container, item, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 212
def itemcget_tkstring(container, item, option)
  __itemcget_tkstring([container, tagid(item)], option)
end
            
Also aliased as: __itemcget_tkstring
itemconfiginfo(container, *args) click to toggle source
 
               # 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
            
Also aliased as: __itemconfiginfo
itemconfigure(container, *args) click to toggle source
 
               # 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
            
Also aliased as: __itemconfigure
iteminfo(container, item) click to toggle source
 
               # 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
            
join(container, first, last) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 381
def join(container, first, last)
  tk_call('::blt::table', 'join', container, first, last)
end
            
locate(container, x, y) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 385
def locate(container, x, y)
  tk_call('::blt::table', 'locate', container, x, y)
end
            
save(container) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 401
def save(container)
  tk_call('::blt::table', 'save', container)
end
            
search(container, keys={}) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 405
def search(container, keys={})
  list(tk_call('::blt::table', 'containers', *hash_kv(keys)))
end
            
split(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 409
def split(container, *args)
  tk_call('::blt::table', 'split', container, *args)
end
            
tagid(tag) click to toggle source
 
               # 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
            
tagid2obj(tagid) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 184
def tagid2obj(tagid)
  tagid
end