71 lines
1.6 KiB
Go
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
|
|
}
|