Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more

In Files

  • tk/lib/tkextlib/tktable/tktable.rb

Class/Module Index [+]

Quicksearch

Tk::TkTable

Public Class Methods

package_name() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 21
def self.package_name
  PACKAGE_NAME
end
            
package_version() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 25
def self.package_version
  begin
    TkPackage.require('Tktable')
  rescue
    ''
  end
end
            

Public Instance Methods

__destroy_hook__() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 271
def __destroy_hook__
  Tk::TkTable::CelTag::CellTagID_TBL.mutex.synchronize{
    Tk::TkTable::CelTag::CellTagID_TBL.delete(@path)
  }
end
            
__validation_class_list() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 492
def __validation_class_list
  super() <<
    BrowseCommand << CellCommand << SelectionCommand << ValidateCommand
end
            
activate(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 504
def activate(idx)
  tk_send('activate', tagid(idx))
end
            
bbox(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 508
def bbox(idx)
  list(tk_send('bbox', tagid(idx)))
end
            
border_dragto(x, y) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 521
def border_dragto(x, y)
  tk_send('border', 'dragto', x, y)
end
            
border_mark(x, y) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 512
def border_mark(x, y)
  simplelist(tk_send('border', 'mark', x, y))
end
            
border_mark_col(x, y) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 518
def border_mark_col(x, y)
  tk_send('border', 'mark', x, y, 'col')
end
            
border_mark_row(x, y) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 515
def border_mark_row(x, y)
  tk_send('border', 'mark', x, y, 'row')
end
            
clear_all(first=None, last=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 537
def clear_all(first=None, last=None)
  tk_send('clear', 'all', tagid(first), tagid(last))
  self
end
            
clear_cache(first=None, last=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 525
def clear_cache(first=None, last=None)
  tk_send('clear', 'cache', tagid(first), tagid(last))
  self
end
            
clear_sizes(first=None, last=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 529
def clear_sizes(first=None, last=None)
  tk_send('clear', 'sizes', tagid(first), tagid(last))
  self
end
            
clear_tags(first=None, last=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 533
def clear_tags(first=None, last=None)
  tk_send('clear', 'tags', tagid(first), tagid(last))
  self
end
            
col_index(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 635
def col_index(idx)
  number(tk_send('index', tagid(idx), 'col'))
end
            
curselection() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 542
def curselection
  simplelist(tk_send('curselection'))
end
            
curselection=(val) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 545
def curselection=(val)
  tk_send('curselection', val)
  val
end
            
curvalue() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 550
def curvalue
  tk_tcl2ruby(tk_send('curvalue'), true, false)
end
            
curvalue=(val) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 553
def curvalue=(val)
  tk_send('curvalue', val)
  val
end
            
delete_active(idx1, idx2=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 558
def delete_active(idx1, idx2=None)
  tk_send('delete', 'active', tagid(idx1), tagid(idx2))
  self
end
            
delete_cols(*args) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 562
def delete_cols(*args) # ?switches_array?, index, ?count?
  params = []
  if args[0].kind_of?(Array)
    switches = args.shift
    switches.each{|k| params << "-#{k}"}
  end
  params << '--'
  params << tagid(args.shift)
  params.concat(args)
  tk_send('delete', 'cols', *params)
  self
end
            
delete_rows(*args) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 574
def delete_rows(*args) # ?switches_array?, index, ?count?
  params = []
  if args[0].kind_of?(Array)
    switches = args.shift
    switches.each{|k| params << "-#{k}"}
  end
  params << '--'
  params << tagid(args.shift)
  params.concat(args)
  tk_send('delete', 'rows', *params)
  self
end
            
get(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 587
def get(idx)
  tk_tcl2ruby(tk_send('get', tagid(idx)), true, false)
end
            
get_area(idx1, idx2) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 590
def get_area(idx1, idx2)
  simplelist(tk_send('get', tagid(idx1), tagid(idx2))).collect{|v|
    tk_tcl2ruby(v, true, false)
  }
end
            
height(row) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 599
def height(row)
  number(tk_send('height', row))
end
            
height_list() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 596
def height_list
  list(tk_send('height'))
end
            
hidden?(idx, *args) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 610
def hidden?(idx, *args)
  if args.empty?
    if (ret = tk_send('hidden', tagid(idx))) == ''
      false
    else
      ret
    end
  else
    bool(tk_send('hidden', tagid(idx), *(args.collect{|i| tagid(i)})))
  end
end
            
hidden_list() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 607
def hidden_list
  simplelist(tk_send('hidden'))
end
            
icursor() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 622
def icursor
  number(tk_send('icursor'))
end
            
icursor_set(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 625
def icursor_set(idx)
  number(tk_send('icursor', tagid(idx)))
end
            
index(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 629
def index(idx)
  tk_send('index', tagid(idx))
end
            
insert_active(idx, val) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 639
def insert_active(idx, val)
  tk_send('insert', 'active', tagid(idx), val)
  self
end
            
insert_cols(*args) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 643
def insert_cols(*args) # ?switches_array?, index, ?count?
  params = []
  if args[0].kind_of?(Array)
    switches = args.shift
    switches.each{|k| params << "-#{k}"}
  end
  params << '--'
  params.concat(args)
  params << tagid(args.shift)
  tk_send('insert', 'cols', *params)
  self
end
            
insert_rows(*args) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 655
def insert_rows(*args) # ?switches_array?, index, ?count?
  params = []
  if args[0].kind_of?(Array)
    switches = args.shift
    switches.each{|k| params << "-#{k}"}
  end
  params << '--'
  params << tagid(args.shift)
  params.concat(args)
  tk_send('insert', 'rows', *params)
  self
end
            
reread() click to toggle source

def postscript(*args)

tk_send('postscript', *args)

end

 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 672
def reread
  tk_send('reread')
  self
end
            
row_index(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 632
def row_index(idx)
  number(tk_send('index', tagid(idx), 'row'))
end
            
scan_dragto(x, y) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 681
def scan_dragto(x, y)
  tk_send('scan', 'dragto', x, y)
  self
end
            
scan_mark(x, y) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 677
def scan_mark(x, y)
  tk_send('scan', 'mark', x, y)
  self
end
            
see(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 686
def see(idx)
  tk_send('see', tagid(idx))
  self
end
            
selection_anchor(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 691
def selection_anchor(idx)
  tk_send('selection', 'anchor', tagid(idx))
  self
end
            
selection_clear(first, last=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 695
def selection_clear(first, last=None)
  tk_send('selection', 'clear', tagid(first), tagid(last))
  self
end
            
selection_clear_all() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 699
def selection_clear_all
  selection_clear('all')
end
            
selection_include?(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 702
def selection_include?(idx)
  bool(tk_send('selection', 'includes', tagid(idx)))
end
            
selection_present() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 705
def selection_present
  bool(tk_send('selection', 'present'))
end
            
selection_set(first, last=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 708
def selection_set(first, last=None)
  tk_send('selection', 'set', tagid(first), tagid(last))
  self
end
            
set(*pairs) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 713
def set(*pairs) # idx, val, idx, val, ...
  args = []
  0.step(pairs.size-1, 2){|i|
    args << tagid(pairs[i])
    args << pairs[i+1]
  }
  tk_send('set', *args)
  self
end
            
set_col(*pairs) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 731
def set_col(*pairs) # idx, val, idx, val, ...
  args = []
  0.step(pairs.size-1, 2){|i|
    args << tagid(pairs[i])
    args << pairs[i+1]
  }
  tk_send('set', 'col', *args)
  self
end
            
set_height(*pairs) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 602
def set_height(*pairs)
  tk_send('height', *(pairs.flatten))
  self
end
            
set_row(*pairs) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 722
def set_row(*pairs) # idx, val, idx, val, ...
  args = []
  0.step(pairs.size-1, 2){|i|
    args << tagid(pairs[i])
    args << pairs[i+1]
  }
  tk_send('set', 'row', *args)
  self
end
            
set_spans(*pairs) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 809
def set_spans(*pairs)
  # idx, val, idx, val, ...
  args = []
  0.step(pairs.size-1, 2){|i|
    args << tagid(pairs[i])
    val = pairs[i+1]
    if val.kind_of?(Array)
      args << val.join(',')
    else
      args << val
    end
  }
  tk_send('spans', *args)
  self
end
            
set_width(*pairs) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 950
def set_width(*pairs)
  tk_send('width', *(pairs.flatten))
  self
end
            
span(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 803
def span(idx)
  lst = simplelist(tk_send('spans', tagid(idx)))
  idx = lst[0]
  rows, cols = lst[1].split(',').map!{|n| Integer(n)}
  [idx [rows, cols]]
end
            
span_list() click to toggle source
Alias for: spans
spans() click to toggle source

begin

def set(*pairs) # idx, val, idx, val, ...  OR [idx, val], [idx, val], ...
  if pairs[0].kind_of?(Array)
    # [idx, val], [idx, val], ...
    args = []
    pairs.each{|idx, val| args << tagid(idx) << val }
    tk_send('set', *args)
  else
    # idx, val, idx, val, ...
    args = []
    0.step(pairs.size-1, 2){|i|
      args << tagid(pairs[i])
      args << pairs[i+1]
    }
    tk_send('set', *args)
  end
  self
end
def set_row(*pairs)
  if pairs[0].kind_of?(Array)
    # [idx, val], [idx, val], ...
    args = []
    pairs.each{|idx, val| args << tagid(idx) << val }
    tk_send('set', 'row', *args)
  else
    # idx, val, idx, val, ...
    args = []
    0.step(pairs.size-1, 2){|i|
      args << tagid(pairs[i])
      args << pairs[i+1]
    }
    tk_send('set', 'row', *args)
  end
  self
end
def set_col(*pairs)
  if pairs[0].kind_of?(Array)
    # [idx, val], [idx, val], ...
    args = []
    pairs.each{|idx, val| args << idx << val }
    tk_send('set', 'col', *args)
  else
    # idx, val, idx, val, ...
    args = []
    0.step(pairs.size-1, 2){|i|
      args << tagid(pairs[i])
      args << pairs[i+1]
    }
    tk_send('set', 'col', *args)
  end
  self
end

end

 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 794
def spans
  simplelist(tk_send('spans')).collect{|inf|
    lst = simplelist(inf)
    idx = lst[0]
    rows, cols = lst[1].split(',').map!{|n| Integer(n)}
    [idx [rows, cols]]
  }
end
            
Also aliased as: span_list
tag_cell(tag, *cells) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 885
def tag_cell(tag, *cells)
  tk_send('tag', 'cell', tagid(tag), *(cells.collect{|idx| tagid(idx)}))
  self
end
            
tag_col(tag, *cols) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 893
def tag_col(tag, *cols)
  tk_send('tag', 'col', tagid(tag), *cols)
  self
end
            
tag_col_reset(*cols) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 897
def tag_col_reset(*cols)
  tk_send('tag', 'col', '', *cols)
  self
end
            
tag_delete(tag) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 901
def tag_delete(tag)
  tk_send('tag', 'delete', tagid(tag))
  Tk::TkTable::CellTag::CellTagID_TBL.mutex.synchronize{
    if Tk::TkTable::CellTag::CellTagID_TBL[@path]
      if tag.kind_of? Tk::TkTable::CellTag
        Tk::TkTable::CellTag::CellTagID_TBL[@path].delete(tag.id)
      else
        Tk::TkTable::CellTag::CellTagID_TBL[@path].delete(tag)
      end
    end
  }
  self
end
            
tag_exist?(tag) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 914
def tag_exist?(tag)
  bool(tk_send('tag', 'exists', tagid(tag)))
end
            
tag_include?(tag, idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 917
def tag_include?(tag, idx)
  bool(tk_send('tag', 'includes', tagid(tag), tagid(idx)))
end
            
tag_lower(tag, target=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 920
def tag_lower(tag, target=None)
  tk_send('tag', 'lower', tagid(tag), tagid(target))
  self
end
            
tag_names(pat=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 924
def tag_names(pat=None)
  simplelist(tk_send('tag', 'names', pat)).collect{|tag| tagid2obj(tag)}
end
            
tag_raise(tag, target=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 927
def tag_raise(tag, target=None)
  tk_send('tag', 'raise', tagid(tag), tagid(target))
  self
end
            
tag_reset(*cells) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 889
def tag_reset(*cells)
  tk_send('tag', 'cell', '', *(cells.collect{|idx| tagid(idx)}))
  self
end
            
tag_row(tag, *rows) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 931
def tag_row(tag, *rows)
  tk_send('tag', 'row', tagid(tag), *rows)
  self
end
            
tag_row_reset(*rows) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 935
def tag_row_reset(*rows)
  tk_send('tag', 'row', '', *rows)
  self
end
            
tagid(tag) click to toggle source

begin

def set_spans(*pairs)
  if pairs[0].kind_of?(Array)
    # [idx, val], [idx, val], ...
    args = []
    pairs.each{|idx, val|
      args << tagid(idx)
      if val.kind_of?(Array)
        args << val.join(',')
      else
        args << val
      end
    }
    tk_send('spans', *args)
  else
    # idx, val, idx, val, ...
    args = []
    0.step(pairs.size-1, 2){|i|
      args << tagid(pairs[i])
      val = pairs[i+1]
      if val.kind_of?(Array)
        args << val.join(',')
      else
        args << val
      end
    }
    tk_send('spans', *args)
  end
  self
end

end

 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 856
def tagid(tag)
  if tag.kind_of?(Tk::TkTable::CellTag)
    tag.id
  elsif tag.kind_of?(Array)
    if tag[0].kind_of?(Integer) && tag[1].kind_of?(Integer)
      # [row, col]
      tag.join(',')
    else
      tag
    end
  else
    tag
  end
end
            
tagid2obj(tagid) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 871
def tagid2obj(tagid)
  Tk::TkTable::CellTag::CellTagID_TBL.mutex.synchronize{
    if Tk::TkTable::CellTag::CellTagID_TBL.key?(@path)
      if Tk::TkTable::CellTag::CellTagID_TBL[@path].key?(tagid)
        Tk::TkTable::CellTag::CellTagID_TBL[@path][tagid]
      else
        tagid
      end
    else
      tagid
    end
  }
end
            
validate(idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 940
def validate(idx)
  bool(tk_send('validate', tagid(idx)))
end
            
width(row) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 947
def width(row)
  number(tk_send('width', row))
end
            
width_list() click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 944
def width_list
  list(tk_send('width'))
end
            
window_delete(*args) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 955
def window_delete(*args)
  tk_send('window', 'delete', *(args.collect{|idx| tagid(idx)}))
  self
end
            
window_move(from_idx, to_idx) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 959
def window_move(from_idx, to_idx)
  tk_send('window', 'move', tagid(from_idx), tagid(to_idx))
  self
end
            
window_names(pat=None) click to toggle source
 
               # File tk/lib/tkextlib/tktable/tktable.rb, line 963
def window_names(pat=None)
  simplelist(tk_send('window', 'names', pat))
end