Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
# File tk/lib/tkextlib/tile/treeview.rb, line 685
def self.assign(tree, id)
tpath = tree.path
obj = nil
Tk::Tile::Treeview::Item::ItemID_TBL.mutex.synchronize{
if Tk::Tile::Treeview::Item::ItemID_TBL[tpath] &&
Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id]
return Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id]
end
obj = self.allocate
obj.instance_eval{
@parent = @t = tree
@tpath = tpath
@path = @id = id
}
Tk::Tile::Treeview::Item::ItemID_TBL[tpath] ||= {}
Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id] = obj
}
obj
end
# File tk/lib/tkextlib/tile/treeview.rb, line 673
def self.id2obj(tree, id)
tpath = tree.path
Tk::Tile::Treeview::Item::ItemID_TBL.mutex.synchronize{
if Tk::Tile::Treeview::Item::ItemID_TBL[tpath]
(Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id])? \
Tk::Tile::Treeview::Item::ItemID_TBL[tpath][id]: id
else
id
end
}
end
# File tk/lib/tkextlib/tile/treeview.rb, line 718
def initialize(tree, parent_item = '', idx = 'end', keys = {})
if parent_item.kind_of?(Hash)
keys = parent_item
idx = 'end'
parent_item = ''
elsif idx.kind_of?(Hash)
keys = idx
idx = 'end'
end
@parent = @t = tree
@tpath = tree.path
@path = @id = _insert_item(@t, parent_item, idx, keys)
Tk::Tile::Treeview::Item::ItemID_TBL.mutex.synchronize{
ItemID_TBL[@tpath] = {} unless ItemID_TBL[@tpath]
ItemID_TBL[@tpath][@id] = self
}
end
# File tk/lib/tkextlib/tile/treeview.rb, line 772
def bbox(column=None)
@t.bbox(@id, column)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 740
def cget(option)
@t.itemcget(@id, option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 743
def cget_strict(option)
@t.itemcget_strict(@id, option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 776
def children
@t.children(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 767
def close
configure('open', false)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 752
def configinfo(key=nil)
@t.itemconfiginfo(@id, key)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 747
def configure(key, value=None)
@t.itemconfigure(@id, key, value)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 756
def current_configinfo(key=nil)
@t.current_itemconfiginfo(@id, key)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 784
def delete
@t.delete(@id)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 789
def detach
@t.detach(@id)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 794
def exist?
@t.exist?(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 798
def focus
@t.focus_item(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 857
def get(col)
@t.get(@id, col)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 852
def get_directory
@t.get_directory(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 802
def index
@t.index(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 806
def insert(idx='end', keys={})
@t.insert(@id, idx, keys)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 810
def move(parent, idx)
@t.move(@id, parent, idx)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 815
def next_item
@t.next_item(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 763
def open
configure('open', true)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 760
def open?
cget('open')
end
# File tk/lib/tkextlib/tile/treeview.rb, line 819
def parent_item
@t.parent_item(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 823
def prev_item
@t.prev_item(@id)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 827
def see
@t.see(@id)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 832
def selection_add
@t.selection_add(@id)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 837
def selection_remove
@t.selection_remove(@id)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 842
def selection_set
@t.selection_set(@id)
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 847
def selection_toggle
@t.selection_toggle(@id)
self
end