5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 16:52:07 +08:00
wails/v2/internal/frontend/desktop/darwin/menu.go
2021-10-13 21:16:07 +11:00

99 lines
2.7 KiB
Go

//go:build darwin
// +build darwin
package darwin
import (
"github.com/wailsapp/wails/v2/pkg/menu"
)
//func (w *Window) SetApplicationMenu(menu *menu.Menu) {
//w.applicationMenu = menu
//processMenu(w, menu)
//}
//func processMenu(window *Window, menu *menu.Menu) {
//mainMenu := window.NewMenu()
//for _, menuItem := range menu.Items {
// submenu := mainMenu.AddSubMenu(menuItem.Label)
// for _, menuItem := range menuItem.SubMenu.Items {
// processMenuItem(submenu, menuItem)
// }
//}
//mainMenu.Show()
//}
//func processMenuItem(parent *winc.MenuItem, menuItem *menu.MenuItem) {
// if menuItem.Hidden {
// return
// }
// switch menuItem.Type {
// case menu.SeparatorType:
// parent.AddSeparator()
// case menu.TextType:
// shortcut := acceleratorToWincShortcut(menuItem.Accelerator)
// newItem := parent.AddItem(menuItem.Label, shortcut)
// if menuItem.Tooltip != "" {
// newItem.SetToolTip(menuItem.Tooltip)
// }
// if menuItem.Click != nil {
// newItem.OnClick().Bind(func(e *winc.Event) {
// menuItem.Click(&menu.CallbackData{
// MenuItem: menuItem,
// })
// })
// }
// newItem.SetEnabled(!menuItem.Disabled)
//
// case menu.CheckboxType:
// shortcut := acceleratorToWincShortcut(menuItem.Accelerator)
// newItem := parent.AddItem(menuItem.Label, shortcut)
// newItem.SetCheckable(true)
// newItem.SetChecked(menuItem.Checked)
// if menuItem.Tooltip != "" {
// newItem.SetToolTip(menuItem.Tooltip)
// }
// if menuItem.Click != nil {
// newItem.OnClick().Bind(func(e *winc.Event) {
// toggleCheckBox(menuItem)
// menuItem.Click(&menu.CallbackData{
// MenuItem: menuItem,
// })
// })
// }
// newItem.SetEnabled(!menuItem.Disabled)
// addCheckBoxToMap(menuItem, newItem)
// case menu.RadioType:
// shortcut := acceleratorToWincShortcut(menuItem.Accelerator)
// newItem := parent.AddItemRadio(menuItem.Label, shortcut)
// newItem.SetCheckable(true)
// newItem.SetChecked(menuItem.Checked)
// if menuItem.Tooltip != "" {
// newItem.SetToolTip(menuItem.Tooltip)
// }
// if menuItem.Click != nil {
// newItem.OnClick().Bind(func(e *winc.Event) {
// toggleRadioItem(menuItem)
// menuItem.Click(&menu.CallbackData{
// MenuItem: menuItem,
// })
// })
// }
// newItem.SetEnabled(!menuItem.Disabled)
// addRadioItemToMap(menuItem, newItem)
// case menu.SubmenuType:
// submenu := parent.AddSubMenu(menuItem.Label)
// for _, menuItem := range menuItem.SubMenu.Items {
// processMenuItem(submenu, menuItem)
// }
// }
//}
func (f *Frontend) MenuSetApplicationMenu(menu *menu.Menu) {
//f.mainWindow.SetApplicationMenu(menu)
}
func (f *Frontend) MenuUpdateApplicationMenu() {
//processMenu(f.mainWindow, f.mainWindow.applicationMenu)
}