File: tk/wm.rb

Overview
Module Structure
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Tk#6
extends
  Encoding ( Unknown-Module )
  Tk   
includes
  TkCore   
  module: Wm#7
extends
  TkCore   
has properties
constant: TkCommandNames #11
constant: TOPLEVEL_METHODCALL_OPTKEYS #13
module method: aspect (1/2) / 2 #15
method: aspect (2/E) / 1 #24
alias: wm_aspect aspect #27
module method: attributes (1/2) / 3 #30
method: attributes (2/E) / 2 #48
alias: wm_attributes attributes #51
module method: client (1/2) / 2 #54
method: client (2/E) / 1 #63
alias: wm_client client #66
module method: colormapwindows (1/2) / 2 #69
method: colormapwindows (2/E) / 1 #78
alias: wm_colormapwindows colormapwindows #81
module method: command / 2 #84
method: wm_command / 1 #93
module method: deiconify (1/2) / 2 #98
method: deiconify (2/E) / 1 #106
alias: wm_deiconify deiconify #109
module method: focusmodel (1/2) / 2 #111
method: focusmodel (2/E) / 1 #119
alias: wm_focusmodel focusmodel #122
module method: forget / 1 #125
method: wm_forget #131
module method: frame (1/2) / 1 #135
method: frame (2/E) #138
alias: wm_frame frame #141
module method: geometry (1/2) / 2 #143
method: geometry (2/E) / 1 #151
alias: wm_geometry geometry #154
module method: grid / 2 #157
method: wm_grid / 1 #166
module method: group (1/2) / 2 #171
method: group (2/E) / 1 #179
alias: wm_group group #182
module method: iconbitmap (1/2) / 2 #185
method: iconbitmap (2/E) / 1 #193
alias: wm_iconbitmap iconbitmap #196
module method: iconphoto (1/2) / 2 #199
method: iconphoto (2/E) / 1 #212
alias: wm_iconphoto iconphoto #215
module method: iconphoto_default (1/2) / 2 #218
method: iconphoto_default (2/E) / 1 #223
alias: wm_iconphoto_default iconphoto_default #226
module method: iconify (1/2) / 2 #228
method: iconify (2/E) / 1 #236
alias: wm_iconify iconify #239
module method: iconmask (1/2) / 2 #241
method: iconmask (2/E) / 1 #249
alias: wm_iconmask iconmask #252
module method: iconname (1/2) / 2 #255
method: iconname (2/E) / 1 #263
alias: wm_iconname iconname #266
module method: iconposition (1/2) / 2 #269
method: iconposition (2/E) / 1 #278
alias: wm_iconposition iconposition #281
module method: iconwindow (1/2) / 2 #284
method: iconwindow (2/E) / 1 #293
alias: wm_iconwindow iconwindow #296
module method: manage / 1 #299
method: wm_manage #304
module method: maxsize (1/2) / 2 #326
method: maxsize (2/E) / 1 #335
alias: wm_maxsize maxsize #338
module method: minsize (1/2) / 2 #341
method: minsize (2/E) / 1 #350
alias: wm_minsize minsize #353
module method: overrideredirect (1/2) / 2 #356
method: overrideredirect (2/E) / 1 #364
alias: wm_overrideredirect overrideredirect #367
module method: positionfrom (1/2) / 2 #370
method: positionfrom (2/E) / 1 #379
alias: wm_positionfrom positionfrom #382
module method: protocol (1/2) / 4 #385
method: protocol (2/E) / 3 #399
alias: wm_protocol protocol #402
module method: protocols (1/2) / 2 #404
method: protocols (2/E) / 1 #419
alias: wm_protocols protocols #422
module method: resizable (1/2) / 2 #425
method: resizable (2/E) / 1 #434
alias: wm_resizable resizable #437
module method: sizefrom (1/2) / 2 #440
method: sizefrom (2/E) / 1 #449
alias: wm_sizefrom sizefrom #452
module method: stackorder (1/2) / 1 #455
method: stackorder (2/E) #458
alias: wm_stackorder stackorder #461
module method: stackorder_isabove (1/2) / 2 #463
module method: stackorder_is_above (1/2) / 2 #466
method: stackorder_isabove (2/E) / 1 #469
alias: stackorder_is_above (2/E) stackorder_isabove #472
alias: wm_stackorder_isabove stackorder_isabove #473
alias: wm_stackorder_is_above stackorder_isabove #474
module method: stackorder_isbelow (1/2) / 2 #476
module method: stackorder_is_below (1/2) / 2 #479
method: stackorder_isbelow (2/E) / 1 #482
alias: stackorder_is_below (2/E) stackorder_isbelow #485
alias: wm_stackorder_isbelow stackorder_isbelow #486
alias: wm_stackorder_is_below stackorder_isbelow #487
module method: state (1/2) / 2 #489
method: state (2/E) / 1 #497
alias: wm_state state #500
module method: title (1/2) / 2 #503
method: title (2/E) / 1 #511
alias: wm_title title #514
module method: transient (1/2) / 2 #517
method: transient (2/E) / 1 #525
alias: wm_transient transient #528
module method: withdraw (1/2) / 2 #531
method: withdraw (2/E) / 1 #539
alias: wm_withdraw withdraw #542
  module: Wm_for_General#545

Code

   1  #
   2  # tk/wm.rb : methods for wm command
   3  #
   4  require 'tk'
   5 
   6  module Tk
   7    module Wm
   8      #include TkComm
   9      extend TkCore
  10 
  11      TkCommandNames = ['wm'.freeze].freeze
  12 
  13      TOPLEVEL_METHODCALL_OPTKEYS = {}
  14 
  15      def Wm.aspect(win, *args)
  16        if args.length == 0
  17          list(tk_call_without_enc('wm', 'aspect', win.epath))
  18        else
  19          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
  20          tk_call('wm', 'aspect', win.epath, *args)
  21          win
  22        end
  23      end
  24      def aspect(*args)
  25        Wm.aspect(self, *args)
  26      end
  27      alias wm_aspect aspect
  28      TOPLEVEL_METHODCALL_OPTKEYS['aspect'] = 'aspect'
  29 
  30      def Wm.attributes(win, slot=nil,value=TkComm::None)
  31        if slot == nil
  32          lst = tk_split_list(tk_call('wm', 'attributes', win.epath))
  33          info = {}
  34          while key = lst.shift
  35            info[key[1..-1]] = lst.shift
  36          end
  37          info
  38        elsif slot.kind_of? Hash
  39          tk_call('wm', 'attributes', win.epath, *hash_kv(slot))
  40          win
  41        elsif value == TkComm::None
  42          tk_call('wm', 'attributes', win.epath, "-#{slot}")
  43        else
  44          tk_call('wm', 'attributes', win.epath, "-#{slot}", value)
  45          win
  46        end
  47      end
  48      def attributes(slot=nil,value=TkComm::None)
  49        Wm.attributes(self, slot, value)
  50      end
  51      alias wm_attributes attributes
  52      TOPLEVEL_METHODCALL_OPTKEYS['attributes'] = 'attributes'
  53 
  54      def Wm.client(win, name=TkComm::None)
  55        if name == TkComm::None
  56          tk_call('wm', 'client', win.epath)
  57        else
  58          name = '' if name == nil
  59          tk_call('wm', 'client', win.epath, name)
  60          win
  61        end
  62      end
  63      def client(name=TkComm::None)
  64        Wm.client(self, name)
  65      end
  66      alias wm_client client
  67      TOPLEVEL_METHODCALL_OPTKEYS['client'] = 'client'
  68 
  69      def Wm.colormapwindows(win, *args)
  70        if args.size == 0
  71          list(tk_call_without_enc('wm', 'colormapwindows', win.epath))
  72        else
  73          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
  74          tk_call_without_enc('wm', 'colormapwindows', win.epath, *args)
  75          win
  76        end
  77      end
  78      def colormapwindows(*args)
  79        Wm.colormapwindows(self, *args)
  80      end
  81      alias wm_colormapwindows colormapwindows
  82      TOPLEVEL_METHODCALL_OPTKEYS['colormapwindows'] = 'colormapwindows'
  83 
  84      def Wm.command(win, value=nil)
  85        if value
  86          tk_call('wm', 'command', epath, value)
  87          win
  88        else
  89          #procedure(tk_call('wm', 'command', epath))
  90          tk_call('wm', 'command', epath)
  91        end
  92      end
  93      def wm_command(value=nil)
  94        Wm.command(self, value)
  95      end
  96      TOPLEVEL_METHODCALL_OPTKEYS['wm_command'] = 'wm_command'
  97 
  98      def Wm.deiconify(win, ex = true)
  99        if ex
 100          tk_call_without_enc('wm', 'deiconify', win.epath)
 101        else
 102          Wm.iconify(win)
 103        end
 104        win
 105      end
 106      def deiconify(ex = true)
 107        Wm.deiconify(self, ex)
 108      end
 109      alias wm_deiconify deiconify
 110 
 111      def Wm.focusmodel(win, mode = nil)
 112        if mode
 113          tk_call_without_enc('wm', 'focusmodel', win.epath, mode)
 114          win
 115        else
 116          tk_call_without_enc('wm', 'focusmodel', win.epath)
 117        end
 118      end
 119      def focusmodel(mode = nil)
 120        Wm.focusmodel(self, mode)
 121      end
 122      alias wm_focusmodel focusmodel
 123      TOPLEVEL_METHODCALL_OPTKEYS['focusmodel'] = 'focusmodel'
 124 
 125      def Wm.forget(win)
 126        # Tcl/Tk 8.5+ 
 127        # work with dockable frames
 128        tk_call_without_enc('wm', 'forget', win.epath)
 129        win
 130      end
 131      def wm_forget
 132        Wm.forget(self)
 133      end
 134 
 135      def Wm.frame(win)
 136        tk_call_without_enc('wm', 'frame', win.epath)
 137      end
 138      def frame
 139        Wm.frame(self)
 140      end
 141      alias wm_frame frame
 142 
 143      def Wm.geometry(win, geom=nil)
 144        if geom
 145          tk_call_without_enc('wm', 'geometry', win.epath, geom)
 146          win
 147        else
 148          tk_call_without_enc('wm', 'geometry', win.epath)
 149        end
 150      end
 151      def geometry(geom=nil)
 152        Wm.geometry(self, geom)
 153      end
 154      alias wm_geometry geometry
 155      TOPLEVEL_METHODCALL_OPTKEYS['geometry'] = 'geometry'
 156 
 157      def Wm.grid(win, *args)
 158        if args.size == 0
 159          list(tk_call_without_enc('wm', 'grid', win.epath))
 160        else
 161          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
 162          tk_call_without_enc('wm', 'grid', win.epath, *args)
 163          win
 164        end
 165      end
 166      def wm_grid(*args)
 167        Wm.grid(self, *args)
 168      end
 169      TOPLEVEL_METHODCALL_OPTKEYS['wm_grid'] = 'wm_grid'
 170 
 171      def Wm.group(win, leader = nil)
 172        if leader
 173          tk_call('wm', 'group', win.epath, leader)
 174          win
 175        else
 176          window(tk_call('wm', 'group', win.epath))
 177        end
 178      end
 179      def group(leader = nil)
 180        Wm.group(self, leader)
 181      end
 182      alias wm_group group
 183      TOPLEVEL_METHODCALL_OPTKEYS['group'] = 'group'
 184 
 185      def Wm.iconbitmap(win, bmp=nil)
 186        if bmp
 187          tk_call_without_enc('wm', 'iconbitmap', win.epath, bmp)
 188          win
 189        else
 190          image_obj(tk_call_without_enc('wm', 'iconbitmap', win.epath))
 191        end
 192      end
 193      def iconbitmap(bmp=nil)
 194        Wm.iconbitmap(self, bmp)
 195      end
 196      alias wm_iconbitmap iconbitmap
 197      TOPLEVEL_METHODCALL_OPTKEYS['iconbitmap'] = 'iconbitmap'
 198 
 199      def Wm.iconphoto(win, *imgs)
 200        if imgs.empty?
 201          win.instance_eval{
 202            @wm_iconphoto = nil unless defined? @wm_iconphoto
 203            return @wm_iconphoto 
 204          }
 205        end
 206 
 207        imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
 208        tk_call_without_enc('wm', 'iconphoto', win.epath, *imgs)
 209        win.instance_eval{ @wm_iconphoto = imgs  }
 210        win
 211      end
 212      def iconphoto(*imgs)
 213        Wm.iconphoto(self, *imgs)
 214      end
 215      alias wm_iconphoto iconphoto
 216      TOPLEVEL_METHODCALL_OPTKEYS['iconphoto'] = 'iconphoto'
 217 
 218      def Wm.iconphoto_default(win, *imgs)
 219        imgs = imgs[0] if imgs.length == 1 && imgs[0].kind_of?(Array)
 220        tk_call_without_enc('wm', 'iconphoto', win.epath, '-default', *imgs)
 221        win
 222      end
 223      def iconphoto_default(*imgs)
 224        Wm.iconphoto_default(self, *imgs)
 225      end
 226      alias wm_iconphoto_default iconphoto_default
 227 
 228      def Wm.iconify(win, ex = true)
 229        if ex
 230          tk_call_without_enc('wm', 'iconify', win.epath)
 231        else
 232          Wm.deiconify(win)
 233        end
 234        win
 235      end
 236      def iconify(ex = true)
 237        Wm.iconify(self, ex)
 238      end
 239      alias wm_iconify iconify
 240 
 241      def Wm.iconmask(win, bmp=nil)
 242        if bmp
 243          tk_call_without_enc('wm', 'iconmask', win.epath, bmp)
 244          win
 245        else
 246          image_obj(tk_call_without_enc('wm', 'iconmask', win.epath))
 247        end
 248      end
 249      def iconmask(bmp=nil)
 250        Wm.iconmask(self, bmp)
 251      end
 252      alias wm_iconmask iconmask
 253      TOPLEVEL_METHODCALL_OPTKEYS['iconmask'] = 'iconmask'
 254 
 255      def Wm.iconname(win, name=nil)
 256        if name
 257          tk_call('wm', 'iconname', win.epath, name)
 258          win
 259        else
 260          tk_call('wm', 'iconname', win.epath)
 261        end
 262      end
 263      def iconname(name=nil)
 264        Wm.iconname(self, name)
 265      end
 266      alias wm_iconname iconname
 267      TOPLEVEL_METHODCALL_OPTKEYS['iconname'] = 'iconname'
 268 
 269      def Wm.iconposition(win, *args)
 270        if args.size == 0
 271          list(tk_call_without_enc('wm', 'iconposition', win.epath))
 272        else
 273          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
 274          tk_call_without_enc('wm', 'iconposition', win.epath, *args)
 275          win
 276        end
 277      end
 278      def iconposition(*args)
 279        Wm.iconposition(self, *args)
 280      end
 281      alias wm_iconposition iconposition
 282      TOPLEVEL_METHODCALL_OPTKEYS['iconposition'] = 'iconposition'
 283 
 284      def Wm.iconwindow(win, iconwin = nil)
 285        if iconwin
 286          tk_call_without_enc('wm', 'iconwindow', win.epath, iconwin)
 287          win
 288        else
 289          w = tk_call_without_enc('wm', 'iconwindow', win.epath)
 290          (w == '')? nil: window(w)
 291        end
 292      end
 293      def iconwindow(iconwin = nil)
 294        Wm.iconwindow(self, iconwin)
 295      end
 296      alias wm_iconwindow iconwindow
 297      TOPLEVEL_METHODCALL_OPTKEYS['iconwindow'] = 'iconwindow'
 298 
 299      def Wm.manage(win)
 300        # Tcl/Tk 8.5+ feature
 301        tk_call_without_enc('wm', 'manage', win.epath)
 302        win
 303      end
 304      def wm_manage
 305        Wm.manage(self)
 306      end
 307  =begin
 308      def Wm.manage(win, use_id = nil)
 309        # Tcl/Tk 8.5+ feature
 310        # --------------------------------------------------------------
 311        # In the future release, I want to support to embed the 'win' 
 312        # into the container which has window-id 'use-id'.
 313        # It may give users frexibility on controlling their GUI. 
 314        # However, it may be difficult for current Tcl/Tk (Tcl/Tk8.5.1), 
 315        # because it seems to require to modify Tcl/Tk's source code.
 316        # --------------------------------------------------------------
 317        if use_id
 318          tk_call_without_enc('wm', 'manage', win.epath, '-use', use_id)
 319        else
 320          tk_call_without_enc('wm', 'manage', win.epath)
 321        end
 322        win
 323      end
 324  =end
 325 
 326      def Wm.maxsize(win, *args)
 327        if args.size == 0
 328          list(tk_call_without_enc('wm', 'maxsize', win.epath))
 329        else
 330          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
 331          tk_call_without_enc('wm', 'maxsize', win.epath, *args)
 332          win
 333        end
 334      end
 335      def maxsize(*args)
 336        Wm.maxsize(self, *args)
 337      end
 338      alias wm_maxsize maxsize
 339      TOPLEVEL_METHODCALL_OPTKEYS['maxsize'] = 'maxsize'
 340 
 341      def Wm.minsize(win, *args)
 342        if args.size == 0
 343          list(tk_call_without_enc('wm', 'minsize', win.epath))
 344        else
 345          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
 346          tk_call_without_enc('wm', 'minsize', win.path, *args)
 347          win
 348        end
 349      end
 350      def minsize(*args)
 351        Wm.minsize(self, *args)
 352      end
 353      alias wm_minsize minsize
 354      TOPLEVEL_METHODCALL_OPTKEYS['minsize'] = 'minsize'
 355 
 356      def Wm.overrideredirect(win, mode=TkComm::None)
 357        if mode == TkComm::None
 358          bool(tk_call_without_enc('wm', 'overrideredirect', win.epath))
 359        else
 360          tk_call_without_enc('wm', 'overrideredirect', win.epath, mode)
 361          win
 362        end
 363      end
 364      def overrideredirect(mode=TkComm::None)
 365        Wm.overrideredirect(self, mode)
 366      end
 367      alias wm_overrideredirect overrideredirect
 368      TOPLEVEL_METHODCALL_OPTKEYS['overrideredirect'] = 'overrideredirect'
 369 
 370      def Wm.positionfrom(win, who=TkComm::None)
 371        if who == TkComm::None
 372          r = tk_call_without_enc('wm', 'positionfrom', win.epath)
 373          (r == "")? nil: r
 374        else
 375          tk_call_without_enc('wm', 'positionfrom', win.epath, who)
 376          win
 377        end
 378      end
 379      def positionfrom(who=TkComm::None)
 380        Wm.positionfrom(self, who)
 381      end
 382      alias wm_positionfrom positionfrom
 383      TOPLEVEL_METHODCALL_OPTKEYS['positionfrom'] = 'positionfrom'
 384 
 385      def Wm.protocol(win, name=nil, cmd=nil, &b)
 386        if cmd
 387          tk_call_without_enc('wm', 'protocol', win.epath, name, cmd)
 388          win
 389        elsif b
 390          tk_call_without_enc('wm', 'protocol', win.epath, name, proc(&b))
 391          win
 392        elsif name
 393          result = tk_call_without_enc('wm', 'protocol', win.epath, name)
 394          (result == "")? nil : tk_tcl2ruby(result)
 395        else
 396          tk_split_simplelist(tk_call_without_enc('wm', 'protocol', win.epath))
 397        end
 398      end
 399      def protocol(name=nil, cmd=nil, &b)
 400        Wm.protocol(self, name, cmd, &b)
 401      end
 402      alias wm_protocol protocol
 403 
 404      def Wm.protocols(win, kv=nil)
 405        unless kv
 406          ret = {}
 407          Wm.protocol(win).each{|name|
 408            ret[name] = Wm.protocol(win, name)
 409          }
 410          return ret
 411        end
 412 
 413        unless kv.kind_of?(Hash)
 414          fail ArgumentError, 'expect a hash of protocol=>command'
 415        end
 416        kv.each{|k, v| Wm.protocol(win, k, v)}
 417        win
 418      end
 419      def protocols(kv=nil)
 420        Wm.protocols(self, kv)
 421      end
 422      alias wm_protocols protocols
 423      TOPLEVEL_METHODCALL_OPTKEYS['protocols'] = 'protocols'
 424 
 425      def Wm.resizable(win, *args)
 426        if args.length == 0
 427          list(tk_call_without_enc('wm', 'resizable', win.epath)).map!{|e| bool(e)}
 428        else
 429          args = args[0] if args.length == 1 && args[0].kind_of?(Array)
 430          tk_call_without_enc('wm', 'resizable', win.epath, *args)
 431          win
 432        end
 433      end
 434      def resizable(*args)
 435        Wm.resizable(self, *args)
 436      end
 437      alias wm_resizable resizable
 438      TOPLEVEL_METHODCALL_OPTKEYS['resizable'] = 'resizable'
 439 
 440      def Wm.sizefrom(win, who=TkComm::None)
 441        if who == TkComm::None
 442          r = tk_call_without_enc('wm', 'sizefrom', win.epath)
 443          (r == "")? nil: r
 444        else
 445          tk_call_without_enc('wm', 'sizefrom', win.epath, who)
 446          win
 447        end
 448      end
 449      def sizefrom(who=TkComm::None)
 450        Wm.sizefrom(self, who)
 451      end
 452      alias wm_sizefrom sizefrom
 453      TOPLEVEL_METHODCALL_OPTKEYS['sizefrom'] = 'sizefrom'
 454 
 455      def Wm.stackorder(win)
 456        list(tk_call('wm', 'stackorder', win.epath))
 457      end
 458      def stackorder
 459        Wm.stackorder(self)
 460      end
 461      alias wm_stackorder stackorder
 462 
 463      def Wm.stackorder_isabove(win, target)
 464        bool(tk_call('wm', 'stackorder', win.epath, 'isabove', target))
 465      end
 466      def Wm.stackorder_is_above(win, target)
 467        Wm.stackorder_isabove(win, target)
 468      end
 469      def stackorder_isabove(target)
 470        Wm.stackorder_isabove(self, target)
 471      end
 472      alias stackorder_is_above stackorder_isabove
 473      alias wm_stackorder_isabove stackorder_isabove
 474      alias wm_stackorder_is_above stackorder_isabove
 475 
 476      def Wm.stackorder_isbelow(win, target)
 477        bool(tk_call('wm', 'stackorder', win.epath, 'isbelow', target))
 478      end
 479      def Wm.stackorder_is_below(win, target)
 480        Wm.stackorder_isbelow(win, target)
 481      end
 482      def stackorder_isbelow(target)
 483        Wm.stackorder_isbelow(self, target)
 484      end
 485      alias stackorder_is_below stackorder_isbelow
 486      alias wm_stackorder_isbelow stackorder_isbelow
 487      alias wm_stackorder_is_below stackorder_isbelow
 488 
 489      def Wm.state(win, st=nil)
 490        if st
 491          tk_call_without_enc('wm', 'state', win.epath, st)
 492          win
 493        else
 494          tk_call_without_enc('wm', 'state', win.epath)
 495        end
 496      end
 497      def state(st=nil)
 498        Wm.state(self, st)
 499      end
 500      alias wm_state state
 501      TOPLEVEL_METHODCALL_OPTKEYS['state'] = 'state'
 502 
 503      def Wm.title(win, str=nil)
 504        if str
 505          tk_call('wm', 'title', win.epath, str)
 506          win
 507        else
 508          tk_call('wm', 'title', win.epath)
 509        end
 510      end
 511      def title(str=nil)
 512        Wm.title(self, str)
 513      end
 514      alias wm_title title
 515      TOPLEVEL_METHODCALL_OPTKEYS['title'] = 'title'
 516 
 517      def Wm.transient(win, master=nil)
 518        if master
 519          tk_call_without_enc('wm', 'transient', win.epath, master)
 520          win
 521        else
 522          window(tk_call_without_enc('wm', 'transient', win.epath))
 523        end
 524      end
 525      def transient(master=nil)
 526        Wm.transient(self, master)
 527      end
 528      alias wm_transient transient
 529      TOPLEVEL_METHODCALL_OPTKEYS['transient'] = 'transient'
 530 
 531      def Wm.withdraw(win, ex = true)
 532        if ex
 533          tk_call_without_enc('wm', 'withdraw', win.epath)
 534        else
 535          Wm.deiconify(win)
 536        end
 537        win
 538      end
 539      def withdraw(ex = true)
 540        Wm.withdraw(self, ex)
 541      end
 542      alias wm_withdraw withdraw
 543    end
 544 
 545    module Wm_for_General
 546      Wm.instance_methods.each{|m|
 547        if (m = m.to_s) =~ /^wm_(.*)$/
 548          eval "def #{m}(*args, &b); Tk::Wm.#{$1}(self, *args, &b); end"
 549        end
 550      }
 551    end
 552  end