Class: Tk::Iwidgets::Hierarchy

Inherits:
Scrolledwidget show all
Includes:
ValidateConfigure, TkTextTagConfig
Defined in:
ext/lib/tkextlib/iwidgets/hierarchy.rb,
ext/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, 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 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_configinfo, #tag_configure, #window_cget, #window_cget_strict, #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, #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_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 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_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 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 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 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

#__validation_class_listObject



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

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

#bbox(index) ⇒ Object

based on Tk::Text widget



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

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

#clearObject



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

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

#collapse(node) ⇒ Object



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

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

#compare(idx1, op, idx2) ⇒ Object



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

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

#currentObject



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

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

#debugObject



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

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

#debug=(boolean) ⇒ Object



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

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

#delete(first, last = None) ⇒ Object



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

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

#dlineinfo(index) ⇒ Object



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

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

#draw(mode = None) ⇒ Object



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

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



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

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

#expand(node) ⇒ Object



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

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

#expanded?(node) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#get(*index) ⇒ Object



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

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

#index(index) ⇒ Object



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

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

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



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

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



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

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

#mark_clearObject



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

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

#mark_getObject



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

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

#mark_remove(*nodes) ⇒ Object



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

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

#prune(node) ⇒ Object



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

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

#refresh(node) ⇒ Object



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

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

#scan_dragto(x, y) ⇒ Object



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

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

#scan_mark(x, y) ⇒ Object



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

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

#see(index) ⇒ Object



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

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

#selection_add(*nodes) ⇒ Object



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

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

#selection_clearObject



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

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

#selection_getObject



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

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

#selection_remove(*nodes) ⇒ Object



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

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

#toggle(node) ⇒ Object



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

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

#xview(*index) ⇒ Object

based on tk/scrollable.rb



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

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



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

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

#xview_scroll(*index) ⇒ Object



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

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

#yview(*index) ⇒ Object



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

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



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

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

#yview_scroll(*index) ⇒ Object



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

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