# File tk/lib/tk/wm.rb, line 16
def Wm.aspect(win, *args)
  if args.length == 0
    list(tk_call_without_enc('wm', 'aspect', win.epath))
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call('wm', 'aspect', win.epath, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 31
def Wm.attributes(win, slot=nil,value=TkComm::None)
  if slot == nil
    lst = tk_split_list(tk_call('wm', 'attributes', win.epath))
    info = {}
    while key = lst.shift
      info[key[1..-1]] = lst.shift
    end
    info
  elsif slot.kind_of? Hash
    tk_call('wm', 'attributes', win.epath, *hash_kv(slot))
    win
  elsif value == TkComm::None
    tk_call('wm', 'attributes', win.epath, "-#{slot}")
  else
    tk_call('wm', 'attributes', win.epath, "-#{slot}", value)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 55
def Wm.client(win, name=TkComm::None)
  if name == TkComm::None
    tk_call('wm', 'client', win.epath)
  else
    name = '' if name == nil
    tk_call('wm', 'client', win.epath, name)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 70
def Wm.colormapwindows(win, *args)
  if args.size == 0
    list(tk_call_without_enc('wm', 'colormapwindows', win.epath))
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call_without_enc('wm', 'colormapwindows', win.epath, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 85
def Wm.command(win, value=nil)
  if value
    tk_call('wm', 'command', win.epath, value)
    win
  else
    #procedure(tk_call('wm', 'command', win.epath))
    tk_call('wm', 'command', win.epath)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 99
def Wm.deiconify(win, ex = true)
  if ex
    tk_call_without_enc('wm', 'deiconify', win.epath)
  else
    Wm.iconify(win)
  end
  win
end
             
             
               # File tk/lib/tk/wm.rb, line 112
def Wm.focusmodel(win, mode = nil)
  if mode
    tk_call_without_enc('wm', 'focusmodel', win.epath, mode)
    win
  else
    tk_call_without_enc('wm', 'focusmodel', win.epath)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 126
def Wm.forget(win)
  # Tcl/Tk 8.5+
  # work with dockable frames
  tk_call_without_enc('wm', 'forget', win.epath)
  win
end
             
             
               # File tk/lib/tk/wm.rb, line 136
def Wm.frame(win)
  tk_call_without_enc('wm', 'frame', win.epath)
end
             
             
               # File tk/lib/tk/wm.rb, line 144
def Wm.geometry(win, geom=nil)
  if geom
    tk_call_without_enc('wm', 'geometry', win.epath, geom)
    win
  else
    tk_call_without_enc('wm', 'geometry', win.epath)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 158
def Wm.grid(win, *args)
  if args.size == 0
    list(tk_call_without_enc('wm', 'grid', win.epath))
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call_without_enc('wm', 'grid', win.epath, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 172
def Wm.group(win, leader = nil)
  if leader
    tk_call('wm', 'group', win.epath, leader)
    win
  else
    window(tk_call('wm', 'group', win.epath))
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 186
def Wm.iconbitmap(win, bmp=nil)
  if bmp
    tk_call_without_enc('wm', 'iconbitmap', win.epath, bmp)
    win
  else
    image_obj(tk_call_without_enc('wm', 'iconbitmap', win.epath))
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 229
def Wm.iconify(win, ex = true)
  if ex
    tk_call_without_enc('wm', 'iconify', win.epath)
  else
    Wm.deiconify(win)
  end
  win
end
             
             
               # File tk/lib/tk/wm.rb, line 242
def Wm.iconmask(win, bmp=nil)
  if bmp
    tk_call_without_enc('wm', 'iconmask', win.epath, bmp)
    win
  else
    image_obj(tk_call_without_enc('wm', 'iconmask', win.epath))
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 256
def Wm.iconname(win, name=nil)
  if name
    tk_call('wm', 'iconname', win.epath, name)
    win
  else
    tk_call('wm', 'iconname', win.epath)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 200
def Wm.iconphoto(win, *imgs)
  if imgs.empty?
    win.instance_eval{
      @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', win.epath, *imgs)
  win.instance_eval{ @wm_iconphoto = imgs  }
  win
end
             
             
               # File tk/lib/tk/wm.rb, line 219
def Wm.iconphoto_default(win, *imgs)
  imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
  tk_call_without_enc('wm', 'iconphoto', win.epath, '-default', *imgs)
  win
end
             
             
               # File tk/lib/tk/wm.rb, line 270
def Wm.iconposition(win, *args)
  if args.size == 0
    list(tk_call_without_enc('wm', 'iconposition', win.epath))
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call_without_enc('wm', 'iconposition', win.epath, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 285
def Wm.iconwindow(win, iconwin = nil)
  if iconwin
    tk_call_without_enc('wm', 'iconwindow', win.epath, iconwin)
    win
  else
    w = tk_call_without_enc('wm', 'iconwindow', win.epath)
    (w == '')? nil: window(w)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 300
def Wm.manage(win)
  # Tcl/Tk 8.5+ feature
  tk_call_without_enc('wm', 'manage', win.epath)
  win
end
             
            def ::manage(win, use_id = nil)
# Tcl/Tk 8.5+ feature # -------------------------------------------------------------- # In the future release, I want to support to embed the 'win' # into the container which has window-id 'use-id'. # It may give users flexibility on controlling their GUI. # However, it may be difficult for current Tcl/Tk (Tcl/Tk8.5.1), # because it seems to require to modify Tcl/Tk's source code. # -------------------------------------------------------------- if use_id tk_call_without_enc('wm', 'manage', win.epath, '-use', use_id) else tk_call_without_enc('wm', 'manage', win.epath) end win
end
 
               # File tk/lib/tk/wm.rb, line 327
def Wm.maxsize(win, *args)
  if args.size == 0
    list(tk_call_without_enc('wm', 'maxsize', win.epath))
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call_without_enc('wm', 'maxsize', win.epath, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 342
def Wm.minsize(win, *args)
  if args.size == 0
    list(tk_call_without_enc('wm', 'minsize', win.epath))
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call_without_enc('wm', 'minsize', win.path, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 357
def Wm.overrideredirect(win, mode=TkComm::None)
  if mode == TkComm::None
    bool(tk_call_without_enc('wm', 'overrideredirect', win.epath))
  else
    tk_call_without_enc('wm', 'overrideredirect', win.epath, mode)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 371
def Wm.positionfrom(win, who=TkComm::None)
  if who == TkComm::None
    r = tk_call_without_enc('wm', 'positionfrom', win.epath)
    (r == "")? nil: r
  else
    tk_call_without_enc('wm', 'positionfrom', win.epath, who)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 386
def Wm.protocol(win, name=nil, cmd=nil, &b)
  if cmd
    tk_call_without_enc('wm', 'protocol', win.epath, name, cmd)
    win
  elsif b
    tk_call_without_enc('wm', 'protocol', win.epath, name, proc(&b))
    win
  elsif name
    result = tk_call_without_enc('wm', 'protocol', win.epath, name)
    (result == "")? nil : tk_tcl2ruby(result)
  else
    tk_split_simplelist(tk_call_without_enc('wm', 'protocol', win.epath))
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 405
def Wm.protocols(win, kv=nil)
  unless kv
    ret = {}
    Wm.protocol(win).each{|name|
      ret[name] = Wm.protocol(win, name)
    }
    return ret
  end
  unless kv.kind_of?(Hash)
    fail ArgumentError, 'expect a hash of protocol=>command'
  end
  kv.each{|k, v| Wm.protocol(win, k, v)}
  win
end
             
             
               # File tk/lib/tk/wm.rb, line 426
def Wm.resizable(win, *args)
  if args.length == 0
    list(tk_call_without_enc('wm', 'resizable', win.epath)).map!{|e| bool(e)}
  else
    args = args[0] if args.length == 1 && args[0].kind_of?(Array)
    tk_call_without_enc('wm', 'resizable', win.epath, *args)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 441
def Wm.sizefrom(win, who=TkComm::None)
  if who == TkComm::None
    r = tk_call_without_enc('wm', 'sizefrom', win.epath)
    (r == "")? nil: r
  else
    tk_call_without_enc('wm', 'sizefrom', win.epath, who)
    win
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 456
def Wm.stackorder(win)
  list(tk_call('wm', 'stackorder', win.epath))
end
             
             
               # File tk/lib/tk/wm.rb, line 467
def Wm.stackorder_is_above(win, target)
  Wm.stackorder_isabove(win, target)
end
             
             
               # File tk/lib/tk/wm.rb, line 480
def Wm.stackorder_is_below(win, target)
  Wm.stackorder_isbelow(win, target)
end
             
             
               # File tk/lib/tk/wm.rb, line 464
def Wm.stackorder_isabove(win, target)
  bool(tk_call('wm', 'stackorder', win.epath, 'isabove', target))
end
             
             
               # File tk/lib/tk/wm.rb, line 477
def Wm.stackorder_isbelow(win, target)
  bool(tk_call('wm', 'stackorder', win.epath, 'isbelow', target))
end
             
             
               # File tk/lib/tk/wm.rb, line 490
def Wm.state(win, st=nil)
  if st
    tk_call_without_enc('wm', 'state', win.epath, st)
    win
  else
    tk_call_without_enc('wm', 'state', win.epath)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 504
def Wm.title(win, str=nil)
  if str
    tk_call('wm', 'title', win.epath, str)
    win
  else
    tk_call('wm', 'title', win.epath)
  end
end
             
             
               # File tk/lib/tk/wm.rb, line 25
def aspect(*args)
  Wm.aspect(self, *args)
end
             
             
               # File tk/lib/tk/wm.rb, line 49
def attributes(slot=nil,value=TkComm::None)
  Wm.attributes(self, slot, value)
end
             
             
               # File tk/lib/tk/wm.rb, line 64
def client(name=TkComm::None)
  Wm.client(self, name)
end
             
             
               # File tk/lib/tk/wm.rb, line 79
def colormapwindows(*args)
  Wm.colormapwindows(self, *args)
end
             
             
               # File tk/lib/tk/wm.rb, line 107
def deiconify(ex = true)
  Wm.deiconify(self, ex)
end
             
             
               # File tk/lib/tk/wm.rb, line 120
def focusmodel(mode = nil)
  Wm.focusmodel(self, mode)
end
             
             
               # File tk/lib/tk/wm.rb, line 139
def frame
  Wm.frame(self)
end
             
             
               # File tk/lib/tk/wm.rb, line 152
def geometry(geom=nil)
  Wm.geometry(self, geom)
end
             
             
               # File tk/lib/tk/wm.rb, line 180
def group(leader = nil)
  Wm.group(self, leader)
end
             
             
               # File tk/lib/tk/wm.rb, line 194
def iconbitmap(bmp=nil)
  Wm.iconbitmap(self, bmp)
end
             
             
               # File tk/lib/tk/wm.rb, line 237
def iconify(ex = true)
  Wm.iconify(self, ex)
end
             
             
               # File tk/lib/tk/wm.rb, line 250
def iconmask(bmp=nil)
  Wm.iconmask(self, bmp)
end
             
             
               # File tk/lib/tk/wm.rb, line 264
def iconname(name=nil)
  Wm.iconname(self, name)
end
             
             
               # File tk/lib/tk/wm.rb, line 213
def iconphoto(*imgs)
  Wm.iconphoto(self, *imgs)
end
             
             
               # File tk/lib/tk/wm.rb, line 224
def iconphoto_default(*imgs)
  Wm.iconphoto_default(self, *imgs)
end
             
             
               # File tk/lib/tk/wm.rb, line 279
def iconposition(*args)
  Wm.iconposition(self, *args)
end
             
             
               # File tk/lib/tk/wm.rb, line 294
def iconwindow(iconwin = nil)
  Wm.iconwindow(self, iconwin)
end
             
             
               # File tk/lib/tk/wm.rb, line 336
def maxsize(*args)
  Wm.maxsize(self, *args)
end
             
             
               # File tk/lib/tk/wm.rb, line 351
def minsize(*args)
  Wm.minsize(self, *args)
end
             
             
               # File tk/lib/tk/wm.rb, line 365
def overrideredirect(mode=TkComm::None)
  Wm.overrideredirect(self, mode)
end
             
             
               # File tk/lib/tk/wm.rb, line 380
def positionfrom(who=TkComm::None)
  Wm.positionfrom(self, who)
end
             
             
               # File tk/lib/tk/wm.rb, line 400
def protocol(name=nil, cmd=nil, &b)
  Wm.protocol(self, name, cmd, &b)
end
             
             
               # File tk/lib/tk/wm.rb, line 420
def protocols(kv=nil)
  Wm.protocols(self, kv)
end
             
             
               # File tk/lib/tk/wm.rb, line 435
def resizable(*args)
  Wm.resizable(self, *args)
end
             
             
               # File tk/lib/tk/wm.rb, line 450
def sizefrom(who=TkComm::None)
  Wm.sizefrom(self, who)
end
             
             
               # File tk/lib/tk/wm.rb, line 459
def stackorder
  Wm.stackorder(self)
end
             
             
               # File tk/lib/tk/wm.rb, line 470
def stackorder_isabove(target)
  Wm.stackorder_isabove(self, target)
end
             
             
               # File tk/lib/tk/wm.rb, line 483
def stackorder_isbelow(target)
  Wm.stackorder_isbelow(self, target)
end
             
             
               # File tk/lib/tk/wm.rb, line 498
def state(st=nil)
  Wm.state(self, st)
end
             
             
               # File tk/lib/tk/wm.rb, line 512
def title(str=nil)
  Wm.title(self, str)
end
             
             
               # File tk/lib/tk/wm.rb, line 526
def transient(master=nil)
  Wm.transient(self, master)
end
             
             
               # File tk/lib/tk/wm.rb, line 540
def withdraw(ex = true)
  Wm.withdraw(self, ex)
end
             
             
               # File tk/lib/tk/wm.rb, line 94
def wm_command(value=nil)
  Wm.command(self, value)
end
             
             
               # File tk/lib/tk/wm.rb, line 132
def wm_forget
  Wm.forget(self)
end
             
             
               # File tk/lib/tk/wm.rb, line 167
def wm_grid(*args)
  Wm.grid(self, *args)
end
             
            Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.