Class: Tk::BWidget::Tree

Inherits:
TkWindow show all
Includes:
Scrollable, TkItemConfigMethod
Defined in:
ext/lib/tkextlib/bwidget/tree.rb,
ext/lib/tkextlib/bwidget/tree.rb

Defined Under Namespace

Classes: Event_for_Items, Node

Constant Summary collapse

TkCommandNames =
['Tree'.freeze].freeze
WidgetClassName =
'Tree'.freeze

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::UNKNOWN, Encoding::UTF8_NAME

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 TkDND::Shape

TkDND::Shape::PACKAGE_NAME

Instance Method Summary collapse

Methods included from Scrollable

#autoscroll, #unautoscroll

Methods included from YScrollable

#yscrollbar, #yscrollcommand, #yview, #yview_moveto, #yview_scroll

Methods included from XScrollable

#xscrollbar, #xscrollcommand, #xview, #xview_moveto, #xview_scroll

Methods included from TkItemConfigMethod

__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_itemconfigure_options, #__current_itemconfiginfo, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #current_itemconfiginfo, #itemcget, #itemcget_strict, #itemconfiginfo, #itemconfigure

Methods included from TkItemConfigOptkeys

#__conv_item_keyonly_opts, #itemconfig_hash_kv

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 TkTreatItemFont

#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy

Methods inherited from TkWindow

_widget_inspect_full_=, _widget_inspect_full_?, #bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, #database_class, database_class, database_classname, #database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_anchor, #grid_bbox, #grid_column, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_row, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #initialize, #inspect, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility

Methods included from TkBindCore

#bind, #bind_append, #bind_remove, #bindinfo

Methods included from TkWinfo

appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y

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 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 TkEvent

#install_bind, #install_bind_for_event_class

Methods included from TkDND::DND

#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version

Methods included from TkDND::Shape

package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version

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 TkConfigMethod

#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo

Methods included from TkTreatFont

#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy

Methods inherited from TkKernel

new

Constructor Details

This class inherits a constructor from TkWindow

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TkObject

Instance Method Details

#close_tree(node, recurse = None) ⇒ Object



142
143
144
145
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 142

def close_tree(node, recurse=None)
  tk_send('closetree', tagid(node), recurse)
  self
end

#delete(*args) ⇒ Object



147
148
149
150
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 147

def delete(*args)
  tk_send('delete', *(args.collect{|node| tagid(node)}))
  self
end

#edit(node, text, *args) ⇒ Object



152
153
154
155
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 152

def edit(node, text, *args)
  tk_send('edit', tagid(node), text, *args)
  self
end

#exist?(node) ⇒ Boolean

Returns:

  • (Boolean)


157
158
159
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 157

def exist?(node)
  bool(tk_send('exists', tagid(node)))
end

#get_node(node, idx) ⇒ Object



175
176
177
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 175

def get_node(node, idx)
  Tk::BWidget::Tree::Node.id2obj(self, tk_send('nodes', tagid(node), idx))
end

#imagebind(context, *args) ⇒ Object

def imagebind(*args)

_bind_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
self

end



64
65
66
67
68
69
70
71
72
73
74
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 64

def imagebind(context, *args)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end
  _bind_for_event_class(Event_for_Items, [path, 'bindImage'], 
                        context, cmd, *args)
  self
end

#imagebind_append(context, *args) ⇒ Object

def imagebind_append(*args)

_bind_append_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
self

end



80
81
82
83
84
85
86
87
88
89
90
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 80

def imagebind_append(context, *args)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end
  _bind_append_for_event_class(Event_for_Items, [path, 'bindImage'], 
                               context, cmd, *args)
  self
end

#imagebind_remove(*args) ⇒ Object



92
93
94
95
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 92

def imagebind_remove(*args)
  _bind_remove_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
  self
end

#imagebindinfo(*args) ⇒ Object



97
98
99
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 97

def imagebindinfo(*args)
  _bindinfo_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
end

#index(node) ⇒ Object



161
162
163
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 161

def index(node)
  num_or_str(tk_send('index', tagid(node)))
end

#insert(idx, parent, node, keys = {}) ⇒ Object



165
166
167
168
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 165

def insert(idx, parent, node, keys={})
  tk_send('insert', idx, tagid(parent), tagid(node), *hash_kv(keys))
  self
end

#move(parent, node, idx) ⇒ Object



170
171
172
173
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 170

def move(parent, node, idx)
  tk_send('move', tagid(parent), tagid(node), idx)
  self
end

#nodes(node, first = None, last = None) ⇒ Object



179
180
181
182
183
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 179

def nodes(node, first=None, last=None)
  simplelist(tk_send('nodes', tagid(node), first, last)).collect{|node|
    Tk::BWidget::Tree::Node.id2obj(self, node)
  }
end

#open?(node) ⇒ Boolean

Returns:

  • (Boolean)


185
186
187
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 185

def open?(node)
  bool(@tree.itemcget(tagid(node), 'open'))
end

#open_tree(node, recurse = None) ⇒ Object



189
190
191
192
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 189

def open_tree(node, recurse=None)
  tk_send('opentree', tagid(node), recurse)
  self
end

#parent(node) ⇒ Object



194
195
196
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 194

def parent(node)
  Tk::BWidget::Tree::Node.id2obj(self, tk_send('parent', tagid(node)))
end

#reorder(node, neworder) ⇒ Object



198
199
200
201
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 198

def reorder(node, neworder)
  tk_send('reorder', tagid(node), neworder)
  self
end

#see(node) ⇒ Object



203
204
205
206
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 203

def see(node)
  tk_send('see', tagid(node))
  self
end

#selection_add(*args) ⇒ Object



208
209
210
211
212
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 208

def selection_add(*args)
  tk_send_without_enc('selection', 'add', 
                      *(args.collect{|node| tagid(node)}))
  self
end

#selection_clearObject



214
215
216
217
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 214

def selection_clear
  tk_send_without_enc('selection', 'clear')
  self
end

#selection_getObject



219
220
221
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 219

def selection_get
  list(tk_send_without_enc('selection', 'get'))
end

#selection_include?(*args) ⇒ Boolean

Returns:

  • (Boolean)


223
224
225
226
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 223

def selection_include?(*args)
  bool(tk_send_without_enc('selection', 'get', 
                           *(args.collect{|node| tagid(node)})))
end

#selection_range(*args) ⇒ Object



228
229
230
231
232
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 228

def selection_range(*args)
  tk_send_without_enc('selection', 'range', 
                      *(args.collect{|node| tagid(node)}))
  self
end

#selection_remove(*args) ⇒ Object



234
235
236
237
238
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 234

def selection_remove(*args)
  tk_send_without_enc('selection', 'remove', 
                      *(args.collect{|node| tagid(node)}))
  self
end

#selection_set(*args) ⇒ Object



240
241
242
243
244
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 240

def selection_set(*args)
  tk_send_without_enc('selection', 'set', 
                      *(args.collect{|node| tagid(node)}))
  self
end

#selection_toggle(*args) ⇒ Object



246
247
248
249
250
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 246

def selection_toggle(*args)
  tk_send_without_enc('selection', 'toggle', 
                      *(args.collect{|node| tagid(node)}))
  self
end

#tagid(tag) ⇒ Object



51
52
53
54
55
56
57
58
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 51

def tagid(tag)
  if tag.kind_of?(Tk::BWidget::Tree::Node)
    tag.id
  else
    # tag
    _get_eval_string(tag)
  end
end

#textbind(context, *args) ⇒ Object

def textbind(*args)

_bind_for_event_class(Event_for_Items, [path, 'bindText'], *args)
self

end



105
106
107
108
109
110
111
112
113
114
115
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 105

def textbind(context, *args)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end
  _bind_for_event_class(Event_for_Items, [path, 'bindText'], 
                        context, cmd, *args)
  self
end

#textbind_append(context, *args) ⇒ Object

def textbind_append(*args)

_bind_append_for_event_class(Event_for_Items, [path, 'bindText'], *args)
self

end



121
122
123
124
125
126
127
128
129
130
131
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 121

def textbind_append(context, *args)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end
  _bind_append_for_event_class(Event_for_Items, [path, 'bindText'], 
                               context, cmd, *args)
  self
end

#textbind_remove(*args) ⇒ Object



133
134
135
136
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 133

def textbind_remove(*args)
  _bind_remove_for_event_class(Event_for_Items, [path, 'bindText'], *args)
  self
end

#textbindinfo(*args) ⇒ Object



138
139
140
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 138

def textbindinfo(*args)
  _bindinfo_for_event_class(Event_for_Items, [path, 'bindText'], *args)
end

#toggle(node) ⇒ Object



252
253
254
255
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 252

def toggle(node)
  tk_send_without_enc('toggle', tagid(node))
  self
end

#visible(node) ⇒ Object



257
258
259
# File 'ext/lib/tkextlib/bwidget/tree.rb', line 257

def visible(node)
  bool(tk_send_without_enc('visible', tagid(node)))
end