[R] Problem with tcltk listbox
Peter Dalgaard BSA
p.dalgaard at pubhealth.ku.dk
Thu Feb 22 12:25:59 CET 2001
Frank Gerrit Zoellner <fzoellne at TechFak.Uni-Bielefeld.DE> writes:
> Hi!
>
> I've got two problems with listboxes and selection: I created a
> listbox, no problem. Then I bind the Button-1 of the mouse to the
> listbox to start some things by pressing the mousebutton. The
> proiblem is that as I click a item of the listbox this error
> occured:
>
> Error in .Tcl(.Tcl.args(...)) : [tcl] bad listbox index "": must be active, anchor, end, @x,y, or a number.
>
> Repaeting the selection, all works well. This looks quite strang to me.
>
> The second thing is I have two listbox and I want to have the
> following action: When I select a item in listbox A the
> corresponding item of listbox B should be highlited. Doing this, the
> event is one timestep behind. For example selecting first element in
> A, no slection in B becaus eof the error mentioned above. Then
> selecting the second item in A , the first of B is highlited.
...
> tkbind(protas.listbox,"<Button-1>",function()
> {
> asselection<- tkcurselection(protas.listbox)
> tkselection.clear(sas.listbox,0,"end")
> tksee(sas.listbox,asselection) tkselection.set(sas.listbox,asselection)
> })
I think you're getting exactly what you ask for... If you bind a query
to Button-1, which is also the button to make selections with, then
there's a question of the order in which the two things should happen.
As it happens, user bindings are handled before system bindings, so
your tkcurselection() gets the old selection. Binding to
<ButtonRelease-1> seems to work rather better.
PS. You'd have done us all a service by creating a small *directly
executable* example of your problem. E.g.
library(tcltk)
tt<-tktoplevel()
tl<-tklistbox(tt)
tkpack(tl)
tkinsert(tl, "end", month.name)
tkbind(tl, "<Button-1>", function()print(tkcurselection(tl)))
# to fix:
tkbind(tl, "<Button-1>", "")
tkbind(tl, "<ButtonRelease-1>", function()print(tkcurselection(tl)))
--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list