mirror of
https://github.com/wailsapp/wails.git
synced 2026-03-14 14:45:49 +01:00
Fix enabled menuitem
This commit is contained in:
parent
7c18f25508
commit
d84cb5b190
2 changed files with 26 additions and 8 deletions
|
|
@ -77,6 +77,7 @@ func main() {
|
|||
mySystray.SetMenu(myMenu)
|
||||
|
||||
})
|
||||
myMenu.Add("Not Enabled").SetEnabled(false)
|
||||
myMenu.AddSeparator()
|
||||
myMenu.AddCheckbox("My checkbox", true).OnClick(menuCallback)
|
||||
myMenu.AddSeparator()
|
||||
|
|
@ -89,13 +90,17 @@ func main() {
|
|||
submenu.Add("Submenu item 2").OnClick(menuCallback)
|
||||
submenu.Add("Submenu item 3").OnClick(menuCallback)
|
||||
myMenu.AddSeparator()
|
||||
file4 := myMenu.Add("File 4").OnClick(func(*application.Context) {
|
||||
println("File 4 clicked")
|
||||
})
|
||||
|
||||
myMenu.Add("File 3").OnClick(menuCallback).SetTooltip("sdfsdfsdfsdf")
|
||||
myMenu.Add("File 4").OnClick(menuCallback)
|
||||
myMenu.Add("Click to toggle").OnClick(func(*application.Context) {
|
||||
enabled := file4.Enabled()
|
||||
println("Enabled: ", enabled)
|
||||
file4.SetEnabled(!enabled)
|
||||
})
|
||||
myMenu.Add("File 5").OnClick(menuCallback)
|
||||
|
||||
//myMenu.AddSubmenu("File 6").OnClick(menuCallback)
|
||||
|
||||
mySystray := app.NewSystemTray()
|
||||
mySystray.SetLabel("Wails is awesome")
|
||||
if runtime.GOOS == "darwin" {
|
||||
|
|
|
|||
|
|
@ -14,10 +14,13 @@ void* newMenuItem(unsigned int menuItemID, char *label, bool disabled, char* too
|
|||
// Label
|
||||
menuItem.title = [NSString stringWithUTF8String:label];
|
||||
|
||||
// Process callback
|
||||
if( disabled ) {
|
||||
[menuItem setTarget:nil];
|
||||
} else {
|
||||
[menuItem setTarget:menuItem];
|
||||
}
|
||||
menuItem.menuItemID = menuItemID;
|
||||
menuItem.action = @selector(handleClick);
|
||||
menuItem.target = menuItem;
|
||||
menuItem.enabled = !disabled;
|
||||
|
||||
// Tooltip
|
||||
|
|
@ -38,10 +41,20 @@ void setMenuItemLabel(void* nsMenuItem, char *label) {
|
|||
menuItem.title = [NSString stringWithUTF8String:label];
|
||||
}
|
||||
|
||||
|
||||
// set menu item disabled
|
||||
void setMenuItemDisabled(void* nsMenuItem, bool disabled) {
|
||||
MenuItem *menuItem = (MenuItem *)nsMenuItem;
|
||||
menuItem.enabled = !disabled;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
MenuItem *menuItem = (MenuItem *)nsMenuItem;
|
||||
printf("setMenuItemDisabled: %d\n", disabled);
|
||||
[menuItem setEnabled:!disabled];
|
||||
// remove target
|
||||
if( disabled ) {
|
||||
[menuItem setTarget:nil];
|
||||
} else {
|
||||
[menuItem setTarget:menuItem];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// set menu item tooltip
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue