mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-04 10:11:07 +08:00
Remove Menu.On()
This commit is contained in:
parent
8053357d99
commit
a4153fae57
@ -1,15 +1,13 @@
|
|||||||
package runtime
|
package runtime
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/wailsapp/wails/v2/internal/messagedispatcher/message"
|
|
||||||
"github.com/wailsapp/wails/v2/internal/servicebus"
|
"github.com/wailsapp/wails/v2/internal/servicebus"
|
||||||
"github.com/wailsapp/wails/v2/pkg/menu"
|
"github.com/wailsapp/wails/v2/pkg/menu"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Menu defines all Menu related operations
|
// Menu defines all Menu related operations
|
||||||
type Menu interface {
|
type Menu interface {
|
||||||
On(menuID string, callback func(*menu.MenuItem))
|
UpdateApplicationMenu()
|
||||||
Update()
|
|
||||||
GetByID(menuID string) *menu.MenuItem
|
GetByID(menuID string) *menu.MenuItem
|
||||||
RemoveByID(id string) bool
|
RemoveByID(id string) bool
|
||||||
}
|
}
|
||||||
@ -27,15 +25,7 @@ func newMenu(bus *servicebus.ServiceBus, menu *menu.Menu) Menu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// On registers a listener for a particular event
|
func (m *menuRuntime) UpdateApplicationMenu() {
|
||||||
func (m *menuRuntime) On(menuID string, callback func(*menu.MenuItem)) {
|
|
||||||
m.bus.Publish("menu:on", &message.MenuOnMessage{
|
|
||||||
MenuID: menuID,
|
|
||||||
Callback: callback,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *menuRuntime) Update() {
|
|
||||||
m.bus.Publish("menu:updateappmenu", nil)
|
m.bus.Publish("menu:updateappmenu", nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/wailsapp/wails/v2/internal/logger"
|
"github.com/wailsapp/wails/v2/internal/logger"
|
||||||
"github.com/wailsapp/wails/v2/internal/messagedispatcher/message"
|
|
||||||
"github.com/wailsapp/wails/v2/internal/servicebus"
|
"github.com/wailsapp/wails/v2/internal/servicebus"
|
||||||
"github.com/wailsapp/wails/v2/pkg/menu"
|
"github.com/wailsapp/wails/v2/pkg/menu"
|
||||||
)
|
)
|
||||||
@ -116,11 +115,6 @@ func (m *Menu) Start() error {
|
|||||||
m.logger.Trace("%s", err.Error())
|
m.logger.Trace("%s", err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
case "on":
|
|
||||||
listenerDetails := menuMessage.Data().(*message.MenuOnMessage)
|
|
||||||
id := listenerDetails.MenuID
|
|
||||||
m.listeners[id] = append(m.listeners[id], listenerDetails.Callback)
|
|
||||||
|
|
||||||
// Make sure we catch any menu updates
|
// Make sure we catch any menu updates
|
||||||
case "updateappmenu":
|
case "updateappmenu":
|
||||||
updatedMenu, err := m.menuManager.UpdateApplicationMenu()
|
updatedMenu, err := m.menuManager.UpdateApplicationMenu()
|
||||||
@ -128,10 +122,8 @@ func (m *Menu) Start() error {
|
|||||||
m.logger.Trace("%s", err.Error())
|
m.logger.Trace("%s", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//updatedMenu := menuMessage.Data().(*menu.Menu)
|
|
||||||
//m.processMenu(updatedMenu)
|
// Notify frontend of menu change
|
||||||
//
|
|
||||||
//// Notify frontend of menu change
|
|
||||||
m.bus.Publish("menufrontend:updateappmenu", updatedMenu)
|
m.bus.Publish("menufrontend:updateappmenu", updatedMenu)
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -67,7 +67,7 @@ func (m *Menu) addMenu(data *menu.CallbackData) {
|
|||||||
removeMenu.Label = "Remove " + menuText
|
removeMenu.Label = "Remove " + menuText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m.runtime.Menu.Update()
|
m.runtime.Menu.UpdateApplicationMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Menu) removeMenu(_ *menu.CallbackData) {
|
func (m *Menu) removeMenu(_ *menu.CallbackData) {
|
||||||
@ -97,7 +97,7 @@ func (m *Menu) removeMenu(_ *menu.CallbackData) {
|
|||||||
//}
|
//}
|
||||||
//
|
//
|
||||||
//// parent.Append(menu.Text(menuText, menuText, menu.Key("[")))
|
//// parent.Append(menu.Text(menuText, menuText, menu.Key("[")))
|
||||||
//m.runtime.Menu.Update()
|
//m.runtime.Menu.UpdateApplicationMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) {
|
func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) {
|
||||||
@ -115,8 +115,8 @@ func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) {
|
|||||||
menu.Separator(),
|
menu.Separator(),
|
||||||
))
|
))
|
||||||
|
|
||||||
m.runtime.Menu.On("Insert Before Random", m.insertBeforeRandom)
|
//m.runtime.Menu.On("Insert Before Random", m.insertBeforeRandom)
|
||||||
m.runtime.Menu.On("Insert After Random", m.insertAfterRandom)
|
//m.runtime.Menu.On("Insert After Random", m.insertAfterRandom)
|
||||||
|
|
||||||
// Initialise out map
|
// Initialise out map
|
||||||
m.dynamicMenuItems = make(map[string]*menu.MenuItem)
|
m.dynamicMenuItems = make(map[string]*menu.MenuItem)
|
||||||
@ -137,7 +137,7 @@ func (m *Menu) createDynamicMenuTwo(data *menu.CallbackData) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dm1.InsertAfter(dm2)
|
dm1.InsertAfter(dm2)
|
||||||
m.runtime.Menu.Update()
|
m.runtime.Menu.UpdateApplicationMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Menu) insertBeforeRandom(_ *menu.MenuItem) {
|
func (m *Menu) insertBeforeRandom(_ *menu.MenuItem) {
|
||||||
@ -172,7 +172,7 @@ func (m *Menu) insertBeforeRandom(_ *menu.MenuItem) {
|
|||||||
item.Label))
|
item.Label))
|
||||||
|
|
||||||
item.InsertBefore(newItem)
|
item.InsertBefore(newItem)
|
||||||
m.runtime.Menu.Update()
|
m.runtime.Menu.UpdateApplicationMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Menu) insertAfterRandom(_ *menu.MenuItem) {
|
func (m *Menu) insertAfterRandom(_ *menu.MenuItem) {
|
||||||
@ -204,7 +204,7 @@ func (m *Menu) insertAfterRandom(_ *menu.MenuItem) {
|
|||||||
item.Label))
|
item.Label))
|
||||||
|
|
||||||
item.InsertAfter(newItem)
|
item.InsertAfter(newItem)
|
||||||
m.runtime.Menu.Update()
|
m.runtime.Menu.UpdateApplicationMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Menu) processPlainText(callbackData *menu.CallbackData) {
|
func (m *Menu) processPlainText(callbackData *menu.CallbackData) {
|
||||||
|
Loading…
Reference in New Issue
Block a user