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 ¶
- Constants
- Variables
- type Callback
- type CallbackData
- type Col
- type ContextMenu
- type Hsl
- type Menu
- func (m *Menu) AddCheckbox(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem
- func (m *Menu) AddRadio(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem
- func (m *Menu) AddSeparator()
- func (m *Menu) AddSubmenu(label string) *Menu
- func (m *Menu) AddText(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
- func (m *Menu) Append(item *MenuItem)
- func (m *Menu) Merge(menu *Menu)
- func (m *Menu) Prepend(item *MenuItem)
- type MenuItem
- func AppMenu() *MenuItem
- func Checkbox(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem
- func EditMenu() *MenuItem
- func Label(label string) *MenuItem
- func Radio(label string, selected bool, accelerator *keys.Accelerator, click Callback) *MenuItem
- func Separator() *MenuItem
- func SubMenu(label string, menu *Menu) *MenuItem
- func Text(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
- func WindowMenu() *MenuItem
- func (m *MenuItem) Append(item *MenuItem) bool
- func (m *MenuItem) Disable() *MenuItem
- func (m *MenuItem) Enable() *MenuItem
- func (m *MenuItem) Hide() *MenuItem
- func (m *MenuItem) InsertAfter(item *MenuItem) bool
- func (m *MenuItem) InsertBefore(item *MenuItem) bool
- func (m *MenuItem) IsCheckbox() bool
- func (m *MenuItem) IsRadio() bool
- func (m *MenuItem) IsSeparator() bool
- func (m *MenuItem) OnClick(click Callback) *MenuItem
- func (m *MenuItem) Parent() *MenuItem
- func (m *MenuItem) Prepend(item *MenuItem) bool
- func (m *MenuItem) Remove()
- func (m *MenuItem) SetAccelerator(acc *keys.Accelerator) *MenuItem
- func (m *MenuItem) SetChecked(value bool) *MenuItem
- func (m *MenuItem) SetLabel(name string)
- func (m *MenuItem) Show() *MenuItem
- type Rgb
- type Role
- type StyledText
- type TextStyle
- type TrayMenu
- type Type
Constants ¶
const ( AppMenuRole Role = 1 EditMenuRole = 2 WindowMenuRole = 3 )
These constants need to be kept in sync with `v2/internal/frontend/desktop/darwin/Role.h`
Variables ¶
var Cols = []*Col{}/* 256 elements not displayed */
Functions ¶
This section is empty.
Types ¶
type Callback ¶
type Callback func(*CallbackData)
type CallbackData ¶
type CallbackData struct {
MenuItem *MenuItem
}
type ContextMenu ¶
func NewContextMenu ¶
func NewContextMenu(ID string, menu *Menu) *ContextMenu
type Menu ¶
type Menu struct {
Items []*MenuItem
}
func NewMenuFromItems ¶
func (*Menu) AddCheckbox ¶
func (m *Menu) AddCheckbox(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem
AddCheckbox adds a CheckboxMenu item to the menu
func (*Menu) AddRadio ¶
func (m *Menu) AddRadio(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem
AddRadio adds a radio item to the menu
func (*Menu) AddSubmenu ¶
type MenuItem ¶
type MenuItem struct { // Label is what appears as the menu text Label string // Role is a predefined menu type Role Role // Accelerator holds a representation of a key binding Accelerator *keys.Accelerator // 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 // Callback function when menu clicked Click Callback // 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 Text ¶
func Text(label string, accelerator *keys.Accelerator, click Callback) *MenuItem
Text is a helper to create basic Text menu items
func WindowMenu ¶
func WindowMenu() *MenuItem
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 (*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) IsCheckbox ¶
func (*MenuItem) IsSeparator ¶
func (*MenuItem) Parent ¶
Parent returns the parent of the menu item. If it is a top level menu then it returns nil.
func (*MenuItem) Prepend ¶
Prepend will attempt to prepend 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) SetAccelerator ¶
func (m *MenuItem) SetAccelerator(acc *keys.Accelerator) *MenuItem
func (*MenuItem) SetChecked ¶
type StyledText ¶
func ParseANSI ¶
func ParseANSI(input string) ([]*StyledText, error)
func (*StyledText) Blinking ¶
func (s *StyledText) Blinking() bool
func (*StyledText) Bold ¶
func (s *StyledText) Bold() bool
func (*StyledText) Faint ¶
func (s *StyledText) Faint() bool
func (*StyledText) Inversed ¶
func (s *StyledText) Inversed() bool
func (*StyledText) Invisible ¶
func (s *StyledText) Invisible() bool
func (*StyledText) Italic ¶
func (s *StyledText) Italic() bool
func (*StyledText) Strikethrough ¶
func (s *StyledText) Strikethrough() bool
func (*StyledText) Underlined ¶
func (s *StyledText) Underlined() bool
type TrayMenu ¶
type TrayMenu struct { // Label is the text we wish to display in the tray Label string // Image 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" // If the image is not a filename, it will be treated as base64 image data Image string // MacTemplateImage indicates that on a Mac, this image is a template image MacTemplateImage bool // Text Colour RGBA string // Font FontSize int FontName string // Tooltip Tooltip string // Disabled makes the item unselectable Disabled bool // Menu is the initial menu we wish to use for the tray Menu *Menu // OnOpen is called when the Menu is opened OnOpen func() // OnClose is called when the Menu is closed OnClose func() }
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" )