Class: TkImage
- Includes:
- Tk
- Defined in:
- lib/tk/image.rb
Constant Summary collapse
- TkCommandNames =
['image'.freeze].freeze
- Tk_IMGTBL =
TkCore::INTERP.create_table
- Tk_Image_ID =
['i'.freeze, '00000'.taint].freeze
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 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
Class Method Summary collapse
Instance Method Summary collapse
- #delete ⇒ Object
- #height ⇒ Object
-
#initialize(keys = nil) ⇒ TkImage
constructor
A new instance of TkImage.
- #inuse ⇒ Object
- #itemtype ⇒ Object
- #width ⇒ Object
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 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 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 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
Constructor Details
#initialize(keys = nil) ⇒ TkImage
Returns a new instance of TkImage.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/tk/image.rb', line 49 def initialize(keys=nil) @path = nil without_creating = false if keys.kind_of?(Hash) keys = _symbolkey2str(keys) @path = keys.delete('imagename') without_creating = keys.delete('without_creating') end unless @path # @path = Tk_Image_ID.join('') @path = Tk_Image_ID.join(TkCore::INTERP._ip_id_) Tk_Image_ID[1].succ! end unless without_creating tk_call_without_enc('image', 'create', @type, @path, *hash_kv(keys, true)) end Tk_IMGTBL[@path] = self end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Class Method Details
.names ⇒ Object
87 88 89 90 91 |
# File 'lib/tk/image.rb', line 87 def TkImage.names Tk.tk_call_without_enc('image', 'names').split.collect!{|id| (Tk_IMGTBL[id])? Tk_IMGTBL[id] : id } end |
.new(keys = nil) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/tk/image.rb', line 17 def self.new(keys=nil) if keys.kind_of?(Hash) name = nil if keys.key?(:imagename) name = keys[:imagename] elsif keys.key?('imagename') name = keys['imagename'] end if name if name.kind_of?(TkImage) obj = name else name = _get_eval_string(name) obj = Tk_IMGTBL[name] end if obj if !(keys[:without_creating] || keys['without_creating']) keys = _symbolkey2str(keys) keys.delete('imagename') keys.delete('without_creating') obj.instance_eval{ tk_call_without_enc('image', 'create', @type, @path, *hash_kv(keys, true)) } end return obj end end end super(keys) end |
.types ⇒ Object
93 94 95 |
# File 'lib/tk/image.rb', line 93 def TkImage.types Tk.tk_call_without_enc('image', 'types').split end |
Instance Method Details
#delete ⇒ Object
69 70 71 72 73 |
# File 'lib/tk/image.rb', line 69 def delete Tk_IMGTBL.delete(@id) if @id tk_call_without_enc('image', 'delete', @path) self end |
#height ⇒ Object
74 75 76 |
# File 'lib/tk/image.rb', line 74 def height number(tk_call_without_enc('image', 'height', @path)) end |
#inuse ⇒ Object
77 78 79 |
# File 'lib/tk/image.rb', line 77 def inuse bool(tk_call_without_enc('image', 'inuse', @path)) end |
#itemtype ⇒ Object
80 81 82 |
# File 'lib/tk/image.rb', line 80 def itemtype tk_call_without_enc('image', 'type', @path) end |
#width ⇒ Object
83 84 85 |
# File 'lib/tk/image.rb', line 83 def width number(tk_call_without_enc('image', 'width', @path)) end |