[R-gui] embedding R graphics in Tk widgets
jverzani
jverzani at gmail.com
Thu Jun 19 04:14:18 CEST 2008
Sebastian P. Luque <spluque <at> gmail.com> writes:
>
> Hi again,
>
> Reading the vignette("gWidgets") and the RNews article, which show
> arguments 'h', and '...' for handler functions that update an embedded
> plot. However, it's not clear what these arguments are doing, and if I
> leave the latter out of my handler function (also a plot updater), I get
> the following error:
>
> Error in handler(...) :
> unused argument(s) (list(obj = <S4 object of class "gSliderRGtk">, action =
NULL), <pointer: 0x3bf8e60>)
>
> as soon as I change any slider, etc. What are these arguments for?
> Thanks!
>
> Cheers,
>
The handlers in the various toolkits have several different arguments, none of
course being standard. The ... is to accommodate these. Whereas, the first
argument for a handler, called "h" from the iWidgets background of gWidgets, is
a list containing components "obj" to refer to the object that the handler is
called on, such as the slider in your example, and "action" which just passes
along the action= argument. (Some widgets have additional components, such as
"dropdata" or "x" and "y".) The h$obj construction allows you to avoid global
variables. So the following are equivalent:
sl = gslider(cont=gwindow(), handler = function(h,...) print(svalue(sl)))
and
sl = gslider(cont=gwindow(), handler = function(h,...) print(svalue(h$obj)))
Hope that clarifies the situation. --John
More information about the R-SIG-GUI
mailing list