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, Checkbutton, CloneMenu, INTERP, JAPANIZED_TK, LIBRARY_PATH, Labelframe, MAINLOOP, MenuButton, OptionMenuButton, PACKAGE_PATH, Panedwindow, RELEASE_DATE, Radiobutton, 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 Encoding
Encoding::BINARY, Encoding::BINARY_NAME, Encoding::DEFAULT_EXTERNAL_NAME, Encoding::ENCODING_TABLE, Encoding::RubyEncoding, Encoding::UNKNOWN, Encoding::UTF8_NAME
Constants included from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, 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::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, #columncget_strict, #columnconfiginfo, #columnconfigure, #current_columnconfiginfo, #current_headingconfiginfo, #current_itemconfiginfo, #current_tagconfiginfo, #headingcget, #headingcget_strict, #headingconfiginfo, #headingconfigure, #itemcget, #itemcget_strict, #itemconfiginfo, #itemconfigure, #tagcget, #tagcget_strict, #tagconfiginfo, #tagconfigure
Methods included from TkItemConfigMethod
__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_itemconfigure_options, #__current_itemconfiginfo, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #current_itemconfiginfo, #itemcget, #itemcget_strict, #itemconfiginfo, #itemconfigure
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
#ttk_identify, #ttk_instate, #ttk_state
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, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_anchor, #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, #inspect, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkWinfo
appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y
Methods included from Tk
BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, delete_kinsoku, destroy, #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, sleep, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
Methods included from Encoding
#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names
Methods included from TkCore
#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem
Methods included from TkComm
_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, install_cmd, #install_cmd, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods 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_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version
Methods inherited from TkObject
#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
Methods included from TkConfigMethod
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
Methods included from TkTreatFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods inherited from TkKernel
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
1028 1029 1030 |
# File 'lib/tkextlib/tile/treeview.rb', line 1028 def self.style(*args) [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') end |
Instance Method Details
#__destroy_hook__ ⇒ Object
1019 1020 1021 1022 1023 1024 1025 1026 |
# File 'lib/tkextlib/tile/treeview.rb', line 1019 def __destroy_hook__ Tk::Tile::Treeview::Item::ItemID_TBL.mutex.synchronize{ Tk::Tile::Treeview::Item::ItemID_TBL.delete(@path) } Tk::Tile::Treeview::Tag::ItemID_TBL.mutex.synchronize{ Tk::Tile::Treeview::Tag::ItemID_TBL.delete(@path) } end |
#bbox(item, column = None) ⇒ Object
1047 1048 1049 |
# File 'lib/tkextlib/tile/treeview.rb', line 1047 def bbox(item, column=None) list(tk_send('item', 'bbox', item, column)) end |
#children(item) ⇒ Object
1051 1052 1053 1054 1055 |
# File 'lib/tkextlib/tile/treeview.rb', line 1051 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
1105 1106 1107 |
# File 'lib/tkextlib/tile/treeview.rb', line 1105 def column_identify(x, y) tk_send('identify', 'column', x, y) end |
#delete(*items) ⇒ Object
1062 1063 1064 1065 |
# File 'lib/tkextlib/tile/treeview.rb', line 1062 def delete(*items) tk_send_without_enc('delete', array2tk_list(items.flatten, true)) self end |
#detach(*items) ⇒ Object
1067 1068 1069 1070 |
# File 'lib/tkextlib/tile/treeview.rb', line 1067 def detach(*items) tk_send_without_enc('detach', array2tk_list(items.flatten, true)) self end |
#exist?(item) ⇒ Boolean
1072 1073 1074 |
# File 'lib/tkextlib/tile/treeview.rb', line 1072 def exist?(item) bool(tk_send_without_enc('exists', _get_eval_enc_str(item))) end |
#focus_item(item = nil) ⇒ Object
1076 1077 1078 1079 1080 1081 1082 1083 1084 |
# File 'lib/tkextlib/tile/treeview.rb', line 1076 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
1198 1199 1200 |
# File 'lib/tkextlib/tile/treeview.rb', line 1198 def get(item, col) tk_send('set', item, col) end |
#get_directory(item) ⇒ Object Also known as: get_dictionary
1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 |
# File 'lib/tkextlib/tile/treeview.rb', line 1185 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
1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 |
# File 'lib/tkextlib/tile/treeview.rb', line 1086 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
1109 1110 1111 |
# File 'lib/tkextlib/tile/treeview.rb', line 1109 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
1122 1123 1124 |
# File 'lib/tkextlib/tile/treeview.rb', line 1122 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
1133 1134 1135 1136 |
# File 'lib/tkextlib/tile/treeview.rb', line 1133 def move(item, parent, idx) tk_send('move', item, parent, idx) self end |
#next_item(item) ⇒ Object
1138 1139 1140 1141 |
# File 'lib/tkextlib/tile/treeview.rb', line 1138 def next_item(item) id = tk_send('next', item) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#parent_item(item) ⇒ Object
1143 1144 1145 1146 1147 1148 1149 |
# File 'lib/tkextlib/tile/treeview.rb', line 1143 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
1151 1152 1153 1154 |
# File 'lib/tkextlib/tile/treeview.rb', line 1151 def prev_item(item) id = tk_send('prev', item) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#root ⇒ Object
1043 1044 1045 |
# File 'lib/tkextlib/tile/treeview.rb', line 1043 def root Tk::Tile::Treeview::Root.new(self) end |
#row_identify(x, y) ⇒ Object
1100 1101 1102 1103 |
# File 'lib/tkextlib/tile/treeview.rb', line 1100 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
1156 1157 1158 1159 |
# File 'lib/tkextlib/tile/treeview.rb', line 1156 def see(item) tk_send('see', item) self end |
#selection ⇒ Object Also known as: selection_get
1161 1162 1163 1164 1165 |
# File 'lib/tkextlib/tile/treeview.rb', line 1161 def selection simplelist(tk_send('selection')).collect{|id| Tk::Tile::Treeview::Item.id2obj(self, id) } end |
#selection_add(*items) ⇒ Object
1168 1169 1170 1171 |
# File 'lib/tkextlib/tile/treeview.rb', line 1168 def selection_add(*items) tk_send('selection', 'add', array2tk_list(items.flatten, true)) self end |
#selection_remove(*items) ⇒ Object
1172 1173 1174 1175 |
# File 'lib/tkextlib/tile/treeview.rb', line 1172 def selection_remove(*items) tk_send('selection', 'remove', array2tk_list(items.flatten, true)) self end |
#selection_set(*items) ⇒ Object
1176 1177 1178 1179 |
# File 'lib/tkextlib/tile/treeview.rb', line 1176 def selection_set(*items) tk_send('selection', 'set', array2tk_list(items.flatten, true)) self end |
#selection_toggle(*items) ⇒ Object
1180 1181 1182 1183 |
# File 'lib/tkextlib/tile/treeview.rb', line 1180 def selection_toggle(*items) tk_send('selection', 'toggle', array2tk_list(items.flatten, true)) self end |
#set(item, col, value) ⇒ Object
1201 1202 1203 1204 |
# File 'lib/tkextlib/tile/treeview.rb', line 1201 def set(item, col, value) tk_send('set', item, col, value) self end |
#set_children(item, *items) ⇒ Object
1056 1057 1058 1059 1060 |
# File 'lib/tkextlib/tile/treeview.rb', line 1056 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
1206 1207 1208 1209 1210 1211 1212 1213 1214 |
# File 'lib/tkextlib/tile/treeview.rb', line 1206 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
1217 1218 1219 1220 1221 1222 1223 1224 1225 |
# File 'lib/tkextlib/tile/treeview.rb', line 1217 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
1228 1229 1230 1231 |
# File 'lib/tkextlib/tile/treeview.rb', line 1228 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
1234 1235 1236 |
# File 'lib/tkextlib/tile/treeview.rb', line 1234 def tag_bindinfo(tag, context=nil) _bindinfo([@path, 'tag', 'bind', tag], context) end |
#tagid(id) ⇒ Object
1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 |
# File 'lib/tkextlib/tile/treeview.rb', line 1032 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 |