Documentation ¶
Overview ¶
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
Index ¶
- type Callback
- type CallbackData
- type ContextMenu
- type Menu
- type MenuItem
- func About() *MenuItem
- func AppMenu() *MenuItem
- func Checkbox(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem
- func Copy() *MenuItem
- func Cut() *MenuItem
- func Delete() *MenuItem
- func EditMenu() *MenuItem
- func FileMenu() *MenuItem
- func Front() *MenuItem
- func HelpSubMenu() *MenuItem
- func Hide() *MenuItem
- func HideOthers() *MenuItem
- func Minimize() *MenuItem
- func Paste() *MenuItem
- func PasteAndMatchStyle() *MenuItem
- func Quit() *MenuItem
- func Radio(label string, selected bool, accelerator *keys.Accelerator, click Callback) *MenuItem
- func Redo() *MenuItem
- func SelectAll() *MenuItem
- func Separator() *MenuItem
- func SubMenu(label string, menu *Menu) *MenuItem
- func SubMenuWithID(label string, menu *Menu) *MenuItem
- func Text(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
- func Togglefullscreen() *MenuItem
- func Undo() *MenuItem
- func Unhide() *MenuItem
- func ViewMenu() *MenuItem
- func WindowMenu() *MenuItem
- func WindowSubMenu() *MenuItem
- func Zoom() *MenuItem
- type Role
- type TrayMenu
- type Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Callback ¶
type Callback func(*CallbackData)
type CallbackData ¶
type ContextMenu ¶
func NewContextMenu ¶
func NewContextMenu(ID string, menu *Menu) *ContextMenu
type Menu ¶
type Menu struct {
Items []*MenuItem
}
func DefaultMacMenu ¶
func DefaultMacMenu() *Menu
DefaultMacMenu returns a default menu including the default Application and Edit menus. Use `.Append()` to add to it.
func NewMenuFromItems ¶
type MenuItem ¶
type MenuItem struct { // Label is what appears as the menu text Label string // Role is a predefined menu type Role Role `json:"Role,omitempty"` // Accelerator holds a representation of a key binding Accelerator *keys.Accelerator `json:"Accelerator,omitempty"` // Type of MenuItem, EG: Checkbox, Text, Separator, Radio, Submenu Type Type // Disabled makes the item unselectable Disabled bool // Hidden ensures that the item is not shown in the menu Hidden bool // Checked indicates if the item is selected (used by Checkbox and Radio types only) Checked bool // Submenu contains a list of menu items that will be shown as a submenu //SubMenu []*MenuItem `json:"SubMenu,omitempty"` SubMenu *Menu `json:"SubMenu,omitempty"` // Callback function when menu clicked Click Callback `json:"-"` // Colour RGBA string // Font FontSize int FontName string // Image - base64 image data Image string // MacTemplateImage indicates that on a mac, this image is a template image MacTemplateImage bool // Tooltip Tooltip string // contains filtered or unexported fields }
MenuItem represents a menuitem contained in a menu
func AppMenu ¶
func AppMenu() *MenuItem
AppMenu provides a MenuItem with the whole default "App" menu (About, Services, etc.)
func EditMenu ¶
func EditMenu() *MenuItem
EditMenu provides a MenuItem with the whole default "Edit" menu (Undo, Copy, etc.).
func FileMenu ¶
func FileMenu() *MenuItem
FileMenu provides a MenuItem with the whole default "File" menu (Close / Quit)
func Front ¶
func Front() *MenuItem
Front provides a MenuItem that maps to the arrangeInFront action.
func HelpSubMenu ¶
func HelpSubMenu() *MenuItem
HelpSubMenu provides a MenuItem with the "Help" submenu.
func HideOthers ¶
func HideOthers() *MenuItem
HideOthers provides a MenuItem that maps to the hideOtherApplications action.
func PasteAndMatchStyle ¶
func PasteAndMatchStyle() *MenuItem
PasteAndMatchStyle provides a MenuItem with the PasteAndMatchStyle role
func SubMenuWithID ¶
SubMenuWithID is a helper to create Submenus with an ID
func Text ¶
func Text(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
Text is a helper to create basic Text menu items
func Togglefullscreen ¶
func Togglefullscreen() *MenuItem
Togglefullscreen provides a MenuItem with the Togglefullscreen role
func Unhide ¶
func Unhide() *MenuItem
Unhide provides a MenuItem that maps to the unhideAllApplications action.
func ViewMenu ¶
func ViewMenu() *MenuItem
ViewMenu provides a MenuItem with the whole default "View" menu (Reload, Toggle Developer Tools, etc.)
func WindowMenu ¶ added in v2.5.0
func WindowMenu() *MenuItem
WindowMenu provides a MenuItem with the whole default "Window" menu (Minimize, Zoom, etc.).
func WindowSubMenu ¶
func WindowSubMenu() *MenuItem
WindowSubMenu provides a MenuItem with the "Window" submenu.
func (*MenuItem) Append ¶
Append will attempt to append the given menu item to this item's submenu items. If this menu item is not a submenu, then this method will not add the item and simply return false.
func (*MenuItem) InsertAfter ¶
InsertAfter attempts to add the given item after this item in the parent menu. If there is no parent menu (we are a top level menu) then false is returned
func (*MenuItem) InsertBefore ¶
InsertBefore attempts to add the given item before this item in the parent menu. If there is no parent menu (we are a top level menu) then false is returned
func (*MenuItem) Parent ¶
Parent returns the parent of the menu item. If it is a top level menu then it returns nil.
type Role ¶
type Role string
const ( 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" EditMenuRole Role = "editMenu" ViewMenuRole Role = "viewMenu" WindowMenuRole Role = "windowMenu" AppMenuRole Role = "appMenu" HideRole Role = "hide" HideOthersRole Role = "hideOthers" UnhideRole Role = "unhide" FrontRole Role = "front" ZoomRole Role = "zoom" WindowSubMenuRole Role = "windowSubMenu" HelpSubMenuRole Role = "helpSubMenu" SeparatorItemRole Role = "separatorItem" )
type TrayMenu ¶
type TrayMenu struct { // Label is the text we wish to display in the tray Label string // Icon is the name of the tray icon we wish to display. // These are read up during build from <projectdir>/trayicons and // the filenames are used as IDs, minus the extension // EG: <projectdir>/trayicons/main.png can be referenced here with "main" Icon string // Menu is the initial menu we wish to use for the tray Menu *Menu }
TrayMenu are the options
type Type ¶
type Type string
Type of the menu item
const ( // TextType is the text menuitem type TextType Type = "Text" // SeparatorType is the Separator menuitem type SeparatorType Type = "Separator" SubmenuType Type = "Submenu" // CheckboxType is the Checkbox menuitem type CheckboxType Type = "Checkbox" // RadioType is the Radio menuitem type RadioType Type = "Radio" )