module TclTk
module TclTk: collection of tcl/tk utilities (supplies namespace.)
Public Class Methods
Source
# File lib/tcltk.rb, line 53 def TclTk._addcallback(ca) print("_addcallback: ", ca.to_s(), "\n") if $DEBUG @callback[ca.to_s()] = ca end
TclTk._addcallback(ca)
: register callback
ca: callback(TclTkCallback)
Source
# File 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
TclTk._callcallback(key, arg)
: invoke registered callback
key: key to select callback (to_s value of the TclTkCallback) arg: parameter from tcl/tk interpreter
Source
# File 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
TclTk._newname(prefix)
: generate unique name(String)
prefix: prefix of the unique name
Source
# File lib/tcltk.rb, line 43 def TclTk.dcb(ca, wid, w) if wid.to_s() == w ca.each{|i| TclTk.deletecallbackkey(i) } end end
TclTk.dcb(ca, wid, W)
: call TclTk.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)
Source
# File lib/tcltk.rb, line 32 def TclTk.deletecallbackkey(ca) print("deletecallbackkey: ", ca.to_s(), "\n") if $DEBUG @callback.delete(ca.to_s) end
TclTk.deletecallbackkey(ca)
: 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)
Source
# File lib/tcltk.rb, line 22 def TclTk.mainloop() print("mainloop: start\n") if $DEBUG TclTkLib.mainloop() print("mainloop: end\n") if $DEBUG end