Class: Tk::BWidget::ListBox

Inherits:
TkWindow show all
Includes:
Scrollable, TkItemConfigMethod
Defined in:
lib/tkextlib/bwidget/listbox.rb,
lib/tkextlib/bwidget/listbox.rb

Defined Under Namespace

Classes: Event_for_Items, Item

Constant Summary collapse

TkCommandNames =
['ListBox'.freeze].freeze
WidgetClassName =
'ListBox'.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, Checkbutton, CloneMenu, Fontchooser, JAPANIZED_TK, LIBRARY_PATH, Labelframe, MenuButton, OptionMenuButton, PACKAGE_PATH, Panedwindow, RELEASE_DATE, Radiobutton, TCL_LIBRARY_PATH, TCL_MAJOR_VERSION, TCL_MINOR_VERSION, TCL_PACKAGE_PATH, TCL_PATCHLEVEL, TCL_PRECISION, TCL_VERSION, TK_MAJOR_VERSION, TK_MINOR_VERSION, TK_PATCHLEVEL, TK_VERSION, Tkextlib_RELEASE_DATE, 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 TkDND::Shape

TkDND::Shape::PACKAGE_NAME

Instance Method Summary collapse

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 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 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 Tk::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, 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, #root, 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 TkDND::DND

#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version

Methods included from 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

Instance Method Details

#delete(*args) ⇒ Object



119
120
121
122
# File 'lib/tkextlib/bwidget/listbox.rb', line 119

def delete(*args)
  tk_send('delete', *args)
  self
end

#edit(item, text, *args) ⇒ Object



124
125
126
127
# File 'lib/tkextlib/bwidget/listbox.rb', line 124

def edit(item, text, *args)
  tk_send('edit', tagid(item), text, *args)
  self
end

#exist?(item) ⇒ Boolean

Returns:

  • (Boolean)


129
130
131
# File 'lib/tkextlib/bwidget/listbox.rb', line 129

def exist?(item)
  bool(tk_send('exists', tagid(item)))
end

#get_item(idx) ⇒ Object



142
143
144
# File 'lib/tkextlib/bwidget/listbox.rb', line 142

def get_item(idx)
  tk_send('items', idx)
end

#imagebind(context, *args, &block) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/tkextlib/bwidget/listbox.rb', line 53

def imagebind(context, *args, &block)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block
    cmd = args.shift
  else
    cmd = block
  end
  _bind_for_event_class(Event_for_Items, [path, 'bindImage'],
                        context, cmd, *args)
  self
end

#imagebind_append(context, *args, &block) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
# File 'lib/tkextlib/bwidget/listbox.rb', line 65

def imagebind_append(context, *args, &block)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block
    cmd = args.shift
  else
    cmd = block
  end
  _bind_append_for_event_class(Event_for_Items, [path, 'bindImage'],
                               context, cmd, *args)
  self
end

#imagebind_remove(*args) ⇒ Object



77
78
79
80
# File 'lib/tkextlib/bwidget/listbox.rb', line 77

def imagebind_remove(*args)
  _bind_remove_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
  self
end

#imagebindinfo(*args) ⇒ Object



82
83
84
# File 'lib/tkextlib/bwidget/listbox.rb', line 82

def imagebindinfo(*args)
  _bindinfo_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
end

#index(item) ⇒ Object



133
134
135
# File 'lib/tkextlib/bwidget/listbox.rb', line 133

def index(item)
  num_or_str(tk_send('index', tagid(item)))
end

#insert(idx, item, keys = {}) ⇒ Object



137
138
139
140
# File 'lib/tkextlib/bwidget/listbox.rb', line 137

def insert(idx, item, keys={})
  tk_send('insert', idx, tagid(item), *hash_kv(keys))
  self
end

#items(first = None, last = None) ⇒ Object



146
147
148
# File 'lib/tkextlib/bwidget/listbox.rb', line 146

def items(first=None, last=None)
  list(tk_send('items', first, last))
end

#move(item, idx) ⇒ Object



150
151
152
153
# File 'lib/tkextlib/bwidget/listbox.rb', line 150

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

#reorder(neworder) ⇒ Object



155
156
157
158
# File 'lib/tkextlib/bwidget/listbox.rb', line 155

def reorder(neworder)
  tk_send('reorder', neworder)
  self
end

#see(item) ⇒ Object



160
161
162
163
# File 'lib/tkextlib/bwidget/listbox.rb', line 160

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

#selection_add(*args) ⇒ Object



176
177
178
179
180
# File 'lib/tkextlib/bwidget/listbox.rb', line 176

def selection_add(*args)
  tk_send_without_enc('selection', 'add',
                      *(args.collect{|item| tagid(item)}))
  self
end

#selection_clearObject



165
166
167
168
# File 'lib/tkextlib/bwidget/listbox.rb', line 165

def selection_clear
  tk_send_without_enc('selection', 'clear')
  self
end

#selection_get(*args) ⇒ Object



188
189
190
191
192
# File 'lib/tkextlib/bwidget/listbox.rb', line 188

def selection_get(*args)
  simplelist(tk_send_without_enc('selection', 'get')).collect{|item|
    Tk::BWidget::ListBox::Item.id2obj(self, item)
  }
end

#selection_remove(*args) ⇒ Object



182
183
184
185
186
# File 'lib/tkextlib/bwidget/listbox.rb', line 182

def selection_remove(*args)
  tk_send_without_enc('selection', 'remove',
                      *(args.collect{|item| tagid(item)}))
  self
end

#selection_set(*args) ⇒ Object



170
171
172
173
174
# File 'lib/tkextlib/bwidget/listbox.rb', line 170

def selection_set(*args)
  tk_send_without_enc('selection', 'set',
                      *(args.collect{|item| tagid(item)}))
  self
end

#tagid(tag) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/tkextlib/bwidget/listbox.rb', line 44

def tagid(tag)
  if tag.kind_of?(Tk::BWidget::ListBox::Item)
    tag.id
  else
    # tag
    _get_eval_string(tag)
  end
end

#textbind(context, *args, &block) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
# File 'lib/tkextlib/bwidget/listbox.rb', line 86

def textbind(context, *args, &block)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block
    cmd = args.shift
  else
    cmd = block
  end
  _bind_for_event_class(Event_for_Items, [path, 'bindText'],
                        context, cmd, *args)
  self
end

#textbind_append(context, *args, &block) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
# File 'lib/tkextlib/bwidget/listbox.rb', line 98

def textbind_append(context, *args, &block)
  #if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block
    cmd = args.shift
  else
    cmd = block
  end
  _bind_append_for_event_class(Event_for_Items, [path, 'bindText'],
                               context, cmd, *args)
  self
end

#textbind_remove(*args) ⇒ Object



110
111
112
113
# File 'lib/tkextlib/bwidget/listbox.rb', line 110

def textbind_remove(*args)
  _bind_remove_for_event_class(Event_for_Items, [path, 'bindText'], *args)
  self
end

#textbindinfo(*args) ⇒ Object



115
116
117
# File 'lib/tkextlib/bwidget/listbox.rb', line 115

def textbindinfo(*args)
  _bindinfo_for_event_class(Event_for_Items, [path, 'bindText'], *args)
end