Class: Tk::BWidget::Tree::Node
Constant Summary
collapse
- TreeNode_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, Checkbutton, CloneMenu, Fontchooser, JAPANIZED_TK, LIBRARY_PATH, Labelframe, MenuButton, OptionMenuButton, PACKAGE_PATH, Panedwindow, RELEASE_DATE, Radiobutton, 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
#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, 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 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 TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #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, #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, 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, #root, 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
Methods inherited from TkKernel
new
Constructor Details
#initialize(tree, *args) ⇒ Node
Returns a new instance of Node.
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
|
# File 'lib/tkextlib/bwidget/tree.rb', line 318
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
TreeNode_ID.mutex.synchronize{
@path = @id = TreeNode_ID.join(TkCore::INTERP._ip_id_)
TreeNode_ID[1].succ!
}
end
TreeNode_TBL.mutex.synchronize{
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
307
308
309
310
311
312
313
314
315
316
|
# File 'lib/tkextlib/bwidget/tree.rb', line 307
def self.id2obj(tree, id)
tpath = tree.path
TreeNode_TBL.mutex.synchronize{
if TreeNode_TBL[tpath]
TreeNode_TBL[tpath][id]? TreeNode_TBL[tpath][id]: id
else
id
end
}
end
|
Instance Method Details
379
380
381
|
# File 'lib/tkextlib/bwidget/tree.rb', line 379
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
383
384
385
386
|
# File 'lib/tkextlib/bwidget/tree.rb', line 383
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
391
392
393
|
# File 'lib/tkextlib/bwidget/tree.rb', line 391
def cget(key)
@tree.itemcget(@id, key)
end
|
#cget_strict(key) ⇒ Object
394
395
396
|
# File 'lib/tkextlib/bwidget/tree.rb', line 394
def cget_strict(key)
@tree.itemcget_strict(@id, key)
end
|
#cget_tkstring(key) ⇒ Object
388
389
390
|
# File 'lib/tkextlib/bwidget/tree.rb', line 388
def cget_tkstring(key)
@tree.itemcget_tkstring(@id, key)
end
|
#close_tree(recurse = None) ⇒ Object
410
411
412
413
|
# File 'lib/tkextlib/bwidget/tree.rb', line 410
def close_tree(recurse=None)
@tree.close_tree(@id, recurse)
self
end
|
#configinfo(key = nil) ⇒ Object
402
403
404
|
# File 'lib/tkextlib/bwidget/tree.rb', line 402
def configinfo(key=nil)
@tree.itemconfiginfo(@id, key)
end
|
398
399
400
|
# File 'lib/tkextlib/bwidget/tree.rb', line 398
def configure(key, val=None)
@tree.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
406
407
408
|
# File 'lib/tkextlib/bwidget/tree.rb', line 406
def current_configinfo(key=nil)
@tree.current_itemconfiginfo(@id, key)
end
|
415
416
417
418
|
# File 'lib/tkextlib/bwidget/tree.rb', line 415
def delete
@tree.delete(@id)
self
end
|
#edit(*args) ⇒ Object
420
421
422
423
|
# File 'lib/tkextlib/bwidget/tree.rb', line 420
def edit(*args)
@tree.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
425
426
427
|
# File 'lib/tkextlib/bwidget/tree.rb', line 425
def exist?
@tree.exist?(@id)
end
|
375
376
377
|
# File 'lib/tkextlib/bwidget/tree.rb', line 375
def id
@id
end
|
429
430
431
|
# File 'lib/tkextlib/bwidget/tree.rb', line 429
def index
@tree.index(@id)
end
|
#move(index, parent = nil) ⇒ Object
433
434
435
436
437
438
439
|
# File 'lib/tkextlib/bwidget/tree.rb', line 433
def move(index, parent=nil)
if parent
@tree.move(parent, @id, index)
else
@tree.move(self.parent, @id, index)
end
end
|
#open? ⇒ Boolean
446
447
448
|
# File 'lib/tkextlib/bwidget/tree.rb', line 446
def open?
bool(@tree.itemcget(@id, 'open'))
end
|
#open_tree(recurse = None) ⇒ Object
441
442
443
444
|
# File 'lib/tkextlib/bwidget/tree.rb', line 441
def open_tree(recurse=None)
@tree.open_tree(@id, recurse)
self
end
|
450
451
452
|
# File 'lib/tkextlib/bwidget/tree.rb', line 450
def parent
@tree.parent(@id)
end
|
#reorder(neworder) ⇒ Object
454
455
456
|
# File 'lib/tkextlib/bwidget/tree.rb', line 454
def reorder(neworder)
@tree.reorder(@id, neworder)
end
|
458
459
460
|
# File 'lib/tkextlib/bwidget/tree.rb', line 458
def see
@tree.see(@id)
end
|
#selection_add ⇒ Object
462
463
464
|
# File 'lib/tkextlib/bwidget/tree.rb', line 462
def selection_add
@tree.selection_add(@id)
end
|
#selection_remove ⇒ Object
466
467
468
|
# File 'lib/tkextlib/bwidget/tree.rb', line 466
def selection_remove
@tree.selection_remove(@id)
end
|
#selection_set ⇒ Object
470
471
472
|
# File 'lib/tkextlib/bwidget/tree.rb', line 470
def selection_set
@tree.selection_set(@id)
end
|
#selection_toggle ⇒ Object
474
475
476
|
# File 'lib/tkextlib/bwidget/tree.rb', line 474
def selection_toggle
@tree.selection_toggle(@id)
end
|
478
479
480
|
# File 'lib/tkextlib/bwidget/tree.rb', line 478
def toggle
@tree.toggle(@id)
end
|
371
372
373
|
# File 'lib/tkextlib/bwidget/tree.rb', line 371
def tree
@tree
end
|
482
483
484
|
# File 'lib/tkextlib/bwidget/tree.rb', line 482
def visible
@tree.visible(@id)
end
|