R RGtk2 gmenu: подменю после использования gaction - PullRequest
2 голосов
/ 09 октября 2011

В следующем примере у нас есть главное меню с данными. Как у нас может быть подменю с aData1 и aData2?

library(gWidgets)
options(guiToolkit = "RGtk2")

aData <- gaction(label="File", icon="file")
aData1 <- gaction(label="Open", icon="open")
aData2 <- gaction(label="Close", icon="close")

ml <- list(Data=aData)

gmenu(ml, container = TRUE)

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

Это связано с вашим предыдущим вопросом. Ответ, в основном, нет, но если вы хотите использовать пробную версию gWidgets2:

require(devtools)
install_github("gWidgets2", username="jverzani")
install_github("gWidgets2RGtk2", username="jverzani")

тогда вы можете взломать это, так как эта версия позволяет вставлять виджеты в панель инструментов. Вот что-то, что работает:

w <- gwindow()

h <- function(h,...) print("hi")
l <- list(file=gaction("file", icon="ok", handler=h),
          open=gaction("open", icon="open", handler=h),
          quit=gaction("quit", icon="quit", handler=h))
popup <- gmenu(l, popup=TRUE)

tbl <- list(c=gaction("cancel", icon="cancel", handler=h),
            b=gbutton("file")) ## adding a widget
addPopupMenu(tbl$b, popup) ## put popup menu on b
tbl$b$remove_border()

tb = gtoolbar(tbl, cont=w, style="both-horiz")
glabel("fill me in", cont=w)

Мне все еще нужно добавить некоторые виджеты в эту версию (пока нет виджета с деревом, редактора фрейма данных и других).

1 голос
/ 09 октября 2011

Я думаю, вы ищете это:

gmenu(menulist = list(File = list(Open = aData1, Close = aData2)), container = TRUE)

enter image description here

...