Class: Tk::BLT::Tree
Defined Under Namespace
Classes: Node, Notify, Tag, Trace
Constant Summary
collapse
- TkCommandNames =
['::blt::tree'.freeze].freeze
- TreeID_TBL =
TkCore::INTERP.create_table
Constants included
from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, TkCore::INTERP_THREAD_STATUS, TkCore::RUN_EVENTLOOP_ON_MAIN_THREAD, TkCore::WIDGET_DESTROY_HOOK, TkCore::WITH_ENCODING, TkCore::WITH_RUBY_VM
Constants included
from TkComm
TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames
Constants included
from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants included
from Tk
AUTO_PATH, Fontchooser, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, TCL_LIBRARY_PATH, TCL_MAJOR_VERSION, TCL_MINOR_VERSION, TCL_PACKAGE_PATH, TCL_PATCHLEVEL, TCL_PRECISION, TCL_VERSION, TK_MAJOR_VERSION, TK_MINOR_VERSION, TK_PATCHLEVEL, TK_VERSION, Tkextlib_RELEASE_DATE, TreeCtrl_Widget, X_Scrollable, Y_Scrollable
Constants included
from Encoding
Encoding::BINARY, Encoding::BINARY_NAME, Encoding::DEFAULT_EXTERNAL_NAME, Encoding::DEFAULT_INTERNAL_NAME, Encoding::ENCODING_TABLE, Encoding::RubyEncoding, Encoding::UNKNOWN, Encoding::UTF8_NAME
Class Method Summary
collapse
Instance Method Summary
collapse
-
#__destroy_hook__ ⇒ Object
-
#__keyonly_optkeys ⇒ Object
-
#ancestor(node1, node2) ⇒ Object
-
#ancestor?(node1, node2) ⇒ Boolean
-
#apply(node, keys = {}) ⇒ Object
-
#attach(tree_obj) ⇒ Object
-
#before?(node1, node2) ⇒ Boolean
-
#children(node) ⇒ Object
-
#copy(src, parent, keys = {}) ⇒ Object
-
#copy_to(src, dest_tree, parent, keys = {}) ⇒ Object
-
#degree(node) ⇒ Object
-
#delete(*nodes) ⇒ Object
-
#depth(node) ⇒ Object
-
#destroy ⇒ Object
-
#dump(node) ⇒ Object
-
#dump_to_file(node, file) ⇒ Object
-
#exist?(node, key = None) ⇒ Boolean
-
#find(node, keys = {}) ⇒ Object
-
#find_child(node, label) ⇒ Object
-
#first_child(node) ⇒ Object
-
#fullpath(node) ⇒ Object
-
#get(node) ⇒ Object
-
#get_value(node, key, default_val = None) ⇒ Object
-
#index(node) ⇒ Object
-
#initialize(name = nil) ⇒ Tree
constructor
-
#insert(parent, keys = {}) ⇒ Object
-
#keys(node, *nodes) ⇒ Object
-
#label(node, text = nil) ⇒ Object
-
#last_child(node) ⇒ Object
-
#leaf?(node) ⇒ Boolean
-
#link(parent, node, keys = {}) ⇒ Object
-
#link?(node) ⇒ Boolean
-
#move(node, dest, keys = {}) ⇒ Object
-
#next(node) ⇒ Object
-
#next_sibling(node) ⇒ Object
-
#notify_create(*args, &b) ⇒ Object
-
#notify_delete(id) ⇒ Object
-
#notify_info(id) ⇒ Object
-
#notify_names ⇒ Object
-
#parent(node) ⇒ Object
-
#position(node) ⇒ Object
-
#prev_sibling(node) ⇒ Object
-
#previous(node) ⇒ Object
-
#restore(node, str, keys = {}) ⇒ Object
-
#restore_from_file(node, file, keys = {}) ⇒ Object
-
#restore_overwrite(node, str, keys = {}) ⇒ Object
-
#restore_overwrite_from_file(node, file, keys = {}) ⇒ Object
-
#root(node = None) ⇒ Object
-
#root?(node) ⇒ Boolean
-
#set(node, data) ⇒ Object
-
#size(node) ⇒ Object
-
#sort(node, keys = {}) ⇒ Object
-
#tag_add(tag, *nodes) ⇒ Object
-
#tag_delete(tag, *nodes) ⇒ Object
-
#tag_forget(tag) ⇒ Object
-
#tag_get(node, *patterns) ⇒ Object
-
#tag_names(node = None) ⇒ Object
-
#tag_nodes(tag) ⇒ Object
-
#tag_set(node, *tags) ⇒ Object
-
#tag_unset(node, *tags) ⇒ Object
-
#tagid(tag) ⇒ Object
-
#trace_create(*args, &b) ⇒ Object
-
#trace_delete(*args) ⇒ Object
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.delete(id.to_s) end self } end.
-
#trace_info(id) ⇒ Object
-
#trace_names ⇒ Object
-
#type(node, key) ⇒ Object
-
#unset(node, *keys) ⇒ Object
-
#values(node, key = None) ⇒ Object
Methods inherited from TkObject
#epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
Methods included from TkCore
#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem
Methods included from TkComm
_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, #install_cmd, install_cmd, list, num_or_nil, num_or_str, number, procedure, simplelist, slice_ary, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkUtil
#_conv_args, _conv_args, #_fromUTF8, #_get_eval_enc_str, _get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, #bool, bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, #num_or_nil, num_or_nil, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd, untrust
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #cget_tkstring, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods included from Tk
BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __create_widget_set__, __disable_toplevel_control__, __import_toplevel_aliases__, __regist_toplevel_aliases__, __remove_toplevel_aliases__, __reset_toplevel_owner__, __set_loaded_toplevel_aliases__, __set_toplevel_aliases__, __toplevel_alias_setup_proc__, _replace_toplevel_aliases, add_kinsoku, backup_current_topdef, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, define_topalias, define_topobj, delete_kinsoku, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, regist_sym_for_loaded_file, replace_topalias, replace_topobj, set_topalias, show_kinsoku, sleep, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, topalias_defined?, toplevel_aliases_on_widget_set, topobj_defined?, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup, widget_set_symbols
Methods included from Encoding
#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names
Constructor Details
#initialize(name = nil) ⇒ Tree
Returns a new instance of Tree.
639
640
641
642
643
644
645
646
647
648
649
650
|
# File 'lib/tkextlib/blt/tree.rb', line 639
def initialize(name = nil)
if name
@path = @id = name
else
Tree_ID.mutex.synchronize{
@path = @id = Tree_ID.join(TkCore::INTERP._ip_id_)
Tree_ID[1].succ!
}
end
tk_call('::blt::tree', 'create', @id)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class TkObject
Class Method Details
.destroy(*names) ⇒ Object
620
621
622
623
|
# File '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
|
.names(pat = None) ⇒ Object
614
615
616
617
618
|
# File 'lib/tkextlib/blt/tree.rb', line 614
def self.names(pat = None)
simplelist(tk_call('::blt::tree', 'names', pat)).collect{|name|
id2obj(name)
}
end
|
.new(name = nil) ⇒ Object
625
626
627
628
629
630
631
632
633
634
635
636
637
|
# File 'lib/tkextlib/blt/tree.rb', line 625
def self.new(name = nil)
TreeID_TBL.mutex.synchronize{
if name && TreeID_TBL[name]
TreeID_TBL[name]
else
(obj = self.allocate).instance_eval{
initialize(name)
TreeID_TBL[@id] = self
}
obj
end
}
end
|
Instance Method Details
#__keyonly_optkeys ⇒ Object
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
|
# File 'lib/tkextlib/blt/tree.rb', line 588
def __keyonly_optkeys
{
'invert'=>nil, 'leafonly'=>nil, 'nocase'=>nil,
'path'=>nil,
'overwrite'=>nil,
'recurse'=>nil, 'tags'=>nil,
'ascii'=>nil, 'decreasing'=>nil, 'disctionary'=>nil,
'integer'=>nil, 'real'=>nil, 'recurse'=>nil, 'reorder'=>nil,
}
end
|
#ancestor(node1, node2) ⇒ Object
683
684
685
686
|
# File '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
|
#ancestor?(node1, node2) ⇒ Boolean
788
789
790
791
|
# File 'lib/tkextlib/blt/tree.rb', line 788
def ancestor?(node1, node2)
bool(tk_call('::blt::tree', 'is', 'ancestor',
tagid(node1), tagid(node2)))
end
|
#apply(node, keys = {}) ⇒ Object
688
689
690
691
|
# File 'lib/tkextlib/blt/tree.rb', line 688
def apply(node, keys={})
tk_call('::blt::tree', 'apply', tagid(node), __conv_keyonly_opts(keys))
self
end
|
#attach(tree_obj) ⇒ Object
693
694
695
696
|
# File 'lib/tkextlib/blt/tree.rb', line 693
def attach(tree_obj)
tk_call('::blt::tree', 'attach', tree_obj)
self
end
|
#before?(node1, node2) ⇒ Boolean
792
793
794
795
|
# File 'lib/tkextlib/blt/tree.rb', line 792
def before?(node1, node2)
bool(tk_call('::blt::tree', 'is', 'before',
tagid(node1), tagid(node2)))
end
|
#children(node) ⇒ Object
698
699
700
701
702
|
# File '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
|
#copy(src, parent, keys = {}) ⇒ Object
704
705
706
707
708
|
# File '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
|
#copy_to(src, dest_tree, parent, keys = {}) ⇒ Object
709
710
711
712
713
714
715
|
# File '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
|
#degree(node) ⇒ Object
717
718
719
|
# File 'lib/tkextlib/blt/tree.rb', line 717
def degree(node)
number(tk_call('::blt::tree', 'degree', tagid(node)))
end
|
#depth(node) ⇒ Object
735
736
737
|
# File 'lib/tkextlib/blt/tree.rb', line 735
def depth(node)
number(tk_call('::blt::tree', 'depth', tagid(node)))
end
|
678
679
680
681
|
# File 'lib/tkextlib/blt/tree.rb', line 678
def destroy()
tk_call('::blt::tree', 'destroy', @id)
self
end
|
#dump(node) ⇒ Object
739
740
741
742
743
|
# File 'lib/tkextlib/blt/tree.rb', line 739
def dump(node)
simplelist(tk_call('::blt::tree', 'dump', tagid(node))).collect{|n|
simplelist(n)
}
end
|
#dump_to_file(node, file) ⇒ Object
745
746
747
748
|
# File 'lib/tkextlib/blt/tree.rb', line 745
def dump_to_file(node, file)
tk_call('::blt::tree', 'dumpfile', tagid(node), file)
self
end
|
#exist?(node, key = None) ⇒ Boolean
750
751
752
|
# File 'lib/tkextlib/blt/tree.rb', line 750
def exist?(node, key=None)
bool(tk_call('::blt::tree', 'exists', tagid(node), key))
end
|
#find(node, keys = {}) ⇒ Object
754
755
756
757
758
759
|
# File '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
|
#find_child(node, label) ⇒ Object
761
762
763
764
|
# File '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
|
#first_child(node) ⇒ Object
766
767
768
769
|
# File '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
|
#fullpath(node) ⇒ Object
887
888
889
|
# File 'lib/tkextlib/blt/tree.rb', line 887
def fullpath(node)
tk_call('::blt::tree', 'path', tagid(node))
end
|
#get(node) ⇒ Object
771
772
773
|
# File 'lib/tkextlib/blt/tree.rb', line 771
def get(node)
Hash[*simplelist(tk_call('::blt::tree', 'get', tagid(node)))]
end
|
#get_value(node, key, default_val = None) ⇒ Object
774
775
776
|
# File '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
|
#index(node) ⇒ Object
778
779
780
781
|
# File 'lib/tkextlib/blt/tree.rb', line 778
def index(node)
Tk::BLT::Tree::Node.id2obj(self,
tk_call('::blt::tree', 'index', tagid(node)))
end
|
#insert(parent, keys = {}) ⇒ Object
783
784
785
786
|
# File '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
|
#keys(node, *nodes) ⇒ Object
806
807
808
809
810
811
812
813
814
815
|
# File '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
|
#label(node, text = nil) ⇒ Object
817
818
819
820
821
822
823
824
|
# File '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
|
#last_child(node) ⇒ Object
826
827
828
829
|
# File '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
|
#leaf?(node) ⇒ Boolean
796
797
798
|
# File 'lib/tkextlib/blt/tree.rb', line 796
def leaf?(node)
bool(tk_call('::blt::tree', 'is', 'leaf', tagid(node)))
end
|
#link(parent, node, keys = {}) ⇒ Object
831
832
833
834
835
|
# File '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
|
#link?(node) ⇒ Boolean
799
800
801
|
# File 'lib/tkextlib/blt/tree.rb', line 799
def link?(node)
bool(tk_call('::blt::tree', 'is', 'link', tagid(node)))
end
|
#move(node, dest, keys = {}) ⇒ Object
837
838
839
840
|
# File 'lib/tkextlib/blt/tree.rb', line 837
def move(node, dest, keys={})
tk_call('::blt::tree', 'move', tagid(node), tagid(dest), keys)
self
end
|
#next(node) ⇒ Object
842
843
844
845
|
# File '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
|
#next_sibling(node) ⇒ Object
847
848
849
850
|
# File '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
|
#notify_create(*args, &b) ⇒ Object
852
853
854
|
# File 'lib/tkextlib/blt/tree.rb', line 852
def notify_create(*args, &b)
Tk::BLT::Tree::Notify.new(self, *args, &b)
end
|
#notify_info(id) ⇒ Object
868
869
870
871
872
873
874
|
# File '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
|
#notify_names ⇒ Object
876
877
878
879
880
|
# File '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
|
#parent(node) ⇒ Object
882
883
884
885
|
# File '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
|
#position(node) ⇒ Object
891
892
893
|
# File 'lib/tkextlib/blt/tree.rb', line 891
def position(node)
number(tk_call('::blt::tree', 'position', tagid(node)))
end
|
#prev_sibling(node) ⇒ Object
900
901
902
903
|
# File '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
|
#previous(node) ⇒ Object
895
896
897
898
|
# File '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
|
#restore(node, str, keys = {}) ⇒ Object
905
906
907
908
909
|
# File '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
|
#restore_from_file(node, file, keys = {}) ⇒ Object
918
919
920
921
922
|
# File '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
|
#restore_overwrite(node, str, keys = {}) ⇒ Object
910
911
912
913
914
915
916
|
# File '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
|
#restore_overwrite_from_file(node, file, keys = {}) ⇒ Object
923
924
925
926
927
928
929
930
|
# File '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
|
#root(node = None) ⇒ Object
932
933
934
935
|
# File '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
|
#root?(node) ⇒ Boolean
802
803
804
|
# File 'lib/tkextlib/blt/tree.rb', line 802
def root?(node)
bool(tk_call('::blt::tree', 'is', 'root', tagid(node)))
end
|
#set(node, data) ⇒ Object
937
938
939
940
941
942
943
944
945
|
# File '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
|
#size(node) ⇒ Object
947
948
949
|
# File 'lib/tkextlib/blt/tree.rb', line 947
def size(node)
number(tk_call('::blt::tree', 'size', tagid(node)))
end
|
#sort(node, keys = {}) ⇒ Object
951
952
953
954
|
# File 'lib/tkextlib/blt/tree.rb', line 951
def sort(node, keys={})
tk_call('::blt::tree', 'sort', tagid(node), __conv_keyonly_opts(keys))
self
end
|
#tag_add(tag, *nodes) ⇒ Object
956
957
958
959
|
# File '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
|
#tag_delete(tag, *nodes) ⇒ Object
961
962
963
964
965
|
# File '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
|
#tag_forget(tag) ⇒ Object
967
968
969
970
971
972
973
974
|
# File '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
|
#tag_get(node, *patterns) ⇒ Object
976
977
978
979
980
981
|
# File '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
|
#tag_names(node = None) ⇒ Object
983
984
985
986
987
|
# File '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
|
#tag_nodes(tag) ⇒ Object
989
990
991
992
993
|
# File '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
|
#tag_set(node, *tags) ⇒ Object
995
996
997
998
|
# File '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
|
#tag_unset(node, *tags) ⇒ Object
1000
1001
1002
1003
1004
|
# File '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
|
#trace_create(*args, &b) ⇒ Object
1006
1007
1008
|
# File 'lib/tkextlib/blt/tree.rb', line 1006
def trace_create(*args, &b)
Tk::BLT::Tree::Trace.new(self, *args, &b)
end
|
#trace_delete(*args) ⇒ Object
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
1023
1024
1025
1026
1027
1028
1029
1030
|
# File '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
|
#trace_info(id) ⇒ Object
1032
1033
1034
1035
1036
1037
1038
|
# File '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
|
#trace_names ⇒ Object
1040
1041
1042
1043
1044
|
# File '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
|
#type(node, key) ⇒ Object
1046
1047
1048
|
# File 'lib/tkextlib/blt/tree.rb', line 1046
def type(node, key)
tk_call('::blt::tree', 'type', tagid(node), key)
end
|
#unset(node, *keys) ⇒ Object
1050
1051
1052
1053
|
# File 'lib/tkextlib/blt/tree.rb', line 1050
def unset(node, *keys)
tk_call('::blt::tree', 'unset', tagid(node), *keys)
self
end
|
#values(node, key = None) ⇒ Object
1055
1056
1057
|
# File 'lib/tkextlib/blt/tree.rb', line 1055
def values(node, key=None)
simplelist(tk_call('::blt::tree', 'values', tagid(node), key))
end
|