Module: Tk::BLT::Table (Ruby 2.3.4)

In Files

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

Class/Module Index [+]

Quicksearch

Tk::BLT::Table

Constants

TkCommandNames

Public Class Methods

__current_itemconfiginfo(container, *args)
__itemcget(container, item, option)
Alias for: itemcget
__itemcget_strict(container, item, option)
Alias for: itemcget_strict
__itemcget_tkstring(container, item, option)
Alias for: itemcget_tkstring
__itemconfiginfo(container, *args)
Alias for: itemconfiginfo
__itemconfigure(container, *args)
Alias for: itemconfigure
add(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 331
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 349
def arrange(container)
  tk_call('::blt::table', 'arrange', container)
  container
end
            
cget(container, option)
 
               # File tk/lib/tkextlib/blt/table.rb, line 194
def cget(container, option)
  __itemcget([container], option)
end
            
cget_strict(container, option)
 
               # File tk/lib/tkextlib/blt/table.rb, line 197
def cget_strict(container, option)
  __itemcget_strict([container], option)
end
            
cget_tkstring(container, option)
 
               # File tk/lib/tkextlib/blt/table.rb, line 191
def cget_tkstring(container, option)
  __itemcget_tkstring([container], option)
end
            
configinfo(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 205
def configinfo(container, *args)
  __itemconfiginfo([container], *args)
end
            
configure(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 201
def configure(container, *args)
  __itemconfigure([container], *args)
end
            
containers(arg={})
 
               # File tk/lib/tkextlib/blt/table.rb, line 390
def containers(arg={})
  list(tk_call('::blt::table', 'containers', *hash_kv(arg)))
end
            
containers_pattern(pat)
 
               # File tk/lib/tkextlib/blt/table.rb, line 394
def containers_pattern(pat)
  list(tk_call('::blt::table', 'containers', '-pattern', pat))
end
            
containers_slave(win)
 
               # File tk/lib/tkextlib/blt/table.rb, line 398
def containers_slave(win)
  list(tk_call('::blt::table', 'containers', '-slave', win))
end
            
create_container(container)
 
               # File tk/lib/tkextlib/blt/table.rb, line 319
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 209
def current_configinfo(container, *args)
  __current_itemconfiginfo([container], *args)
end
            
current_itemconfiginfo(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 265
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 354
def delete(container, *args)
  tk_call('::blt::table', 'delete', container, *args)
end
            
extents(container, item)
 
               # File tk/lib/tkextlib/blt/table.rb, line 358
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 365
def forget(*wins)
  wins = wins.collect{|win| _epath(win)}
  tk_call('::blt::table', 'forget', *wins)
end
            
info(container)
 
               # File tk/lib/tkextlib/blt/table.rb, line 287
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 370
def insert(container, *args)
  tk_call('::blt::table', 'insert', container, *args)
end
            
insert_after(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 378
def insert_after(container, *args)
  tk_call('::blt::table', 'insert', container, '-after', *args)
end
            
insert_before(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 374
def insert_before(container, *args)
  tk_call('::blt::table', 'insert', container, '-before', *args)
end
            
itemcget(container, item, option)
 
               # File tk/lib/tkextlib/blt/table.rb, line 216
def itemcget(container, item, option)
  __itemcget([container, tagid(item)], option)
end
            
Also aliased as: __itemcget
itemcget_strict(container, item, option)
 
               # File tk/lib/tkextlib/blt/table.rb, line 219
def itemcget_strict(container, item, option)
  __itemcget_strict([container, tagid(item)], option)
end
            
Also aliased as: __itemcget_strict
itemcget_tkstring(container, item, option)
 
               # File tk/lib/tkextlib/blt/table.rb, line 213
def itemcget_tkstring(container, item, option)
  __itemcget_tkstring([container, tagid(item)], option)
end
            
Also aliased as: __itemcget_tkstring
itemconfiginfo(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 243
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 223
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 297
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 382
def join(container, first, last)
  tk_call('::blt::table', 'join', container, first, last)
end
            
locate(container, x, y)
 
               # File tk/lib/tkextlib/blt/table.rb, line 386
def locate(container, x, y)
  tk_call('::blt::table', 'locate', container, x, y)
end
            
save(container)
 
               # File tk/lib/tkextlib/blt/table.rb, line 402
def save(container)
  tk_call('::blt::table', 'save', container)
end
            
search(container, keys={})
 
               # File tk/lib/tkextlib/blt/table.rb, line 406
def search(container, keys={})
  list(tk_call('::blt::table', 'containers', *hash_kv(keys)))
end
            
split(container, *args)
 
               # File tk/lib/tkextlib/blt/table.rb, line 410
def split(container, *args)
  tk_call('::blt::table', 'split', container, *args)
end
            
tagid(tag)
 
               # File tk/lib/tkextlib/blt/table.rb, line 166
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)
 
               # File tk/lib/tkextlib/blt/table.rb, line 185
def tagid2obj(tagid)
  tagid
end