::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
module TclTk: collection of tcl/tk utilities (supplies namespace.)
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
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
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): 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: 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: 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
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.