Paul Roebuck wrote:
On Fri, 10 Oct 2008, Peter Dalgaard wrote:

Paul Roebuck wrote:
Does this work when using tcltk package?

I tried the minimalist tcl("after idle bell")

but it just gives an error.

Does someone have an example?

tcl("after", "idle", "bell")

or

.Tcl("after idle bell")

(which starts with a dot because you shouldn't have to know about it....)


Thanks for responding. How far does this go? This was a trivial example so I didn't expect much but there appears to be little support for using "after" in general. If I have an actual procedure to call, just write the entire code as a single string and pass it to
 .Tcl() method?

For instance, if one wanted to set a minimum size for a Tk application, the Tcl code might be as follows:

after idle [format { update idletasks wm minsize %s [winfo reqwidth %s] [winfo reqheight %s] } $top $top $top]


You're a bit on your own there, in the sense that I can't afford
spending hours to figure out the exact way of doing it. However, notice
that the general picture is that callbacks can be R functions so it
could be something like

tkafter("idle", function() {
   tkupdate("idletasks")
   tkwm("minsize", tt,
        tkwinfo("regwidth", tt),
        tkwinfo("regheight", tt))
})

(Notice that there are predefined shortcuts

tkwm(....) for

tcl("wm", ...) etc.)

Also, could you (Peter) clarify whether the environment created with each Tk widget should be considered "private"? In other words, is storing widget-specific user data within its environment user-supported functionality?

They're not intended for that, just to hold widget references and
callback, but I don't see any harm in "abusing" them for other purposes.
The general idea was to use ordinary lexical scoping rules, though.


--
   O__  ---- Peter Dalgaard             Ă˜ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - ([EMAIL PROTECTED])              FAX: (+45) 35327907

_______________________________________________
R-SIG-GUI mailing list
R-SIG-GUI@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-gui

Reply via email to