summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/ext/tk/lib/tk/wm.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/ext/tk/lib/tk/wm.rb')
-rw-r--r--ruby_1_8_6/ext/tk/lib/tk/wm.rb360
1 files changed, 360 insertions, 0 deletions
diff --git a/ruby_1_8_6/ext/tk/lib/tk/wm.rb b/ruby_1_8_6/ext/tk/lib/tk/wm.rb
new file mode 100644
index 0000000000..1f432a3848
--- /dev/null
+++ b/ruby_1_8_6/ext/tk/lib/tk/wm.rb
@@ -0,0 +1,360 @@
+#
+# tk/wm.rb : methods for wm command
+#
+require 'tk'
+
+module Tk
+ module Wm
+ include TkComm
+
+ TkCommandNames = ['wm'.freeze].freeze
+
+ TOPLEVEL_METHODCALL_OPTKEYS = {}
+
+ def aspect(*args)
+ if args.length == 0
+ list(tk_call_without_enc('wm', 'aspect', path))
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call('wm', 'aspect', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['aspect'] = 'aspect'
+
+ def attributes(slot=nil,value=None)
+ if slot == nil
+ lst = tk_split_list(tk_call('wm', 'attributes', path))
+ info = {}
+ while key = lst.shift
+ info[key[1..-1]] = lst.shift
+ end
+ info
+ elsif slot.kind_of? Hash
+ tk_call('wm', 'attributes', path, *hash_kv(slot))
+ self
+ elsif value == None
+ tk_call('wm', 'attributes', path, "-#{slot}")
+ else
+ tk_call('wm', 'attributes', path, "-#{slot}", value)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['attributes'] = 'attributes'
+
+ def client(name=None)
+ if name == None
+ tk_call('wm', 'client', path)
+ else
+ name = '' if name == nil
+ tk_call('wm', 'client', path, name)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['client'] = 'client'
+
+ def colormapwindows(*args)
+ if args.size == 0
+ list(tk_call_without_enc('wm', 'colormapwindows', path))
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'colormapwindows', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['colormapwindows'] = 'colormapwindows'
+
+ def wm_command(value=nil)
+ if value
+ tk_call('wm', 'command', path, value)
+ self
+ else
+ #procedure(tk_call('wm', 'command', path))
+ tk_call('wm', 'command', path)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['wm_command'] = 'wm_command'
+
+ def deiconify(ex = true)
+ if ex
+ tk_call_without_enc('wm', 'deiconify', path)
+ else
+ self.iconify
+ end
+ self
+ end
+
+ def focusmodel(mode = nil)
+ if mode
+ tk_call_without_enc('wm', 'focusmodel', path, mode)
+ self
+ else
+ tk_call_without_enc('wm', 'focusmodel', path)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['focusmodel'] = 'focusmodel'
+
+ def frame
+ tk_call_without_enc('wm', 'frame', path)
+ end
+
+ def geometry(geom=nil)
+ if geom
+ tk_call_without_enc('wm', 'geometry', path, geom)
+ self
+ else
+ tk_call_without_enc('wm', 'geometry', path)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['geometry'] = 'geometry'
+
+ def wm_grid(*args)
+ if args.size == 0
+ list(tk_call_without_enc('wm', 'grid', path))
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'grid', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['wm_grid'] = 'wm_grid'
+
+ def group(leader = nil)
+ if leader
+ tk_call('wm', 'group', path, leader)
+ self
+ else
+ window(tk_call('wm', 'group', path))
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['group'] = 'group'
+
+ def iconbitmap(bmp=nil)
+ if bmp
+ tk_call_without_enc('wm', 'iconbitmap', path, bmp)
+ self
+ else
+ image_obj(tk_call_without_enc('wm', 'iconbitmap', path))
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['iconbitmap'] = 'iconbitmap'
+
+ def iconphoto(*imgs)
+ if imgs.empty?
+ @wm_iconphoto = nil unless defined? @wm_iconphoto
+ return @wm_iconphoto
+ end
+
+ imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'iconphoto', path, *imgs)
+ @wm_iconphoto = imgs
+ self
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['iconphoto'] = 'iconphoto'
+
+ def iconphoto_default(*imgs)
+ imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'iconphoto', path, '-default', *imgs)
+ self
+ end
+
+ def iconify(ex = true)
+ if ex
+ tk_call_without_enc('wm', 'iconify', path)
+ else
+ self.deiconify
+ end
+ self
+ end
+
+ def iconmask(bmp=nil)
+ if bmp
+ tk_call_without_enc('wm', 'iconmask', path, bmp)
+ self
+ else
+ image_obj(tk_call_without_enc('wm', 'iconmask', path))
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['iconmask'] = 'iconmask'
+
+ def iconname(name=nil)
+ if name
+ tk_call('wm', 'iconname', path, name)
+ self
+ else
+ tk_call('wm', 'iconname', path)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['iconname'] = 'iconname'
+
+ def iconposition(*args)
+ if args.size == 0
+ list(tk_call_without_enc('wm', 'iconposition', path))
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'iconposition', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['iconposition'] = 'iconposition'
+
+ def iconwindow(win = nil)
+ if win
+ tk_call_without_enc('wm', 'iconwindow', path, win)
+ self
+ else
+ w = tk_call_without_enc('wm', 'iconwindow', path)
+ (w == '')? nil: window(w)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['iconwindow'] = 'iconwindow'
+
+ def maxsize(*args)
+ if args.size == 0
+ list(tk_call_without_enc('wm', 'maxsize', path))
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'maxsize', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['maxsize'] = 'maxsize'
+
+ def minsize(*args)
+ if args.size == 0
+ list(tk_call_without_enc('wm', 'minsize', path))
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'minsize', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['minsize'] = 'minsize'
+
+ def overrideredirect(mode=None)
+ if mode == None
+ bool(tk_call_without_enc('wm', 'overrideredirect', path))
+ else
+ tk_call_without_enc('wm', 'overrideredirect', path, mode)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['overrideredirect'] = 'overrideredirect'
+
+ def positionfrom(who=None)
+ if who == None
+ r = tk_call_without_enc('wm', 'positionfrom', path)
+ (r == "")? nil: r
+ else
+ tk_call_without_enc('wm', 'positionfrom', path, who)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['positionfrom'] = 'positionfrom'
+
+ def protocol(name=nil, cmd=nil, &b)
+ if cmd
+ tk_call_without_enc('wm', 'protocol', path, name, cmd)
+ self
+ elsif b
+ tk_call_without_enc('wm', 'protocol', path, name, proc(&b))
+ self
+ elsif name
+ result = tk_call_without_enc('wm', 'protocol', path, name)
+ (result == "")? nil : tk_tcl2ruby(result)
+ else
+ tk_split_simplelist(tk_call_without_enc('wm', 'protocol', path))
+ end
+ end
+
+ def protocols(kv=nil)
+ unless kv
+ ret = {}
+ self.protocol.each{|name|
+ ret[name] = self.protocol(name)
+ }
+ return ret
+ end
+
+ unless kv.kind_of?(Hash)
+ fail ArgumentError, 'expect a hash of protocol=>command'
+ end
+ kv.each{|k, v| self.protocol(k, v)}
+ self
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['protocols'] = 'protocols'
+
+ def resizable(*args)
+ if args.length == 0
+ list(tk_call_without_enc('wm', 'resizable', path)).collect{|e| bool(e)}
+ else
+ args = args[0] if args.length == 1 && args[0].kind_of?(Array)
+ tk_call_without_enc('wm', 'resizable', path, *args)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['resizable'] = 'resizable'
+
+ def sizefrom(who=None)
+ if who == None
+ r = tk_call_without_enc('wm', 'sizefrom', path)
+ (r == "")? nil: r
+ else
+ tk_call_without_enc('wm', 'sizefrom', path, who)
+ self
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['sizefrom'] = 'sizefrom'
+
+ def stackorder
+ list(tk_call('wm', 'stackorder', path))
+ end
+
+ def stackorder_isabove(win)
+ bool(tk_call('wm', 'stackorder', path, 'isabove', win))
+ end
+
+ def stackorder_isbelow(win)
+ bool(tk_call('wm', 'stackorder', path, 'isbelow', win))
+ end
+
+ def state(st=nil)
+ if st
+ tk_call_without_enc('wm', 'state', path, st)
+ self
+ else
+ tk_call_without_enc('wm', 'state', path)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['state'] = 'state'
+
+ def title(str=nil)
+ if str
+ tk_call('wm', 'title', path, str)
+ self
+ else
+ tk_call('wm', 'title', path)
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['title'] = 'title'
+
+ def transient(master=nil)
+ if master
+ tk_call_without_enc('wm', 'transient', path, master)
+ self
+ else
+ window(tk_call_without_enc('wm', 'transient', path))
+ end
+ end
+ TOPLEVEL_METHODCALL_OPTKEYS['transient'] = 'transient'
+
+ def withdraw(ex = true)
+ if ex
+ tk_call_without_enc('wm', 'withdraw', path)
+ else
+ self.deiconify
+ end
+ self
+ end
+ end
+end