// Package menu provides all the functions and structs related to menus in a Wails application. // Heavily inspired by Electron (c) 2013-2020 Github Inc. // Electron License: https://github.com/electron/electron/blob/master/LICENSE package menu // Role is a type to identify menu roles type Role int // These constants need to be kept in sync with `v2/internal/frontend/desktop/darwin/Role.h` const ( AppMenuRole Role = 1 EditMenuRole = 2 WindowMenuRole = 3 // AboutRole Role = "about" // UndoRole Role = "undo" // RedoRole Role = "redo" // CutRole Role = "cut" // CopyRole Role = "copy" // PasteRole Role = "paste" // PasteAndMatchStyleRole Role = "pasteAndMatchStyle" // SelectAllRole Role = "selectAll" // DeleteRole Role = "delete" // MinimizeRole Role = "minimize" // QuitRole Role = "quit" // TogglefullscreenRole Role = "togglefullscreen" // FileMenuRole Role = "fileMenu" // ViewMenuRole Role = "viewMenu" // WindowMenuRole Role = "windowMenu" // HideRole Role = "hide" // HideOthersRole Role = "hideOthers" // UnhideRole Role = "unhide" // FrontRole Role = "front" // ZoomRole Role = "zoom" // WindowSubMenuRole Role = "windowSubMenu" // HelpSubMenuRole Role = "helpSubMenu" // SeparatorItemRole Role = "separatorItem" ) /* // About provides a MenuItem with the About role func About() *MenuItem { return &MenuItem{ Role: AboutRole, } } // Undo provides a MenuItem with the Undo role func Undo() *MenuItem { return &MenuItem{ Role: UndoRole, } } // Redo provides a MenuItem with the Redo role func Redo() *MenuItem { return &MenuItem{ Role: RedoRole, } } // Cut provides a MenuItem with the Cut role func Cut() *MenuItem { return &MenuItem{ Role: CutRole, } } // Copy provides a MenuItem with the Copy role func Copy() *MenuItem { return &MenuItem{ Role: CopyRole, } } // Paste provides a MenuItem with the Paste role func Paste() *MenuItem { return &MenuItem{ Role: PasteRole, } } // PasteAndMatchStyle provides a MenuItem with the PasteAndMatchStyle role func PasteAndMatchStyle() *MenuItem { return &MenuItem{ Role: PasteAndMatchStyleRole, } } // SelectAll provides a MenuItem with the SelectAll role func SelectAll() *MenuItem { return &MenuItem{ Role: SelectAllRole, } } // Delete provides a MenuItem with the Delete role func Delete() *MenuItem { return &MenuItem{ Role: DeleteRole, } } // Minimize provides a MenuItem with the Minimize role func Minimize() *MenuItem { return &MenuItem{ Role: MinimizeRole, } } // Quit provides a MenuItem with the Quit role func Quit() *MenuItem { return &MenuItem{ Role: QuitRole, } } // ToggleFullscreen provides a MenuItem with the ToggleFullscreen role func ToggleFullscreen() *MenuItem { return &MenuItem{ Role: TogglefullscreenRole, } } // FileMenu provides a MenuItem with the whole default "File" menu (Close / Quit) func FileMenu() *MenuItem { return &MenuItem{ Role: FileMenuRole, } } */ // EditMenu provides a MenuItem with the whole default "Edit" menu (Undo, Copy, etc.). func EditMenu() *MenuItem { return &MenuItem{ Role: EditMenuRole, } } /* // ViewMenu provides a MenuItem with the whole default "View" menu (Reload, Toggle Developer Tools, etc.) func ViewMenu() *MenuItem { return &MenuItem{ Role: ViewMenuRole, } } */ // WindowMenu provides a MenuItem with the whole default "Window" menu (Minimize, Zoom, etc.). // On MacOS currently all options in there won't work if the window is frameless. func WindowMenu() *MenuItem { return &MenuItem{ Role: WindowMenuRole, } } // These roles are Mac only // AppMenu provides a MenuItem with the whole default "App" menu (About, Services, etc.) func AppMenu() *MenuItem { return &MenuItem{ Role: AppMenuRole, } } /* // Hide provides a MenuItem that maps to the hide action. func Hide() *MenuItem { return &MenuItem{ Role: HideRole, } } // HideOthers provides a MenuItem that maps to the hideOtherApplications action. func HideOthers() *MenuItem { return &MenuItem{ Role: HideOthersRole, } } // UnHide provides a MenuItem that maps to the unHideAllApplications action. func UnHide() *MenuItem { return &MenuItem{ Role: UnhideRole, } } // Front provides a MenuItem that maps to the arrangeInFront action. func Front() *MenuItem { return &MenuItem{ Role: FrontRole, } } // Zoom provides a MenuItem that maps to the performZoom action. func Zoom() *MenuItem { return &MenuItem{ Role: ZoomRole, } } // WindowSubMenu provides a MenuItem with the "Window" submenu. func WindowSubMenu() *MenuItem { return &MenuItem{ Role: WindowSubMenuRole, } } // HelpSubMenu provides a MenuItem with the "Help" submenu. func HelpSubMenu() *MenuItem { return &MenuItem{ Role: HelpSubMenuRole, } } */