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::WIDGET_DESTROY_HOOK

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, 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 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_configinfo, #tag_configure, #window_cget, #window_configinfo, #window_configure

Methods included from TkItemConfigMethod

#current_itemconfiginfo, #itemcget, #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, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, 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

#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_bbox, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #initialize, #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, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, 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, #root, show_kinsoku, 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

Methods included from Encoding

#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=

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

#[], #[]=, #cget, #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



94
95
96
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 94

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

#bbox(index) ⇒ Object

based on TkText widget



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

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

#clearObject



119
120
121
122
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 119

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

#collapse(node) ⇒ Object



124
125
126
127
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 124

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

#compare(idx1, op, idx2) ⇒ Object



216
217
218
219
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 216

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

#currentObject



129
130
131
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 129

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

#debugObject



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

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

#debug=(boolean) ⇒ Object



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

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

#delete(first, last = None) ⇒ Object



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

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

#dlineinfo(index) ⇒ Object



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

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

#draw(mode = None) ⇒ Object



133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 133

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



157
158
159
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 157

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

#expand(node) ⇒ Object



148
149
150
151
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 148

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

#expanded?(node) ⇒ Boolean

Returns:

  • (Boolean)


153
154
155
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 153

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

#get(*index) ⇒ Object



239
240
241
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 239

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

#index(index) ⇒ Object



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

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

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



247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 247

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



167
168
169
170
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 167

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

#mark_clearObject



163
164
165
166
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 163

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

#mark_getObject



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

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

#mark_remove(*nodes) ⇒ Object



171
172
173
174
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 171

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

#prune(node) ⇒ Object



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

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

#refresh(node) ⇒ Object



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

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

#scan_dragto(x, y) ⇒ Object



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

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

#scan_mark(x, y) ⇒ Object



266
267
268
269
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 266

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

#see(index) ⇒ Object



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

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

#selection_add(*nodes) ⇒ Object



193
194
195
196
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 193

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

#selection_clearObject



189
190
191
192
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 189

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

#selection_getObject



201
202
203
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 201

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

#selection_remove(*nodes) ⇒ Object



197
198
199
200
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 197

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

#toggle(node) ⇒ Object



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

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

#xview(*index) ⇒ Object

based on tk/scrollable.rb



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

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



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

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

#xview_scroll(*index) ⇒ Object



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

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

#yview(*index) ⇒ Object



295
296
297
298
299
300
301
302
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 295

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



303
304
305
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 303

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

#yview_scroll(*index) ⇒ Object



306
307
308
# File 'lib/tkextlib/iwidgets/hierarchy.rb', line 306

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