Hello,

 

I'm migrating an old S application to R, and having trouble passing
tk2listbox selections to a function. Could not find a listbox example
with tcltk2, just tcltk. The snippet below shows a few of the lines
creating the gui, including a tk2entry box that works fine for passing
content, and a tk2listbox that doesn't, and the button calling the
function. Right now I'm just passing the default values for any listbox
(OSType in the example below). I can't figure out how to pass a user
selection. Have tried variations with
tkcurselection(OSlist),tclGetValue(OSlist). How do I obtain the value
from OSlist if "Simple Random" was selected by the user? 

 

OtofanR=tktoplevel()

tktitle(OtofanR) <- "Age-Related Data Analysis with OTOFAN"

tkgrid(tklabel(OtofanR,text="DATA SELECTION & DEFINITION"),stick="we")

.

.

.

FreqVar <- tclVar("NA")

tkgrid(tklabel(OtofanR,text="Frequency variable"),tk2entry(OtofanR,
textvariable=FreqVar, width=20))

OSType <- tclVar("Random at Length")

OSlist=tk2listbox(OtofanR, values=c("Random at Length", "Simple
Random"), value=OSType, selection=1, selectmode = "single", height = 2,
scroll = "none", autoscroll = "x", enabled = TRUE)

tkgrid(tklabel(OtofanR,text="Otolith Sample Type"),OSlist)

.

.

.

AppApply <- tk2button(OtofanR, text = "Apply", width = 7, command =
function()
OtofanDT(tclvalue(ADMBdata),tclvalue(ADMBFile),tclvalue(ADMBPin),ADMBF="
NA",ADMBP="NA",tclvalue(GS),tclvalue(Regdata),tclvalue(CustomFile),

 
tclvalue(Ages),tclvalue(FishLens),tclvalue(OtoWts),tclvalue(OtoLens),tcl
value(FishWts),tclvalue(GroupID),tclvalue(YearID),tclvalue(Sex),tclvalue
(LFdata),tclvalue(FreqVar),tclvalue(OSType),tclvalue(ASType),

 
tclvalue(LAAdet),tclvalue(LPhase),tclvalue(Ldist),tclvalue(LAAstdev),tcl
value(LSDPhase),tclvalue(LSDdist),tclvalue(LSDcov),tclvalue(OAA),tclvalu
e(OAAdet),tclvalue(OPhase),tclvalue(Odist),tclvalue(OAAstdev),tclvalue(O
SDPhase),tclvalue(OSDdist),

 
tclvalue(CORR),tclvalue(CORest),tclvalue(CPhase),tclvalue(GS2),tclvalue(
PAAPhase)))

 

Mark Fowler 
Population Ecology Division 
Bedford Inst of Oceanography 
Dept Fisheries & Oceans 
Dartmouth NS Canada 
B2Y 4A2 
Tel. (902) 426-3529 
Fax (902) 426-9710 
Email Mark.Fowler@dfo-mpo.gc.ca <mailto:Mark.Fowler@dfo-mpo.gc.ca>  



 


	[[alternative HTML version deleted]]

