# File tk/lib/tkextlib/blt/tree.rb, line 620 def self.destroy(*names) tk_call('::blt::tree', 'destroy', *(names.collect{|n| (n.kind_of?(Tk::BLT::Tree))? n.id: n }) ) end
# File tk/lib/tkextlib/blt/tree.rb, line 608 def self.id2obj(id) TreeID_TBL.mutex.synchronize{ TreeID_TBL[id]? TreeID_TBL[id]: id } end
# File tk/lib/tkextlib/blt/tree.rb, line 614 def self.names(pat = None) simplelist(tk_call('::blt::tree', 'names', pat)).collect{|name| id2obj(name) } end
# File tk/lib/tkextlib/blt/tree.rb, line 652 def __destroy_hook__ Tk::BLT::Tree::Node::TreeNodeID_TBL.mutex.synchronize{ Tk::BLT::Tree::Node::TreeNodeID_TBL.delete(@path) } Tk::BLT::Tree::Tag::TreeTagID_TBL.mutex.synchronize{ Tk::BLT::Tree::Tag::TreeTagID_TBL.delete(@path) } Tk::BLT::Tree::Notify::NotifyID_TBL.mutex.synchronize{ Tk::BLT::Tree::Notify::NotifyID_TBL.delete(@path) } Tk::BLT::Tree::Trace::TraceID_TBL.mutex.synchronize{ Tk::BLT::Tree::Trace::TraceID_TBL.delete(@path) } end
# File tk/lib/tkextlib/blt/tree.rb, line 588 def __keyonly_optkeys { # apply / find command 'invert'=>nil, 'leafonly'=>nil, 'nocase'=>nil, # apply / find / sort command 'path'=>nil, # copy / restore / restorefile command 'overwrite'=>nil, # copy command 'recurse'=>nil, 'tags'=>nil, # sort command 'ascii'=>nil, 'decreasing'=>nil, 'disctionary'=>nil, 'integer'=>nil, 'real'=>nil, 'recurse'=>nil, 'reorder'=>nil, } end
# File tk/lib/tkextlib/blt/tree.rb, line 683 def ancestor(node1, node2) Tk::BLT::Tree::Node.id2obj(self, tk_call('::blt::tree', 'ancestor', tagid(node1), tagid(node2))) end
# File tk/lib/tkextlib/blt/tree.rb, line 788 def ancestor?(node1, node2) bool(tk_call('::blt::tree', 'is', 'ancestor', tagid(node1), tagid(node2))) end
# File tk/lib/tkextlib/blt/tree.rb, line 688 def apply(node, keys={}) tk_call('::blt::tree', 'apply', tagid(node), __conv_keyonly_opts(keys)) self end
# File tk/lib/tkextlib/blt/tree.rb, line 693 def attach(tree_obj) tk_call('::blt::tree', 'attach', tree_obj) self end
# File tk/lib/tkextlib/blt/tree.rb, line 792 def before?(node1, node2) bool(tk_call('::blt::tree', 'is', 'before', tagid(node1), tagid(node2))) end
# File tk/lib/tkextlib/blt/tree.rb, line 698 def children(node) simplelist(tk_call('::blt::tree', 'children', tagid(node))).collect{|n| Tk::BLT::Tree::Node.id2obj(self, n) } end
# File tk/lib/tkextlib/blt/tree.rb, line 704 def copy(src, parent, keys={}) id = tk_call('::blt::tree', 'copy', tagid(src), tagid(parent), __conv_keyonly_opts(keys)) Tk::BLT::Tree::Node.new(self, nil, 'node'=>id) end
# File tk/lib/tkextlib/blt/tree.rb, line 709 def copy_to(src, dest_tree, parent, keys={}) return copy(src, parent, keys={}) unless dest_tree id = tk_call('::blt::tree', 'copy', tagid(src), dest_tree, tagid(parent), __conv_keyonly_opts(keys)) Tk::BLT::Tree::Node.new(dest_tree, nil, 'node'=>id) end
# File tk/lib/tkextlib/blt/tree.rb, line 717 def degree(node) number(tk_call('::blt::tree', 'degree', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 721 def delete(*nodes) tk_call('::blt::tree', 'delete', *(nodes.collect{|node| tagid(node)})) Tk::BLT::Tree::Node::TreeNodeID_TBL.mutex.synchronize{ nodes.each{|node| if node.kind_of?(Tk::BLT::Tree::Node) Tk::BLT::Tree::Node::TreeNodeID_TBL[@path].delete(node.id) else Tk::BLT::Tree::Node::TreeNodeID_TBL[@path].delete(node.to_s) end } } self end
# File tk/lib/tkextlib/blt/tree.rb, line 735 def depth(node) number(tk_call('::blt::tree', 'depth', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 678 def destroy() tk_call('::blt::tree', 'destroy', @id) self end
# File tk/lib/tkextlib/blt/tree.rb, line 739 def dump(node) simplelist(tk_call('::blt::tree', 'dump', tagid(node))).collect{|n| simplelist(n) } end
# File tk/lib/tkextlib/blt/tree.rb, line 745 def dump_to_file(node, file) tk_call('::blt::tree', 'dumpfile', tagid(node), file) self end
# File tk/lib/tkextlib/blt/tree.rb, line 750 def exist?(node, key=None) bool(tk_call('::blt::tree', 'exists', tagid(node), key)) end
# File tk/lib/tkextlib/blt/tree.rb, line 754 def find(node, keys={}) simplelist(tk_call('::blt::tree', 'find', tagid(node), __conv_keyonly_opts(keys))).collect{|n| Tk::BLT::Tree::Node.id2obj(self, n) } end
# File tk/lib/tkextlib/blt/tree.rb, line 761 def find_child(node, label) ret = tk_call('::blt::tree', 'findchild', tagid(node), label) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 766 def first_child(node) ret = tk_call('::blt::tree', 'firstchild', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 887 def fullpath(node) tk_call('::blt::tree', 'path', tagid(node)) end
# File tk/lib/tkextlib/blt/tree.rb, line 771 def get(node) Hash[*simplelist(tk_call('::blt::tree', 'get', tagid(node)))] end
# File tk/lib/tkextlib/blt/tree.rb, line 774 def get_value(node, key, default_val=None) tk_call('::blt::tree', 'get', tagid(node), key, default_val) end
# File tk/lib/tkextlib/blt/tree.rb, line 778 def index(node) Tk::BLT::Tree::Node.id2obj(self, tk_call('::blt::tree', 'index', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 783 def insert(parent, keys={}) id = tk_call('::blt::tree', 'insert', tagid(parent), keys) Tk::BLT::Tree::Node.new(self, nil, 'node'=>id) end
# File tk/lib/tkextlib/blt/tree.rb, line 806 def keys(node, *nodes) if nodes.empty? simplelist(tk_call('blt::tree', 'keys', tagid(node))) else simplelist(tk_call('blt::tree', 'keys', tagid(node), *(nodes.collect{|n| tagid(n)}))).collect{|lst| simplelist(lst) } end end
# File tk/lib/tkextlib/blt/tree.rb, line 817 def label(node, text=nil) if text tk_call('::blt::tree', 'label', tagid(node), text) text else tk_call('::blt::tree', 'label', tagid(node)) end end
# File tk/lib/tkextlib/blt/tree.rb, line 826 def last_child(node) ret = tk_call('::blt::tree', 'lastchild', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 796 def leaf?(node) bool(tk_call('::blt::tree', 'is', 'leaf', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 831 def link(parent, node, keys={}) ret = tk_call('::blt::tree', 'link', tagid(parent), tagid(node), __conv_keyonly_opts(keys)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 799 def link?(node) bool(tk_call('::blt::tree', 'is', 'link', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 837 def move(node, dest, keys={}) tk_call('::blt::tree', 'move', tagid(node), tagid(dest), keys) self end
# File tk/lib/tkextlib/blt/tree.rb, line 842 def next(node) ret = tk_call('::blt::tree', 'next', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 847 def next_sibling(node) ret = tk_call('::blt::tree', 'nextsibling', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 852 def notify_create(*args, &b) Tk::BLT::Tree::Notify.new(self, *args, &b) end
# File tk/lib/tkextlib/blt/tree.rb, line 856 def notify_delete(id) if id.kind_of?(Tk::BLT::Tree::Notify) id.delete else tk_call(@path, 'notify', 'delete', id) Tk::BLT::Tree::Notify::NotifyID_TBL.mutex.synchronize{ Tk::BLT::Tree::Notify::NotifyID_TBL[@path].delete(id.to_s) } end self end
# File tk/lib/tkextlib/blt/tree.rb, line 868 def notify_info(id) lst = simplelist(tk_call(@path, 'notify', 'info', tagid(id))) lst[0] = Tk::BLT::Tree::Notify.id2obj(self, lst[0]) lst[1] = simplelist(lst[1]).collect{|flag| flag[1..-1]} lst[2] = tk_tcl2ruby(lst[2]) lst end
# File tk/lib/tkextlib/blt/tree.rb, line 876 def notify_names() tk_call(@path, 'notify', 'names').collect{|id| Tk::BLT::Tree::Notify.id2obj(self, id) } end
# File tk/lib/tkextlib/blt/tree.rb, line 882 def parent(node) ret = tk_call('::blt::tree', 'parent', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 891 def position(node) number(tk_call('::blt::tree', 'position', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 900 def prev_sibling(node) ret = tk_call('::blt::tree', 'prevsibling', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 895 def previous(node) ret = tk_call('::blt::tree', 'previous', tagid(node)) (ret == '-1')? nil: Tk::BLT::Tree::Node.id2obj(self, ret) end
# File tk/lib/tkextlib/blt/tree.rb, line 905 def restore(node, str, keys={}) tk_call('::blt::tree', 'restore', tagid(node), str, __conv_keyonly_opts(keys)) self end
# File tk/lib/tkextlib/blt/tree.rb, line 918 def restore_from_file(node, file, keys={}) tk_call('::blt::tree', 'restorefile', tagid(node), file, __conv_keyonly_opts(keys)) self end
# File tk/lib/tkextlib/blt/tree.rb, line 910 def restore_overwrite(node, str, keys={}) keys = __conv_keyonly_opts(keys) keys.delete('overwrite') keys.delete(:overwrite) tk_call('::blt::tree', 'restore', tagid(node), str, '-overwrite', keys) self end
# File tk/lib/tkextlib/blt/tree.rb, line 923 def restore_overwrite_from_file(node, file, keys={}) keys = __conv_keyonly_opts(keys) keys.delete('overwrite') keys.delete(:overwrite) tk_call('::blt::tree', 'restorefile', tagid(node), file, '-overwrite', keys) self end
# File tk/lib/tkextlib/blt/tree.rb, line 932 def root(node=None) Tk::BLT::Tree::Node.id2obj(self, tk_call('::blt::tree', 'root', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 802 def root?(node) bool(tk_call('::blt::tree', 'is', 'root', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 937 def set(node, data) unless data.kind_of?(Hash) fail ArgumentError, 'Hash is expected for data' end args = [] data.each{|k, v| args << k << v} tk_call('::blt::tree', 'set', tagid(node), *args) self end
# File tk/lib/tkextlib/blt/tree.rb, line 947 def size(node) number(tk_call('::blt::tree', 'size', tagid(node))) end
# File tk/lib/tkextlib/blt/tree.rb, line 951 def sort(node, keys={}) tk_call('::blt::tree', 'sort', tagid(node), __conv_keyonly_opts(keys)) self end
# File tk/lib/tkextlib/blt/tree.rb, line 956 def tag_add(tag, *nodes) tk_call(@path, 'tag', 'add', tagid(tag), *(nodes.collect{|n| tagid(n)})) self end
# File tk/lib/tkextlib/blt/tree.rb, line 961 def tag_delete(tag, *nodes) tk_call(@path, 'tag', 'delete', tagid(tag), *(nodes.collect{|n| tagid(n)})) self end
# File tk/lib/tkextlib/blt/tree.rb, line 967 def tag_forget(tag) tag = tag.id if tag.kind_of?(Tk::BLT::Tree::Tag) tk_call(@path, 'tag', 'forget', tag) TreeTagID_TBL.mutex.synchronize{ TreeTagID_TBL[@path].delete(tag) } self end
# File tk/lib/tkextlib/blt/tree.rb, line 976 def tag_get(node, *patterns) simplelist(tk_call(@tpath, 'tag', 'get', tagid(node), *(patterns.collect{|pat| tagid(pat)}))).collect{|str| Tk::BLT::Tree::Tag.id2obj(self, str) } end
# File tk/lib/tkextlib/blt/tree.rb, line 983 def tag_names(node = None) simplelist(tk_call(@tpath, 'tag', 'names', tagid(node))).collect{|str| Tk::BLT::Tree::Tag.id2obj(self, str) } end
# File tk/lib/tkextlib/blt/tree.rb, line 989 def tag_nodes(tag) simplelist(tk_call(@tpath, 'tag', 'nodes', tagid(tag))).collect{|node| Tk::BLT::Tree::Node.id2obj(self, node) } end
# File tk/lib/tkextlib/blt/tree.rb, line 995 def tag_set(node, *tags) tk_call(@path, 'tag', 'set', tagid(node), *(tags.collect{|t| tagid(t)})) self end
# File tk/lib/tkextlib/blt/tree.rb, line 1000 def tag_unset(node, *tags) tk_call(@path, 'tag', 'unset', tagid(node), *(tags.collect{|t| tagid(t)})) self end
# File tk/lib/tkextlib/blt/tree.rb, line 667 def tagid(tag) if tag.kind_of?(Tk::BLT::Tree::Node) || tag.kind_of?(Tk::BLT::Tree::Tag) || tag.kind_of?(Tk::BLT::Tree::Notify) || tag.kind_of?(Tk::BLT::Tree::Trace) tag.id else tag # maybe an Array of configure parameters end end
# File tk/lib/tkextlib/blt/tree.rb, line 1006 def trace_create(*args, &b) Tk::BLT::Tree::Trace.new(self, *args, &b) end
def #trace_delete(*args)
args.each{|id| if id.kind_of?(Tk::BLT::Tree::Trace) id.delete else tk_call(@path, 'trace', 'delete', id) Tk::BLT::Tree::Trace::TraceID_TBL[@path].delete(id.to_s) end self }
end
# File tk/lib/tkextlib/blt/tree.rb, line 1023 def trace_delete(*args) args = args.collect{|id| tagid(id)} tk_call(@path, 'trace', 'delete', *args) Tk::BLT::Tree::Trace::TraceID_TBL.mutex.synchronize{ args.each{|id| Tk::BLT::Tree::Trace::TraceID_TBL[@path].delete(id.to_s)} } self end
# File tk/lib/tkextlib/blt/tree.rb, line 1032 def trace_info(id) lst = simplelist(tk_call(@path, 'trace', 'info', tagid(id))) lst[0] = Tk::BLT::Tree::Trace.id2obj(self, lst[0]) lst[2] = simplelist(lst[2]) lst[3] = tk_tcl2ruby(lst[3]) lst end
# File tk/lib/tkextlib/blt/tree.rb, line 1040 def trace_names() tk_call(@path, 'trace', 'names').collect{|id| Tk::BLT::Tree::Trace.id2obj(self, id) } end
# File tk/lib/tkextlib/blt/tree.rb, line 1046 def type(node, key) tk_call('::blt::tree', 'type', tagid(node), key) 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.