Class: Tk::Tile::Treeview

Inherits:
TkWindow show all
Includes:
Scrollable, TileWidget, TreeviewConfig
Defined in:
lib/tkextlib/tile/treeview.rb,
lib/tkextlib/tile/treeview.rb

Defined Under Namespace

Classes: Item, Root, Tag

Constant Summary collapse

TkCommandNames =
['::treeview'.freeze].freeze
WidgetClassName =
'Treeview'.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, 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 Tk::TkDND::Shape

Tk::TkDND::Shape::PACKAGE_NAME

Class Method Summary collapse

Instance Method Summary collapse

Methods included from TreeviewConfig

#__itemconfiginfo_core, #__tile_specific_item_optkeys, #columncget, #columncget_strict, #columncget_tkstring, #columnconfiginfo, #columnconfigure, #current_columnconfiginfo, #current_headingconfiginfo, #current_itemconfiginfo, #current_tagconfiginfo, #headingcget, #headingcget_strict, #headingcget_tkstring, #headingconfiginfo, #headingconfigure, #itemcget, #itemcget_strict, #itemcget_tkstring, #itemconfiginfo, #itemconfigure, #tagcget, #tagcget_strict, #tagcget_tkstring, #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, #itemcget_tkstring, #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_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 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 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 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, #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, 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_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, #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

.style(*args) ⇒ Object



1079
1080
1081
# File 'lib/tkextlib/tile/treeview.rb', line 1079

def self.style(*args)
  [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.')
end

Instance Method Details

#__destroy_hook__Object



1070
1071
1072
1073
1074
1075
1076
1077
# File 'lib/tkextlib/tile/treeview.rb', line 1070

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



1099
1100
1101
# File 'lib/tkextlib/tile/treeview.rb', line 1099

def bbox(item, column=None)
  list(tk_send('item', 'bbox', item, column))
end

#children(item) ⇒ Object



1103
1104
1105
1106
1107
# File 'lib/tkextlib/tile/treeview.rb', line 1103

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 Also known as: identify_column



1171
1172
1173
# File 'lib/tkextlib/tile/treeview.rb', line 1171

def column_identify(x, y)
  tk_send('identify', 'column', x, y)
end

#delete(*items) ⇒ Object



1114
1115
1116
1117
# File 'lib/tkextlib/tile/treeview.rb', line 1114

def delete(*items)
  tk_send_without_enc('delete', array2tk_list(items.flatten, true))
  self
end

#detach(*items) ⇒ Object



1119
1120
1121
1122
# File 'lib/tkextlib/tile/treeview.rb', line 1119

def detach(*items)
  tk_send_without_enc('detach', array2tk_list(items.flatten, true))
  self
end

#exist?(item) ⇒ Boolean

Returns:

  • (Boolean)


1124
1125
1126
# File 'lib/tkextlib/tile/treeview.rb', line 1124

def exist?(item)
  bool(tk_send_without_enc('exists', _get_eval_enc_str(item)))
end

#focus_item(item = nil) ⇒ Object



1128
1129
1130
1131
1132
1133
1134
1135
1136
# File 'lib/tkextlib/tile/treeview.rb', line 1128

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



1265
1266
1267
# File 'lib/tkextlib/tile/treeview.rb', line 1265

def get(item, col)
  tk_send('set', item, col)
end

#get_directory(item) ⇒ Object Also known as: get_dictionary



1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
# File 'lib/tkextlib/tile/treeview.rb', line 1252

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



1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
# File 'lib/tkextlib/tile/treeview.rb', line 1138

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

#identify_element(x, y) ⇒ Object



1161
1162
1163
# File 'lib/tkextlib/tile/treeview.rb', line 1161

def identify_element(x, y)
  tk_send('identify', 'element', x, y)
end

#identify_item(x, y) ⇒ Object



1156
1157
1158
1159
# File 'lib/tkextlib/tile/treeview.rb', line 1156

def identify_item(x, y)
  id = tk_send('identify', 'item', x, y)
  (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id)
end

#identify_region(x, y) ⇒ Object



1152
1153
1154
# File 'lib/tkextlib/tile/treeview.rb', line 1152

def identify_region(x, y)
  tk_send('identify', 'region', x, y)
end

#index(item) ⇒ Object



1176
1177
1178
# File 'lib/tkextlib/tile/treeview.rb', line 1176

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



1189
1190
1191
# File 'lib/tkextlib/tile/treeview.rb', line 1189

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



1200
1201
1202
1203
# File 'lib/tkextlib/tile/treeview.rb', line 1200

def move(item, parent, idx)
  tk_send('move', item, parent, idx)
  self
end

#next_item(item) ⇒ Object



1205
1206
1207
1208
# File 'lib/tkextlib/tile/treeview.rb', line 1205

def next_item(item)
  id = tk_send('next', item)
  (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id)
end

#parent_item(item) ⇒ Object



1210
1211
1212
1213
1214
1215
1216
# File 'lib/tkextlib/tile/treeview.rb', line 1210

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



1218
1219
1220
1221
# File 'lib/tkextlib/tile/treeview.rb', line 1218

def prev_item(item)
  id = tk_send('prev', item)
  (id.empty?)? nil: Tk::Tile::Treeview::Item.id2obj(self, id)
end

#rootObject



1095
1096
1097
# File 'lib/tkextlib/tile/treeview.rb', line 1095

def root
  Tk::Tile::Treeview::Root.new(self)
end

#row_identify(x, y) ⇒ Object Also known as: identify_row



1165
1166
1167
1168
# File 'lib/tkextlib/tile/treeview.rb', line 1165

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



1223
1224
1225
1226
# File 'lib/tkextlib/tile/treeview.rb', line 1223

def see(item)
  tk_send('see', item)
  self
end

#selectionObject Also known as: selection_get



1228
1229
1230
1231
1232
# File 'lib/tkextlib/tile/treeview.rb', line 1228

def selection
  simplelist(tk_send('selection')).collect{|id|
    Tk::Tile::Treeview::Item.id2obj(self, id)
  }
end

#selection_add(*items) ⇒ Object



1235
1236
1237
1238
# File 'lib/tkextlib/tile/treeview.rb', line 1235

def selection_add(*items)
  tk_send('selection', 'add', array2tk_list(items.flatten, true))
  self
end

#selection_remove(*items) ⇒ Object



1239
1240
1241
1242
# File 'lib/tkextlib/tile/treeview.rb', line 1239

def selection_remove(*items)
  tk_send('selection', 'remove', array2tk_list(items.flatten, true))
  self
end

#selection_set(*items) ⇒ Object



1243
1244
1245
1246
# File 'lib/tkextlib/tile/treeview.rb', line 1243

def selection_set(*items)
  tk_send('selection', 'set', array2tk_list(items.flatten, true))
  self
end

#selection_toggle(*items) ⇒ Object



1247
1248
1249
1250
# File 'lib/tkextlib/tile/treeview.rb', line 1247

def selection_toggle(*items)
  tk_send('selection', 'toggle', array2tk_list(items.flatten, true))
  self
end

#set(item, col, value) ⇒ Object



1268
1269
1270
1271
# File 'lib/tkextlib/tile/treeview.rb', line 1268

def set(item, col, value)
  tk_send('set', item, col, value)
  self
end

#set_children(item, *items) ⇒ Object



1108
1109
1110
1111
1112
# File 'lib/tkextlib/tile/treeview.rb', line 1108

def set_children(item, *items)
  tk_send_without_enc('children', item,
                      array2tk_list(items.flatten, true))
  self
end

#tag_add(tag, *items) ⇒ Object



1321
1322
1323
1324
1325
# File 'lib/tkextlib/tile/treeview.rb', line 1321

def tag_add(tag, *items)
  fail ArgumentError, "no target items" if items.empty?
  tk_send('tag', 'add', tagid(tag), *(items.collect{|item| tagid(item)}))
  self
end

#tag_bind(tag, seq, *args) ⇒ Object Also known as: tagbind



1282
1283
1284
1285
1286
1287
1288
1289
1290
# File 'lib/tkextlib/tile/treeview.rb', line 1282

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



1293
1294
1295
1296
1297
1298
1299
1300
1301
# File 'lib/tkextlib/tile/treeview.rb', line 1293

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



1304
1305
1306
1307
# File 'lib/tkextlib/tile/treeview.rb', line 1304

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



1310
1311
1312
# File 'lib/tkextlib/tile/treeview.rb', line 1310

def tag_bindinfo(tag, context=nil)
  _bindinfo([@path, 'tag', 'bind', tag], context)
end

#tag_has(tag) ⇒ Object



1276
1277
1278
1279
1280
# File 'lib/tkextlib/tile/treeview.rb', line 1276

def tag_has(tag)
  tk_split_simplelist(tk_send('tag', 'has', tagid(tag))).collect{|id|
    Tk::Tile::Treeview::Item.id2obj(self, id)
  }
end

#tag_has?(tag, item) ⇒ Boolean

Returns:

  • (Boolean)


1273
1274
1275
# File 'lib/tkextlib/tile/treeview.rb', line 1273

def tag_has?(tag, item)
  bool(tk_send('tag', 'has', tagid(tag), tagid(item)))
end

#tag_namesObject



1315
1316
1317
1318
1319
# File 'lib/tkextlib/tile/treeview.rb', line 1315

def tag_names
  tk_split_simplelist(tk_send('tag', 'names')).collect{|id|
    Tk::Tile::Treeview::Tag.id2obj(self, id)
  }
end

#tag_remove(tag, *items) ⇒ Object



1327
1328
1329
1330
# File 'lib/tkextlib/tile/treeview.rb', line 1327

def tag_remove(tag, *items)
  tk_send('tag', 'remove', tagid(tag), *(items.collect{|item| tagid(item)}))
  self
end

#tagid(id) ⇒ Object



1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
# File 'lib/tkextlib/tile/treeview.rb', line 1083

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