Class: Tk::BWidget::ListBox::Item
Overview
is NOT a subclass of a listbox widget class. because it constructed on a canvas widget.
Constant Summary
collapse
- ListItem_TBL =
TkCore::INTERP.create_table
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 TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
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::TkCommandNames, Encoding::UNKNOWN, Encoding::UTF8_NAME
Class Method Summary
collapse
Instance Method Summary
collapse
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
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 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 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 TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #config_hash_kv, #configure_cmd
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
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 inherited from TkKernel
new
Constructor Details
#initialize(lbox, *args) ⇒ Item
Returns a new instance of Item.
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 221
def initialize(lbox, *args)
if lbox.kind_of?(Tk::BWidget::ListBox)
@listbox = lbox
else
fail RuntimeError,
"expect Tk::BWidget::ListBox or Tk::BWidget::ListBox::Item for 1st argument"
end
if args[-1].kind_of?(Hash)
keys = _symbolkey2str(args.pop)
else
keys = {}
end
index = keys.delete('index')
unless args.empty?
index = args.shift
end
index = 'end' unless index
unless args.empty?
fail RuntimeError, 'too much arguments'
end
@lpath = @listbox.path
if keys.key?('itemname')
@path = @id = keys.delete('itemname')
else
ListItem_ID.mutex.synchronize{
@path = @id = ListItem_ID.join(TkCore::INTERP._ip_id_)
ListItem_ID[1].succ!
}
end
ListItem_TBL.mutex.synchronize{
ListItem_TBL[@id] = self
ListItem_TBL[@lpath] = {} unless ListItem_TBL[@lpath]
ListItem_TBL[@lpath][@id] = self
}
@listbox.insert(index, @id, keys)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class TkObject
Class Method Details
.id2obj(lbox, id) ⇒ Object
210
211
212
213
214
215
216
217
218
219
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 210
def self.id2obj(lbox, id)
lpath = lbox.path
ListItem_TBL.mutex.synchronize{
if ListItem_TBL[lpath]
ListItem_TBL[lpath][id]? ListItem_TBL[lpath][id]: id
else
id
end
}
end
|
Instance Method Details
273
274
275
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 273
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
277
278
279
280
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 277
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
285
286
287
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 285
def cget(key)
@listbox.itemcget(@id, key)
end
|
#cget_strict(key) ⇒ Object
288
289
290
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 288
def cget_strict(key)
@listbox.itemcget_strict(@id, key)
end
|
#cget_tkstring(key) ⇒ Object
282
283
284
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 282
def cget_tkstring(key)
@listbox.itemcget_tkstring(@id, key)
end
|
#configinfo(key = nil) ⇒ Object
296
297
298
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 296
def configinfo(key=nil)
@listbox.itemconfiginfo(@id, key)
end
|
292
293
294
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 292
def configure(key, val=None)
@listbox.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
300
301
302
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 300
def current_configinfo(key=nil)
@listbox.current_itemconfiginfo(@id, key)
end
|
304
305
306
307
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 304
def delete
@listbox.delete(@id)
self
end
|
#edit(*args) ⇒ Object
309
310
311
312
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 309
def edit(*args)
@listbox.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
314
315
316
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 314
def exist?
@listbox.exist?(@id)
end
|
269
270
271
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 269
def id
@id
end
|
318
319
320
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 318
def index
@listbox.index(@id)
end
|
265
266
267
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 265
def listbox
@listbox
end
|
#move(index) ⇒ Object
322
323
324
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 322
def move(index)
@listbox.move(@id, index)
end
|
326
327
328
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 326
def see
@listbox.see(@id)
end
|
#selection_add ⇒ Object
330
331
332
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 330
def selection_add
@listbox.selection_add(@id)
end
|
#selection_remove ⇒ Object
334
335
336
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 334
def selection_remove
@listbox.selection_remove(@id)
end
|
#selection_set ⇒ Object
338
339
340
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 338
def selection_set
@listbox.selection_set(@id)
end
|
#selection_toggle ⇒ Object
342
343
344
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 342
def selection_toggle
@listbox.selection_toggle(@id)
end
|