In Files

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

Class/Module Index [+]

Quicksearch

Tk::BLT::Table

Constants

TkCommandNames

Public Instance Methods

add(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 317
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 335
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 183
def cget(container, option)
  __itemcget([container], option)
end
            
cget_strict(container, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 186
def cget_strict(container, option)
  __itemcget_strict([container], option)
end
            
configinfo(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 194
def configinfo(container, *args)
  __itemconfiginfo([container], *args)
end
            
configure(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 190
def configure(container, *args)
  __itemconfigure([container], *args)
end
            
containers(arg={}) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 376
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 380
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 384
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 305
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 198
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 251
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
            
delete(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 340
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 344
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 351
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 273
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 356
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 364
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 360
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 202
def itemcget(container, item, option)
  __itemcget([container, tagid(item)], option)
end
            
itemcget_strict(container, item, option) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 205
def itemcget_strict(container, item, option)
  __itemcget_strict([container, tagid(item)], option)
end
            
itemconfiginfo(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 229
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
            
itemconfigure(container, *args) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 209
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
            
iteminfo(container, item) click to toggle source
 
               # File tk/lib/tkextlib/blt/table.rb, line 283
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 368
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 372
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 388
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 392
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 396
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 158
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 177
def tagid2obj(tagid)
  tagid
end
            

Commenting is here to help enhance the documentation. For example, code samples, 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.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus