# NOT RUN {
win <- gwindow("Graphics example")
ggraphics(ps=6, container=win)
hist(rnorm(100))
## This is for gWidgetsRGtk2 (along with cairoDevice) or qtutils
library(gWidgets)
options(guiToolkit="RGtk2") ## "Qt"
w <- gwindow("brush example", visible=FALSE)
g <- ggroup(container=w)
tbl <- gtable(mtcars, container=g, filter.FUN="manual")
size(tbl) <- c(300, 500)
gg <- ggraphics(container=g)
visible(w) <- TRUE
makePlot <- function(ind) {
plot(mpg ~ wt, mtcars)
if(!missing(ind) && any(ind))
points(mpg ~ wt, mtcars[ind,], cex=2, pch=16, col="red")
}
ID <- addHandlerChanged(gg, handler=function(h,...) {
x <- h$x; y <- h$y
ind <- (mtcars$wt >= x[1]) & (mtcars$wt <= x[2]) &
(mtcars$mpg >= y[1]) & (mtcars$mpg <= y[2])
## udpate graphic and data frame
makePlot(ind)
if(any(ind))
visible(tbl) <- ind
})
## Example using a notebook. The device is raised on tab change
library(gWidgets)
options(guiToolkit="RGtk2")
w <- gwindow("notebook example")
nb <- gnotebook(container=w)
devs <- lapply(1:5, function(i) ggraphics(container=nb, label=as.character(i)))
addHandlerChanged(nb, handler=function(h,...) {
## Tricky part is svalue(h$obj) is not the new page number -- but old
## so we use the pageno component here
gg <- h$obj[h$pageno]
visible(gg) <- TRUE
})
# }
Run the code above in your browser using DataLab