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
- ListItem_ID =
['bw:item'.freeze, '00000'.taint].freeze
Constants included
from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK
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, 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::TkCommandNames
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, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, 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
#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, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, 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, #root, show_kinsoku, 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
Methods included from Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
Methods inherited from TkKernel
new
Constructor Details
#initialize(lbox, *args) ⇒ Item
Returns a new instance of Item.
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
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 224
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
@path = @id = ListItem_ID.join(TkCore::INTERP._ip_id_)
ListItem_ID[1].succ!
end
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
218
219
220
221
222
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 218
def self.id2obj(lbox, id)
lpath = lbox.path
return id unless ListItem_TBL[lpath]
ListItem_TBL[lpath][id]? ListItem_TBL[lpath][id]: id
end
|
Instance Method Details
272
273
274
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 272
def [](key)
cget(key)
end
|
#[]=(key, val) ⇒ Object
276
277
278
279
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 276
def []=(key, val)
configure(key, val)
val
end
|
#cget(key) ⇒ Object
281
282
283
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 281
def cget(key)
@listbox.itemcget(@id, key)
end
|
#configinfo(key = nil) ⇒ Object
289
290
291
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 289
def configinfo(key=nil)
@listbox.itemconfiginfo(@id, key)
end
|
285
286
287
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 285
def configure(key, val=None)
@listbox.itemconfigure(@id, key, val)
end
|
#current_configinfo(key = nil) ⇒ Object
293
294
295
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 293
def current_configinfo(key=nil)
@listbox.current_itemconfiginfo(@id, key)
end
|
297
298
299
300
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 297
def delete
@listbox.delete(@id)
self
end
|
#edit(*args) ⇒ Object
302
303
304
305
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 302
def edit(*args)
@listbox.edit(@id, *args)
self
end
|
#exist? ⇒ Boolean
307
308
309
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 307
def exist?
@listbox.exist?(@id)
end
|
268
269
270
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 268
def id
@id
end
|
311
312
313
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 311
def index
@listbox.index(@id)
end
|
264
265
266
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 264
def listbox
@listbox
end
|
#move(index) ⇒ Object
315
316
317
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 315
def move(index)
@listbox.move(@id, index)
end
|
319
320
321
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 319
def see
@listbox.see(@id)
end
|
#selection_add ⇒ Object
323
324
325
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 323
def selection_add
@listbox.selection_add(@id)
end
|
#selection_remove ⇒ Object
327
328
329
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 327
def selection_remove
@listbox.selection_remove(@id)
end
|
#selection_set ⇒ Object
331
332
333
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 331
def selection_set
@listbox.selection_set(@id)
end
|
#selection_toggle ⇒ Object
335
336
337
|
# File 'lib/tkextlib/bwidget/listbox.rb', line 335
def selection_toggle
@listbox.selection_toggle(@id)
end
|