Class: Tk::ICONS
- Extended by:
- Tk
- Defined in:
- lib/tkextlib/ICONS/icons.rb
Constant Summary collapse
- PACKAGE_NAME =
'icons'.freeze
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
Constants included from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants inherited from TkImage
TkImage::TkCommandNames, TkImage::Tk_IMGTBL
Class Method Summary collapse
- ._new ⇒ Object
-
.create(*args) ⇒ Object
icon, icon, …, ?option=>value, …?.
-
.delete(*icons) ⇒ Object
icon, icon, …
- .new(name, keys = nil) ⇒ Object
- .package_name ⇒ Object
- .package_version ⇒ Object
-
.query(*args) ⇒ Object
icon, icon, …, ?option=>value, …?.
Instance Method Summary collapse
- #delete ⇒ Object
-
#initialize(name, keys = nil) ⇒ ICONS
constructor
A new instance of ICONS.
- #name ⇒ Object
- #query(keys = {}) ⇒ Object
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 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 inherited from TkImage
#height, #inuse, #itemtype, names, types, #width
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
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #cget_tkstring, #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(name, keys = nil) ⇒ ICONS
Returns a new instance of ICONS.
99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/tkextlib/ICONS/icons.rb', line 99 def initialize(name, keys=nil) if name.kind_of?(String) && name =~ /^::icon::(.+)$/ @name = $1 @path = name else @name = name.to_s @path = "::icon::#{@name}" end keys = _symbolkey2str(keys) unless keys.delete('without_creating') tk_call('::icons::icons', 'create', *(hash_kv(keys) << @name)) 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
._new ⇒ Object
80 |
# File 'lib/tkextlib/ICONS/icons.rb', line 80 alias _new new |
.create(*args) ⇒ Object
icon, icon, …, ?option=>value, …?
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/tkextlib/ICONS/icons.rb', line 35 def self.create(*args) # icon, icon, ..., ?option=>value, ...? if args[-1].kind_of?(Hash) keys = args.pop icons = simplelist(tk_call('::icons::icons', 'create', *(hash_kv(keys) << (args.flatten)))) else icons = simplelist(tk_call('::icons::icons', 'create', args.flatten)) end icons.collect{|icon| self.new(icon, :without_creating=>true)} end |
.delete(*icons) ⇒ Object
icon, icon, …
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/tkextlib/ICONS/icons.rb', line 48 def self.delete(*icons) # icon, icon, ... icons = icons.flatten return if icons.empty? icons.map!{|icon| if icon.kind_of?(Tk::ICONS) Tk_IMGTBL.delete(icon.path) icon.name elsif icon.to_s =~ /^::icon::(.*)/ name = $1 Tk_IMGTBL.delete(icon) name else Tk_IMGTBL.delete("::icon::#{icon}") icon end } tk_call('::icons::icons', 'delete', icons) end |
.new(name, keys = nil) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/tkextlib/ICONS/icons.rb', line 82 def new(name, keys=nil) if obj = Tk_IMGTBL["::icon::#{name}"] if keys keys = _symbolkey2str(keys) unless keys.delete('without_creating') tk_call('::icons::icons', 'create', *(hash_kv(keys) << obj.name)) end end else obj = _new(name, keys) end obj end |
.package_name ⇒ Object
23 24 25 |
# File 'lib/tkextlib/ICONS/icons.rb', line 23 def self.package_name PACKAGE_NAME end |
.package_version ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/tkextlib/ICONS/icons.rb', line 27 def self.package_version begin TkPackage.require('icons') rescue '' end end |
.query(*args) ⇒ Object
icon, icon, …, ?option=>value, …?
67 68 69 70 71 72 73 74 75 |
# File 'lib/tkextlib/ICONS/icons.rb', line 67 def self.query(*args) # icon, icon, ..., ?option=>value, ...? if args[-1].kind_of?(Hash) keys = args.pop simplelist(tk_call('::icons::icons', 'query', *(hash_kv(keys) << (args.flatten)))) else simplelist(tk_call('::icons::icons', 'query', args.flatten)) end . map{|inf| list(inf) } end |
Instance Method Details
#delete ⇒ Object
118 119 120 121 122 |
# File 'lib/tkextlib/ICONS/icons.rb', line 118 def delete Tk_IMGTBL.delete(@path) tk_call('::icons::icons', 'delete', @name) self end |
#name ⇒ Object
114 115 116 |
# File 'lib/tkextlib/ICONS/icons.rb', line 114 def name @name end |
#query(keys = {}) ⇒ Object
124 125 126 127 128 |
# File 'lib/tkextlib/ICONS/icons.rb', line 124 def query(keys={}) list(simplelist(tk_call('::icons::icons', 'query', *(hash_kv(keys) << @name)) )[0]) end |