Class: Tk::TreeCtrl

Inherits:
TkWindow show all
Includes:
Scrollable, ConfigMethod
Defined in:
lib/tkextlib/treectrl/tktreectrl.rb,
lib/tkextlib/treectrl/tktreectrl.rb

Defined Under Namespace

Modules: BindCallback, ConfigMethod Classes: BitmapElement, BorderElement, Column, Element, ImageElement, Item, NotifyEvent, RectangleElement, Style

Constant Summary collapse

BindTag_FileList =
TkBindTag.new_by_name('TreeCtrlFileList')
PACKAGE_NAME =
'treectrl'.freeze
HasColumnCreateCommand =
(TkPackage.vcompare(self.package_version, '1.1') >= 0)
TkCommandNames =
['treectrl'.freeze].freeze
WidgetClassName =
'TreeCtrl'.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, 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

Class Method Summary collapse

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 ConfigMethod

#column_cget, #column_cget_strict, #column_cget_tkstring, #column_configinfo, #column_configure, #column_dragcget, #column_dragcget_strict, #column_dragcget_tkstring, #column_dragconfiginfo, #column_dragconfigure, #current_column_configinfo, #current_column_dragconfiginfo, #current_debug_configinfo, #current_dragimage_configinfo, #current_element_configinfo, #current_item_configinfo, #current_item_element_configinfo, #current_marquee_configinfo, #current_notify_configinfo, #current_style_configinfo, #debug_cget, #debug_cget_strict, #debug_cget_tkstring, #debug_configinfo, #debug_configure, #dragimage_cget, #dragimage_cget_strict, #dragimage_cget_tkstring, #dragimage_configinfo, #dragimage_configure, #element_cget, #element_cget_strict, #element_cget_tkstring, #element_configinfo, #element_configure, #item_cget, #item_cget_strict, #item_cget_tkstring, #item_configinfo, #item_configure, #item_element_cget, #item_element_cget_strict, #item_element_cget_tkstring, #item_element_configinfo, #item_element_configure, #marquee_cget, #marquee_cget_strict, #marquee_cget_tkstring, #marquee_configinfo, #marquee_configure, #notify_cget, #notify_cget_strict, #notify_cget_tkstring, #notify_configinfo, #notify_configure, #style_cget, #style_cget_strict, #style_cget_tkstring, #style_configinfo, #style_configure, #tagid, #treectrl_tagid

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 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 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_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, #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 Tk::TkDND::DND

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

Methods included from Tk::TkDND::Shape

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

Class Method Details

.image_tint(img, color, alpha) ⇒ Object



62
63
64
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 62

def self.image_tint(img, color, alpha)
  Tk.tk_call_without_enc('imagetint', img, color, alpha)
end

.loupe(img, x, y, w, h, zoom) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 48

def self.loupe(img, x, y, w, h, zoom)
  # NOTE: platform == 'unix' only

  # img  => TkPhotoImage
  # x, y => screen coords
  # w, h => magnifier width and height
  # zoom => zooming rate
  Tk.tk_call_without_enc('loupe', img, x, y, w, h, zoom)
end

.package_nameObject



24
25
26
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 24

def self.package_name
  PACKAGE_NAME
end

.package_versionObject



28
29
30
31
32
33
34
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 28

def self.package_version
  begin
    TkPackage.require('treectrl')
  rescue
    ''
  end
end

.text_layout(font, text, keys = {}) ⇒ Object



58
59
60
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 58

def self.text_layout(font, text, keys={})
  TkComm.list(Tk.tk_call_without_enc('textlayout', font, text, keys))
end

Instance Method Details

#__destroy_hook__Object



653
654
655
656
657
658
659
660
661
662
663
664
665
666
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 653

def __destroy_hook__
  Tk::TreeCtrl::Column::TreeCtrlColumnID_TBL.mutex.synchronize{
    Tk::TreeCtrl::Column::TreeCtrlColumnID_TBL.delete(@path)
  }
  Tk::TreeCtrl::Element::TreeCtrlElementID_TBL.mutex.synchronize{
    Tk::TreeCtrl::Element::TreeCtrlElementID_TBL.delete(@path)
  }
  Tk::TreeCtrl::Item::TreeCtrlItemID_TBL.mutex.synchronize{
    Tk::TreeCtrl::Item::TreeCtrlItemID_TBL.delete(@path)
  }
  Tk::TreeCtrl::Style::TreeCtrlStyleID_TBL.mutex.synchronize{
    Tk::TreeCtrl::Style::TreeCtrlStyleID_TBL.delete(@path)
  }
end

#activate(desc) ⇒ Object



711
712
713
714
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 711

def activate(desc)
  tk_send('activate', desc)
  self
end

#canvasx(x) ⇒ Object



716
717
718
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 716

def canvasx(x)
  number(tk_send('canvasx', x))
end

#canvasy(y) ⇒ Object



720
721
722
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 720

def canvasy(y)
  number(tk_send('canvasy', y))
end

#collapse(*dsc) ⇒ Object



724
725
726
727
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 724

def collapse(*dsc)
  tk_send_without_enc('collapse', *(dsc.map!{|d| _get_eval_string(d, true)}))
  self
end

#collapse_recurse(*dsc) ⇒ Object



729
730
731
732
733
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 729

def collapse_recurse(*dsc)
  tk_send_without_enc('collapse', '-recurse',
                      *(dsc.map!{|d| _get_eval_string(d, true)}))
  self
end

#column_bbox(idx) ⇒ Object



735
736
737
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 735

def column_bbox(idx)
  list(tk_send('column', 'bbox', idx))
end

#column_compare(column1, op, column2) ⇒ Object



739
740
741
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 739

def column_compare(column1, op, column2)
  bool(tk_send('column', 'compare', column1, op, column2))
end

#column_countObject



743
744
745
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 743

def column_count
  num_or_str(tk_send('column', 'count'))
end

#column_create(keys = nil) ⇒ Object



747
748
749
750
751
752
753
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 747

def column_create(keys=nil)
  if keys && keys.kind_of?(Hash)
    num_or_str(tk_send('column', 'create', *hash_kv(keys)))
  else
    num_or_str(tk_send('column', 'create'))
  end
end

#column_delete(idx) ⇒ Object



755
756
757
758
759
760
761
762
763
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 755

def column_delete(idx)
  Tk::TreeCtrl::Column::TreeCtrlColumnID_TBL.mutex.synchronize{
    if Tk::TreeCtrl::Column::TreeCtrlColumnID_TBL[self.path]
      Tk::TreeCtrl::Column::TreeCtrlColumnID_TBL[self.path].delete(idx)
    end
  }
  tk_send('column', 'delete', idx)
  self
end

#column_id(idx) ⇒ Object



769
770
771
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 769

def column_id(idx)
  tk_send('column', 'id', idx)
end

#column_index(idx) ⇒ Object



765
766
767
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 765

def column_index(idx)
  num_or_str(tk_send('column', 'index', idx))
end

#column_list(visible = false) ⇒ Object



773
774
775
776
777
778
779
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 773

def column_list(visible=false)
  if visible
    simplelist(tk_send('column', 'list', '-visible'))
  else
    simplelist(tk_send('column', 'list'))
  end
end

#column_move(idx, before) ⇒ Object



784
785
786
787
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 784

def column_move(idx, before)
  tk_send('column', 'move', idx, before)
  self
end

#column_needed_width(idx) ⇒ Object Also known as: column_neededwidth



789
790
791
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 789

def column_needed_width(idx)
  num_or_str(tk_send('column', 'neededwidth', idx))
end

#column_order(column, visible = false) ⇒ Object



794
795
796
797
798
799
800
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 794

def column_order(column, visible=false)
  if visible
    num_or_str(tk_send('column', 'order', column, '-visible'))
  else
    num_or_str(tk_send('column', 'order', column))
  end
end

#column_visible_listObject



780
781
782
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 780

def column_visible_list
  column_list(true)
end

#column_visible_order(column) ⇒ Object



801
802
803
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 801

def column_visible_order(column)
  column_order(column, true)
end

#column_width(idx) ⇒ Object



805
806
807
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 805

def column_width(idx)
  num_or_str(tk_send('column', 'width', idx))
end

#compare(item1, op, item2) ⇒ Object



809
810
811
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 809

def compare(item1, op, item2)
  bool(tk_send('compare', item1, op, item2))
end

#contentboxObject



813
814
815
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 813

def contentbox()
  list(tk_send('contentbox'))
end

#debug_dinfoObject



852
853
854
855
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 852

def debug_dinfo
  tk_send('debug', 'dinfo')
  self
end

#debug_scrollObject



857
858
859
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 857

def debug_scroll
  tk_send('debug', 'scroll')
end

#depth(item = None) ⇒ Object



817
818
819
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 817

def depth(item=None)
  num_or_str(tk_send_without_enc('depth', _get_eval_string(item, true)))
end

#dragimage_add(item, *args) ⇒ Object



821
822
823
824
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 821

def dragimage_add(item, *args)
  tk_send('dragimage', 'add', item, *args)
  self
end

#dragimage_clearObject



826
827
828
829
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 826

def dragimage_clear()
  tk_send('dragimage', 'clear')
  self
end

#dragimage_offset(*args) ⇒ Object

x, y



831
832
833
834
835
836
837
838
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 831

def dragimage_offset(*args) # x, y
  if args.empty?
    list(tk_send('dragimage', 'offset'))
  else
    tk_send('dragimage', 'offset', *args)
    self
  end
end

#dragimage_visible(*args) ⇒ Object

mode



840
841
842
843
844
845
846
847
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 840

def dragimage_visible(*args) # mode
  if args..empty?
    bool(tk_send('dragimage', 'visible'))
  else
    tk_send('dragimage', 'visible', *args)
    self
  end
end

#dragimage_visible?Boolean

Returns:

  • (Boolean)


848
849
850
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 848

def dragimage_visible?
  dragimage_visible()
end

#element_class(elem) ⇒ Object



907
908
909
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 907

def element_class(elem)
  Tk::TreeCtrl::Element.type2class(element_type(elem))
end

#element_create(elem, type, keys = nil) ⇒ Object



861
862
863
864
865
866
867
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 861

def element_create(elem, type, keys=nil)
  if keys && keys.kind_of?(Hash)
    tk_send('element', 'create', elem, type, *hash_kv(keys))
  else
    tk_send('element', 'create', elem, type)
  end
end

#element_delete(*elems) ⇒ Object



869
870
871
872
873
874
875
876
877
878
879
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 869

def element_delete(*elems)
  Tk::TreeCtrl::Element::TreeCtrlElementID_TBL.mutex.synchronize{
    if Tk::TreeCtrl::Element::TreeCtrlElementID_TBL[self.path]
      elems.each{|elem|
        Tk::TreeCtrl::Element::TreeCtrlElementID_TBL[self.path].delete(elem)
      }
    end
  }
  tk_send('element', 'delete', *elems)
  self
end

#element_namesObject



881
882
883
884
885
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 881

def element_names()
  list(tk_send('element', 'names')).collect!{|elem|
    Tk::TreeCtrl::Element.id2obj(self, elem)
  }
end

#element_perstate(elem, opt, st_list) ⇒ Object



899
900
901
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 899

def element_perstate(elem, opt, st_list)
  tk_send('element', 'perstate', elem, "-{opt}", st_list)
end

#element_type(elem) ⇒ Object



903
904
905
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 903

def element_type(elem)
  tk_send('element', 'type', elem)
end

#expand(*dsc) ⇒ Object



911
912
913
914
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 911

def expand(*dsc)
  tk_send('expand', *dsc)
  self
end

#expand_recurse(*dsc) ⇒ Object



916
917
918
919
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 916

def expand_recurse(*dsc)
  tk_send('expand', '-recurse', *dsc)
  self
end

#get_item_image(item, column = nil) ⇒ Object



1107
1108
1109
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1107

def get_item_image(item, column=nil)
  item_image(item, column)
end

#get_item_span(item, column = nil) ⇒ Object



1283
1284
1285
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1283

def get_item_span(item, column=nil)
  item_span(item, column)
end

#get_style_layout(style, elem, opt = None) ⇒ Object



1703
1704
1705
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1703

def get_style_layout(style, elem, opt=None)
  style_layout(style, elem, opt)
end

#identify(x, y) ⇒ Object



921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 921

def identify(x, y)
  lst = list(tk_send('identify', x, y))

  if lst[0] == 'item'
    lst[1] = Tk::TreeCtrl::Item.id2obj(self, lst[1])
    size = lst.size
    i = 2
    while i < size
      case lst[i]
      when 'line'
        i += 1
        lst[i] = Tk::TreeCtrl::Item.id2obj(self, lst[i])
        i += 1

      when 'button'
        i += 1

      when 'column'
        i += 2

      when 'elem'
        i += 1
        lst[i] = Tk::TreeCtrl::Element.id2obj(self, lst[i])
        i += 1

      else
        i += 1
      end
    end
  end

  lst
end

#index(idx) ⇒ Object



955
956
957
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 955

def index(idx)
  num_or_str(tk_send('index', idx))
end

#install_bind(cmd, *args) ⇒ Object



693
694
695
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 693

def install_bind(cmd, *args)
  install_bind_for_event_class(Tk::TreeCtrl::NotifyEvent, cmd, *args)
end

#item_ancestors(item) ⇒ Object



959
960
961
962
963
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 959

def item_ancestors(item)
  list(tk_send('item', 'ancestors', item)).collect!{|id|
    Tk::TreeCtrl::Item.id2obj(self, id)
  }
end

#item_bbox(item, *args) ⇒ Object



965
966
967
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 965

def item_bbox(item, *args)
  list(tk_send('item', 'bbox', item, *args))
end

#item_children(item) ⇒ Object



969
970
971
972
973
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 969

def item_children(item)
  list(tk_send('item', 'children', item)).collect!{|id|
    Tk::TreeCtrl::Item.id2obj(self, id)
  }
end

#item_collapse(item) ⇒ Object



975
976
977
978
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 975

def item_collapse(item)
  tk_send_without_enc('item', 'collapse', _get_eval_string(item, true))
  self
end

#item_collapse_recurse(item) ⇒ Object



980
981
982
983
984
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 980

def item_collapse_recurse(item)
  tk_send_without_enc('item', 'collapse',
                      _get_eval_string(item, true), '-recurse')
  self
end

#item_compare(item1, op, item2) ⇒ Object



986
987
988
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 986

def item_compare(item1, op, item2)
  bool(tk_send('item', 'compare', item1, op, item2))
end

#item_complex(item, *args) ⇒ Object



990
991
992
993
994
995
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 990

def item_complex(item, *args)
  tk_send_without_enc('item', 'complex',
                      _get_eval_string(item, true),
                      *(args.map!{|arg| _get_eval_string(arg, true)}))
  self
end

#item_countObject



997
998
999
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 997

def item_count
  num_or_str(tk_send('item', 'count'))
end

#item_create(keys = {}) ⇒ Object



1001
1002
1003
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1001

def item_create(keys={})
  num_or_str(tk_send_without_enc('item', 'create', *hash_kv(keys, true)))
end

#item_delete(first, last = None) ⇒ Object



1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1012

def item_delete(first, last=None)
  Tk::TreeCtrl::Item::TreeCtrlItemID_TBL.mutex.synchronize{
    if Tk::TreeCtrl::Item::TreeCtrlItemID_TBL[self.path]
      if first == 'all' || first == :all || last == 'all' || last == :all
        Tk::TreeCtrl::Item::TreeCtrlItemID_TBL[self.path].clear
      elsif last == None
        _erase_children(first)
      else
        self.range(first, last).each{|id|
          _erase_children(id)
        }
      end
    end
  }
  tk_send('item', 'delete', first, last)
  self
end

#item_dump(item) ⇒ Object



1030
1031
1032
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1030

def item_dump(item)
  list(tk_send('item', 'dump', item))
end

#item_dump_hash(item) ⇒ Object



1034
1035
1036
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1034

def item_dump_hash(item)
  Hash[*list(tk_send('item', 'dump', item))]
end

#item_element_actual(item, column, elem, key) ⇒ Object



1038
1039
1040
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1038

def item_element_actual(item, column, elem, key)
  tk_send('item', 'element', 'actual', item, column, elem, "-#{key}")
end

#item_element_perstate(elem, opt, st_list) ⇒ Object



1042
1043
1044
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1042

def item_element_perstate(elem, opt, st_list)
  tk_send('item', 'element', 'perstate', elem, "-{opt}", st_list)
end

#item_expand(item) ⇒ Object



1046
1047
1048
1049
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1046

def item_expand(item)
  tk_send('item', 'expand', item)
  self
end

#item_expand_recurse(item) ⇒ Object



1051
1052
1053
1054
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1051

def item_expand_recurse(item)
  tk_send('item', 'expand', item, '-recurse')
  self
end

#item_firstchild(parent, child = nil) ⇒ Object Also known as: item_first_child



1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1056

def item_firstchild(parent, child=nil)
  if child
    tk_send_without_enc('item', 'firstchild',
                        _get_eval_string(parent, true),
                        _get_eval_string(child, true))
    self
  else
    id = num_or_str(tk_send_without_enc('item', 'firstchild',
                                        _get_eval_string(parent, true)))
    Tk::TreeCtrl::Item.id2obj(self, id)
  end
end

#item_hasbutton(item, st = None) ⇒ Object Also known as: item_has_button



1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1070

def item_hasbutton(item, st=None)
  if st == None
    bool(tk_send_without_enc('item', 'hasbutton',
                             _get_eval_string(item, true)))
  else
    tk_send_without_enc('item', 'hasbutton',
                        _get_eval_string(item, true),
                        _get_eval_string(st))
    self
  end
end

#item_hasbutton?(item) ⇒ Boolean Also known as: item_has_button?

Returns:

  • (Boolean)


1083
1084
1085
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1083

def item_hasbutton?(item)
  item_hasbutton(item)
end

#item_id(item) ⇒ Object



1088
1089
1090
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1088

def item_id(item)
  tk_send('item', 'id', item)
end

#item_image(item, column = nil, *args) ⇒ Object



1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1092

def item_image(item, column=nil, *args)
  if args.empty?
    if column
      img = tk_send('item', 'image', item, column)
      TkImage::Tk_IMGTBL[img]? TkImage::Tk_IMGTBL[img] : img
    else
      simplelist(tk_send('item', 'image', item)).collect!{|img|
        TkImage::Tk_IMGTBL[img]? TkImage::Tk_IMGTBL[img] : img
      }
    end
  else
    tk_send('item', 'image', item, column, *args)
    self
  end
end

#item_index(item) ⇒ Object



1114
1115
1116
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1114

def item_index(item)
  list(tk_send('item', 'index', item))
end

#item_isancestor(item, des) ⇒ Object Also known as: item_is_ancestor, item_isancestor?, item_is_ancestor?



1118
1119
1120
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1118

def item_isancestor(item, des)
  bool(tk_send('item', 'isancestor', item, des))
end

#item_isopen(item) ⇒ Object Also known as: item_is_open, item_isopen?, item_is_open?, item_isopened?, item_is_opened?



1125
1126
1127
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1125

def item_isopen(item)
  bool(tk_send('item', 'isopen', item))
end

#item_lastchild(parent, child = nil) ⇒ Object Also known as: item_last_child



1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1134

def item_lastchild(parent, child=nil)
  if child
    tk_send_without_enc('item', 'lastchild',
                        _get_eval_string(parent, true),
                        _get_eval_string(child, true))
    self
  else
    id = num_or_str(tk_send_without_enc('item', 'lastchild',
                                        _get_eval_string(parent, true)))
    Tk::TreeCtrl::Item.id2obj(self, id)
  end
end

#item_nextsibling(sibling, nxt = nil) ⇒ Object Also known as: item_next_sibling



1148
1149
1150
1151
1152
1153
1154
1155
1156
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1148

def item_nextsibling(sibling, nxt=nil)
  if nxt
    tk_send('item', 'nextsibling', sibling, nxt)
    self
  else
    id = num_or_str(tk_send('item', 'nextsibling', sibling))
    Tk::TreeCtrl::Item.id2obj(self, id)
  end
end

#item_numchildren(item) ⇒ Object Also known as: item_num_children, item_children_size



1159
1160
1161
1162
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1159

def item_numchildren(item)
  number(tk_send_without_enc('item', 'numchildren',
                             _get_eval_string(item, true)))
end

#item_order(item, visible = false) ⇒ Object



1166
1167
1168
1169
1170
1171
1172
1173
1174
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1166

def item_order(item, visible=false)
  if visible
    ret = num_or_str(tk_send('item', 'order', item, '-visible'))
  else
    ret = num_or_str(tk_send('item', 'order', item))
  end

  (ret.kind_of?(Fixnum) && ret < 0)? nil: ret
end

#item_parent(item) ⇒ Object



1179
1180
1181
1182
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1179

def item_parent(item)
  id = num_or_str(tk_send('item', 'parent', item))
  Tk::TreeCtrl::Item.id2obj(self, id)
end

#item_prevsibling(sibling, prev = nil) ⇒ Object Also known as: item_prev_sibling



1184
1185
1186
1187
1188
1189
1190
1191
1192
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1184

def item_prevsibling(sibling, prev=nil)
  if prev
    tk_send('item', 'prevsibling', sibling, prev)
    self
  else
    id = num_or_str(tk_send('item', 'prevsibling', sibling))
    Tk::TreeCtrl::Item.id2obj(self, id)
  end
end

#item_range(first, last) ⇒ Object



1195
1196
1197
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1195

def item_range(first, last)
  simplelist(tk_send('item', 'range', first, last))
end

#item_remove(item) ⇒ Object



1199
1200
1201
1202
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1199

def item_remove(item)
  tk_send('item', 'remove', item)
  self
end

#item_rnc(item) ⇒ Object



1204
1205
1206
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1204

def item_rnc(item)
  list(tk_send('item', 'rnc', item))
end

#item_sort(item, *opts) ⇒ Object



1264
1265
1266
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1264

def item_sort(item, *opts)
  _item_sort_core(true, item, *opts)
end

#item_sort_not_really(item, *opts) ⇒ Object



1267
1268
1269
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1267

def item_sort_not_really(item, *opts)
  _item_sort_core(false, item, *opts)
end

#item_span(item, column = nil, *args) ⇒ Object



1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1271

def item_span(item, column=nil, *args)
  if args.empty?
    if column
      list(tk_send('item', 'span', item, column))
    else
      simplelist(tk_send('item', 'span', item)).collect!{|elem| list(elem)}
    end
  else
    tk_send('item', 'span', item, column, *args)
    self
  end
end

#item_state_forcolumn(item, column, *args) ⇒ Object Also known as: item_state_for_column



1290
1291
1292
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1290

def item_state_forcolumn(item, column, *args)
  tk_send('item', 'state', 'forcolumn', item, column, *args)
end

#item_state_get(item, *args) ⇒ Object



1295
1296
1297
1298
1299
1300
1301
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1295

def item_state_get(item, *args)
  if args.empty?
    list(tk_send('item', 'state', 'get', item *args))
  else
    bool(tk_send('item', 'state', 'get', item))
  end
end

#item_state_set(item, *args) ⇒ Object



1303
1304
1305
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1303

def item_state_set(item, *args)
  tk_send('item', 'state', 'set', item, *args)
end

#item_style_elements(item, column) ⇒ Object



1307
1308
1309
1310
1311
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1307

def item_style_elements(item, column)
  list(tk_send('item', 'style', 'elements', item, column)).collect!{|id|
    Tk::TreeCtrl::Style.id2obj(self, id)
  }
end

#item_style_map(item, column, style, map) ⇒ Object



1313
1314
1315
1316
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1313

def item_style_map(item, column, style, map)
  tk_send('item', 'style', 'map', item, column, style, map)
  self
end

#item_style_set(item, column = nil, *args) ⇒ Object



1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1318

def item_style_set(item, column=nil, *args)
  if args.empty?
    if column
      id = tk_send_without_enc('item', 'style', 'set',
                               _get_eval_string(item, true),
                               _get_eval_string(column, true))
      Tk::TreeCtrl::Style.id2obj(self, id)
    else
      list(tk_send_without_enc('item', 'style', 'set',
                               _get_eval_string(item, true))).collect!{|id|
        Tk::TreeCtrl::Style.id2obj(self, id)
      }
    end
  else
    tk_send_without_enc('item', 'style', 'set',
                        _get_eval_string(item, true),
                        _get_eval_string(column, true),
                        *(args.flatten.map!{|arg|
                            _get_eval_string(arg, true)
                          }))
    self
  end
end

#item_text(item, column, txt = nil, *args) ⇒ Object



1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1342

def item_text(item, column, txt=nil, *args)
  if args.empty?
    if txt
      tk_send('item', 'text', item, column, txt)
      self
    else
      tk_send('item', 'text', item, column)
    end
  else
    tk_send('item', 'text', item, column, txt, *args)
    self
  end
end

#item_toggle(item) ⇒ Object



1356
1357
1358
1359
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1356

def item_toggle(item)
  tk_send('item', 'toggle', item)
  self
end

#item_toggle_recurse(item) ⇒ Object



1361
1362
1363
1364
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1361

def item_toggle_recurse(item)
  tk_send('item', 'toggle', item, '-recurse')
  self
end

#item_visible(item, st = None) ⇒ Object



1366
1367
1368
1369
1370
1371
1372
1373
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1366

def item_visible(item, st=None)
  if st == None
    bool(tk_send('item', 'visible', item))
  else
    tk_send('item', 'visible', item, st)
    self
  end
end

#item_visible?(item) ⇒ Boolean

Returns:

  • (Boolean)


1374
1375
1376
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1374

def item_visible?(item)
  item_visible(item)
end

#item_visible_order(item) ⇒ Object



1175
1176
1177
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1175

def item_visible_order(item)
  item_order(item, true)
end

#marquee_anchor(*args) ⇒ Object



1378
1379
1380
1381
1382
1383
1384
1385
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1378

def marquee_anchor(*args)
  if args.empty?
    list(tk_send('marquee', 'anchor'))
  else
    tk_send('marquee', 'anchor', *args)
    self
  end
end

#marquee_coords(*args) ⇒ Object



1387
1388
1389
1390
1391
1392
1393
1394
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1387

def marquee_coords(*args)
  if args.empty?
    list(tk_send('marquee', 'coords'))
  else
    tk_send('marquee', 'coords', *args)
    self
  end
end

#marquee_corner(*args) ⇒ Object



1396
1397
1398
1399
1400
1401
1402
1403
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1396

def marquee_corner(*args)
  if args.empty?
    tk_send('marquee', 'corner')
  else
    tk_send('marquee', 'corner', *args)
    self
  end
end

#marquee_identifyObject



1405
1406
1407
1408
1409
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1405

def marquee_identify()
  list(tk_send('marquee', 'identify')).collect!{|id|
    Tk::TreeCtrl::Item.id2obj(self, id)
  }
end

#marquee_visible(st = None) ⇒ Object



1411
1412
1413
1414
1415
1416
1417
1418
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1411

def marquee_visible(st=None)
  if st == None
    bool(tk_send('marquee', 'visible'))
  else
    tk_send('marquee', 'visible', st)
    self
  end
end

#marquee_visible?Boolean

Returns:

  • (Boolean)


1419
1420
1421
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1419

def marquee_visible?()
  marquee_visible()
end

#notify_bind(obj, event, *args) ⇒ Object

def notify_bind(obj, event, cmd=Proc.new, *args)

_bind([@path, 'notify', 'bind', obj], event, cmd, *args)
self

end



1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1427

def notify_bind(obj, event, *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([@path, 'notify', 'bind', obj], event, cmd, *args)
  self
end

#notify_bind_append(obj, event, *args) ⇒ Object

def notify_bind_append(obj, event, cmd=Proc.new, *args)

_bind_append([@path, 'notify', 'bind', obj], event, cmd, *args)
self

end



1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1442

def notify_bind_append(obj, event, *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([@path, 'notify', 'bind', obj], event, cmd, *args)
  self
end

#notify_bind_remove(obj, event) ⇒ Object



1453
1454
1455
1456
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1453

def notify_bind_remove(obj, event)
  _bind_remove([@path, 'notify', 'bind', obj], event)
  self
end

#notify_bindinfo(obj, event = nil) ⇒ Object



1458
1459
1460
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1458

def notify_bindinfo(obj, event=nil)
  _bindinfo([@path, 'notify', 'bind', obj], event)
end

#notify_detailnames(event) ⇒ Object



1462
1463
1464
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1462

def notify_detailnames(event)
  list(tk_send('notify', 'detailnames', event))
end

#notify_eventnamesObject



1466
1467
1468
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1466

def notify_eventnames()
  list(tk_send('notify', 'eventnames'))
end

#notify_generate(pattern, char_map = None, percents_cmd = None) ⇒ Object



1470
1471
1472
1473
1474
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1470

def notify_generate(pattern, char_map=None, percents_cmd=None)
  pattern = "<#{pattern}>"
  tk_send('notify', 'generate', pattern, char_map, percents_cmd)
  self
end

#notify_install(pattern, percents_cmd = nil, &b) ⇒ Object



1476
1477
1478
1479
1480
1481
1482
1483
1484
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1476

def notify_install(pattern, percents_cmd=nil, &b)
  pattern = "<#{pattern}>"
  percents_cmd = Proc.new(&b) if !percents_cmd && b
  if percents_cmd
    procedure(tk_send('notify', 'install', pattern, percents_cmd))
  else
    procedure(tk_send('notify', 'install', pattern))
  end
end

#notify_install_detail(event, detail, percents_cmd = nil, &b) ⇒ Object



1486
1487
1488
1489
1490
1491
1492
1493
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1486

def notify_install_detail(event, detail, percents_cmd=nil, &b)
  percents_cmd = Proc.new(&b) if !percents_cmd && b
  if percents_cmd
    tk_send('notify', 'install', 'detail', event, detail, percents_cmd)
  else
    tk_send('notify', 'install', 'detail', event, detail)
  end
end

#notify_install_event(event, percents_cmd = nil, &b) ⇒ Object



1495
1496
1497
1498
1499
1500
1501
1502
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1495

def notify_install_event(event, percents_cmd=nil, &b)
  percents_cmd = Proc.new(&b) if !percents_cmd && b
  if percents_cmd
    tk_send('notify', 'install', 'event', event, percents_cmd)
  else
    tk_send('notify', 'install', 'event', event)
  end
end

#notify_linkage(pattern, detail = None) ⇒ Object



1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1504

def notify_linkage(pattern, detail=None)
  if detail != None
    tk_send('notify', 'linkage', pattern, detail)
  else
    begin
      if pattern.to_s.index(?-)
        # TreeCtrl 1.1 format?
        begin
          tk_send('notify', 'linkage', "<#{pattern}>")
        rescue
          # TreeCtrl 1.0?
          tk_send('notify', 'linkage', pattern)
        end
      else
        # TreeCtrl 1.0 format?
        begin
          tk_send('notify', 'linkage', pattern)
        rescue
          # TreeCtrl 1.1?
          tk_send('notify', 'linkage', "<#{pattern}>")
        end
      end
    end
  end
end

#notify_unbind(pattern = nil) ⇒ Object



1530
1531
1532
1533
1534
1535
1536
1537
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1530

def notify_unbind(pattern=nil)
  if pattern
    tk_send('notify', 'unbind', "<#{pattern}>")
  else
    tk_send('notify', 'unbind')
  end
  self
end

#notify_uninstall(pattern) ⇒ Object



1539
1540
1541
1542
1543
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1539

def notify_uninstall(pattern)
  pattern = "<#{pattern}>"
  tk_send('notify', 'uninstall', pattern)
  self
end

#notify_uninstall_detail(event, detail) ⇒ Object



1545
1546
1547
1548
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1545

def notify_uninstall_detail(event, detail)
  tk_send('notify', 'uninstall', 'detail', event, detail)
  self
end

#notify_uninstall_event(event) ⇒ Object



1550
1551
1552
1553
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1550

def notify_uninstall_event(event)
  tk_send('notify', 'uninstall', 'event', event)
  self
end

#numcolumnsObject Also known as: num_columns, columns_size



1555
1556
1557
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1555

def numcolumns()
  num_or_str(tk_send('numcolumns'))
end

#numitemsObject Also known as: num_items, items_size



1561
1562
1563
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1561

def numitems()
  num_or_str(tk_send('numitems'))
end

#orphansObject



1567
1568
1569
1570
1571
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1567

def orphans()
  list(tk_send('orphans')).collect!{|id|
    Tk::TreeCtrl::Item.id2obj(self, id)
  }
end

#range(first, last) ⇒ Object



1573
1574
1575
1576
1577
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1573

def range(first, last)
  list(tk_send('range', first, last)).collect!{|id|
    Tk::TreeCtrl::Item.id2obj(self, id)
  }
end

#see(item, column = None, keys = {}) ⇒ Object



1597
1598
1599
1600
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1597

def see(item, column=None, keys={})
  tk_send('see', item, column, *hash_kv(keys))
  self
end

#selection_add(first, last = None) ⇒ Object



1602
1603
1604
1605
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1602

def selection_add(first, last=None)
  tk_send('selection', 'add', first, last)
  self
end

#selection_anchor(item = None) ⇒ Object



1607
1608
1609
1610
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1607

def selection_anchor(item=None)
  id = num_or_str(tk_send('selection', 'anchor', item))
  Tk::TreeCtrl::Item.id2obj(self, id)
end

#selection_clear(*args) ⇒ Object

first, last



1612
1613
1614
1615
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1612

def selection_clear(*args) # first, last
  tk_send('selection', 'clear', *args)
  self
end

#selection_countObject



1617
1618
1619
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1617

def selection_count()
  number(tk_send('selection', 'count'))
end

#selection_getObject



1621
1622
1623
1624
1625
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1621

def selection_get()
  list(tk_send('selection', 'get')).collect!{|id|
    Tk::TreeCtrl::Item.id2obj(self, id)
  }
end

#selection_includes(item) ⇒ Object



1627
1628
1629
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1627

def selection_includes(item)
  bool(tk_send('selection', 'includes', item))
end

#selection_modify(sel, desel) ⇒ Object



1631
1632
1633
1634
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1631

def selection_modify(sel, desel)
  tk_send('selection', 'modify', sel, desel)
  self
end

#set_item_image(item, col, img, *args) ⇒ Object



1110
1111
1112
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1110

def set_item_image(item, col, img, *args)
  item_image(item, col, img, *args)
end

#set_item_span(item, col, num, *args) ⇒ Object



1286
1287
1288
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1286

def set_item_span(item, col, num, *args)
  item_span(item, col, num, *args)
end

#set_style_layout(style, elem, slot, value = None) ⇒ Object



1706
1707
1708
1709
1710
1711
1712
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1706

def set_style_layout(style, elem, slot, value=None)
  if slot.kind_of?(Hash)
    style_layout(style, elem, slot)
  else
    style_layout(style, elem, {slot=>value})
  end
end

#state_define(name) ⇒ Object



1579
1580
1581
1582
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1579

def state_define(name)
  tk_send('state', 'define', name)
  self
end

#state_linkage(name) ⇒ Object



1584
1585
1586
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1584

def state_linkage(name)
  tk_send('state', 'linkage', name)
end

#state_namesObject



1588
1589
1590
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1588

def state_names()
  list(tk_send('state', 'names'))
end

#state_undefine(*names) ⇒ Object



1592
1593
1594
1595
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1592

def state_undefine(*names)
  tk_send('state', 'undefine', *names)
  self
end

#style_create(style, keys = None) ⇒ Object



1636
1637
1638
1639
1640
1641
1642
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1636

def style_create(style, keys=None)
  if keys && keys != None
    tk_send('style', 'create', style, *hash_kv(keys))
  else
    tk_send('style', 'create', style)
  end
end

#style_delete(*args) ⇒ Object



1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1644

def style_delete(*args)
  Tk::TreeCtrl::Style::TreeCtrlStyleID_TBL.mutex.synchronize{
    if Tk::TreeCtrl::Style::TreeCtrlStyleID_TBL[self.path]
      args.each{|sty|
        Tk::TreeCtrl::Style::TreeCtrlStyleID_TBL[self.path].delete(sty)
      }
    end
  }
  tk_send('style', 'delete', *args)
  self
end

#style_elements(style, *elems) ⇒ Object



1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1656

def style_elements(style, *elems)
  if elems.empty?
    list(tk_send('style', 'elements', style)).collect!{|id|
      Tk::TreeCtrl::Element.id2obj(self, id)
    }
  else
    tk_send('style', 'elements', style, elems.flatten)
    self
  end
end

#style_layout(style, elem, keys = None) ⇒ Object



1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1684

def style_layout(style, elem, keys=None)
  if keys && keys != None
    if keys.kind_of?(Hash)
      tk_send('style', 'layout', style, elem, *hash_kv(keys))
      self
    else
      _conv_style_layout_val(keys,
                             tk_send('style', 'layout',
                                     style, elem, "-#{keys}"))
    end
  else
    ret = Hash.new
    Hash[*simplelist(tk_send('style', 'layout', style, elem))].each{|k, v|
      k = k[1..-1]
      ret[k] = _conv_style_layout_val(k, v)
    }
    ret
  end
end

#style_namesObject



1714
1715
1716
1717
1718
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1714

def style_names()
  list(tk_send('style', 'names')).collect!{|id|
    Tk::TreeCtrl::Style.id2obj(self, id)
  }
end

#toggle(*items) ⇒ Object



1720
1721
1722
1723
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1720

def toggle(*items)
  tk_send('toggle', *items)
  self
end

#toggle_recurseObject



1725
1726
1727
1728
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 1725

def toggle_recurse()
  tk_send('toggle', '-recurse', *items)
  self
end