Module Tk
In: tk/lib/tkextlib/winico/winico.rb
tk/lib/tkextlib/vu.rb
tk/lib/tkextlib/vu/spinbox.rb
tk/lib/tkextlib/vu/pie.rb
tk/lib/tkextlib/vu/dial.rb
tk/lib/tkextlib/vu/charts.rb
tk/lib/tkextlib/vu/bargraph.rb
tk/lib/tkextlib/treectrl/tktreectrl.rb
tk/lib/tkextlib/tktrans/tktrans.rb
tk/lib/tkextlib/tktable/tktable.rb
tk/lib/tkextlib/tkimg.rb
tk/lib/tkextlib/tkimg/xpm.rb
tk/lib/tkextlib/tkimg/xbm.rb
tk/lib/tkextlib/tkimg/window.rb
tk/lib/tkextlib/tkimg/tiff.rb
tk/lib/tkextlib/tkimg/tga.rb
tk/lib/tkextlib/tkimg/sun.rb
tk/lib/tkextlib/tkimg/sgi.rb
tk/lib/tkextlib/tkimg/ps.rb
tk/lib/tkextlib/tkimg/ppm.rb
tk/lib/tkextlib/tkimg/png.rb
tk/lib/tkextlib/tkimg/pixmap.rb
tk/lib/tkextlib/tkimg/pcx.rb
tk/lib/tkextlib/tkimg/jpeg.rb
tk/lib/tkextlib/tkimg/ico.rb
tk/lib/tkextlib/tkimg/gif.rb
tk/lib/tkextlib/tkimg/bmp.rb
tk/lib/tkextlib/tkHTML/htmlwidget.rb
tk/lib/tkextlib/tkDND.rb
tk/lib/tkextlib/tkDND/tkdnd.rb
tk/lib/tkextlib/tkDND/shape.rb
tk/lib/tkextlib/tile.rb
tk/lib/tkextlib/tile/tsquare.rb
tk/lib/tkextlib/tile/tseparator.rb
tk/lib/tkextlib/tile/tscrollbar.rb
tk/lib/tkextlib/tile/tscale.rb
tk/lib/tkextlib/tile/treeview.rb
tk/lib/tkextlib/tile/tradiobutton.rb
tk/lib/tkextlib/tile/tprogressbar.rb
tk/lib/tkextlib/tile/tpaned.rb
tk/lib/tkextlib/tile/tnotebook.rb
tk/lib/tkextlib/tile/tmenubutton.rb
tk/lib/tkextlib/tile/tlabelframe.rb
tk/lib/tkextlib/tile/tlabel.rb
tk/lib/tkextlib/tile/tframe.rb
tk/lib/tkextlib/tile/tentry.rb
tk/lib/tkextlib/tile/tcombobox.rb
tk/lib/tkextlib/tile/tcheckbutton.rb
tk/lib/tkextlib/tile/tbutton.rb
tk/lib/tkextlib/tile/style.rb
tk/lib/tkextlib/tile/dialog.rb
tk/lib/tkextlib/tclx/tclx.rb
tk/lib/tkextlib/tcllib.rb
tk/lib/tkextlib/tcllib/tkpiechart.rb
tk/lib/tkextlib/tcllib/tablelist_tile.rb
tk/lib/tkextlib/tcllib/tablelist_core.rb
tk/lib/tkextlib/tcllib/plotchart.rb
tk/lib/tkextlib/tcllib/ip_entry.rb
tk/lib/tkextlib/tcllib/ico.rb
tk/lib/tkextlib/tcllib/datefield.rb
tk/lib/tkextlib/tcllib/cursor.rb
tk/lib/tkextlib/tcllib/ctext.rb
tk/lib/tkextlib/tcllib/autoscroll.rb
tk/lib/tkextlib/iwidgets.rb
tk/lib/tkextlib/iwidgets/watch.rb
tk/lib/tkextlib/iwidgets/toolbar.rb
tk/lib/tkextlib/iwidgets/timefield.rb
tk/lib/tkextlib/iwidgets/timeentry.rb
tk/lib/tkextlib/iwidgets/tabset.rb
tk/lib/tkextlib/iwidgets/tabnotebook.rb
tk/lib/tkextlib/iwidgets/spintime.rb
tk/lib/tkextlib/iwidgets/spinner.rb
tk/lib/tkextlib/iwidgets/spinint.rb
tk/lib/tkextlib/iwidgets/spindate.rb
tk/lib/tkextlib/iwidgets/shell.rb
tk/lib/tkextlib/iwidgets/selectiondialog.rb
tk/lib/tkextlib/iwidgets/selectionbox.rb
tk/lib/tkextlib/iwidgets/scrolledwidget.rb
tk/lib/tkextlib/iwidgets/scrolledtext.rb
tk/lib/tkextlib/iwidgets/scrolledlistbox.rb
tk/lib/tkextlib/iwidgets/scrolledhtml.rb
tk/lib/tkextlib/iwidgets/scrolledframe.rb
tk/lib/tkextlib/iwidgets/scrolledcanvas.rb
tk/lib/tkextlib/iwidgets/scopedobject.rb
tk/lib/tkextlib/iwidgets/radiobox.rb
tk/lib/tkextlib/iwidgets/pushbutton.rb
tk/lib/tkextlib/iwidgets/promptdialog.rb
tk/lib/tkextlib/iwidgets/panedwindow.rb
tk/lib/tkextlib/iwidgets/optionmenu.rb
tk/lib/tkextlib/iwidgets/notebook.rb
tk/lib/tkextlib/iwidgets/messagedialog.rb
tk/lib/tkextlib/iwidgets/messagebox.rb
tk/lib/tkextlib/iwidgets/menubar.rb
tk/lib/tkextlib/iwidgets/mainwindow.rb
tk/lib/tkextlib/iwidgets/labeledwidget.rb
tk/lib/tkextlib/iwidgets/labeledframe.rb
tk/lib/tkextlib/iwidgets/hyperhelp.rb
tk/lib/tkextlib/iwidgets/hierarchy.rb
tk/lib/tkextlib/iwidgets/finddialog.rb
tk/lib/tkextlib/iwidgets/fileselectiondialog.rb
tk/lib/tkextlib/iwidgets/fileselectionbox.rb
tk/lib/tkextlib/iwidgets/feedback.rb
tk/lib/tkextlib/iwidgets/extfileselectiondialog.rb
tk/lib/tkextlib/iwidgets/extfileselectionbox.rb
tk/lib/tkextlib/iwidgets/extbutton.rb
tk/lib/tkextlib/iwidgets/entryfield.rb
tk/lib/tkextlib/iwidgets/disjointlistbox.rb
tk/lib/tkextlib/iwidgets/dialogshell.rb
tk/lib/tkextlib/iwidgets/dialog.rb
tk/lib/tkextlib/iwidgets/datefield.rb
tk/lib/tkextlib/iwidgets/dateentry.rb
tk/lib/tkextlib/iwidgets/combobox.rb
tk/lib/tkextlib/iwidgets/checkbox.rb
tk/lib/tkextlib/iwidgets/canvasprintdialog.rb
tk/lib/tkextlib/iwidgets/canvasprintbox.rb
tk/lib/tkextlib/iwidgets/calendar.rb
tk/lib/tkextlib/iwidgets/buttonbox.rb
tk/lib/tkextlib/itk/incr_tk.rb
tk/lib/tkextlib/itcl/incr_tcl.rb
tk/lib/tkextlib/ICONS/icons.rb
tk/lib/tkextlib/bwidget.rb
tk/lib/tkextlib/bwidget/widget.rb
tk/lib/tkextlib/bwidget/tree.rb
tk/lib/tkextlib/bwidget/titleframe.rb
tk/lib/tkextlib/bwidget/statusbar.rb
tk/lib/tkextlib/bwidget/spinbox.rb
tk/lib/tkextlib/bwidget/separator.rb
tk/lib/tkextlib/bwidget/selectfont.rb
tk/lib/tkextlib/bwidget/selectcolor.rb
tk/lib/tkextlib/bwidget/scrollview.rb
tk/lib/tkextlib/bwidget/scrolledwindow.rb
tk/lib/tkextlib/bwidget/scrollableframe.rb
tk/lib/tkextlib/bwidget/progressdlg.rb
tk/lib/tkextlib/bwidget/progressbar.rb
tk/lib/tkextlib/bwidget/passwddlg.rb
tk/lib/tkextlib/bwidget/panelframe.rb
tk/lib/tkextlib/bwidget/panedwindow.rb
tk/lib/tkextlib/bwidget/pagesmanager.rb
tk/lib/tkextlib/bwidget/notebook.rb
tk/lib/tkextlib/bwidget/messagedlg.rb
tk/lib/tkextlib/bwidget/mainframe.rb
tk/lib/tkextlib/bwidget/listbox.rb
tk/lib/tkextlib/bwidget/labelframe.rb
tk/lib/tkextlib/bwidget/labelentry.rb
tk/lib/tkextlib/bwidget/label.rb
tk/lib/tkextlib/bwidget/entry.rb
tk/lib/tkextlib/bwidget/dynamichelp.rb
tk/lib/tkextlib/bwidget/dropsite.rb
tk/lib/tkextlib/bwidget/dragsite.rb
tk/lib/tkextlib/bwidget/dialog.rb
tk/lib/tkextlib/bwidget/combobox.rb
tk/lib/tkextlib/bwidget/buttonbox.rb
tk/lib/tkextlib/bwidget/button.rb
tk/lib/tkextlib/bwidget/bitmap.rb
tk/lib/tkextlib/bwidget/arrowbutton.rb
tk/lib/tkextlib/blt.rb
tk/lib/tk.rb
tk/lib/tk/wm.rb
tk/lib/tk/variable.rb
tk/lib/tk/validation.rb
tk/lib/tk/scrollable.rb
tk/lib/tk/optionobj.rb
tk/lib/tk/macpkg.rb
tk/lib/tk/encodedstr.rb
tk/lib/tk/clock.rb
tk/lib/tk/autoload.rb

sub-module of Tk

Methods

Included Modules

TkCore

Classes and Modules

Module Tk::BLT
Module Tk::BWidget
Module Tk::Clock
Module Tk::Encoding
Module Tk::Img
Module Tk::Itcl
Module Tk::ItemValidateConfigure
Module Tk::Itk
Module Tk::Iwidgets
Module Tk::Scrollable
Module Tk::TclX
Module Tk::Tcllib
Module Tk::Tile
Module Tk::TkDND
Module Tk::TkTrans
Module Tk::ValidateConfigure
Module Tk::Vu
Module Tk::Wm
Module Tk::X_Scrollable
Module Tk::Y_Scrollable
Class Tk::BinaryString
Class Tk::EncodedString
Class Tk::HTML_Widget
Class Tk::ICONS
Class Tk::OptionObj
Class Tk::TkTable
Class Tk::TreeCtrl
Class Tk::UTF8_String
Class Tk::Winico

Constants

TreeCtrl_Widget = TreeCtrl
TCL_VERSION = INTERP._invoke_without_enc("info", "tclversion").freeze
TCL_PATCHLEVEL = INTERP._invoke_without_enc("info", "patchlevel").freeze
TCL_MAJOR_VERSION = major.to_i
TCL_MINOR_VERSION = minor.to_i
TK_VERSION = INTERP._invoke_without_enc("set", "tk_version").freeze
TK_PATCHLEVEL = INTERP._invoke_without_enc("set", "tk_patchLevel").freeze
TK_MAJOR_VERSION = major.to_i
TK_MINOR_VERSION = minor.to_i
JAPANIZED_TK = (INTERP._invoke_without_enc("info", "commands", "kanji") != "").freeze
RELEASE_DATE = '2005-10-24'.freeze
AUTO_PATH = TkVarAccess.new('auto_path', auto_path)
TCL_PACKAGE_PATH = TkVarAccess.new('tcl_pkgPath')
PACKAGE_PATH = TCL_PACKAGE_PATH
TCL_LIBRARY_PATH = TkVarAccess.new('tcl_libPath')
LIBRARY_PATH = TCL_LIBRARY_PATH
TCL_PRECISION = TkVarAccess.new('tcl_precision')

Public Class methods

[Source]

# File tk/lib/tk/autoload.rb, line 191
  def Tk.BinaryString(str); Tk::BinaryString.new(str); end

[Source]

# File tk/lib/tk/autoload.rb, line 188
  def Tk.EncodedString(str, enc = nil); Tk::EncodedString.new(str, enc); end

[Source]

# File tk/lib/tk/autoload.rb, line 194
  def Tk.UTF8_String(str); Tk::UTF8_String.new(str); end

[Source]

# File tk/lib/tk.rb, line 2020
  def Tk.add_kinsoku(chars, mode='both')
    begin
      if /^8\.*/ === TK_VERSION  && JAPANIZED_TK
        tk_split_simplelist(tk_call('kinsoku', 'add', mode, 
                                    *(chars.split(''))))
      else
        []
      end
    rescue
      []
    end
  end

[Source]

# File tk/lib/tk.rb, line 1869
  def Tk.bell(nice = false)
    if nice
      tk_call_without_enc('bell', '-nice')
    else
      tk_call_without_enc('bell')
    end
    nil
  end

[Source]

# File tk/lib/tk.rb, line 1878
  def Tk.bell_on_display(win, nice = false)
    if nice
      tk_call_without_enc('bell', '-displayof', win, '-nice')
    else
      tk_call_without_enc('bell', '-displayof', win)
    end
    nil
  end

[Source]

# File tk/lib/tk.rb, line 1748
  def Tk.const_missing(sym)
    case(sym)
    when :TCL_LIBRARY
      INTERP._invoke_without_enc('global', 'tcl_library')
      INTERP._invoke("set", "tcl_library").freeze

    when :TK_LIBRARY
      INTERP._invoke_without_enc('global', 'tk_library')
      INTERP._invoke("set", "tk_library").freeze

    when :LIBRARY
      INTERP._invoke("info", "library").freeze

    #when :PKG_PATH, :PACKAGE_PATH, :TCL_PACKAGE_PATH
    #  INTERP._invoke_without_enc('global', 'tcl_pkgPath')
    #  tk_split_simplelist(INTERP._invoke('set', 'tcl_pkgPath'))

    #when :LIB_PATH, :LIBRARY_PATH, :TCL_LIBRARY_PATH
    #  INTERP._invoke_without_enc('global', 'tcl_libPath')
    #  tk_split_simplelist(INTERP._invoke('set', 'tcl_libPath'))

    when :PLATFORM, :TCL_PLATFORM
      if $SAFE >= 4
        fail SecurityError, "can't get #{sym} when $SAFE >= 4"
      end
      INTERP._invoke_without_enc('global', 'tcl_platform')
      Hash[*tk_split_simplelist(INTERP._invoke_without_enc('array', 'get', 
                                                           'tcl_platform'))]

    when :ENV
      INTERP._invoke_without_enc('global', 'env')
      Hash[*tk_split_simplelist(INTERP._invoke('array', 'get', 'env'))]

    #when :AUTO_PATH   #<=== 
    #  tk_split_simplelist(INTERP._invoke('set', 'auto_path'))

    #when :AUTO_OLDPATH
    #  tk_split_simplelist(INTERP._invoke('set', 'auto_oldpath'))

    when :AUTO_INDEX
      INTERP._invoke_without_enc('global', 'auto_index')
      Hash[*tk_split_simplelist(INTERP._invoke('array', 'get', 'auto_index'))]

    when :PRIV, :PRIVATE, :TK_PRIV
      priv = {}
      if INTERP._invoke_without_enc('info', 'vars', 'tk::Priv') != ""
        var_nam = 'tk::Priv'
      else
        var_nam = 'tkPriv'
      end
      INTERP._invoke_without_enc('global', var_nam)
      Hash[*tk_split_simplelist(INTERP._invoke('array', 'get', 
                                               var_nam))].each{|k,v|
        k.freeze
        case v
        when /^-?\d+$/
          priv[k] = v.to_i
        when /^-?\d+\.?\d*(e[-+]?\d+)?$/
          priv[k] = v.to_f
        else
          priv[k] = v.freeze
        end
      }
      priv

    else
      raise NameError, 'uninitialized constant Tk::' + sym.id2name
    end
  end

[Source]

# File tk/lib/tk.rb, line 1972
  def Tk.current_grabs(win = nil)
    if win
      window(tk_call_without_enc('grab', 'current', win))
    else
      tk_split_list(tk_call_without_enc('grab', 'current'))
    end
  end

[Source]

# File tk/lib/tkextlib/tcllib/cursor.rb, line 46
  def self.cursor_display(parent=None)
    # Pops up a dialog with a listbox containing all the cursor names. 
    # Selecting a cursor name will display it in that dialog. 
    # This is simply for viewing any available cursors on the platform .
    #tk_call_without_enc('::cursor::display', parent)
    Tk::Tcllib::Cursor.cursor_display(parent)
  end

[Source]

# File tk/lib/tk.rb, line 2032
  def Tk.delete_kinsoku(chars, mode='both')
    begin
      if /^8\.*/ === TK_VERSION  && JAPANIZED_TK
        tk_split_simplelist(tk_call('kinsoku', 'delete', mode, 
                            *(chars.split(''))))
      end
    rescue
    end
  end

[Source]

# File tk/lib/tk.rb, line 1887
  def Tk.destroy(*wins)
    #tk_call_without_enc('destroy', *wins)
    tk_call_without_enc('destroy', *(wins.collect{|win|
                                       if win.kind_of?(TkWindow)
                                         win.epath
                                       else
                                         win
                                       end
                                     }))
  end

[Source]

# File tk/lib/tk.rb, line 1823
  def Tk.errorCode
    INTERP._invoke_without_enc('global', 'errorCode')
    code = tk_split_simplelist(INTERP._invoke_without_enc('set', 'errorCode'))
    case code[0]
    when 'CHILDKILLED', 'CHILDSTATUS', 'CHILDSUSP'
      begin
        pid = Integer(code[1])
        code[1] = pid
      rescue
      end
    end
    code
  end

[Source]

# File tk/lib/tk.rb, line 1818
  def Tk.errorInfo
    INTERP._invoke_without_enc('global', 'errorInfo')
    INTERP._invoke_without_enc('set', 'errorInfo')
  end

[Source]

# File tk/lib/tk.rb, line 1898
  def Tk.exit
    tk_call_without_enc('destroy', '.')
  end

[Source]

# File tk/lib/tk.rb, line 1980
  def Tk.focus(display=nil)
    if display == nil
      window(tk_call_without_enc('focus'))
    else
      window(tk_call_without_enc('focus', '-displayof', display))
    end
  end

[Source]

# File tk/lib/tk.rb, line 1996
  def Tk.focus_lastfor(win)
    window(tk_call_without_enc('focus', '-lastfor', win))
  end

[Source]

# File tk/lib/tk.rb, line 2000
  def Tk.focus_next(win)
    TkManageFocus.next(win)
  end

[Source]

# File tk/lib/tk.rb, line 2004
  def Tk.focus_prev(win)
    TkManageFocus.prev(win)
  end

[Source]

# File tk/lib/tk.rb, line 1988
  def Tk.focus_to(win, force=false)
    if force
      tk_call_without_enc('focus', '-force', win)
    else
      tk_call_without_enc('focus', win)
    end
  end

[Source]

# File tk/lib/tk.rb, line 2046
  def Tk.fromUTF8(str, encoding = nil)
    _fromUTF8(str, encoding)
  end

[Source]

# File tk/lib/tk.rb, line 1912
  def Tk.grid(*args)
    TkGrid.configure(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1915
  def Tk.grid_forget(*args)
    TkGrid.forget(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1837
  def Tk.has_mainwindow?
    INTERP.has_mainwindow?
  end

[Source]

# File tk/lib/tk.rb, line 1854
  def Tk.load_tcllibrary(file, pkg_name=None, interp=None)
    tk_call('load', file, pkg_name, interp)
  end

[Source]

# File tk/lib/tk.rb, line 1845
  def Tk.load_tclscript(file, enc=nil)
    if enc
      # TCL_VERSION >= 8.5
      tk_call('source', '-encoding', enc, file)
    else
      tk_call('source', file)
    end
  end

[Source]

# File tk/lib/tk/macpkg.rb, line 12
  def Tk.load_tclscript_rsrc(resource_name, file=None)
    # Mac only
    tk_call('source', '-rsrc', resource_name, file)
  end

[Source]

# File tk/lib/tk/macpkg.rb, line 17
  def Tk.load_tclscript_rsrcid(resource_id, file=None)
    # Mac only
    tk_call('source', '-rsrcid', resource_id, file)
  end

[Source]

# File tk/lib/tk.rb, line 1963
  def Tk.lower_window(win, below=None)
    tk_call('lower', _epath(win), _epath(below))
    nil
  end

[Source]

# File tk/lib/tk.rb, line 1902
  def Tk.pack(*args)
    TkPack.configure(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1905
  def Tk.pack_forget(*args)
    TkPack.forget(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1922
  def Tk.place(*args)
    TkPlace.configure(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1925
  def Tk.place_forget(*args)
    TkPlace.forget(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1967
  def Tk.raise_window(win, above=None)
    tk_call('raise', _epath(win), _epath(above))
    nil
  end

[Source]

# File tk/lib/tk.rb, line 2012
  def Tk.show_kinsoku(mode='both')
    begin
      if /^8\.*/ === TK_VERSION  && JAPANIZED_TK
        tk_split_simplelist(tk_call('kinsoku', 'show', mode))
      end
    rescue
    end
  end

[Source]

# File tk/lib/tk.rb, line 2008
  def Tk.strictMotif(mode=None)
    bool(tk_call_without_enc('set', 'tk_strictMotif', mode))
  end

[Source]

# File tk/lib/tk.rb, line 2058
  def Tk.subst_tk_backslash(str)
    Tk::EncodedString.subst_tk_backslash(str)
  end

[Source]

# File tk/lib/tk.rb, line 2055
  def Tk.subst_utf_backslash(str)
    Tk::EncodedString.subst_utf_backslash(str)
  end
NOTE:If no eventloop-thread is running, "thread_update" method is same to "update" method. Else, "thread_update" method waits to complete idletask operation on the eventloop-thread.

[Source]

# File tk/lib/tk.rb, line 1952
  def Tk.thread_update(idle=nil)
    if idle
      tk_call_without_enc('thread_update', 'idletasks')
    else
      tk_call_without_enc('thread_update')
    end
  end

[Source]

# File tk/lib/tk.rb, line 1959
  def Tk.thread_update_idletasks
    thread_update(true)
  end

[Source]

# File tk/lib/tk.rb, line 2042
  def Tk.toUTF8(str, encoding = nil)
    _toUTF8(str, encoding)
  end

[Source]

# File tk/lib/tk.rb, line 2067
  def Tk.to_backslash_sequence(str)
    Tk::EncodedString.to_backslash_sequence(str)
  end

[Source]

# File tk/lib/tk.rb, line 1918
  def Tk.ungrid(*args)
    TkGrid.forget(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1858
  def Tk.unload_tcllibrary(*args)
    if args[-1].kind_of?(Hash)
      keys = _symbolkey2str(args.pop)
      nocomp = (keys['nocomplain'])? '-nocomplain': None
      keeplib = (keys['keeplibrary'])? '-keeplibrary': None
      tk_call('unload', nocomp, keeplib, '--', *args)
    else
      tk_call('unload', *args)
    end
  end

[Source]

# File tk/lib/tk.rb, line 1908
  def Tk.unpack(*args)
    TkPack.forget(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1928
  def Tk.unplace(*args)
    TkPlace.forget(*args)
  end

[Source]

# File tk/lib/tk.rb, line 1932
  def Tk.update(idle=nil)
    if idle
      tk_call_without_enc('update', 'idletasks')
    else
      tk_call_without_enc('update')
    end
  end

[Source]

# File tk/lib/tk.rb, line 1939
  def Tk.update_idletasks
    update(true)
  end

[Source]

# File tk/lib/tk.rb, line 2064
  def Tk.utf_to_backslash(str)
    Tk::EncodedString.utf_to_backslash_sequence(str)
  end

[Source]

# File tk/lib/tk.rb, line 2061
  def Tk.utf_to_backslash_sequence(str)
    Tk::EncodedString.utf_to_backslash_sequence(str)
  end

Public Instance methods

[Source]

# File tk/lib/tk.rb, line 1841
  def root
    TkRoot.new
  end

[Source]

# File tk/lib/tk.rb, line 1942
  def update(idle=nil)
    # only for backward compatibility (This never be recommended to use)
    Tk.update(idle)
    self
  end

[Validate]