Module: TclTk (Ruby 2.3.4)

In Files

  • tk/lib/tcltk.rb

Class/Module Index [+]

Quicksearch

TclTk

module TclTk: collection of tcl/tk utilities (supplies namespace.)

Public Class Methods

_addcallback(ca)

TclTk._addcallback(ca): register callback

ca: callback(TclTkCallback)
 
               # File tk/lib/tcltk.rb, line 53
def TclTk._addcallback(ca)
  print("_addcallback: ", ca.to_s(), "\n") if $DEBUG
  @callback[ca.to_s()] = ca
end
            
_callcallback(key, arg)

TclTk._callcallback(key, arg): invoke registered callback

key: key to select callback (to_s value of the TclTkCallback)
arg: parameter from tcl/tk interpreter
 
               # File tk/lib/tcltk.rb, line 61
def TclTk._callcallback(key, arg)
  print("_callcallback: ", @callback[key].inspect, "\n") if $DEBUG
  @callback[key]._call(arg)
  # throw out callback value
  # should return String to satisfy rb_eval_string()
  return ""
end
            
_newname(prefix)

TclTk._newname(prefix): generate unique name(String)

prefix: prefix of the unique name
 
               # File tk/lib/tcltk.rb, line 71
def TclTk._newname(prefix)
  # generated name counter is stored in @namecnt
  if !@namecnt.key?(prefix)
    # first appearing prefix, initialize
    @namecnt[prefix] = 1
  else
    # already appeared prefix, generate next name
    @namecnt[prefix] += 1
  end
  return "#{prefix}#{@namecnt[prefix]}"
end
            
dcb(ca, wid, w)

::dcb(ca, wid, W): call ::deletecallbackkey for each callbacks

  in an array.
  this is for callback for top-level <Destroy>
ca: array of callbacks(TclTkCallback)
wid: top-level widget(TclTkWidget)
w: information about window given by %W(String)
 
               # File tk/lib/tcltk.rb, line 43
def TclTk.dcb(ca, wid, w)
  if wid.to_s() == w
    ca.each{|i|
      TclTk.deletecallbackkey(i)
    }
  end
end
            
deletecallbackkey(ca)

::deletecallbackkey: remove callback from TclTk module

  this does not remove callbacks from tcl/tk interpreter
  without calling this method, TclTkInterpreter will not be GCed
ca: callback(TclTkCallback)
 
               # File tk/lib/tcltk.rb, line 32
def TclTk.deletecallbackkey(ca)
  print("deletecallbackkey: ", ca.to_s(), "\n") if $DEBUG
  @callback.delete(ca.to_s)
end
            
mainloop()

::mainloop: call TclTkLib.mainloop

 
               # File tk/lib/tcltk.rb, line 22
def TclTk.mainloop()
  print("mainloop: start\n") if $DEBUG
  TclTkLib.mainloop()
  print("mainloop: end\n") if $DEBUG
end