Re: [R] How to mimic select.list using RGtk2/gWidgetsRGtk2?
Hi, John, Thanks very much. I have another question about gformlayout(). addSettingGUI <- function(container){ Setting <- list(type = "ggroup", horizontal = FALSE, children = list( list(type="fieldset", columns = 1, label = "Settings", label.pos = "top", label.font = c(weight="bold"), children = list( list(name = "owner", label = "Name of Coder", type = "gedit", text = "" ) ) ) ) ) SettingFL <- gformlayout(Setting, cont = container, expand=TRUE) } g<-gwindow(width=50) addSettingGUI (g) ## It seems that argument of width in gwindow has no effects on the resultant widget ## How can can re-scale the width of the resultant widget? ## thanks. Ronggui On Sat, Dec 13, 2008 at 1:12 PM, John Verzani wrote: > ronggui gmail.com> writes: > >> >> I want to write a function mimic the function of select.list(), here >> is my preliminary version. >> >> select <- function(x,multiple=TRUE,...){ >> ans<-new.env() >> g <- gwindow(title=title,wid=200,heigh=500) >> x1<-ggroup(FALSE,con=g) >> x2<-gtable(x,multiple=multiple,con=x1,expand=TRUE) >> gbutton("OK",con=x1,handler=function(h,...){ >> value <- svalue(x2) >> if (length(value)==0) value="" >> assign("selected",value,env=h$action$env) >> dispose(x1) >> },action=list(env=ans)) >> ans >> } >> > > Hi, > > You can call foo in the handler above or for gWidgetsRGtk2 use gbasicdialog > which will create a modal dialog: > > options(guiToolkit="RGtk2") > library(gWidgets) > > select <- function(x,multiple=TRUE,...){ > ans<-new.env() > > x1<-ggroup(horizontal=FALSE) # no parent container here > x2<-gtable(x,multiple=multiple,con=x1,expand=TRUE) > ret <- gbasicdialog(title="select a widget", > widget=x1,handler=function(h,...){ >value <- svalue(x2) >if (length(value)==0) value="" >assign("selected",value,env=h$action$env) >dispose(x1) > },action=list(env=ans)) > ans > } > > ans <- select(c("a","b")) > print(ans$selected) > > Hope that helps. > >> However, it doesn't behave as what I want. What I want is that: for >> {select(c("a","b")); foo()}, foo() only runs after I have clicked the >> OK button of select(). Any hints? >> >> Thanks. > > __ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > -- HUANG Ronggui, Wincent Tel: (00852) 3442 3832 PhD Candidate, City University of Hong Kong Website: http://ronggui.huang.googlepages.com/ RQDA project: http://rqda.r-forge.r-project.org/ __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] How to mimic select.list using RGtk2/gWidgetsRGtk2?
ronggui gmail.com> writes: > > I want to write a function mimic the function of select.list(), here > is my preliminary version. > > select <- function(x,multiple=TRUE,...){ > ans<-new.env() > g <- gwindow(title=title,wid=200,heigh=500) > x1<-ggroup(FALSE,con=g) > x2<-gtable(x,multiple=multiple,con=x1,expand=TRUE) > gbutton("OK",con=x1,handler=function(h,...){ > value <- svalue(x2) > if (length(value)==0) value="" > assign("selected",value,env=h$action$env) > dispose(x1) > },action=list(env=ans)) > ans > } > Hi, You can call foo in the handler above or for gWidgetsRGtk2 use gbasicdialog which will create a modal dialog: options(guiToolkit="RGtk2") library(gWidgets) select <- function(x,multiple=TRUE,...){ ans<-new.env() x1<-ggroup(horizontal=FALSE) # no parent container here x2<-gtable(x,multiple=multiple,con=x1,expand=TRUE) ret <- gbasicdialog(title="select a widget", widget=x1,handler=function(h,...){ value <- svalue(x2) if (length(value)==0) value="" assign("selected",value,env=h$action$env) dispose(x1) },action=list(env=ans)) ans } ans <- select(c("a","b")) print(ans$selected) Hope that helps. > However, it doesn't behave as what I want. What I want is that: for > {select(c("a","b")); foo()}, foo() only runs after I have clicked the > OK button of select(). Any hints? > > Thanks. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
[R] How to mimic select.list using RGtk2/gWidgetsRGtk2?
I want to write a function mimic the function of select.list(), here is my preliminary version. select <- function(x,multiple=TRUE,...){ ans<-new.env() g <- gwindow(title=title,wid=200,heigh=500) x1<-ggroup(FALSE,con=g) x2<-gtable(x,multiple=multiple,con=x1,expand=TRUE) gbutton("OK",con=x1,handler=function(h,...){ value <- svalue(x2) if (length(value)==0) value="" assign("selected",value,env=h$action$env) dispose(x1) },action=list(env=ans)) ans } However, it doesn't behave as what I want. What I want is that: for {select(c("a","b")); foo()}, foo() only runs after I have clicked the OK button of select(). Any hints? Thanks. -- HUANG Ronggui, Wincent Tel: (00852) 3442 3832 PhD Candidate, City University of Hong Kong Website: http://ronggui.huang.googlepages.com/ RQDA project: http://rqda.r-forge.r-project.org/ __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.