Class: Tk::BLT::PlotComponent::Element
- Extended by:
- Tk, OptKeys, TkItemConfigOptkeys, TkItemFontOptkeys
- Defined in:
- ext/lib/tkextlib/blt/component.rb
Constant Summary collapse
- ElementTypeName =
'element'
- ElementTypeToClass =
{ ElementTypeName=>self }
- ElementID_TBL =
TkCore::INTERP.create_table
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
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
Class Method Summary collapse
- .id2obj(chart, id) ⇒ Object
- .new(chart, element = nil, keys = {}) ⇒ Object
- .type2class(type) ⇒ Object
Instance Method Summary collapse
- #activate(*args) ⇒ Object
- #cget(option) ⇒ Object
- #cget_strict(option) ⇒ Object
- #closest(x, y, var, keys = {}) ⇒ Object
- #configinfo(key = nil) ⇒ Object
- #configure(key, value = None) ⇒ Object
- #current_configinfo(key = nil) ⇒ Object
- #deactivate ⇒ Object
- #delete ⇒ Object
- #exist? ⇒ Boolean
- #id ⇒ Object
-
#initialize(chart, element = nil, keys = {}) ⇒ Element
constructor
A new instance of Element.
- #name ⇒ Object
- #to_eval ⇒ Object
- #type ⇒ Object
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 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 TkItemConfigOptkeys
__conv_item_keyonly_opts, itemconfig_hash_kv
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
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkConfigMethod
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #config_hash_kv, #configure_cmd
Methods included from TkTreatFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Constructor Details
#initialize(chart, element = nil, keys = {}) ⇒ Element
Returns a new instance of Element.
697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 |
# File 'ext/lib/tkextlib/blt/component.rb', line 697 def initialize(chart, element=nil, keys={}) # dummy:: not called by 'new' method if element.kind_of?(Hash) keys = element element = nil end if element @element = @id = element.to_s else OBJ_ID.mutex.synchronize{ @element = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path @typename = self.class::ElementTypeName # Element::ElementID_TBL[@cpath][@element] = self keys = _symbolkey2str(keys) unless keys.delete('without_creating') # @chart.element_create(@element, keys) tk_call(@chart, @typename, 'create', @element, keys) end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Class Method Details
.id2obj(chart, id) ⇒ Object
644 645 646 647 648 649 650 |
# File 'ext/lib/tkextlib/blt/component.rb', line 644 def Element.id2obj(chart, id) cpath = chart.path ElementID_TBL.mutex.synchronize{ return id unless ElementID_TBL[cpath] ElementID_TBL[cpath][id]? ElementID_TBL[cpath][id]: id } end |
.new(chart, element = nil, keys = {}) ⇒ Object
652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 |
# File 'ext/lib/tkextlib/blt/component.rb', line 652 def self.new(chart, element=nil, keys={}) if element.kind_of?(Hash) keys = element element = nil end if keys keys = _symbolkey2str(keys) not_create = keys.delete('without_creating') else not_create = false end obj = nil ElementID_TBL.mutex.synchronize{ chart_path = chart.path ElementID_TBL[chart_path] ||= {} if element && ElementID_TBL[chart_path][element] obj = ElementID_TBL[chart_path][element] else (obj = self.allocate).instance_eval{ if element @element = @id = element.to_s else OBJ_ID.mutex.synchronize{ @element = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path @typename = self.class::ElementTypeName Element::ElementID_TBL[@cpath][@element] = self unless not_create tk_call(@chart, @typename, 'create', @element, keys) return obj end } end } obj.configure(keys) if obj && ! keys.empty? obj end |
.type2class(type) ⇒ Object
640 641 642 |
# File 'ext/lib/tkextlib/blt/component.rb', line 640 def Element.type2class(type) ElementTypeToClass[type] end |
Instance Method Details
#activate(*args) ⇒ Object
753 754 755 |
# File 'ext/lib/tkextlib/blt/component.rb', line 753 def activate(*args) @chart.element_activate(@id, *args) end |
#cget(option) ⇒ Object
732 733 734 735 |
# File 'ext/lib/tkextlib/blt/component.rb', line 732 def cget(option) # @chart.element_cget(@id, option) @chart.__send__(@typename + '_cget', @id, option) end |
#cget_strict(option) ⇒ Object
736 737 738 |
# File 'ext/lib/tkextlib/blt/component.rb', line 736 def cget_strict(option) @chart.__send__(@typename + '_cget_strict', @id, option) end |
#closest(x, y, var, keys = {}) ⇒ Object
757 758 759 760 |
# File 'ext/lib/tkextlib/blt/component.rb', line 757 def closest(x, y, var, keys={}) # @chart.element_closest(x, y, var, @id, keys) @chart.__send__(@typename + '_closest', x, y, var, @id, keys) end |
#configinfo(key = nil) ⇒ Object
744 745 746 747 |
# File 'ext/lib/tkextlib/blt/component.rb', line 744 def configinfo(key=nil) # @chart.element_configinfo(@id, key) @chart.__send__(@typename + '_configinfo', @id, key) end |
#configure(key, value = None) ⇒ Object
739 740 741 742 743 |
# File 'ext/lib/tkextlib/blt/component.rb', line 739 def configure(key, value=None) # @chart.element_configure(@id, key, value) @chart.__send__(@typename + '_configure', @id, key, value) self end |
#current_configinfo(key = nil) ⇒ Object
748 749 750 751 |
# File 'ext/lib/tkextlib/blt/component.rb', line 748 def current_configinfo(key=nil) # @chart.current_element_configinfo(@id, key) @chart.__send__('current_' << @typename << '_configinfo', @id, key) end |
#deactivate ⇒ Object
762 763 764 765 |
# File 'ext/lib/tkextlib/blt/component.rb', line 762 def deactivate @chart.element_deactivate(@id) self end |
#delete ⇒ Object
767 768 769 770 |
# File 'ext/lib/tkextlib/blt/component.rb', line 767 def delete @chart.element_delete(@id) self end |
#exist? ⇒ Boolean
772 773 774 |
# File 'ext/lib/tkextlib/blt/component.rb', line 772 def exist? @chart.element_exist?(@id) end |
#id ⇒ Object
724 725 726 |
# File 'ext/lib/tkextlib/blt/component.rb', line 724 def id @id end |
#name ⇒ Object
776 777 778 |
# File 'ext/lib/tkextlib/blt/component.rb', line 776 def name @element end |
#to_eval ⇒ Object
728 729 730 |
# File 'ext/lib/tkextlib/blt/component.rb', line 728 def to_eval @id end |
#type ⇒ Object
780 781 782 |
# File 'ext/lib/tkextlib/blt/component.rb', line 780 def type @chart.element_type(@id) end |