airobot/ui/mainmenu.go
2022-12-12 08:30:21 +08:00

71 lines
1.6 KiB
Go

package ui
import (
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/theme"
)
type mainMenu struct {
*fyne.MainMenu
sysMenu *fyne.Menu
startMenu *fyne.MenuItem //开始
configMenu *fyne.MenuItem //配置
sceneMenu *fyne.MenuItem //场景
quite *fyne.MenuItem
//工具
toolMenu *fyne.Menu
importCM *fyne.MenuItem //导入配置
exportCM *fyne.MenuItem //导出配置
}
func newMainMenu() *mainMenu {
var mm mainMenu
//退出
mm.quite = fyne.NewMenuItem("退出", globalWindow.quiteHandle)
mm.quite.Icon = theme.LogoutIcon()
mm.quite.IsQuit = true
// 开始
mm.startMenu = fyne.NewMenuItem("开始", globalWindow.startContainer)
mm.startMenu.Icon = theme.FileIcon()
// 配置
mm.configMenu = fyne.NewMenuItem("配置", globalWindow.configContainer)
mm.configMenu.Icon = theme.FileTextIcon()
//场景
mm.sceneMenu = fyne.NewMenuItem("场景", globalWindow.sceneContainer)
mm.sceneMenu.Icon = theme.FileTextIcon()
// AI
mm.sysMenu = fyne.NewMenu("AI")
mm.sysMenu.Items = append(mm.sysMenu.Items,
mm.startMenu,
mm.configMenu,
mm.sceneMenu,
fyne.NewMenuItemSeparator(),
mm.quite)
// 导入配置
mm.importCM = fyne.NewMenuItem("导入配置", globalWindow.ImportConfigWindow)
mm.importCM.Icon = theme.FileApplicationIcon()
mm.exportCM = fyne.NewMenuItem("导出配置", globalWindow.ExportConfigWindow)
mm.exportCM.Icon = theme.FileApplicationIcon()
// 工具
mm.toolMenu = fyne.NewMenu("工具")
mm.toolMenu.Items = append(mm.toolMenu.Items,
mm.importCM,
mm.exportCM,
)
mm.MainMenu = fyne.NewMainMenu(
mm.sysMenu,
mm.toolMenu,
)
return &mm
}