1# 2# tk/macpkg.rb : methods for Tcl/Tk packages for Macintosh 3# 2000/11/22 by Hidetoshi Nagai <nagai@ai.kyutech.ac.jp> 4# 5# ATTENTION !! 6# This is NOT TESTED. Because I have no test-environment. 7# 8# 9require 'tk' 10 11module Tk 12 def Tk.load_tclscript_rsrc(resource_name, file=None) 13 # Mac only 14 tk_call('source', '-rsrc', resource_name, file) 15 end 16 17 def Tk.load_tclscript_rsrcid(resource_id, file=None) 18 # Mac only 19 tk_call('source', '-rsrcid', resource_id, file) 20 end 21end 22 23module Tk::MacResource 24end 25#TkMacResource = Tk::MacResource 26#Tk.__set_toplevel_aliases__(:Tk, Tk::MacResource, :TkMacResource) 27Tk.__set_loaded_toplevel_aliases__('tk/macpkg.rb', :Tk, Tk::MacResource, 28 :TkMacResource) 29 30module Tk::MacResource 31 extend Tk 32 extend Tk::MacResource 33 34 TkCommandNames = ['resource'.freeze].freeze 35 36 PACKAGE_NAME = 'resource'.freeze 37 def self.package_name 38 PACKAGE_NAME 39 end 40 41 tk_call_without_enc('package', 'require', 'resource') 42 43 def close(rsrcRef) 44 tk_call('resource', 'close', rsrcRef) 45 end 46 47 def delete(rsrcType, opts=nil) 48 tk_call('resource', 'delete', *(hash_kv(opts) << rsrcType)) 49 end 50 51 def files(rsrcRef=nil) 52 if rsrcRef 53 tk_call('resource', 'files', rsrcRef) 54 else 55 tk_split_simplelist(tk_call('resource', 'files')) 56 end 57 end 58 59 def list(rsrcType, rsrcRef=nil) 60 tk_split_simplelist(tk_call('resource', 'list', rsrcType, rsrcRef)) 61 end 62 63 def open(fname, access=nil) 64 tk_call('resource', 'open', fname, access) 65 end 66 67 def read(rsrcType, rsrcID, rsrcRef=nil) 68 tk_call('resource', 'read', rsrcType, rsrcID, rsrcRef) 69 end 70 71 def types(rsrcRef=nil) 72 tk_split_simplelist(tk_call('resource', 'types', rsrcRef)) 73 end 74 75 def write(rsrcType, data, opts=nil) 76 tk_call('resource', 'write', *(hash_kv(opts) << rsrcType << data)) 77 end 78 79 module_function :close, :delete, :files, :list, :open, :read, :types, :write 80end 81