Class: Tk::BWidget::Tree::Node
Constant Summary
collapse
- TreeNode_TBL =
TkCore::INTERP.create_table
- TreeNode_ID =
['bw:node'.freeze, '00000'.taint].freeze
Constants included
from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK
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, 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::TkCommandNames
Class Method Summary
collapse
Instance Method Summary
collapse
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
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, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, window
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_str, #num_or_str, number, #number, string, #string, uninstall_cmd
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
#config_hash_kv, #configure_cmd
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods included from Tk
BinaryString, EncodedString, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, 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, #root, show_kinsoku, 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, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence
Methods included from Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
Methods inherited from TkKernel
new
Constructor Details
#initialize(tree, *args) ⇒ Node
Returns a new instance of Node.
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
|
# File 'lib/tkextlib/bwidget/tree.rb', line 276
def initialize(tree, *args)
if tree.kind_of?(Tk::BWidget::Tree)
@tree = tree
parent = args.shift
if parent.kind_of?(Tk::BWidget::Tree::Node)
if parent.tree.path != @tree.path
fail RuntimeError, 'tree of parent node is not match'
end
end
elsif tree.kind_of?(Tk::BWidget::Tree::Node)
@tree = tree.tree
parent = tree.parent
else
fail RuntimeError,
"expect Tk::BWidget::Tree or Tk::BWidget::Tree::Node for 1st argument"
end
if args[-1].kind_of?(Hash)
keys = _symbolkey2str(args.pop)
else
keys = {}
end
index = keys.delete('index')
unless args.empty?
index = args.shift
end
index = 'end' unless index
unless args.empty?
fail RuntimeError, 'too much arguments'
end
@tpath = @tree.path
if keys.key?('nodename')
@path = @id = keys.delete('nodename')
else
@path = @id = TreeNode_ID.join(TkCore::INTERP._ip_id_)
TreeNode_ID[1].succ!
end
TreeNode_TBL[@id] = self
TreeNode_TBL[@tpath] = {} unless TreeNode_TBL[@tpath]
TreeNode_TBL[@tpath][@id] = self
@tree.insert(index, parent, @id, keys)
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
270
271
272
273
274
|
# File 'lib/tkextlib/bwidget/tree.rb', line 270
def self.id2obj(tree, id)
tpath = tree.path
return id unless TreeNode_TBL[tpath]
TreeNode_TBL[tpath][id]? TreeNode_TBL[tpath][id]: id
end
|
Instance Method Details
333
334
335
|
# File 'lib/tkextlib/bwidget/tree.rb', line 333
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
337
338
339
340
|
# File 'lib/tkextlib/bwidget/tree.rb', line 337
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
342
343
344
|
# File 'lib/tkextlib/bwidget/tree.rb', line 342
def cget(key)
@tree.itemcget(@id, key)
end
|
#close_tree(recurse = None) ⇒ Object
358
359
360
361
|
# File 'lib/tkextlib/bwidget/tree.rb', line 358
def close_tree(recurse=None)
@tree.close_tree(@id, recurse)
self
end
|
#configinfo(key = nil) ⇒ Object
350
351
352
|
# File 'lib/tkextlib/bwidget/tree.rb', line 350
def configinfo(key=nil)
@tree.itemconfiginfo(@id, key)
end
|
346
347
348
|
# File 'lib/tkextlib/bwidget/tree.rb', line 346
def configure(key, val=None)
@tree.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
354
355
356
|
# File 'lib/tkextlib/bwidget/tree.rb', line 354
def current_configinfo(key=nil)
@tree.current_itemconfiginfo(@id, key)
end
|
363
364
365
366
|
# File 'lib/tkextlib/bwidget/tree.rb', line 363
def delete
@tree.delete(@id)
self
end
|
#edit(*args) ⇒ Object
368
369
370
371
|
# File 'lib/tkextlib/bwidget/tree.rb', line 368
def edit(*args)
@tree.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
373
374
375
|
# File 'lib/tkextlib/bwidget/tree.rb', line 373
def exist?
@tree.exist?(@id)
end
|
329
330
331
|
# File 'lib/tkextlib/bwidget/tree.rb', line 329
def id
@id
end
|
377
378
379
|
# File 'lib/tkextlib/bwidget/tree.rb', line 377
def index
@tree.index(@id)
end
|
#move(index, parent = nil) ⇒ Object
381
382
383
384
385
386
387
|
# File 'lib/tkextlib/bwidget/tree.rb', line 381
def move(index, parent=nil)
if parent
@tree.move(parent, @id, index)
else
@tree.move(self.parent, @id, index)
end
end
|
#open? ⇒ Boolean
394
395
396
|
# File 'lib/tkextlib/bwidget/tree.rb', line 394
def open?
bool(@tree.itemcget(@id, 'open'))
end
|
#open_tree(recurse = None) ⇒ Object
389
390
391
392
|
# File 'lib/tkextlib/bwidget/tree.rb', line 389
def open_tree(recurse=None)
@tree.open_tree(@id, recurse)
self
end
|
398
399
400
|
# File 'lib/tkextlib/bwidget/tree.rb', line 398
def parent
@tree.parent(@id)
end
|
#reorder(neworder) ⇒ Object
402
403
404
|
# File 'lib/tkextlib/bwidget/tree.rb', line 402
def reorder(neworder)
@tree.reorder(@id, neworder)
end
|
406
407
408
|
# File 'lib/tkextlib/bwidget/tree.rb', line 406
def see
@tree.see(@id)
end
|
#selection_add ⇒ Object
410
411
412
|
# File 'lib/tkextlib/bwidget/tree.rb', line 410
def selection_add
@tree.selection_add(@id)
end
|
#selection_remove ⇒ Object
414
415
416
|
# File 'lib/tkextlib/bwidget/tree.rb', line 414
def selection_remove
@tree.selection_remove(@id)
end
|
#selection_set ⇒ Object
418
419
420
|
# File 'lib/tkextlib/bwidget/tree.rb', line 418
def selection_set
@tree.selection_set(@id)
end
|
#selection_toggle ⇒ Object
422
423
424
|
# File 'lib/tkextlib/bwidget/tree.rb', line 422
def selection_toggle
@tree.selection_toggle(@id)
end
|
426
427
428
|
# File 'lib/tkextlib/bwidget/tree.rb', line 426
def toggle
@tree.toggle(@id)
end
|
325
326
327
|
# File 'lib/tkextlib/bwidget/tree.rb', line 325
def tree
@tree
end
|
430
431
432
|
# File 'lib/tkextlib/bwidget/tree.rb', line 430
def visible
@tree.visible(@id)
end
|