Class: Tk::Tile::Treeview
- Includes:
- Scrollable, TileWidget, TreeviewConfig
- Defined in:
- lib/tkextlib/tile/treeview.rb,
lib/tkextlib/tile/treeview.rb
Defined Under Namespace
Constant Summary collapse
- TkCommandNames =
['::treeview'.freeze].freeze
- WidgetClassName =
'Treeview'.freeze
Constants included from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants included from Tk
AUTO_PATH, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, X_Scrollable, Y_Scrollable
Constants included from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK
Constants included from TkComm
TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames
Constants included from Tk::TkDND::Shape
Tk::TkDND::Shape::PACKAGE_NAME
Class Method Summary collapse
Instance Method Summary collapse
- #__destroy_hook__ ⇒ Object
- #bbox(item, column = None) ⇒ Object
- #children(item) ⇒ Object
- #column_identify(x, y) ⇒ Object
- #delete(*items) ⇒ Object
- #detach(*items) ⇒ Object
- #exist?(item) ⇒ Boolean
- #focus_item(item = nil) ⇒ Object
- #get(item, col) ⇒ Object
- #get_directory(item) ⇒ Object (also: #get_dictionary)
- #identify(x, y) ⇒ Object
- #index(item) ⇒ Object
-
#insert(parent, idx = 'end', keys = {}) ⇒ Object
def insert(parent, idx='end', keys={}) keys = _symbolkey2str(keys) id = keys.delete('id') if id num_or_str(tk_send('insert', parent, idx, '-id', id, *hash_kv(keys))) else num_or_str(tk_send('insert', parent, idx, *hash_kv(keys))) end end.
-
#move(item, parent, idx) ⇒ Object
def instate(spec, cmd=Proc.new) tk_send('instate', spec, cmd) end def state(spec=None) tk_send('state', spec) end.
- #next_item(item) ⇒ Object
- #parent_item(item) ⇒ Object
- #prev_item(item) ⇒ Object
- #root ⇒ Object
- #row_identify(x, y) ⇒ Object
- #see(item) ⇒ Object
- #selection ⇒ Object (also: #selection_get)
- #selection_add(*items) ⇒ Object
- #selection_remove(*items) ⇒ Object
- #selection_set(*items) ⇒ Object
- #selection_toggle(*items) ⇒ Object
- #set(item, col, value) ⇒ Object
- #set_children(item, *items) ⇒ Object
- #tag_bind(tag, seq, *args) ⇒ Object (also: #tagbind)
- #tag_bind_append(tag, seq, *args) ⇒ Object (also: #tagbind_append)
- #tag_bind_remove(tag, seq) ⇒ Object (also: #tagbind_remove)
- #tag_bindinfo(tag, context = nil) ⇒ Object (also: #tagbindinfo)
- #tagid(id) ⇒ Object
Methods included from TreeviewConfig
#__itemconfiginfo_core, #__tile_specific_item_optkeys, #columncget, #columnconfiginfo, #columnconfigure, #current_columnconfiginfo, #current_headingconfiginfo, #current_itemconfiginfo, #current_tagconfiginfo, #headingcget, #headingconfiginfo, #headingconfigure, #itemcget, #itemconfiginfo, #itemconfigure, #tagcget, #tagconfiginfo, #tagconfigure
Methods included from TkItemConfigMethod
#current_itemconfiginfo, #itemcget, #itemconfiginfo, #itemconfigure
Methods included from TkItemConfigOptkeys
#__conv_item_keyonly_opts, #itemconfig_hash_kv
Methods included from TkUtil
_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd
Methods included from TkTreatItemFont
#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy
Methods included from Scrollable
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 TileWidget
Methods inherited from TkWindow
#bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, #database_class, database_class, #database_classname, database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_bbox, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #initialize, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkWinfo
appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y
Methods included from Tk
BinaryString, EncodedString, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, delete_kinsoku, destroy, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, show_kinsoku, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence
Methods included from Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
Methods included from 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, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, #image_obj, #install_cmd, #subst, #uninstall_cmd
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from Tk::TkDND::Shape
package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version
Methods included from Tk::TkDND::DND
#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version
Methods inherited from TkObject
#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
Methods included from TkConfigMethod
#[], #[]=, #cget, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
Methods included from TkTreatFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods inherited from TkKernel
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
.style(*args) ⇒ Object
923 924 925 |
# File 'lib/tkextlib/tile/treeview.rb', line 923 def self.style(*args) [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') end |
Instance Method Details
#__destroy_hook__ ⇒ Object
918 919 920 921 |
# File 'lib/tkextlib/tile/treeview.rb', line 918 def __destroy_hook__ Tk::Tile::Treeview::Item::ItemID_TBL.delete(@path) Tk::Tile::Treeview::Tag::ItemID_TBL.delete(@path) end |
#bbox(item, column = None) ⇒ Object
942 943 944 |
# File 'lib/tkextlib/tile/treeview.rb', line 942 def bbox(item, column=None) list(tk_send('item', 'bbox', item, column)) end |
#children(item) ⇒ Object
946 947 948 949 950 |
# File 'lib/tkextlib/tile/treeview.rb', line 946 def children(item) simplelist(tk_send_without_enc('children', item)).collect{|id| Tk::Tile::Treeview::Item.id2obj(self, id) } end |
#column_identify(x, y) ⇒ Object
1000 1001 1002 |
# File 'lib/tkextlib/tile/treeview.rb', line 1000 def column_identify(x, y) tk_send('identify', 'column', x, y) end |
#delete(*items) ⇒ Object
957 958 959 960 |
# File 'lib/tkextlib/tile/treeview.rb', line 957 def delete(*items) tk_send_without_enc('delete', array2tk_list(items.flatten, true)) self end |
#detach(*items) ⇒ Object
962 963 964 965 |
# File 'lib/tkextlib/tile/treeview.rb', line 962 def detach(*items) tk_send_without_enc('detach', array2tk_list(items.flatten, true)) self end |
#exist?(item) ⇒ Boolean
967 968 969 |
# File 'lib/tkextlib/tile/treeview.rb', line 967 def exist?(item) bool(tk_send_without_enc('exists', _get_eval_enc_str(item))) end |
#focus_item(item = nil) ⇒ Object
971 972 973 974 975 976 977 978 979 |
# File 'lib/tkextlib/tile/treeview.rb', line 971 def focus_item(item = nil) if item tk_send('focus', item) item else id = tk_send('focus') (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end end |
#get(item, col) ⇒ Object
1093 1094 1095 |
# File 'lib/tkextlib/tile/treeview.rb', line 1093 def get(item, col) tk_send('set', item, col) end |
#get_directory(item) ⇒ Object Also known as: get_dictionary
1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 |
# File 'lib/tkextlib/tile/treeview.rb', line 1080 def get_directory(item) # tile-0.7+ ret = [] lst = simplelist(tk_send('set', item)) until lst.empty? col = lst.shift val = lst.shift ret << [col, val] end ret end |
#identify(x, y) ⇒ Object
981 982 983 984 985 986 987 988 989 990 991 992 993 |
# File 'lib/tkextlib/tile/treeview.rb', line 981 def identify(x, y) # tile-0.7.2 or previous ret = simplelist(tk_send('identify', x, y)) case ret[0] when 'heading', 'separator' ret[-1] = num_or_str(ret[-1]) when 'cell' ret[1] = Tk::Tile::Treeview::Item.id2obj(self, ret[1]) ret[-1] = num_or_str(ret[-1]) when 'item', 'row' ret[1] = Tk::Tile::Treeview::Item.id2obj(self, ret[1]) end end |
#index(item) ⇒ Object
1004 1005 1006 |
# File 'lib/tkextlib/tile/treeview.rb', line 1004 def index(item) number(tk_send('index', item)) end |
#insert(parent, idx = 'end', keys = {}) ⇒ Object
def insert(parent, idx='end', keys={})
keys = _symbolkey2str(keys)
id = keys.delete('id')
if id
num_or_str(tk_send('insert', parent, idx, '-id', id, *hash_kv(keys)))
else
num_or_str(tk_send('insert', parent, idx, *hash_kv(keys)))
end
end
1017 1018 1019 |
# File 'lib/tkextlib/tile/treeview.rb', line 1017 def insert(parent, idx='end', keys={}) Tk::Tile::Treeview::Item.new(self, parent, idx, keys) end |
#move(item, parent, idx) ⇒ Object
def instate(spec, cmd=Proc.new)
tk_send('instate', spec, cmd)
end def state(spec=None)
tk_send('state', spec)
end
1028 1029 1030 1031 |
# File 'lib/tkextlib/tile/treeview.rb', line 1028 def move(item, parent, idx) tk_send('move', item, parent, idx) self end |
#next_item(item) ⇒ Object
1033 1034 1035 1036 |
# File 'lib/tkextlib/tile/treeview.rb', line 1033 def next_item(item) id = tk_send('next', item) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#parent_item(item) ⇒ Object
1038 1039 1040 1041 1042 1043 1044 |
# File 'lib/tkextlib/tile/treeview.rb', line 1038 def parent_item(item) if (id = tk_send('parent', item)).empty? Tk::Tile::Treeview::Root.new(self) else Tk::Tile::Treeview::Item.id2obj(self, id) end end |
#prev_item(item) ⇒ Object
1046 1047 1048 1049 |
# File 'lib/tkextlib/tile/treeview.rb', line 1046 def prev_item(item) id = tk_send('prev', item) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#root ⇒ Object
938 939 940 |
# File 'lib/tkextlib/tile/treeview.rb', line 938 def root Tk::Tile::Treeview::Root.new(self) end |
#row_identify(x, y) ⇒ Object
995 996 997 998 |
# File 'lib/tkextlib/tile/treeview.rb', line 995 def row_identify(x, y) id = tk_send('identify', 'row', x, y) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#see(item) ⇒ Object
1051 1052 1053 1054 |
# File 'lib/tkextlib/tile/treeview.rb', line 1051 def see(item) tk_send('see', item) self end |
#selection ⇒ Object Also known as: selection_get
1056 1057 1058 1059 1060 |
# File 'lib/tkextlib/tile/treeview.rb', line 1056 def selection simplelist(tk_send('selection')).collect{|id| Tk::Tile::Treeview::Item.id2obj(self, id) } end |
#selection_add(*items) ⇒ Object
1063 1064 1065 1066 |
# File 'lib/tkextlib/tile/treeview.rb', line 1063 def selection_add(*items) tk_send('selection', 'add', array2tk_list(items.flatten, true)) self end |
#selection_remove(*items) ⇒ Object
1067 1068 1069 1070 |
# File 'lib/tkextlib/tile/treeview.rb', line 1067 def selection_remove(*items) tk_send('selection', 'remove', array2tk_list(items.flatten, true)) self end |
#selection_set(*items) ⇒ Object
1071 1072 1073 1074 |
# File 'lib/tkextlib/tile/treeview.rb', line 1071 def selection_set(*items) tk_send('selection', 'set', array2tk_list(items.flatten, true)) self end |
#selection_toggle(*items) ⇒ Object
1075 1076 1077 1078 |
# File 'lib/tkextlib/tile/treeview.rb', line 1075 def selection_toggle(*items) tk_send('selection', 'toggle', array2tk_list(items.flatten, true)) self end |
#set(item, col, value) ⇒ Object
1096 1097 1098 1099 |
# File 'lib/tkextlib/tile/treeview.rb', line 1096 def set(item, col, value) tk_send('set', item, col, value) self end |
#set_children(item, *items) ⇒ Object
951 952 953 954 955 |
# File 'lib/tkextlib/tile/treeview.rb', line 951 def set_children(item, *items) tk_send_without_enc('children', item, array2tk_list(items.flatten, true)) self end |
#tag_bind(tag, seq, *args) ⇒ Object Also known as: tagbind
1101 1102 1103 1104 1105 1106 1107 1108 1109 |
# File 'lib/tkextlib/tile/treeview.rb', line 1101 def tag_bind(tag, seq, *args) if TkComm._callback_entry?(args[0]) || !block_given? cmd = args.shift else cmd = Proc.new end _bind([@path, 'tag', 'bind', tag], seq, cmd, *args) self end |
#tag_bind_append(tag, seq, *args) ⇒ Object Also known as: tagbind_append
1112 1113 1114 1115 1116 1117 1118 1119 1120 |
# File 'lib/tkextlib/tile/treeview.rb', line 1112 def tag_bind_append(tag, seq, *args) if TkComm._callback_entry?(args[0]) || !block_given? cmd = args.shift else cmd = Proc.new end _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args) self end |
#tag_bind_remove(tag, seq) ⇒ Object Also known as: tagbind_remove
1123 1124 1125 1126 |
# File 'lib/tkextlib/tile/treeview.rb', line 1123 def tag_bind_remove(tag, seq) _bind_remove([@path, 'tag', 'bind', tag], seq) self end |
#tag_bindinfo(tag, context = nil) ⇒ Object Also known as: tagbindinfo
1129 1130 1131 |
# File 'lib/tkextlib/tile/treeview.rb', line 1129 def tag_bindinfo(tag, context=nil) _bindinfo([@path, 'tag', 'bind', tag], context) end |
#tagid(id) ⇒ Object
927 928 929 930 931 932 933 934 935 936 |
# File 'lib/tkextlib/tile/treeview.rb', line 927 def tagid(id) if id.kind_of?(Tk::Tile::Treeview::Item) || id.kind_of?(Tk::Tile::Treeview::Tag) id.id elsif id.kind_of?(Array) [id[0], _get_eval_string(id[1])] else _get_eval_string(id) end end |