mirror of
https://github.com/wavetermdev/wails.git
synced 2026-08-05 13:53:43 -07:00
Feature: Add menu helpers
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package menu
|
||||
|
||||
import "github.com/wailsapp/wails/v2/pkg/menu/keys"
|
||||
|
||||
type Menu struct {
|
||||
Items []*MenuItem
|
||||
}
|
||||
@@ -20,6 +22,40 @@ func (m *Menu) Merge(menu *Menu) {
|
||||
}
|
||||
}
|
||||
|
||||
// AddText adds a TextMenu item to the menu
|
||||
func (m *Menu) AddText(label string, accelerator *keys.Accelerator, click Callback) *MenuItem {
|
||||
item := Text(label, accelerator, click)
|
||||
m.Append(item)
|
||||
return item
|
||||
}
|
||||
|
||||
// AddCheckbox adds a CheckboxMenu item to the menu
|
||||
func (m *Menu) AddCheckbox(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem {
|
||||
item := Checkbox(label, checked, accelerator, click)
|
||||
m.Append(item)
|
||||
return item
|
||||
}
|
||||
|
||||
// AddRadio adds a radio item to the menu
|
||||
func (m *Menu) AddRadio(label string, checked bool, accelerator *keys.Accelerator, click Callback) *MenuItem {
|
||||
item := Radio(label, checked, accelerator, click)
|
||||
m.Append(item)
|
||||
return item
|
||||
}
|
||||
|
||||
// AddSeparator adds a separator to the menu
|
||||
func (m *Menu) AddSeparator() {
|
||||
item := Separator()
|
||||
m.Append(item)
|
||||
}
|
||||
|
||||
func (m *Menu) AddSubmenu(label string) *Menu {
|
||||
submenu := NewMenu()
|
||||
item := SubMenu(label, submenu)
|
||||
m.Append(item)
|
||||
return submenu
|
||||
}
|
||||
|
||||
func (m *Menu) Prepend(item *MenuItem) {
|
||||
m.Items = append([]*MenuItem{item}, m.Items...)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user