[R] Tktable active cell
James Wettenhall
wettenhall at wehi.edu.au
Tue Jul 29 02:47:21 CEST 2003
Thomas Sudler <TSudler at ch.imshealth.com> wrote:
> I want to start an action when i click into a cell. Example:
When I click
> into a cell, a message box should open with the information of
the
> location of the cell where I clicked in. <SNIP> So I only
> need to know how to get the possition of the active cell.
Thomas,
Getting the active cell is easy, just use :
row <- tclvalue(tkindex(table1,"active","row"))
col <- tclvalue(tkindex(table1,"active","col"))
But if you try to catch the left-button-click event and then
display the cell coordinates in a message box, the problem is
that your event handler will be run BEFORE the default event
handler which updates the active cell, so you will get the
PREVIOUS active cell, (and the first time you will get an
error because there is no active cell).
The Tcl help for bind :
http://aspn.activestate.com/ASPN/docs/ActiveTcl/ActiveTcl8.4.1.0-html/tcl/TkCmd/bind.htm
suggests that you may be able to use a "+" in front of your
event handler name so that it is "appended to any existing
binding", but this feature may not be implemented in R Tcl/Tk
yet, e.g. this didn't seem to work:
tkbind(table1,"<Button 1>",paste("+",.Tcl.callback(onLeftClick),sep=""))
Regards,
James
More information about the R-help
mailing list