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, 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::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 TkEvent
#install_bind, #install_bind_for_event_class
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 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, #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 inherited from TkKernel
new
Constructor Details
#initialize(lbox, *args) ⇒ Item
Returns a new instance of Item.
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
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 236
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
225
226
227
228
229
230
231
232
233
234
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 225
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
288
289
290
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 288
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
292
293
294
295
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 292
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
300
301
302
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 300
def cget(key)
@listbox.itemcget(@id, key)
end
|
#cget_strict(key) ⇒ Object
303
304
305
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 303
def cget_strict(key)
@listbox.itemcget_strict(@id, key)
end
|
#cget_tkstring(key) ⇒ Object
297
298
299
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 297
def cget_tkstring(key)
@listbox.itemcget_tkstring(@id, key)
end
|
#configinfo(key = nil) ⇒ Object
311
312
313
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 311
def configinfo(key=nil)
@listbox.itemconfiginfo(@id, key)
end
|
307
308
309
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 307
def configure(key, val=None)
@listbox.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
315
316
317
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 315
def current_configinfo(key=nil)
@listbox.current_itemconfiginfo(@id, key)
end
|
319
320
321
322
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 319
def delete
@listbox.delete(@id)
self
end
|
#edit(*args) ⇒ Object
324
325
326
327
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 324
def edit(*args)
@listbox.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
329
330
331
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 329
def exist?
@listbox.exist?(@id)
end
|
284
285
286
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 284
def id
@id
end
|
333
334
335
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 333
def index
@listbox.index(@id)
end
|
280
281
282
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 280
def listbox
@listbox
end
|
#move(index) ⇒ Object
337
338
339
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 337
def move(index)
@listbox.move(@id, index)
end
|
341
342
343
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 341
def see
@listbox.see(@id)
end
|
#selection_add ⇒ Object
345
346
347
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 345
def selection_add
@listbox.selection_add(@id)
end
|
#selection_remove ⇒ Object
349
350
351
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 349
def selection_remove
@listbox.selection_remove(@id)
end
|
#selection_set ⇒ Object
353
354
355
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 353
def selection_set
@listbox.selection_set(@id)
end
|
#selection_toggle ⇒ Object
357
358
359
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 357
def selection_toggle
@listbox.selection_toggle(@id)
end
|