Class: TkcItem
- Extended by:
- Tk, TkItemConfigOptkeys, TkItemFontOptkeys
- Includes:
- TkcTagAccess
- Defined in:
- lib/tk/canvas.rb
Constant Summary collapse
Constants included from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants included from Tk
Tk::AUTO_PATH, Tk::INTERP, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::MAINLOOP, Tk::PACKAGE_PATH, Tk::RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, Tk::X_Scrollable, Tk::Y_Scrollable
Constants included from Tk::Encoding
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
Class Method Summary collapse
- ._parse_create_args(args) ⇒ Object
- .create(canvas, *args) ⇒ Object
- .id2obj(canvas, id) ⇒ Object
- .type2class(type) ⇒ Object
Instance Method Summary collapse
- #delete ⇒ Object (also: #remove, #destroy)
- #exist? ⇒ Boolean
- #id ⇒ Object
-
#initialize(parent, *args) ⇒ TkcItem
constructor
A new instance of TkcItem.
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_str, #num_or_str, number, #number, string, #string, uninstall_cmd
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 Tk::Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
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, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, #image_obj, #install_cmd, #subst, #uninstall_cmd
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkcTagAccess
#&, #-@, #^, #addtag, #bbox, #bind, #bind_append, #bind_remove, #bindinfo, #cget, #configinfo, #configure, #coords, #current_configinfo, #dchars, #dtag, #find, #focus, #gettags, #icursor, #index, #insert, #itemtype, #lower, #move, #raise, #scale, #select_adjust, #select_from, #select_to, #|
Methods included from TkTreatTagFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods inherited from TkObject
#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 TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkConfigMethod
#[], #[]=, #cget, #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
Constructor Details
#initialize(parent, *args) ⇒ TkcItem
Returns a new instance of TkcItem.
660 661 662 663 664 665 666 667 668 669 670 |
# File 'lib/tk/canvas.rb', line 660 def initialize(parent, *args) #unless parent.kind_of?(TkCanvas) # fail ArgumentError, "expect TkCanvas for 1st argument" #end @parent = @c = parent @path = parent.path @id = create_self(*args) # an integer number as 'canvas item id' CItemID_TBL[@path] = {} unless CItemID_TBL[@path] CItemID_TBL[@path][@id] = self end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Class Method Details
._parse_create_args(args) ⇒ Object
599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 |
# File 'lib/tk/canvas.rb', line 599 def self._parse_create_args(args) fontkeys = {} methodkeys = {} if args[-1].kind_of? Hash keys = _symbolkey2str(args.pop) if args.size == 0 args = keys.delete('coords') unless args.kind_of?(Array) fail "coords parameter must be given by an Array" end end #['font', 'kanjifont', 'latinfont', 'asciifont'].each{|key| # fontkeys[key] = keys.delete(key) if keys.key?(key) #} __item_font_optkeys(nil).each{|key| fkey = key.to_s fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey) fkey = "kanji#{key}" fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey) fkey = "latin#{key}" fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey) fkey = "ascii#{key}" fontkeys[fkey] = keys.delete(fkey) if keys.key?(fkey) } __item_methodcall_optkeys(nil).each{|key| key = key.to_s methodkeys[key] = keys.delete(key) if keys.key?(key) } __item_ruby2val_optkeys(nil).each{|key, method| key = key.to_s keys[key] = method.call(keys[key]) if keys.has_key?(key) } #args = args.flatten.concat(hash_kv(keys)) args = args.flatten.concat(itemconfig_hash_kv(nil, keys)) else args = args.flatten end [args, fontkeys] end |
.create(canvas, *args) ⇒ Object
648 649 650 651 652 653 654 655 656 657 |
# File 'lib/tk/canvas.rb', line 648 def self.create(canvas, *args) unless self::CItemTypeName fail RuntimeError, "#{self} is an abstract class" end args, fontkeys = _parse_create_args(args) idnum = tk_call_without_enc(canvas.path, 'create', self::CItemTypeName, *args) canvas.itemconfigure(idnum, fontkeys) unless fontkeys.empty? idnum.to_i # 'canvas item id' is an integer number end |
.id2obj(canvas, id) ⇒ Object
592 593 594 595 596 |
# File 'lib/tk/canvas.rb', line 592 def TkcItem.id2obj(canvas, id) cpath = canvas.path return id unless CItemID_TBL[cpath] CItemID_TBL[cpath][id]? CItemID_TBL[cpath][id]: id end |
.type2class(type) ⇒ Object
588 589 590 |
# File 'lib/tk/canvas.rb', line 588 def TkcItem.type2class(type) CItemTypeToClass[type] end |
Instance Method Details
#delete ⇒ Object Also known as: remove, destroy
688 689 690 691 692 |
# File 'lib/tk/canvas.rb', line 688 def delete @c.delete @id CItemID_TBL[@path].delete(@id) if CItemID_TBL[@path] self end |
#exist? ⇒ Boolean
680 681 682 683 684 685 686 |
# File 'lib/tk/canvas.rb', line 680 def exist? if @c.find_withtag(@id) true else false end end |
#id ⇒ Object
676 677 678 |
# File 'lib/tk/canvas.rb', line 676 def id @id end |