Class: Tk::BLT::Tree::Node
Constant Summary
collapse
- TreeNodeID_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::TkCommandNames, Encoding::UNKNOWN, Encoding::UTF8_NAME
Class Method Summary
collapse
Instance Method Summary
collapse
-
#apply(keys = {}) ⇒ Object
-
#children ⇒ Object
-
#copy(parent, keys = {}) ⇒ Object
-
#copy_to(dest_tree, parent, keys = {}) ⇒ Object
-
#degree ⇒ Object
-
#delete ⇒ Object
-
#depth ⇒ Object
-
#dump ⇒ Object
-
#dump_to_file(file) ⇒ Object
-
#exist?(keys = {}) ⇒ Boolean
-
#find(keys = {}) ⇒ Object
-
#find_child(label) ⇒ Object
-
#first_child ⇒ Object
-
#fullpath ⇒ Object
-
#get ⇒ Object
-
#get_value(key, default_val = None) ⇒ Object
-
#id ⇒ Object
-
#index ⇒ Object
-
#initialize(tree, parent, keys = {}) ⇒ Node
constructor
-
#keys ⇒ Object
-
#label(text = nil) ⇒ Object
-
#label=(text) ⇒ Object
-
#last_child ⇒ Object
-
#leaf? ⇒ Boolean
-
#link? ⇒ Boolean
-
#move(dest, keys = {}) ⇒ Object
-
#next ⇒ Object
-
#next_sibling ⇒ Object
-
#parent ⇒ Object
-
#position ⇒ Object
-
#prev_sibling ⇒ Object
-
#previous ⇒ Object
-
#restore(str, keys = {}) ⇒ Object
-
#restore_from_file(file, keys = {}) ⇒ Object
-
#restore_overwrite(str, keys = {}) ⇒ Object
-
#restore_overwrite_from_file(file, keys = {}) ⇒ Object
-
#root ⇒ Object
-
#root? ⇒ Boolean
-
#set(data) ⇒ Object
-
#size ⇒ Object
-
#sort(keys = {}) ⇒ Object
-
#type(key) ⇒ Object
-
#unset(*keys) ⇒ Object
-
#values(key = None) ⇒ Object
Methods inherited from TkObject
#destroy, #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, destroy, #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(tree, parent, keys = {}) ⇒ Node
Returns a new instance of Node.
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'lib/tkextlib/blt/tree.rb', line 75
def initialize(tree, parent, keys={})
@parent = @tree = tree
@tpath = @parent.path
if (id = keys['node']) && bool(tk_call(@tpath, 'exists', id))
@path = @id = id
keys.delete('node')
tk_call(@tpath, 'move', @id, parent, keys) if parent
else
parent = tk_call(@tpath, 'root') unless parent
@path = @id = tk_call(@tpath, 'insert', parent, keys)
end
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class TkObject
Class Method Details
.id2obj(tree, id) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/tkextlib/blt/tree.rb', line 23
def self.id2obj(tree, id)
tpath = tree.path
TreeNodeID_TBL.mutex.synchronize{
if TreeNodeID_TBL[tpath]
if TreeNodeID_TBL[tpath][id]
TreeNodeID_TBL[tpath][id]
else
begin
id = Integer(id)
if bool(tk_call(@tpath, 'exists', id))
(obj = self.allocate).instance_eval{
@parent = @tree = tree
@tpath = tpath
@path = @id = id
TreeNodeID_TBL[@tpath] = {} unless TreeNodeID_TBL[@tpath]
TreeNodeID_TBL[@tpath][@id] = self
}
obj
else
id
end
rescue
id
end
end
else
id
end
}
end
|
.new(tree, parent, keys = {}) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/tkextlib/blt/tree.rb', line 55
def self.new(tree, parent, keys={})
keys = _symbolkey2str(keys)
tpath = tree.path
TreeNodeID_TBL.mutex.synchronize{
TreeNodeID_TBL[tpath] ||= {}
if (id = keys['node']) && (obj = TreeNodeID_TBL[tpath][id])
keys.delete('node')
tk_call(tree.path, 'move', id, parent, keys) if parent
return obj
end
(obj = self.allocate).instance_eval{
initialize(tree, parent, keys)
TreeNodeID_TBL[tpath][@id] = self
}
obj
}
end
|
Instance Method Details
#apply(keys = {}) ⇒ Object
93
94
95
96
|
# File 'lib/tkextlib/blt/tree.rb', line 93
def apply(keys={})
@tree.apply(@id, keys)
self
end
|
98
99
100
|
# File 'lib/tkextlib/blt/tree.rb', line 98
def children()
@tree.children(@id)
end
|
#copy(parent, keys = {}) ⇒ Object
102
103
104
|
# File 'lib/tkextlib/blt/tree.rb', line 102
def copy(parent, keys={})
@tree.copy(@id, parent, keys)
end
|
#copy_to(dest_tree, parent, keys = {}) ⇒ Object
105
106
107
|
# File 'lib/tkextlib/blt/tree.rb', line 105
def copy_to(dest_tree, parent, keys={})
@tree.copy_to(@id, dest_tree, parent, keys)
end
|
109
110
111
|
# File 'lib/tkextlib/blt/tree.rb', line 109
def degree()
@tree.degree(@id)
end
|
113
114
115
116
|
# File 'lib/tkextlib/blt/tree.rb', line 113
def delete()
@tree.delete(@id)
self
end
|
118
119
120
|
# File 'lib/tkextlib/blt/tree.rb', line 118
def depth()
@tree.depth(@id)
end
|
122
123
124
|
# File 'lib/tkextlib/blt/tree.rb', line 122
def dump()
@tree.dump(@id)
end
|
#dump_to_file(file) ⇒ Object
126
127
128
129
|
# File 'lib/tkextlib/blt/tree.rb', line 126
def dump_to_file(file)
@tree.dump_to_file(@id, file)
self
end
|
#exist?(keys = {}) ⇒ Boolean
131
132
133
|
# File 'lib/tkextlib/blt/tree.rb', line 131
def exist?(keys={})
@tree.exist?(@id, keys)
end
|
#find(keys = {}) ⇒ Object
135
136
137
|
# File 'lib/tkextlib/blt/tree.rb', line 135
def find(keys={})
@tree.find(@id, keys)
end
|
#find_child(label) ⇒ Object
139
140
141
|
# File 'lib/tkextlib/blt/tree.rb', line 139
def find_child(label)
@tree.find_child(@id, label)
end
|
#first_child ⇒ Object
143
144
145
|
# File 'lib/tkextlib/blt/tree.rb', line 143
def first_child()
@tree.first_child(@id)
end
|
200
201
202
|
# File 'lib/tkextlib/blt/tree.rb', line 200
def fullpath()
@tree.fullpath(@id)
end
|
147
148
149
|
# File 'lib/tkextlib/blt/tree.rb', line 147
def get()
@tree.get(@id)
end
|
#get_value(key, default_val = None) ⇒ Object
150
151
152
|
# File 'lib/tkextlib/blt/tree.rb', line 150
def get_value(key, default_val=None)
@tree.get_value(@id, key, default_val)
end
|
89
90
91
|
# File 'lib/tkextlib/blt/tree.rb', line 89
def id
@id
end
|
154
155
156
|
# File 'lib/tkextlib/blt/tree.rb', line 154
def index()
@tree.index(@id)
end
|
168
169
170
|
# File 'lib/tkextlib/blt/tree.rb', line 168
def keys()
@tree.keys(@id)
end
|
#label(text = nil) ⇒ Object
172
173
174
|
# File 'lib/tkextlib/blt/tree.rb', line 172
def label(text = nil)
@tree.label(@id, nil)
end
|
#label=(text) ⇒ Object
175
176
177
|
# File 'lib/tkextlib/blt/tree.rb', line 175
def label=(text)
@tree.label(@id, text)
end
|
#last_child ⇒ Object
179
180
181
|
# File 'lib/tkextlib/blt/tree.rb', line 179
def last_child()
@tree.last_child(@id)
end
|
#leaf? ⇒ Boolean
158
159
160
|
# File 'lib/tkextlib/blt/tree.rb', line 158
def leaf?()
@tree.leaf?(@id)
end
|
#link? ⇒ Boolean
161
162
163
|
# File 'lib/tkextlib/blt/tree.rb', line 161
def link?()
@tree.link?(@id)
end
|
#move(dest, keys = {}) ⇒ Object
183
184
185
186
|
# File 'lib/tkextlib/blt/tree.rb', line 183
def move(dest, keys={})
@tree.keys(@id, dest, keys)
self
end
|
188
189
190
|
# File 'lib/tkextlib/blt/tree.rb', line 188
def next()
@tree.next(@id)
end
|
#next_sibling ⇒ Object
192
193
194
|
# File 'lib/tkextlib/blt/tree.rb', line 192
def next_sibling()
@tree.next_sibling(@id)
end
|
196
197
198
|
# File 'lib/tkextlib/blt/tree.rb', line 196
def parent()
@tree.parent(@id)
end
|
204
205
206
|
# File 'lib/tkextlib/blt/tree.rb', line 204
def position()
@tree.position(@id)
end
|
#prev_sibling ⇒ Object
212
213
214
|
# File 'lib/tkextlib/blt/tree.rb', line 212
def prev_sibling()
@tree.prev_sibling(@id)
end
|
208
209
210
|
# File 'lib/tkextlib/blt/tree.rb', line 208
def previous()
@tree.previous(@id)
end
|
#restore(str, keys = {}) ⇒ Object
216
217
218
219
|
# File 'lib/tkextlib/blt/tree.rb', line 216
def restore(str, keys={})
@tree.restore(@id, str, keys)
self
end
|
#restore_from_file(file, keys = {}) ⇒ Object
225
226
227
228
|
# File 'lib/tkextlib/blt/tree.rb', line 225
def restore_from_file(file, keys={})
@tree.restore_from_file(@id, file, keys)
self
end
|
#restore_overwrite(str, keys = {}) ⇒ Object
220
221
222
223
|
# File 'lib/tkextlib/blt/tree.rb', line 220
def restore_overwrite(str, keys={})
@tree.restore_overwrite(@id, str, keys)
self
end
|
#restore_overwrite_from_file(file, keys = {}) ⇒ Object
229
230
231
232
|
# File 'lib/tkextlib/blt/tree.rb', line 229
def restore_overwrite_from_file(file, keys={})
@tree.restore_overwrite_from_file(@id, file, keys)
self
end
|
234
235
236
237
|
# File 'lib/tkextlib/blt/tree.rb', line 234
def root()
@tree.root(@id)
self
end
|
#root? ⇒ Boolean
164
165
166
|
# File 'lib/tkextlib/blt/tree.rb', line 164
def root?()
@tree.root?(@id)
end
|
#set(data) ⇒ Object
239
240
241
242
|
# File 'lib/tkextlib/blt/tree.rb', line 239
def set(data)
@tree.set(@id, data)
self
end
|
244
245
246
|
# File 'lib/tkextlib/blt/tree.rb', line 244
def size()
@tree.size(@id)
end
|
#sort(keys = {}) ⇒ Object
248
249
250
251
|
# File 'lib/tkextlib/blt/tree.rb', line 248
def sort(keys={})
@tree.sort(@id, keys)
self
end
|
#type(key) ⇒ Object
253
254
255
|
# File 'lib/tkextlib/blt/tree.rb', line 253
def type(key)
@tree.type(@id, key)
end
|
#unset(*keys) ⇒ Object
257
258
259
260
|
# File 'lib/tkextlib/blt/tree.rb', line 257
def unset(*keys)
@tree.unset(@id, *keys)
self
end
|
#values(key = None) ⇒ Object
262
263
264
|
# File 'lib/tkextlib/blt/tree.rb', line 262
def values(key=None)
@tree.values(@id, key)
end
|