Class: Tk::Tile::Treeview
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 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
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
#__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
#current_itemconfiginfo, #itemcget, #itemconfiginfo, #itemconfigure
#__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
#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy
Methods included from Scrollable
#autoscroll, #unautoscroll
#yscrollbar, #yscrollcommand, #yview, #yview_moveto, #yview_scroll
#xscrollbar, #xscrollcommand, #xview, #xview_moveto, #xview_scroll
Methods included from TileWidget
#instate, #state
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, _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, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, window
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version
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
#[], #[]=, #cget, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
#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
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)
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)
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
|
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
|