class TclTkCallback
class TclTkCallback: tcl/tk callbacks
Public Class Methods
new(interp, pr, arg = nil)
click to toggle source
initialize(interp, pr, arg):
interp: interpreter(TclTkInterpreter) pr: callback procedure(Proc) arg: string to pass as block parameters of pr bind command of tcl/tk uses % replacement for parameters pr can receive replaced data using block parameter its format is specified by arg string You should not specify arg for the command like scrollbar with -command option, which receives parameters without specifying any replacement
Calls superclass method
TclTkObject::new
# File lib/tcltk.rb, line 318 def initialize(interp, pr, arg = nil) # auto-generate tcl/tk representation (variable name) exp = TclTk._newname("c_") # initialize TclTkObject super(interp._tcltkip(), exp) # save parameters @pr = pr @arg = arg # register in the module TclTk._addcallback(self) end
Public Instance Methods
_call(arg)
click to toggle source
_call(arg): invoke callback
arg: callback parameter
# File lib/tcltk.rb, line 344 def _call(arg) @pr.call(arg) end
to_eval()
click to toggle source
to_eval
(): returns string representation for @ip._eval_args
# File lib/tcltk.rb, line 331 def to_eval() if @arg # bind replaces %s before calling ruby_fmt, so %%s is used s = %Q/{ruby_fmt {TclTk._callcallback("#{to_s()}", "%%s")} #{@arg}}/ else s = %Q/{ruby_fmt {TclTk._callcallback("#{to_s()}", "%s")}}/ end return s end