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



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

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

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



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

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

#exist?(item) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#get_item(idx) ⇒ Object



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

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



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

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



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

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



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

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

#imagebindinfo(*args) ⇒ Object



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

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

#index(item) ⇒ Object



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

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

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



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

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

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



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

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

#move(item, idx) ⇒ Object



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

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

#reorder(neworder) ⇒ Object



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

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

#see(item) ⇒ Object



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

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

#selection_add(*args) ⇒ Object



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

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

#selection_clearObject



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

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

#selection_get(*args) ⇒ Object



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

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



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

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

#selection_set(*args) ⇒ Object



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

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) ⇒ Object

def textbind(*args)

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

end



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

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



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

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



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

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

#textbindinfo(*args) ⇒ Object



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

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