Class: Tk::BLT::PlotComponent::Pen
- Defined in:
- ext/lib/tkextlib/blt/component.rb
Constant Summary collapse
- PenID_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
- #cget(option) ⇒ Object
- #cget_strict(option) ⇒ Object
- #configinfo(key = nil) ⇒ Object
- #configure(key, value = None) ⇒ Object
- #current_configinfo(key = nil) ⇒ Object
- #delete ⇒ Object
- #id ⇒ Object
-
#initialize(chart, pen = nil, keys = {}) ⇒ Pen
constructor
A new instance of Pen.
- #name ⇒ Object
- #to_eval ⇒ Object
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 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
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
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
Constructor Details
#initialize(chart, pen = nil, keys = {}) ⇒ Pen
Returns a new instance of Pen.
1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1007 def initialize(chart, pen=nil, keys={}) if pen.kind_of?(Hash) keys = pen pen = nil end if pen @pen = @id = pen.to_s else OBJ_ID.mutex.synchronize{ @pen = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path Pen::PenID_TBL[@cpath][@pen] = self keys = _symbolkey2str(keys) unless keys.delete('without_creating') # @chart.pen_create(@pen, keys) tk_call(@chart, 'pen', 'create', @pen, 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
955 956 957 958 959 960 961 |
# File 'ext/lib/tkextlib/blt/component.rb', line 955 def self.id2obj(chart, id) cpath = chart.path PenID_TBL.mutex.synchronize{ return id unless PenID_TBL[cpath] PenID_TBL[cpath][id]? PenID_TBL[cpath][id]: id } end |
.new(chart, pen = nil, keys = {}) ⇒ Object
963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 |
# File 'ext/lib/tkextlib/blt/component.rb', line 963 def self.new(chart, pen=nil, keys={}) if pen.kind_of?(Hash) keys = pen pen = nil end if keys keys = _symbolkey2str(keys) not_create = keys.delete('without_creating') else not_create = false end obj = nil PenID_TBL.mutex.synchronize{ chart_path = chart.path PenID_TBL[chart_path] ||= {} if pen && PenID_TBL[chart_path][pen] obj = PenID_TBL[chart_path][pen] else (obj = self.allocate).instance_eval{ if pen @pen = @id = pen.to_s else OBJ_ID.mutex.synchronize{ @pen = @id = OBJ_ID.join(TkCore::INTERP._ip_id_).freeze OBJ_ID[1].succ! } end @path = @id @parent = @chart = chart @cpath = @chart.path Pen::PenID_TBL[@cpath][@pen] = self unless not_create tk_call(@chart, 'pen', 'create', @pen, keys) return obj end } end } obj.configure(keys) if obj && ! keys.empty? obj end |
Instance Method Details
#cget(option) ⇒ Object
1039 1040 1041 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1039 def cget(option) @chart.pen_cget(@id, option) end |
#cget_strict(option) ⇒ Object
1042 1043 1044 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1042 def cget_strict(option) @chart.pen_cget_strict(@id, option) end |
#configinfo(key = nil) ⇒ Object
1049 1050 1051 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1049 def configinfo(key=nil) @chart.pen_configinfo(@id, key) end |
#configure(key, value = None) ⇒ Object
1045 1046 1047 1048 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1045 def configure(key, value=None) @chart.pen_configure(@id, key, value) self end |
#current_configinfo(key = nil) ⇒ Object
1052 1053 1054 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1052 def current_configinfo(key=nil) @chart.current_pen_configinfo(@id, key) end |
#delete ⇒ Object
1056 1057 1058 1059 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1056 def delete @chart.pen_delete(@id) self end |
#id ⇒ Object
1031 1032 1033 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1031 def id @id end |
#name ⇒ Object
1061 1062 1063 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1061 def name @pen end |
#to_eval ⇒ Object
1035 1036 1037 |
# File 'ext/lib/tkextlib/blt/component.rb', line 1035 def to_eval @id end |