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, Fontchooser, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, 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, #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, #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



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

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

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



139
140
141
142
# File 'lib/tkextlib/bwidget/listbox.rb', line 139

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

#exist?(item) ⇒ Boolean

Returns:

  • (Boolean)


144
145
146
# File 'lib/tkextlib/bwidget/listbox.rb', line 144

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

#get_item(idx) ⇒ Object



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

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

#imagebind(context, *args) ⇒ Object

def imagebind(*args)

_bind_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
self

end



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/tkextlib/bwidget/listbox.rb', line 56

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

#imagebind_append(context, *args) ⇒ Object

def imagebind_append(*args)

_bind_append_for_event_class(Event_for_Items, [path, 'bindImage'], *args)
self

end



72
73
74
75
76
77
78
79
80
81
82
# File 'lib/tkextlib/bwidget/listbox.rb', line 72

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

#imagebind_remove(*args) ⇒ Object



84
85
86
87
# File 'lib/tkextlib/bwidget/listbox.rb', line 84

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

#imagebindinfo(*args) ⇒ Object



89
90
91
# File 'lib/tkextlib/bwidget/listbox.rb', line 89

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

#index(item) ⇒ Object



148
149
150
# File 'lib/tkextlib/bwidget/listbox.rb', line 148

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

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



152
153
154
155
# File 'lib/tkextlib/bwidget/listbox.rb', line 152

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

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



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

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

#move(item, idx) ⇒ Object



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

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

#reorder(neworder) ⇒ Object



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

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

#see(item) ⇒ Object



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

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

#selection_add(*args) ⇒ Object



191
192
193
194
195
# File 'lib/tkextlib/bwidget/listbox.rb', line 191

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

#selection_clearObject



180
181
182
183
# File 'lib/tkextlib/bwidget/listbox.rb', line 180

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

#selection_get(*args) ⇒ Object



203
204
205
206
207
# File 'lib/tkextlib/bwidget/listbox.rb', line 203

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



197
198
199
200
201
# File 'lib/tkextlib/bwidget/listbox.rb', line 197

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

#selection_set(*args) ⇒ Object



185
186
187
188
189
# File 'lib/tkextlib/bwidget/listbox.rb', line 185

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

#tagid(tag) ⇒ Object



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

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

#textbind(context, *args) ⇒ Object

def textbind(*args)

_bind_for_event_class(Event_for_Items, [path, 'bindText'], *args)
self

end



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

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

#textbind_append(context, *args) ⇒ Object

def textbind_append(*args)

_bind_append_for_event_class(Event_for_Items, [path, 'bindText'], *args)
self

end



113
114
115
116
117
118
119
120
121
122
123
# File 'lib/tkextlib/bwidget/listbox.rb', line 113

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

#textbind_remove(*args) ⇒ Object



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

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

#textbindinfo(*args) ⇒ Object



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

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