Browse Source

attempt to add NSMenuDelegate

pull/3762/head
Dan Walmsley 6 years ago
parent
commit
ad645d4037
  1. 3
      native/Avalonia.Native/src/OSX/menu.h
  2. 16
      native/Avalonia.Native/src/OSX/menu.mm

3
native/Avalonia.Native/src/OSX/menu.h

@ -14,8 +14,7 @@
class AvnAppMenuItem; class AvnAppMenuItem;
class AvnAppMenu; class AvnAppMenu;
@interface AvnMenu : NSMenu // for some reason it doesnt detect nsmenu here but compiler doesnt complain @interface AvnMenu : NSMenu<NSMenuDelegate>
- (void)setMenu:(NSMenu*) menu;
@end @end
@interface AvnMenuItem : NSMenuItem @interface AvnMenuItem : NSMenuItem

16
native/Avalonia.Native/src/OSX/menu.mm

@ -4,6 +4,20 @@
#include "window.h" #include "window.h"
@implementation AvnMenu @implementation AvnMenu
- (void)menuNeedsUpdate:(NSMenu *)menu
{
printf("TEST");
}
- (void)menuWillOpen:(NSMenu *)menu
{
}
- (void)menuDidClose:(NSMenu *)menu
{
}
@end @end
@implementation AvnMenuItem @implementation AvnMenuItem
@ -146,11 +160,13 @@ void AvnAppMenuItem::RaiseOnClicked()
AvnAppMenu::AvnAppMenu() AvnAppMenu::AvnAppMenu()
{ {
_native = [AvnMenu new]; _native = [AvnMenu new];
[_native setDelegate:_native];
} }
AvnAppMenu::AvnAppMenu(AvnMenu* native) AvnAppMenu::AvnAppMenu(AvnMenu* native)
{ {
_native = native; _native = native;
[_native setDelegate:_native];
} }
AvnMenu* AvnAppMenu::GetNative() AvnMenu* AvnAppMenu::GetNative()

Loading…
Cancel
Save