Class: Tk::Iwidgets::Hierarchy

Inherits:
Scrolledwidget show all
Includes:
ValidateConfigure, TkTextTagConfig
Defined in:
lib/tkextlib/iwidgets/hierarchy.rb,
lib/tkextlib/iwidgets/hierarchy.rb

Defined Under Namespace

Classes: IconCommand, IndicatorCommand, QueryCommand

Constant Summary collapse

ItemConfCMD =
['tag'.freeze, 'configure'.freeze].freeze
TkCommandNames =
['::iwidgets::hierarchy'.freeze].freeze
WidgetClassName =
'Hierarchy'.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, Fontchooser, Tk::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::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 ValidateConfigure

#__conv_vcmd_on_hash_kv, __def_validcmd, #__get_validate_key2class, #__validcmd_call, #configure

Methods included from TkTextTagConfig

#current_tag_configinfo, #current_window_configinfo, #tag_cget, #tag_cget_strict, #tag_cget_tkstring, #tag_configinfo, #tag_configure, #window_cget, #window_cget_strict, #window_cget_tkstring, #window_configinfo, #window_configure

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, #tagid

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 Labeledwidget

alignlabels, #child_site

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 inherited from Tk::Itk::Archetype

#__destroy_hook__, #component, #component_invoke, #component_obj, #component_path, to_eval

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, #exist?, #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 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 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, #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, 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

#__validation_class_listObject



151
152
153
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 151

def __validation_class_list
  super() << QueryCommand << IndicatorCommand << IconCommand
end

#bbox(index) ⇒ Object

based on Tk::Text widget



269
270
271
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 269

def bbox(index)
  list(tk_send_without_enc('bbox', _get_eval_enc_str(index)))
end

#clearObject



176
177
178
179
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 176

def clear
  tk_call(@path, 'clear')
  self
end

#collapse(node) ⇒ Object



181
182
183
184
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 181

def collapse(node)
  tk_call(@path, 'collapse')
  self
end

#compare(idx1, op, idx2) ⇒ Object



273
274
275
276
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 273

def compare(idx1, op, idx2)
  bool(tk_send_without_enc('compare', _get_eval_enc_str(idx1),
                           op, _get_eval_enc_str(idx2)))
end

#currentObject



186
187
188
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 186

def current
  tk_call(@path, 'current')
end

#debugObject



278
279
280
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 278

def debug
  bool(tk_send_without_enc('debug'))
end

#debug=(boolean) ⇒ Object



281
282
283
284
285
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 281

def debug=(boolean)
  tk_send_without_enc('debug', boolean)
  #self
  boolean
end

#delete(first, last = None) ⇒ Object



287
288
289
290
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 287

def delete(first, last=None)
  tk_send_without_enc('delete', first, last)
  self
end

#dlineinfo(index) ⇒ Object



292
293
294
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 292

def dlineinfo(index)
  list(tk_send_without_enc('dlineinfo', _get_eval_enc_str(index)))
end

#draw(mode = None) ⇒ Object



190
191
192
193
194
195
196
197
198
199
200
201
202
203
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 190

def draw(mode=None)
  case mode
  when None
    # do nothing
  when 'now', :now
    mode = '-now'
  when 'eventually', :eventually
    mode = '-eventually'
  when String, Symbol
    mode = mode.to_s
    mode = '-' << mode if mode[0] != ?-
  end
  tk_call(@path, 'draw', mode)
end

#exp_stateObject Also known as: expand_state, expanded_list



214
215
216
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 214

def exp_state
  list(tk_call(@path, 'expState'))
end

#expand(node) ⇒ Object



205
206
207
208
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 205

def expand(node)
  tk_call(@path, 'expand', node)
  self
end

#expanded?(node) ⇒ Boolean

Returns:

  • (Boolean)


210
211
212
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 210

def expanded?(node)
  bool(tk_call(@path, 'expanded', node))
end

#get(*index) ⇒ Object



296
297
298
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 296

def get(*index)
  _fromUTF8(tk_send_without_enc('get', *index))
end

#index(index) ⇒ Object



300
301
302
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 300

def index(index)
  tk_send_without_enc('index', _get_eval_enc_str(index))
end

#insert(index, chars, *tags) ⇒ Object



304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 304

def insert(index, chars, *tags)
  if tags[0].kind_of? Array
    # multiple chars-taglist argument :: str, [tag,...], str, [tag,...], ...
    args = [chars]
    while tags.size > 0
      args << tags.shift.collect{|x|_get_eval_string(x)}.join(' ')  # taglist
      args << tags.shift if tags.size > 0                           # chars
    end
    super(index, *args)
  else
    # single chars-taglist argument :: str, tag, tag, ...
    if tags.size == 0
      super(index, chars)
    else
      super(index, chars, tags.collect{|x|_get_eval_string(x)}.join(' '))
    end
  end
end

#mark_add(*nodes) ⇒ Object



224
225
226
227
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 224

def mark_add(*nodes)
  tk_call(@path, 'mark', 'add', *nodes)
  self
end

#mark_clearObject



220
221
222
223
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 220

def mark_clear
  tk_call(@path, 'mark', 'clear')
  self
end

#mark_getObject



232
233
234
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 232

def mark_get
  list(tk_call(@path, 'mark', 'get'))
end

#mark_remove(*nodes) ⇒ Object



228
229
230
231
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 228

def mark_remove(*nodes)
  tk_call(@path, 'mark', 'remove', *nodes)
  self
end

#prune(node) ⇒ Object



241
242
243
244
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 241

def prune(node)
  tk_call(@path, 'prune', node)
  self
end

#refresh(node) ⇒ Object



236
237
238
239
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 236

def refresh(node)
  tk_call(@path, 'refresh', node)
  self
end

#scan_dragto(x, y) ⇒ Object



327
328
329
330
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 327

def scan_dragto(x, y)
  tk_send_without_enc('scan', 'dragto', x, y)
  self
end

#scan_mark(x, y) ⇒ Object



323
324
325
326
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 323

def scan_mark(x, y)
  tk_send_without_enc('scan', 'mark', x, y)
  self
end

#see(index) ⇒ Object



331
332
333
334
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 331

def see(index)
  tk_send_without_enc('see', index)
  self
end

#selection_add(*nodes) ⇒ Object



250
251
252
253
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 250

def selection_add(*nodes)
  tk_call(@path, 'selection', 'add', *nodes)
  self
end

#selection_clearObject



246
247
248
249
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 246

def selection_clear
  tk_call(@path, 'selection', 'clear')
  self
end

#selection_getObject



258
259
260
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 258

def selection_get
  list(tk_call(@path, 'selection', 'get'))
end

#selection_remove(*nodes) ⇒ Object



254
255
256
257
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 254

def selection_remove(*nodes)
  tk_call(@path, 'selection', 'remove', *nodes)
  self
end

#toggle(node) ⇒ Object



262
263
264
265
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 262

def toggle(node)
  tk_call(@path, 'toggle', node)
  self
end

#xview(*index) ⇒ Object

based on tk/scrollable.rb



337
338
339
340
341
342
343
344
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 337

def xview(*index)
  if index.size == 0
    list(tk_send_without_enc('xview'))
  else
    tk_send_without_enc('xview', *index)
    self
  end
end

#xview_moveto(*index) ⇒ Object



345
346
347
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 345

def xview_moveto(*index)
  xview('moveto', *index)
end

#xview_scroll(*index) ⇒ Object



348
349
350
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 348

def xview_scroll(*index)
  xview('scroll', *index)
end

#yview(*index) ⇒ Object



352
353
354
355
356
357
358
359
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 352

def yview(*index)
  if index.size == 0
    list(tk_send_without_enc('yview'))
  else
    tk_send_without_enc('yview', *index)
    self
  end
end

#yview_moveto(*index) ⇒ Object



360
361
362
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 360

def yview_moveto(*index)
  yview('moveto', *index)
end

#yview_scroll(*index) ⇒ Object



363
364
365
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 363

def yview_scroll(*index)
  yview('scroll', *index)
end