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


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

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


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

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


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

def self.package_name
  PACKAGE_NAME
end

.package_versionObject


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

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

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


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

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


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

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


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

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

#canvasx(x) ⇒ Object


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

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

#canvasy(y) ⇒ Object


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

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

#collapse(*dsc) ⇒ Object


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

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

#collapse_recurse(*dsc) ⇒ Object


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

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

#column_bbox(idx) ⇒ Object


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

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

#column_compare(column1, op, column2) ⇒ Object


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

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

#column_countObject


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

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

#column_create(keys = nil) ⇒ Object


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

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


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

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


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

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

#column_index(idx) ⇒ Object


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

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

#column_list(visible = false) ⇒ Object


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

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


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

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

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


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

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

#column_order(column, visible = false) ⇒ Object


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

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


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

def column_visible_list
  column_list(true)
end

#column_visible_order(column) ⇒ Object


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

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

#column_width(idx) ⇒ Object


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

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

#compare(item1, op, item2) ⇒ Object


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

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

#contentboxObject


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

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

#debug_dinfoObject


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

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

#debug_scrollObject


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

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

#depth(item = None) ⇒ Object


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

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

#dragimage_add(item, *args) ⇒ Object


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

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

#dragimage_clearObject


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

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

#dragimage_offset(*args) ⇒ Object

x, y


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

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


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

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)

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

def dragimage_visible?
  dragimage_visible()
end

#element_class(elem) ⇒ Object


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

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

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


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

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


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

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


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

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

#element_perstate(elem, opt, st_list) ⇒ Object


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

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

#element_type(elem) ⇒ Object


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

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

#expand(*dsc) ⇒ Object


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

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

#expand_recurse(*dsc) ⇒ Object


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

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

#get_item_image(item, column = nil) ⇒ Object


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

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

#get_item_span(item, column = nil) ⇒ Object


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

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

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


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

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

#identify(x, y) ⇒ Object


920
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
# File 'lib/tkextlib/treectrl/tktreectrl.rb', line 920

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


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

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

#install_bind(cmd, *args) ⇒ Object


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

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

#item_ancestors(item) ⇒ Object


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

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

#item_bbox(item, *args) ⇒ Object


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

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

#item_children(item) ⇒ Object


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

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

#item_collapse(item) ⇒ Object


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

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

#item_collapse_recurse(item) ⇒ Object


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

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


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

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

#item_complex(item, *args) ⇒ Object


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

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


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

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

#item_create(keys = {}) ⇒ Object


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

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

#item_delete(first, last = None) ⇒ Object


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

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


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

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

#item_dump_hash(item) ⇒ Object


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

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

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


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

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


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

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

#item_expand(item) ⇒ Object


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

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

#item_expand_recurse(item) ⇒ Object


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

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


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

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


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

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)

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

def item_hasbutton?(item)
  item_hasbutton(item)
end

#item_id(item) ⇒ Object


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

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

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


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

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


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

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?


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

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?


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

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

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


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

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


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

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


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

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

#item_order(item, visible = false) ⇒ Object


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

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


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

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


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

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


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

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

#item_remove(item) ⇒ Object


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

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

#item_rnc(item) ⇒ Object


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

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

#item_sort(item, *opts) ⇒ Object


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

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

#item_sort_not_really(item, *opts) ⇒ Object


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

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

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


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

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


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

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

#item_state_get(item, *args) ⇒ Object


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

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


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

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

#item_style_elements(item, column) ⇒ Object


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

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


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

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


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

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


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

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


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

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

#item_toggle_recurse(item) ⇒ Object


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

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

#item_visible(item, st = None) ⇒ Object


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

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)

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

def item_visible?(item)
  item_visible(item)
end

#item_visible_order(item) ⇒ Object


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

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

#marquee_anchor(*args) ⇒ Object


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

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


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

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


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

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

#marquee_identifyObject


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

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

#marquee_visible(st = None) ⇒ Object


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

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)

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

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


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

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


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

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


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

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

#notify_bindinfo(obj, event = nil) ⇒ Object


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

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

#notify_detailnames(event) ⇒ Object


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

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

#notify_eventnamesObject


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

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

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


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

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


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

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


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

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


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

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


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

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


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

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

#notify_uninstall(pattern) ⇒ Object


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

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

#notify_uninstall_detail(event, detail) ⇒ Object


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

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

#notify_uninstall_event(event) ⇒ Object


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

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

#numcolumnsObject Also known as: num_columns, columns_size


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

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

#numitemsObject Also known as: num_items, items_size


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

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

#orphansObject


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

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

#range(first, last) ⇒ Object


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

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


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

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

#selection_add(first, last = None) ⇒ Object


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

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

#selection_anchor(item = None) ⇒ Object


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

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


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

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

#selection_countObject


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

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

#selection_getObject


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

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

#selection_includes(item) ⇒ Object


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

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

#selection_modify(sel, desel) ⇒ Object


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

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

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


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

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

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


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

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

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


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

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


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

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

#state_linkage(name) ⇒ Object


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

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

#state_namesObject


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

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

#state_undefine(*names) ⇒ Object


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

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

#style_create(style, keys = None) ⇒ Object


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

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


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

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


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

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


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

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


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

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

#toggle(*items) ⇒ Object


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

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

#toggle_recurseObject


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

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