Class: Tk::BLT::PlotComponent::Element
- Extended by:
- Tk, OptKeys, TkItemConfigOptkeys, TkItemFontOptkeys
- Defined in:
- lib/tkextlib/blt/component.rb
Constant Summary collapse
- ElementTypeName =
'element'
- ElementTypeToClass =
{ ElementTypeName=>self }
- ElementID_TBL =
TkCore::INTERP.create_table
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
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
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
- #cget_tkstring(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 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_nil, num_or_nil, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd, untrust
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 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 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.
738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 |
# File 'lib/tkextlib/blt/component.rb', line 738 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
685 686 687 688 689 690 691 |
# File 'lib/tkextlib/blt/component.rb', line 685 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
693 694 695 696 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 723 724 725 726 727 728 729 730 731 732 733 734 735 736 |
# File 'lib/tkextlib/blt/component.rb', line 693 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
681 682 683 |
# File 'lib/tkextlib/blt/component.rb', line 681 def Element.type2class(type) ElementTypeToClass[type] end |
Instance Method Details
#activate(*args) ⇒ Object
798 799 800 |
# File 'lib/tkextlib/blt/component.rb', line 798 def activate(*args) @chart.element_activate(@id, *args) end |
#cget(option) ⇒ Object
777 778 779 780 |
# File 'lib/tkextlib/blt/component.rb', line 777 def cget(option) # @chart.element_cget(@id, option) @chart.__send__(@typename + '_cget', @id, option) end |
#cget_strict(option) ⇒ Object
781 782 783 |
# File 'lib/tkextlib/blt/component.rb', line 781 def cget_strict(option) @chart.__send__(@typename + '_cget_strict', @id, option) end |
#cget_tkstring(option) ⇒ Object
773 774 775 776 |
# File 'lib/tkextlib/blt/component.rb', line 773 def cget_tkstring(option) # @chart.element_cget(@id, option) @chart.__send__(@typename + '_cget_tkstring', @id, option) end |
#closest(x, y, var, keys = {}) ⇒ Object
802 803 804 805 |
# File 'lib/tkextlib/blt/component.rb', line 802 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
789 790 791 792 |
# File 'lib/tkextlib/blt/component.rb', line 789 def configinfo(key=nil) # @chart.element_configinfo(@id, key) @chart.__send__(@typename + '_configinfo', @id, key) end |
#configure(key, value = None) ⇒ Object
784 785 786 787 788 |
# File 'lib/tkextlib/blt/component.rb', line 784 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
793 794 795 796 |
# File 'lib/tkextlib/blt/component.rb', line 793 def current_configinfo(key=nil) # @chart.current_element_configinfo(@id, key) @chart.__send__('current_' << @typename << '_configinfo', @id, key) end |
#deactivate ⇒ Object
807 808 809 810 |
# File 'lib/tkextlib/blt/component.rb', line 807 def deactivate @chart.element_deactivate(@id) self end |
#delete ⇒ Object
812 813 814 815 |
# File 'lib/tkextlib/blt/component.rb', line 812 def delete @chart.element_delete(@id) self end |
#exist? ⇒ Boolean
817 818 819 |
# File 'lib/tkextlib/blt/component.rb', line 817 def exist? @chart.element_exist?(@id) end |
#id ⇒ Object
765 766 767 |
# File 'lib/tkextlib/blt/component.rb', line 765 def id @id end |
#name ⇒ Object
821 822 823 |
# File 'lib/tkextlib/blt/component.rb', line 821 def name @element end |
#to_eval ⇒ Object
769 770 771 |
# File 'lib/tkextlib/blt/component.rb', line 769 def to_eval @id end |
#type ⇒ Object
825 826 827 |
# File 'lib/tkextlib/blt/component.rb', line 825 def type @chart.element_type(@id) end |