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, 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_str, number, procedure, simplelist, 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_str, #num_or_str, number, #number, string, #string, uninstall_cmd
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, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, 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, #root, 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, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
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 'ext/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 'ext/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 'ext/lib/tkextlib/bwidget/listbox.rb', line 288
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
292
293
294
295
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 292
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
297
298
299
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 297
def cget(key)
@listbox.itemcget(@id, key)
end
|
#cget_strict(key) ⇒ Object
300
301
302
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 300
def cget_strict(key)
@listbox.itemcget_strict(@id, key)
end
|
#configinfo(key = nil) ⇒ Object
308
309
310
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 308
def configinfo(key=nil)
@listbox.itemconfiginfo(@id, key)
end
|
304
305
306
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 304
def configure(key, val=None)
@listbox.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
312
313
314
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 312
def current_configinfo(key=nil)
@listbox.current_itemconfiginfo(@id, key)
end
|
316
317
318
319
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 316
def delete
@listbox.delete(@id)
self
end
|
#edit(*args) ⇒ Object
321
322
323
324
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 321
def edit(*args)
@listbox.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
326
327
328
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 326
def exist?
@listbox.exist?(@id)
end
|
284
285
286
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 284
def id
@id
end
|
330
331
332
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 330
def index
@listbox.index(@id)
end
|
280
281
282
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 280
def listbox
@listbox
end
|
#move(index) ⇒ Object
334
335
336
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 334
def move(index)
@listbox.move(@id, index)
end
|
338
339
340
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 338
def see
@listbox.see(@id)
end
|
#selection_add ⇒ Object
342
343
344
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 342
def selection_add
@listbox.selection_add(@id)
end
|
#selection_remove ⇒ Object
346
347
348
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 346
def selection_remove
@listbox.selection_remove(@id)
end
|
#selection_set ⇒ Object
350
351
352
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 350
def selection_set
@listbox.selection_set(@id)
end
|
#selection_toggle ⇒ Object
354
355
356
|
# File 'ext/lib/tkextlib/bwidget/listbox.rb', line 354
def selection_toggle
@listbox.selection_toggle(@id)
end
|