class TclTkCallback: tcl/tk callbacks

Methods
#
N
T
Class Public methods
new(interp, pr, arg = nil)

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
# File ext/tk/lib/tcltk.rb, line 316
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
Instance Public methods
_call(arg)

_call(arg): invoke callback

arg: callback parameter
# File ext/tk/lib/tcltk.rb, line 342
def _call(arg)
  @pr.call(arg)
end
to_eval()

#to_eval(): retuens string representation for @ip._eval_args

# File ext/tk/lib/tcltk.rb, line 329
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