tcltk の gWidgets (または github の gWidgets2、 https ://github.com/jverzani/gWidgets2tcltk/blob/master/R/gexpandgroup.R )内でこのようなものを取得できます。パターンは次のとおりです。
library(gWidgets)
options(guiToolkit="tcltk")
lorem <- "lorem ipsum dolor sit amet, consectetur adipiscing
elit. Suspendisse tempus aliquam ante, at malesuada tellus
vulputate at. Morbi ac diam augue, vel bibendum lorem.
Curabitur ut est molestie leo sagittis vestibulum.
"
w <- gwindow()
size(w) <- c(800, 400)
g <- ggroup(cont=w, horizontal=FALSE)
expand1 <- gexpandgroup("frame 1", cont=g, anchor=c(-1,1))
expand2 <- gexpandgroup("frame 2", cont=g, anchor=c(-1,1))
visible(expand2) <- FALSE
## put stuff into expanding groups
glabel(lorem, cont=expand1)
glabel(lorem, cont=expand2)
callback <- function(h,...) {
print("click 2")
if(visible(expand2) & visible(expand1))
visible(expand1) <- FALSE
}
addHandlerChanged(expand2, callback)
expandgroup ウィジェットは実際には、並べてではなく、積み重ねた場合にのみ機能します。これを単純な tcltk を使用して GUI に統合することは不可能ではありません。