Support for the Ruby 2.1 series ended on March 31 2017. See here for details.

In Files

  • tk/lib/tk.rb
  • tk/lib/tk/autoload.rb
  • tk/lib/tk/busy.rb
  • tk/lib/tk/button.rb
  • tk/lib/tk/canvas.rb
  • tk/lib/tk/checkbutton.rb
  • tk/lib/tk/clock.rb
  • tk/lib/tk/composite.rb
  • tk/lib/tk/encodedstr.rb
  • tk/lib/tk/entry.rb
  • tk/lib/tk/font.rb
  • tk/lib/tk/frame.rb
  • tk/lib/tk/grid.rb
  • tk/lib/tk/itemfont.rb
  • tk/lib/tk/label.rb
  • tk/lib/tk/labelframe.rb
  • tk/lib/tk/listbox.rb
  • tk/lib/tk/macpkg.rb
  • tk/lib/tk/menu.rb
  • tk/lib/tk/menuspec.rb
  • tk/lib/tk/message.rb
  • tk/lib/tk/optionobj.rb
  • tk/lib/tk/package.rb
  • tk/lib/tk/panedwindow.rb
  • tk/lib/tk/radiobutton.rb
  • tk/lib/tk/root.rb
  • tk/lib/tk/scale.rb
  • tk/lib/tk/scrollable.rb
  • tk/lib/tk/scrollbar.rb
  • tk/lib/tk/spinbox.rb
  • tk/lib/tk/text.rb
  • tk/lib/tk/textimage.rb
  • tk/lib/tk/textmark.rb
  • tk/lib/tk/texttag.rb
  • tk/lib/tk/textwindow.rb
  • tk/lib/tk/toplevel.rb
  • tk/lib/tk/ttk_selector.rb
  • tk/lib/tk/validation.rb
  • tk/lib/tk/variable.rb
  • tk/lib/tk/winpkg.rb
  • tk/lib/tk/wm.rb
  • tk/lib/tk/xim.rb
  • tk/lib/tkextlib/ICONS/icons.rb
  • tk/lib/tkextlib/blt.rb
  • tk/lib/tkextlib/blt/barchart.rb
  • tk/lib/tkextlib/blt/bitmap.rb
  • tk/lib/tkextlib/blt/busy.rb
  • tk/lib/tkextlib/blt/component.rb
  • tk/lib/tkextlib/blt/container.rb
  • tk/lib/tkextlib/blt/cutbuffer.rb
  • tk/lib/tkextlib/blt/dragdrop.rb
  • tk/lib/tkextlib/blt/eps.rb
  • tk/lib/tkextlib/blt/graph.rb
  • tk/lib/tkextlib/blt/htext.rb
  • tk/lib/tkextlib/blt/spline.rb
  • tk/lib/tkextlib/blt/stripchart.rb
  • tk/lib/tkextlib/blt/table.rb
  • tk/lib/tkextlib/blt/tabnotebook.rb
  • tk/lib/tkextlib/blt/tabset.rb
  • tk/lib/tkextlib/blt/ted.rb
  • tk/lib/tkextlib/blt/tile.rb
  • tk/lib/tkextlib/blt/tile/button.rb
  • tk/lib/tkextlib/blt/tile/checkbutton.rb
  • tk/lib/tkextlib/blt/tile/frame.rb
  • tk/lib/tkextlib/blt/tile/label.rb
  • tk/lib/tkextlib/blt/tile/radiobutton.rb
  • tk/lib/tkextlib/blt/tile/scrollbar.rb
  • tk/lib/tkextlib/blt/tile/toplevel.rb
  • tk/lib/tkextlib/blt/tree.rb
  • tk/lib/tkextlib/blt/treeview.rb
  • tk/lib/tkextlib/blt/unix_dnd.rb
  • tk/lib/tkextlib/blt/vector.rb
  • tk/lib/tkextlib/blt/watch.rb
  • tk/lib/tkextlib/blt/win_printer.rb
  • tk/lib/tkextlib/blt/winop.rb
  • tk/lib/tkextlib/bwidget.rb
  • tk/lib/tkextlib/bwidget/arrowbutton.rb
  • tk/lib/tkextlib/bwidget/bitmap.rb
  • tk/lib/tkextlib/bwidget/button.rb
  • tk/lib/tkextlib/bwidget/buttonbox.rb
  • tk/lib/tkextlib/bwidget/combobox.rb
  • tk/lib/tkextlib/bwidget/dialog.rb
  • tk/lib/tkextlib/bwidget/dragsite.rb
  • tk/lib/tkextlib/bwidget/dropsite.rb
  • tk/lib/tkextlib/bwidget/dynamichelp.rb
  • tk/lib/tkextlib/bwidget/entry.rb
  • tk/lib/tkextlib/bwidget/label.rb
  • tk/lib/tkextlib/bwidget/labelentry.rb
  • tk/lib/tkextlib/bwidget/labelframe.rb
  • tk/lib/tkextlib/bwidget/listbox.rb
  • tk/lib/tkextlib/bwidget/mainframe.rb
  • tk/lib/tkextlib/bwidget/messagedlg.rb
  • tk/lib/tkextlib/bwidget/notebook.rb
  • tk/lib/tkextlib/bwidget/pagesmanager.rb
  • tk/lib/tkextlib/bwidget/panedwindow.rb
  • tk/lib/tkextlib/bwidget/panelframe.rb
  • tk/lib/tkextlib/bwidget/passwddlg.rb
  • tk/lib/tkextlib/bwidget/progressbar.rb
  • tk/lib/tkextlib/bwidget/progressdlg.rb
  • tk/lib/tkextlib/bwidget/scrollableframe.rb
  • tk/lib/tkextlib/bwidget/scrolledwindow.rb
  • tk/lib/tkextlib/bwidget/scrollview.rb
  • tk/lib/tkextlib/bwidget/selectcolor.rb
  • tk/lib/tkextlib/bwidget/selectfont.rb
  • tk/lib/tkextlib/bwidget/separator.rb
  • tk/lib/tkextlib/bwidget/spinbox.rb
  • tk/lib/tkextlib/bwidget/statusbar.rb
  • tk/lib/tkextlib/bwidget/titleframe.rb
  • tk/lib/tkextlib/bwidget/tree.rb
  • tk/lib/tkextlib/bwidget/widget.rb
  • tk/lib/tkextlib/itcl/incr_tcl.rb
  • tk/lib/tkextlib/itk/incr_tk.rb
  • tk/lib/tkextlib/iwidgets.rb
  • tk/lib/tkextlib/iwidgets/buttonbox.rb
  • tk/lib/tkextlib/iwidgets/calendar.rb
  • tk/lib/tkextlib/iwidgets/canvasprintbox.rb
  • tk/lib/tkextlib/iwidgets/canvasprintdialog.rb
  • tk/lib/tkextlib/iwidgets/checkbox.rb
  • tk/lib/tkextlib/iwidgets/combobox.rb
  • tk/lib/tkextlib/iwidgets/dateentry.rb
  • tk/lib/tkextlib/iwidgets/datefield.rb
  • tk/lib/tkextlib/iwidgets/dialog.rb
  • tk/lib/tkextlib/iwidgets/dialogshell.rb
  • tk/lib/tkextlib/iwidgets/disjointlistbox.rb
  • tk/lib/tkextlib/iwidgets/entryfield.rb
  • tk/lib/tkextlib/iwidgets/extbutton.rb
  • tk/lib/tkextlib/iwidgets/extfileselectionbox.rb
  • tk/lib/tkextlib/iwidgets/extfileselectiondialog.rb
  • tk/lib/tkextlib/iwidgets/feedback.rb
  • tk/lib/tkextlib/iwidgets/fileselectionbox.rb
  • tk/lib/tkextlib/iwidgets/fileselectiondialog.rb
  • tk/lib/tkextlib/iwidgets/finddialog.rb
  • tk/lib/tkextlib/iwidgets/hierarchy.rb
  • tk/lib/tkextlib/iwidgets/hyperhelp.rb
  • tk/lib/tkextlib/iwidgets/labeledframe.rb
  • tk/lib/tkextlib/iwidgets/labeledwidget.rb
  • tk/lib/tkextlib/iwidgets/mainwindow.rb
  • tk/lib/tkextlib/iwidgets/menubar.rb
  • tk/lib/tkextlib/iwidgets/messagebox.rb
  • tk/lib/tkextlib/iwidgets/messagedialog.rb
  • tk/lib/tkextlib/iwidgets/notebook.rb
  • tk/lib/tkextlib/iwidgets/optionmenu.rb
  • tk/lib/tkextlib/iwidgets/panedwindow.rb
  • tk/lib/tkextlib/iwidgets/promptdialog.rb
  • tk/lib/tkextlib/iwidgets/pushbutton.rb
  • tk/lib/tkextlib/iwidgets/radiobox.rb
  • tk/lib/tkextlib/iwidgets/scopedobject.rb
  • tk/lib/tkextlib/iwidgets/scrolledcanvas.rb
  • tk/lib/tkextlib/iwidgets/scrolledframe.rb
  • tk/lib/tkextlib/iwidgets/scrolledhtml.rb
  • tk/lib/tkextlib/iwidgets/scrolledlistbox.rb
  • tk/lib/tkextlib/iwidgets/scrolledtext.rb
  • tk/lib/tkextlib/iwidgets/scrolledwidget.rb
  • tk/lib/tkextlib/iwidgets/selectionbox.rb
  • tk/lib/tkextlib/iwidgets/selectiondialog.rb
  • tk/lib/tkextlib/iwidgets/shell.rb
  • tk/lib/tkextlib/iwidgets/spindate.rb
  • tk/lib/tkextlib/iwidgets/spinint.rb
  • tk/lib/tkextlib/iwidgets/spinner.rb
  • tk/lib/tkextlib/iwidgets/spintime.rb
  • tk/lib/tkextlib/iwidgets/tabnotebook.rb
  • tk/lib/tkextlib/iwidgets/tabset.rb
  • tk/lib/tkextlib/iwidgets/timeentry.rb
  • tk/lib/tkextlib/iwidgets/timefield.rb
  • tk/lib/tkextlib/iwidgets/toolbar.rb
  • tk/lib/tkextlib/iwidgets/watch.rb
  • tk/lib/tkextlib/tcllib.rb
  • tk/lib/tkextlib/tcllib/autoscroll.rb
  • tk/lib/tkextlib/tcllib/calendar.rb
  • tk/lib/tkextlib/tcllib/canvas_sqmap.rb
  • tk/lib/tkextlib/tcllib/canvas_zoom.rb
  • tk/lib/tkextlib/tcllib/chatwidget.rb
  • tk/lib/tkextlib/tcllib/crosshair.rb
  • tk/lib/tkextlib/tcllib/ctext.rb
  • tk/lib/tkextlib/tcllib/cursor.rb
  • tk/lib/tkextlib/tcllib/dateentry.rb
  • tk/lib/tkextlib/tcllib/datefield.rb
  • tk/lib/tkextlib/tcllib/diagrams.rb
  • tk/lib/tkextlib/tcllib/dialog.rb
  • tk/lib/tkextlib/tcllib/getstring.rb
  • tk/lib/tkextlib/tcllib/history.rb
  • tk/lib/tkextlib/tcllib/ico.rb
  • tk/lib/tkextlib/tcllib/ip_entry.rb
  • tk/lib/tkextlib/tcllib/khim.rb
  • tk/lib/tkextlib/tcllib/menuentry.rb
  • tk/lib/tkextlib/tcllib/ntext.rb
  • tk/lib/tkextlib/tcllib/panelframe.rb
  • tk/lib/tkextlib/tcllib/plotchart.rb
  • tk/lib/tkextlib/tcllib/ruler.rb
  • tk/lib/tkextlib/tcllib/screenruler.rb
  • tk/lib/tkextlib/tcllib/scrolledwindow.rb
  • tk/lib/tkextlib/tcllib/scrollwin.rb
  • tk/lib/tkextlib/tcllib/statusbar.rb
  • tk/lib/tkextlib/tcllib/style.rb
  • tk/lib/tkextlib/tcllib/superframe.rb
  • tk/lib/tkextlib/tcllib/swaplist.rb
  • tk/lib/tkextlib/tcllib/tablelist.rb
  • tk/lib/tkextlib/tcllib/tablelist_core.rb
  • tk/lib/tkextlib/tcllib/tablelist_tile.rb
  • tk/lib/tkextlib/tcllib/tkpiechart.rb
  • tk/lib/tkextlib/tcllib/toolbar.rb
  • tk/lib/tkextlib/tcllib/tooltip.rb
  • tk/lib/tkextlib/tcllib/widget.rb
  • tk/lib/tkextlib/tclx/tclx.rb
  • tk/lib/tkextlib/tile.rb
  • tk/lib/tkextlib/tile/dialog.rb
  • tk/lib/tkextlib/tile/sizegrip.rb
  • tk/lib/tkextlib/tile/style.rb
  • tk/lib/tkextlib/tile/tbutton.rb
  • tk/lib/tkextlib/tile/tcheckbutton.rb
  • tk/lib/tkextlib/tile/tcombobox.rb
  • tk/lib/tkextlib/tile/tentry.rb
  • tk/lib/tkextlib/tile/tframe.rb
  • tk/lib/tkextlib/tile/tlabel.rb
  • tk/lib/tkextlib/tile/tlabelframe.rb
  • tk/lib/tkextlib/tile/tmenubutton.rb
  • tk/lib/tkextlib/tile/tnotebook.rb
  • tk/lib/tkextlib/tile/tpaned.rb
  • tk/lib/tkextlib/tile/tprogressbar.rb
  • tk/lib/tkextlib/tile/tradiobutton.rb
  • tk/lib/tkextlib/tile/treeview.rb
  • tk/lib/tkextlib/tile/tscale.rb
  • tk/lib/tkextlib/tile/tscrollbar.rb
  • tk/lib/tkextlib/tile/tseparator.rb
  • tk/lib/tkextlib/tile/tspinbox.rb
  • tk/lib/tkextlib/tile/tsquare.rb
  • tk/lib/tkextlib/tkDND.rb
  • tk/lib/tkextlib/tkDND/shape.rb
  • tk/lib/tkextlib/tkDND/tkdnd.rb
  • tk/lib/tkextlib/tkHTML/htmlwidget.rb
  • tk/lib/tkextlib/tkimg.rb
  • tk/lib/tkextlib/tkimg/bmp.rb
  • tk/lib/tkextlib/tkimg/gif.rb
  • tk/lib/tkextlib/tkimg/ico.rb
  • tk/lib/tkextlib/tkimg/jpeg.rb
  • tk/lib/tkextlib/tkimg/pcx.rb
  • tk/lib/tkextlib/tkimg/pixmap.rb
  • tk/lib/tkextlib/tkimg/png.rb
  • tk/lib/tkextlib/tkimg/ppm.rb
  • tk/lib/tkextlib/tkimg/ps.rb
  • tk/lib/tkextlib/tkimg/sgi.rb
  • tk/lib/tkextlib/tkimg/sun.rb
  • tk/lib/tkextlib/tkimg/tga.rb
  • tk/lib/tkextlib/tkimg/tiff.rb
  • tk/lib/tkextlib/tkimg/window.rb
  • tk/lib/tkextlib/tkimg/xbm.rb
  • tk/lib/tkextlib/tkimg/xpm.rb
  • tk/lib/tkextlib/tktable/tktable.rb
  • tk/lib/tkextlib/tktrans/tktrans.rb
  • tk/lib/tkextlib/treectrl/tktreectrl.rb
  • tk/lib/tkextlib/trofs/trofs.rb
  • tk/lib/tkextlib/version.rb
  • tk/lib/tkextlib/vu.rb
  • tk/lib/tkextlib/vu/bargraph.rb
  • tk/lib/tkextlib/vu/charts.rb
  • tk/lib/tkextlib/vu/dial.rb
  • tk/lib/tkextlib/vu/pie.rb
  • tk/lib/tkextlib/vu/spinbox.rb
  • tk/lib/tkextlib/winico/winico.rb

Included Modules

Class/Module Index [+]

Quicksearch

Tk

string with Tcl's encoding

dummy methods

freeze core modules

TclTkLib.freeze TclTkIp.freeze TkUtil.freeze TkKernel.freeze TkComm.freeze TkComm::Event.freeze TkCore.freeze Tk.freeze

autoload

geometry manager

classes on Tk module

sub-module of Tk

toplevel classes/modules (switchable)

methods to control default widget set

string with Tcl's encoding

ttk_selector

toplevel classes/modules

autoload

tkextlib/tcllib/tablelist_core.rb

                            by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)

* Part of tcllib extension
* This file is required by 'tkextlib/tcllib/tablelist.rb' or
  'tkextlib/tcllib/tablelist_tile.rb'.

define dummy methods

version 0.4 or former

version 0.5 – version 0.6

version 0.8 or later

Ttk package merged Tcl/Tk core (Tcl/Tk 8.5+)

autoload

release date of tkextlib

autoload

create module/class

create module/class

create module/class

Public Class Methods

BinaryString(str) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 112
def Tk.BinaryString(str); Tk::BinaryString.new(str); end
            
EncodedString(str, enc = nil) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 109
def Tk.EncodedString(str, enc = nil); Tk::EncodedString.new(str, enc); end
            
UTF8_String(str) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 115
def Tk.UTF8_String(str); Tk::UTF8_String.new(str); end
            
__create_widget_set__(new_set, src_set={}) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 720
def __create_widget_set__(new_set, src_set={})
  new_set = new_set.to_sym
  if @TOPLEVEL_ALIAS_TABLE[new_set]
    fail RuntimeError, "A widget-set #{new_set.inspect} is already exist."
  end
  if src_set.kind_of?(Symbol)
    # new_set is an alias name of existed widget set.
    @TOPLEVEL_ALIAS_TABLE[new_set] = @TOPLEVEL_ALIAS_TABLE[src_set]
  else
    @TOPLEVEL_ALIAS_TABLE[new_set] = {}
    src_set.each{|sym, obj| set_topalias(new_set, obj, sym.to_sym) }
  end
end
            
__disable_toplevel_control__(*symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 716
def __disable_toplevel_control__(*symbols)
  symbols.each{|sym| @TOPLEVEL_ALIAS_OWNER[sym.to_sym] = false}
end
            
__import_toplevel_aliases__(target, *symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 667
def __import_toplevel_aliases__(target, *symbols)
  current = @current_default_widget_set
  symbols.each{|sym|
    sym = sym.to_sym
    if (obj = @TOPLEVEL_ALIAS_TABLE[target][sym]).nil?
      # remove
      @TOPLEVEL_ALIAS_TABLE[current].delete(sym)
      @TOPLEVEL_ALIAS_OWNER.delete(sym)
      Tk::TOPLEVEL_ALIASES.module_eval{remove_const sym} if topalias_defined?(sym)
      Object.class_eval{remove_const sym} if topobj_defined?(sym)

    elsif obj == false
      # remove, but OWNER[sym] <- false and not treat Object::sym
      @TOPLEVEL_ALIAS_TABLE[current].delete(sym)
      @TOPLEVEL_ALIAS_OWNER[sym] = false
      Tk::TOPLEVEL_ALIASES.module_eval{remove_const sym} if topalias_defined?(sym)

    elsif @TOPLEVEL_ALIAS_OWNER[sym] == false
      # Object::sym is out of control. --> not change
      # Keep OWNER[sym].
      @TOPLEVEL_ALIAS_TABLE[current][sym] = obj
      replace_topalias(sym, obj)

    else
      # new definition under control
      @TOPLEVEL_ALIAS_OWNER[sym] = current
      @TOPLEVEL_ALIAS_TABLE[current][sym] = obj
      replace_topalias(sym, obj)
      replace_topobj(sym, obj)
    end
  }
end
            
__regist_toplevel_aliases__(target, obj, *symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 434
def __regist_toplevel_aliases__(target, obj, *symbols)
  # initial regist
  @TOPLEVEL_ALIAS_TABLE[target = target.to_sym] ||= {}
  symbols.each{|sym|
    @TOPLEVEL_ALIAS_TABLE[target][sym = sym.to_sym] = obj
    if !topalias_defined?(sym) || target == @current_default_widget_set
      @TOPLEVEL_ALIAS_OWNER[sym] = target
      replace_topalias(sym, obj)
      replace_topobj(sym, obj) unless obj.kind_of?(String) # NOT autoload
    end
  }
end
            
__remove_toplevel_aliases__(*symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 700
def __remove_toplevel_aliases__(*symbols)
  # remove toplevel aliases of current widget set
  current = @current_default_widget_set
  symbols.each{|sym|
    sym = sym.to_sym
    @TOPLEVEL_ALIAS_TABLE[current].delete(sym)
    @TOPLEVEL_ALIAS_OWNER.delete(sym)
    Tk::TOPLEVEL_ALIASES.module_eval{remove_const sym} if topalias_defined?(sym)
    Object.class_eval{remove_const sym} if topobj_defined?(sym)
  }
end
            
__reset_toplevel_owner__(*symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 712
def __reset_toplevel_owner__(*symbols)
  symbols.each{|sym| @TOPLEVEL_ALIAS_OWNER.delete(sym.to_sym)}
end
            
__set_loaded_toplevel_aliases__(autopath, target, obj, *symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 584
def __set_loaded_toplevel_aliases__(autopath, target, obj, *symbols)
  # autopath is an autoload file
  # Currently, this method doesn't support that autoload loads
  # different toplevels between <basename>.rb and <basename>.so extension.
  shortpath = (autopath =~ /^(.*)(.rb|.so)$/)? $1: autopath
  target = target.to_sym
  symbols.map!{|sym| sym.to_sym}

  symbols.each{|sym| regist_sym_for_loaded_file(shortpath, obj, sym) }
  symbols.each{|sym| set_topalias(target, obj, sym)}
end
            
__set_toplevel_aliases__(target, obj, *symbols) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 577
def __set_toplevel_aliases__(target, obj, *symbols)
  # obj is a kind of String : define autoload path
  #                  Class  : use the class object
  target = target.to_sym
  symbols.each{|sym| set_topalias(target, obj, sym.to_sym)}
end
            
__toplevel_alias_setup_proc__(*target_list, &cmd) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 367
def __toplevel_alias_setup_proc__(*target_list, &cmd)
  target_list.each{|target| @TOPLEVEL_ALIAS_SETUP_PROC[target.to_sym] = cmd}
end
            
add_kinsoku(chars, mode='both') click to toggle source
 
               # File tk/lib/tk.rb, line 2539
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
            
bell(nice = false) click to toggle source
 
               # File tk/lib/tk.rb, line 2367
def Tk.bell(nice = false)
  if nice
    tk_call_without_enc('bell', '-nice')
  else
    tk_call_without_enc('bell')
  end
  nil
end
            
bell_on_display(win, nice = false) click to toggle source
 
               # File tk/lib/tk.rb, line 2376
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
            
const_missing(sym) click to toggle source
 
               # File tk/lib/tk.rb, line 2190
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
            
current_grabs(win = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2491
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
            
cursor_display(parent=None) click to toggle 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
            
default_widget_set() click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 340
def default_widget_set
  @current_default_widget_set
end
            
default_widget_set=(target) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 344
def default_widget_set=(target)
  target = target.to_sym
  return target if target == @current_default_widget_set

  if (cmd = @TOPLEVEL_ALIAS_SETUP_PROC[target])
    cmd.call(target)
  end

  _replace_toplevel_aliases(target)
end
            
delete_kinsoku(chars, mode='both') click to toggle source
 
               # File tk/lib/tk.rb, line 2551
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
            
destroy(*wins) click to toggle source
 
               # File tk/lib/tk.rb, line 2385
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
            
errorCode() click to toggle source
 
               # File tk/lib/tk.rb, line 2265
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
            
errorInfo() click to toggle source
 
               # File tk/lib/tk.rb, line 2260
def Tk.errorInfo
  INTERP._invoke_without_enc('global', 'errorInfo')
  INTERP._invoke_without_enc('set', 'errorInfo')
end
            
exit() click to toggle source
 
               # File tk/lib/tk.rb, line 2396
def Tk.exit
  TkCore::INTERP.has_mainwindow? && tk_call_without_enc('destroy', '.')
end
            
focus(display=nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2499
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
            
focus_lastfor(win) click to toggle source
 
               # File tk/lib/tk.rb, line 2515
def Tk.focus_lastfor(win)
  window(tk_call_without_enc('focus', '-lastfor', win))
end
            
focus_next(win) click to toggle source
 
               # File tk/lib/tk.rb, line 2519
def Tk.focus_next(win)
  TkManageFocus.next(win)
end
            
focus_prev(win) click to toggle source
 
               # File tk/lib/tk.rb, line 2523
def Tk.focus_prev(win)
  TkManageFocus.prev(win)
end
            
focus_to(win, force=false) click to toggle source
 
               # File tk/lib/tk.rb, line 2507
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
            
fromUTF8(str, encoding = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2565
def Tk.fromUTF8(str, encoding = nil)
  _fromUTF8(str, encoding)
end
            
grid(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2431
def Tk.grid(*args)
  TkGrid.configure(*args)
end
            
grid_forget(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2434
def Tk.grid_forget(*args)
  TkGrid.forget(*args)
end
            
has_mainwindow?() click to toggle source
 
               # File tk/lib/tk.rb, line 2279
def Tk.has_mainwindow?
  INTERP.has_mainwindow?
end
            
load_tcllibrary(file, pkg_name=None, interp=None) click to toggle source
 
               # File tk/lib/tk.rb, line 2296
def Tk.load_tcllibrary(file, pkg_name=None, interp=None)
  tk_call('load', file, pkg_name, interp)
end
            
load_tclscript(file, enc=nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2287
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
            
load_tclscript_rsrc(resource_name, file=None) click to toggle 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
            
load_tclscript_rsrcid(resource_id, file=None) click to toggle 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
            
lower_window(win, below=None) click to toggle source
 
               # File tk/lib/tk.rb, line 2482
def Tk.lower_window(win, below=None)
  tk_call('lower', _epath(win), _epath(below))
  nil
end
            
pack(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2421
def Tk.pack(*args)
  TkPack.configure(*args)
end
            
pack_forget(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2424
def Tk.pack_forget(*args)
  TkPack.forget(*args)
end
            
pkgconfig_get(mod, key) click to toggle source
 
               # File tk/lib/tk.rb, line 2330
def Tk.pkgconfig_get(mod, key)
  # Tk8.5 feature
  if mod.kind_of?(Module)
    if mod.respond_to?(:package_name)
      pkgname = mod.package_name
    else
      fail NotImplementedError, 'may not be a module for a Tcl extension'
    end
  else
    pkgname = mod.to_s
  end

  pkgname = '::' << pkgname unless pkgname =~ /^::/

  tk_call(pkgname + '::pkgconfig', 'get', key)
end
            
pkgconfig_list(mod) click to toggle source
 
               # File tk/lib/tk.rb, line 2311
def Tk.pkgconfig_list(mod)
  # Tk8.5 feature
  if mod.kind_of?(Module)
    if mod.respond_to?(:package_name)
      pkgname = mod.package_name
    elsif mod.const_defined?(:PACKAGE_NAME)
      pkgname = mod::PACKAGE_NAME
    else
      fail NotImplementedError, 'may not be a module for a Tcl extension'
    end
  else
    pkgname = mod.to_s
  end

  pkgname = '::' << pkgname unless pkgname =~ /^::/

  tk_split_list(tk_call(pkgname + '::pkgconfig', 'list'))
end
            
place(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2441
def Tk.place(*args)
  TkPlace.configure(*args)
end
            
place_forget(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2444
def Tk.place_forget(*args)
  TkPlace.forget(*args)
end
            
raise_window(win, above=None) click to toggle source
 
               # File tk/lib/tk.rb, line 2486
def Tk.raise_window(win, above=None)
  tk_call('raise', _epath(win), _epath(above))
  nil
end
            
show_kinsoku(mode='both') click to toggle source
 
               # File tk/lib/tk.rb, line 2531
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
            
sleep(ms = nil, id = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2402
def Tk.sleep(ms = nil, id = nil)
  if id
    var = (id.kind_of?(TkVariable))? id: TkVarAccess.new(id.to_s)
  else
    var = TkVariable.new
  end

  var.value = tk_call_without_enc('after', ms, proc{ var.value = 0 }) if ms
  var.thread_wait
  ms
end
            
strictMotif(mode=None) click to toggle source
 
               # File tk/lib/tk.rb, line 2527
def Tk.strictMotif(mode=None)
  bool(tk_call_without_enc('set', 'tk_strictMotif', mode))
end
            
subst_tk_backslash(str) click to toggle source
 
               # File tk/lib/tk.rb, line 2577
def Tk.subst_tk_backslash(str)
  Tk::EncodedString.subst_tk_backslash(str)
end
            
subst_utf_backslash(str) click to toggle source
 
               # File tk/lib/tk.rb, line 2574
def Tk.subst_utf_backslash(str)
  Tk::EncodedString.subst_utf_backslash(str)
end
            
tcl_pkgconfig_get(key) click to toggle source
 
               # File tk/lib/tk.rb, line 2352
def Tk.tcl_pkgconfig_get(key)
  # Tk8.5 feature
  Tk.pkgconfig_get('::tcl', key)
end
            
tcl_pkgconfig_list() click to toggle source
 
               # File tk/lib/tk.rb, line 2347
def Tk.tcl_pkgconfig_list
  # Tk8.5 feature
  Tk.pkgconfig_list('::tcl')
end
            
thread_update(idle=nil) click to toggle source
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.

 
               # File tk/lib/tk.rb, line 2471
def Tk.thread_update(idle=nil)
  if idle
    tk_call_without_enc('thread_update', 'idletasks')
  else
    tk_call_without_enc('thread_update')
  end
end
            
thread_update_idletasks() click to toggle source
 
               # File tk/lib/tk.rb, line 2478
def Tk.thread_update_idletasks
  thread_update(true)
end
            
tk_pkgconfig_get(key) click to toggle source
 
               # File tk/lib/tk.rb, line 2362
def Tk.tk_pkgconfig_get(key)
  # Tk8.5 feature
  Tk.pkgconfig_get('::tk', key)
end
            
tk_pkgconfig_list() click to toggle source
 
               # File tk/lib/tk.rb, line 2357
def Tk.tk_pkgconfig_list
  # Tk8.5 feature
  Tk.pkgconfig_list('::tk')
end
            
toUTF8(str, encoding = nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2561
def Tk.toUTF8(str, encoding = nil)
  _toUTF8(str, encoding)
end
            
to_backslash_sequence(str) click to toggle source
 
               # File tk/lib/tk.rb, line 2586
def Tk.to_backslash_sequence(str)
  Tk::EncodedString.to_backslash_sequence(str)
end
            
toplevel_aliases_on_widget_set(widget_set) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 359
def toplevel_aliases_on_widget_set(widget_set)
  if (tbl = @TOPLEVEL_ALIAS_TABLE[widget_set.to_sym])
    tbl.collect{|k, v| (v.nil?)? nil: k}.compact
  else
    fail ArgumentError, "unknown widget_set #{widget_set.to_sym.inspect}"
  end
end
            
ungrid(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2437
def Tk.ungrid(*args)
  TkGrid.forget(*args)
end
            
unload_tcllibrary(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2300
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
            
unpack(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2427
def Tk.unpack(*args)
  TkPack.forget(*args)
end
            
unplace(*args) click to toggle source
 
               # File tk/lib/tk.rb, line 2447
def Tk.unplace(*args)
  TkPlace.forget(*args)
end
            
update(idle=nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2451
def Tk.update(idle=nil)
  if idle
    tk_call_without_enc('update', 'idletasks')
  else
    tk_call_without_enc('update')
  end
end
            
update_idletasks() click to toggle source
 
               # File tk/lib/tk.rb, line 2458
def Tk.update_idletasks
  update(true)
end
            
utf_to_backslash(str) click to toggle source
 
               # File tk/lib/tk.rb, line 2583
def Tk.utf_to_backslash(str)
  Tk::EncodedString.utf_to_backslash_sequence(str)
end
            
utf_to_backslash_sequence(str) click to toggle source
 
               # File tk/lib/tk.rb, line 2580
def Tk.utf_to_backslash_sequence(str)
  Tk::EncodedString.utf_to_backslash_sequence(str)
end
            
wakeup(id) click to toggle source
 
               # File tk/lib/tk.rb, line 2414
def Tk.wakeup(id)
  ((id.kind_of?(TkVariable))? id: TkVarAccess.new(id.to_s)).value = 0
  nil
end
            
widget_set_symbols() click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 355
def widget_set_symbols
  @TOPLEVEL_ALIAS_TABLE.keys
end
            

Public Instance Methods

Grid(*args) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 8
def Grid(*args); TkGrid.configure(*args); end
            
Pack(*args) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 11
def Pack(*args); TkPack.configure(*args); end
            
Place(*args) click to toggle source
 
               # File tk/lib/tk/autoload.rb, line 14
def Place(*args); TkPlace.configure(*args); end
            
root() click to toggle source
 
               # File tk/lib/tk.rb, line 2283
def root
  Tk::Root.new
end
            
update(idle=nil) click to toggle source
 
               # File tk/lib/tk.rb, line 2461
def update(idle=nil)
  # only for backward compatibility (This never be recommended to use)
  Tk.update(idle)
  self
end