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, 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_str, number, procedure, simplelist, 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_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
__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, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, 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, #root, 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, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
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.
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
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 288
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
277
278
279
280
281
282
283
284
285
286
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 277
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
349
350
351
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 349
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
353
354
355
356
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 353
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
358
359
360
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 358
def cget(key)
@tree.itemcget(@id, key)
end
|
#cget_strict(key) ⇒ Object
361
362
363
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 361
def cget_strict(key)
@tree.itemcget_strict(@id, key)
end
|
#close_tree(recurse = None) ⇒ Object
377
378
379
380
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 377
def close_tree(recurse=None)
@tree.close_tree(@id, recurse)
self
end
|
#configinfo(key = nil) ⇒ Object
369
370
371
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 369
def configinfo(key=nil)
@tree.itemconfiginfo(@id, key)
end
|
365
366
367
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 365
def configure(key, val=None)
@tree.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
373
374
375
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 373
def current_configinfo(key=nil)
@tree.current_itemconfiginfo(@id, key)
end
|
382
383
384
385
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 382
def delete
@tree.delete(@id)
self
end
|
#edit(*args) ⇒ Object
387
388
389
390
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 387
def edit(*args)
@tree.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
392
393
394
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 392
def exist?
@tree.exist?(@id)
end
|
345
346
347
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 345
def id
@id
end
|
396
397
398
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 396
def index
@tree.index(@id)
end
|
#move(index, parent = nil) ⇒ Object
400
401
402
403
404
405
406
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 400
def move(index, parent=nil)
if parent
@tree.move(parent, @id, index)
else
@tree.move(self.parent, @id, index)
end
end
|
#open? ⇒ Boolean
413
414
415
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 413
def open?
bool(@tree.itemcget(@id, 'open'))
end
|
#open_tree(recurse = None) ⇒ Object
408
409
410
411
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 408
def open_tree(recurse=None)
@tree.open_tree(@id, recurse)
self
end
|
417
418
419
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 417
def parent
@tree.parent(@id)
end
|
#reorder(neworder) ⇒ Object
421
422
423
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 421
def reorder(neworder)
@tree.reorder(@id, neworder)
end
|
425
426
427
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 425
def see
@tree.see(@id)
end
|
#selection_add ⇒ Object
429
430
431
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 429
def selection_add
@tree.selection_add(@id)
end
|
#selection_remove ⇒ Object
433
434
435
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 433
def selection_remove
@tree.selection_remove(@id)
end
|
#selection_set ⇒ Object
437
438
439
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 437
def selection_set
@tree.selection_set(@id)
end
|
#selection_toggle ⇒ Object
441
442
443
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 441
def selection_toggle
@tree.selection_toggle(@id)
end
|
445
446
447
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 445
def toggle
@tree.toggle(@id)
end
|
341
342
343
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 341
def tree
@tree
end
|
449
450
451
|
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 449
def visible
@tree.visible(@id)
end
|