diff options
Diffstat (limited to 'ruby_1_9_3/ext/tk/lib/tk/fontchooser.rb')
-rw-r--r-- | ruby_1_9_3/ext/tk/lib/tk/fontchooser.rb | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/ruby_1_9_3/ext/tk/lib/tk/fontchooser.rb b/ruby_1_9_3/ext/tk/lib/tk/fontchooser.rb deleted file mode 100644 index 694c58a607..0000000000 --- a/ruby_1_9_3/ext/tk/lib/tk/fontchooser.rb +++ /dev/null @@ -1,176 +0,0 @@ -# -# tk/fontchooser.rb -- "tk fontchooser" support (Tcl/Tk8.6 or later) -# -require 'tk' -require 'tk/font' - -module TkFont::Chooser - extend TkCore -end - -class << TkFont::Chooser - def method_missing(id, *args) - name = id.id2name - case args.length - when 1 - if name[-1] == ?= - configure name[0..-2], args[0] - args[0] - else - configure name, args[0] - self - end - when 0 - begin - cget(name) - rescue - super(id, *args) - end - else - super(id, *args) - end - end - - def __configinfo_value(key, val) - case key - when 'parent' - window(val) - when 'title' - val - when 'font' - if (lst = tk_split_simplelist(val)).size == 1 - lst[0] - else - lst.map{|elem| num_or_str(elem)} - end - when 'command' - tk_tcl2ruby(val) - when 'visible' - bool(val) - else # unkown - val - end - end - private :__configinfo_value - - def configinfo(option=nil) - if !option && TkComm::GET_CONFIGINFOwoRES_AS_ARRAY - lst = tk_split_simplelist(tk_call('tk', 'fontchooser', 'configure')) - ret = [] - TkComm.slice_ary(lst, 2){|k, v| - k = k[1..-1] - ret << [k, __configinfo_value(k, v)] - } - ret - else - current_configinfo(option) - end - end - - def current_configinfo(option=nil) - if option - opt = option.to_s - fail ArgumentError, "Invalid option `#{option.inspect}'" if opt.empty? - __configinfo_value(option.to_s, tk_call('tk','fontchooser', - 'configure',"-#{opt}")) - else - lst = tk_split_simplelist(tk_call('tk', 'fontchooser', 'configure')) - ret = {} - TkComm.slice_ary(lst, 2){|k, v| - k = k[1..-1] - ret[k] = __configinfo_value(k, v) - } - ret - end - end - - def configure(option, value=None) - if option.kind_of? Hash - tk_call('tk', 'fontchooser', 'configure', - *hash_kv(_symbolkey2str(option))) - else - opt = option.to_s - fail ArgumentError, "Invalid option `#{option.inspect}'" if opt.empty? - tk_call('tk', 'fontchooser', 'configure', "-#{opt}", value) - end - self - end - - def configure_cmd(slot, value) - configure(slot, install_cmd(value)) - end - - def command(cmd=nil, &b) - if cmd - configure_cmd('command', cmd) - elsif b - configure_cmd('command', Proc.new(&b)) - else - cget('command') - end - end - - def cget(slot) - configinfo slot - end - - def [](slot) - cget slot - end - - def []=(slot, val) - configure slot, val - val - end - - def show - tk_call('tk', 'fontchooser', 'show') - self - end - - def hide - tk_call('tk', 'fontchooser', 'hide') - self - end - - def toggle - cget(:visible) ? hide: show - self - end - - def set_for(target, title="Font") - if target.kind_of? TkFont - configs = { - :font=>target.actual_hash, - :command=>proc{|fnt, *args| - target.configure(TkFont.actual_hash(fnt)) - } - } - elsif target.kind_of? Hash - # key=>value list or OptionObj - fnt = target[:font] rescue '' - fnt = fnt.actual_hash if fnt.kind_of?(TkFont) - configs = { - :font => fnt, - :command=>proc{|fnt, *args| - target[:font] = TkFont.actual_hash(fnt) - } - } - else - configs = { - :font=>target.cget_tkstring(:font), - :command=>proc{|fnt, *args| - target.font = TkFont.actual_hash_displayof(fnt, target) - } - } - end - - configs[:title] = title if title - configure(configs) - target - end - - def unset - configure(:command, nil) - end -end |