Class: Tk::BWidget::Tree

Inherits:
TkWindow show all
Includes:
Scrollable, TkItemConfigMethod
Defined in:
lib/tkextlib/bwidget/tree.rb,
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 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 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::UNKNOWN, Encoding::UTF8_NAME

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, #itemcget_tkstring, #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_nil, num_or_nil, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd, untrust

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 Tk::Busy

__item_cget_cmd, __item_config_cmd, __item_confinfo_cmd, #busy, #busy_cget, #busy_configinfo, #busy_configure, #busy_current?, #busy_current_configinfo, #busy_forget, #busy_status, current, forget, hold, method_missing, status

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 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, __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 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, #cget_tkstring, #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

#areabind(context, *args, &block) ⇒ Object



61
62
63
64
65
66
67
68
69
70
# File 'lib/tkextlib/bwidget/tree.rb', line 61

def areabind(context, *args, &block)
  if TkComm._callback_entry?(args[0]) || !block
    cmd = args.shift
  else
    cmd = block
  end
  _bind_for_event_class(Event_for_Items, [path, 'bindArea'],
                        context, cmd, *args)
  self
end

#areabind_append(context, *args, &block) ⇒ Object



72
73
74
75
76
77
78
79
80
81
# File 'lib/tkextlib/bwidget/tree.rb', line 72

def areabind_append(context, *args, &block)
  if TkComm._callback_entry?(args[0]) || !block
    cmd = args.shift
  else
    cmd = block
  end
  _bind_append_for_event_class(Event_for_Items, [path, 'bindArea'],
                               context, cmd, *args)
  self
end

#areabind_remove(*args) ⇒ Object



83
84
85
86
# File 'lib/tkextlib/bwidget/tree.rb', line 83

def areabind_remove(*args)
  _bind_remove_for_event_class(Event_for_Items, [path, 'bindArea'], *args)
  self
end

#areabindinfo(*args) ⇒ Object



88
89
90
# File 'lib/tkextlib/bwidget/tree.rb', line 88

def areabindinfo(*args)
  _bindinfo_for_event_class(Event_for_Items, [path, 'bindArea'], *args)
end

#close_tree(node, recurse = None) ⇒ Object



158
159
160
161
# File 'lib/tkextlib/bwidget/tree.rb', line 158

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

#delete(*args) ⇒ Object



163
164
165
166
# File 'lib/tkextlib/bwidget/tree.rb', line 163

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

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



168
169
170
171
# File 'lib/tkextlib/bwidget/tree.rb', line 168

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

#exist?(node) ⇒ Boolean

Returns:

  • (Boolean)


173
174
175
# File 'lib/tkextlib/bwidget/tree.rb', line 173

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

#find(findinfo, confine = None) ⇒ Object



177
178
179
# File 'lib/tkextlib/bwidget/tree.rb', line 177

def find(findinfo, confine=None)
  Tk::BWidget::Tree::Node.id2obj(self, tk_send(findinfo, confine))
end

#find_line(linenum) ⇒ Object



183
184
185
# File 'lib/tkextlib/bwidget/tree.rb', line 183

def find_line(linenum)
  self.find(linenum)
end

#find_position(x, y, confine = None) ⇒ Object



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

def find_position(x, y, confine=None)
  self.find(_at(x,y), confine)
end

#get_node(node, idx) ⇒ Object



205
206
207
# File 'lib/tkextlib/bwidget/tree.rb', line 205

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

#imagebind(context, *args, &block) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
# File 'lib/tkextlib/bwidget/tree.rb', line 92

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

#imagebind_append(context, *args, &block) ⇒ Object



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

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

#imagebind_remove(*args) ⇒ Object



116
117
118
119
# File 'lib/tkextlib/bwidget/tree.rb', line 116

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

#imagebindinfo(*args) ⇒ Object



121
122
123
# File 'lib/tkextlib/bwidget/tree.rb', line 121

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

#index(node) ⇒ Object



187
188
189
# File 'lib/tkextlib/bwidget/tree.rb', line 187

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

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



191
192
193
194
# File 'lib/tkextlib/bwidget/tree.rb', line 191

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

#line(node) ⇒ Object



196
197
198
# File 'lib/tkextlib/bwidget/tree.rb', line 196

def line(node)
  number(tk_send('line', tagid(node)))
end

#move(parent, node, idx) ⇒ Object



200
201
202
203
# File 'lib/tkextlib/bwidget/tree.rb', line 200

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

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



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

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)


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

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

#open_tree(node, recurse = None) ⇒ Object



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

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

#parent(node) ⇒ Object



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

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

#reorder(node, neworder) ⇒ Object



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

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

#see(node) ⇒ Object



233
234
235
236
# File 'lib/tkextlib/bwidget/tree.rb', line 233

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

#selection_add(*args) ⇒ Object



238
239
240
241
242
# File 'lib/tkextlib/bwidget/tree.rb', line 238

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

#selection_clearObject



244
245
246
247
# File 'lib/tkextlib/bwidget/tree.rb', line 244

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

#selection_getObject



249
250
251
# File 'lib/tkextlib/bwidget/tree.rb', line 249

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

#selection_include?(*args) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#selection_range(*args) ⇒ Object



258
259
260
261
262
# File 'lib/tkextlib/bwidget/tree.rb', line 258

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

#selection_remove(*args) ⇒ Object



264
265
266
267
268
# File 'lib/tkextlib/bwidget/tree.rb', line 264

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

#selection_set(*args) ⇒ Object



270
271
272
273
274
# File 'lib/tkextlib/bwidget/tree.rb', line 270

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

#selection_toggle(*args) ⇒ Object



276
277
278
279
280
# File 'lib/tkextlib/bwidget/tree.rb', line 276

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

#tagid(tag) ⇒ Object



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

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

#textbind(context, *args, &block) ⇒ Object



125
126
127
128
129
130
131
132
133
134
135
# File 'lib/tkextlib/bwidget/tree.rb', line 125

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

#textbind_append(context, *args, &block) ⇒ Object



137
138
139
140
141
142
143
144
145
146
147
# File 'lib/tkextlib/bwidget/tree.rb', line 137

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

#textbind_remove(*args) ⇒ Object



149
150
151
152
# File 'lib/tkextlib/bwidget/tree.rb', line 149

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

#textbindinfo(*args) ⇒ Object



154
155
156
# File 'lib/tkextlib/bwidget/tree.rb', line 154

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

#toggle(node) ⇒ Object



282
283
284
285
# File 'lib/tkextlib/bwidget/tree.rb', line 282

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

#visible(node) ⇒ Object



287
288
289
# File 'lib/tkextlib/bwidget/tree.rb', line 287

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