I guess you are looking for something simple like:
library(gWidgets)
options(guiToolkit="tcltk") ## or RGtk2 ...
w <- gwindow("Your GUI", visible=FALSE)
g <- ggroup(cont=w, horizontal=FALSE)
upload <- gfilebrowse("Select a csv file", cont=g)
btn <- gbutton("Do it", cont=g)
enabled(btn) <- FALSE
filename <- NULL
do_it <- function(...) {
message("Read csv file in filename")
message("make graphic")
message("make summary")
}
addHandlerChanged(upload, handler=function(h, ...) {
val <- svalue(upload)
if(!is.na(val)) {
filename <<- val
enabled(btn) <- TRUE
}
})
addHandlerChanged(btn, handler=do_it)
visible(w) <- TRUE