summaryrefslogtreecommitdiff
path: root/ruby_1_9_3/ext/tk/lib/tk/fontchooser.rb
diff options
context:
space:
mode:
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.rb176
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