Class: Tk::Tile::Treeview
- Includes:
- Scrollable, TileWidget, TreeviewConfig
- Defined in:
- ext/lib/tkextlib/tile/treeview.rb,
ext/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, JAPANIZED_TK, LIBRARY_PATH, Labelframe, 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::DEFAULT_INTERNAL_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::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::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_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 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, 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 'ext/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 'ext/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
1048 1049 1050 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1048 def bbox(item, column=None) list(tk_send('item', 'bbox', item, column)) end |
#children(item) ⇒ Object
1052 1053 1054 1055 1056 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1052 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
1106 1107 1108 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1106 def column_identify(x, y) tk_send('identify', 'column', x, y) end |
#delete(*items) ⇒ Object
1063 1064 1065 1066 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1063 def delete(*items) tk_send_without_enc('delete', array2tk_list(items.flatten, true)) self end |
#detach(*items) ⇒ Object
1068 1069 1070 1071 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1068 def detach(*items) tk_send_without_enc('detach', array2tk_list(items.flatten, true)) self end |
#exist?(item) ⇒ Boolean
1073 1074 1075 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1073 def exist?(item) bool(tk_send_without_enc('exists', _get_eval_enc_str(item))) end |
#focus_item(item = nil) ⇒ Object
1077 1078 1079 1080 1081 1082 1083 1084 1085 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1077 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
1199 1200 1201 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1199 def get(item, col) tk_send('set', item, col) end |
#get_directory(item) ⇒ Object Also known as: get_dictionary
1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1186 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
1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1087 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
1110 1111 1112 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1110 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
1123 1124 1125 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1123 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
1134 1135 1136 1137 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1134 def move(item, parent, idx) tk_send('move', item, parent, idx) self end |
#next_item(item) ⇒ Object
1139 1140 1141 1142 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1139 def next_item(item) id = tk_send('next', item) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#parent_item(item) ⇒ Object
1144 1145 1146 1147 1148 1149 1150 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1144 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
1152 1153 1154 1155 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1152 def prev_item(item) id = tk_send('prev', item) (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id) end |
#root ⇒ Object
1044 1045 1046 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1044 def root Tk::Tile::Treeview::Root.new(self) end |
#row_identify(x, y) ⇒ Object
1101 1102 1103 1104 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1101 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
1157 1158 1159 1160 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1157 def see(item) tk_send('see', item) self end |
#selection ⇒ Object Also known as: selection_get
1162 1163 1164 1165 1166 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1162 def selection simplelist(tk_send('selection')).collect{|id| Tk::Tile::Treeview::Item.id2obj(self, id) } end |
#selection_add(*items) ⇒ Object
1169 1170 1171 1172 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1169 def selection_add(*items) tk_send('selection', 'add', array2tk_list(items.flatten, true)) self end |
#selection_remove(*items) ⇒ Object
1173 1174 1175 1176 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1173 def selection_remove(*items) tk_send('selection', 'remove', array2tk_list(items.flatten, true)) self end |
#selection_set(*items) ⇒ Object
1177 1178 1179 1180 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1177 def selection_set(*items) tk_send('selection', 'set', array2tk_list(items.flatten, true)) self end |
#selection_toggle(*items) ⇒ Object
1181 1182 1183 1184 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1181 def selection_toggle(*items) tk_send('selection', 'toggle', array2tk_list(items.flatten, true)) self end |
#set(item, col, value) ⇒ Object
1202 1203 1204 1205 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1202 def set(item, col, value) tk_send('set', item, col, value) self end |
#set_children(item, *items) ⇒ Object
1057 1058 1059 1060 1061 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1057 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
1207 1208 1209 1210 1211 1212 1213 1214 1215 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1207 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
1218 1219 1220 1221 1222 1223 1224 1225 1226 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1218 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
1229 1230 1231 1232 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1229 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
1235 1236 1237 |
# File 'ext/lib/tkextlib/tile/treeview.rb', line 1235 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 1042 |
# File 'ext/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) # size is 2 or 3 id[0..-2] << _get_eval_string(id[-1]) else _get_eval_string(id) end end |