|
|
@ -4,20 +4,17 @@ |
|
|
#include "window.h" |
|
|
#include "window.h" |
|
|
|
|
|
|
|
|
@implementation AvnMenu |
|
|
@implementation AvnMenu |
|
|
- (void)menuNeedsUpdate:(NSMenu *)menu |
|
|
|
|
|
{ |
|
|
{ |
|
|
printf("TEST"); |
|
|
NSObject<NSMenuDelegate>* _wtf; |
|
|
} |
|
|
} |
|
|
|
|
|
- (id) initWithDelegate: (NSObject<NSMenuDelegate>*)del |
|
|
- (void)menuWillOpen:(NSMenu *)menu |
|
|
|
|
|
{ |
|
|
{ |
|
|
|
|
|
self = [super init]; |
|
|
|
|
|
self.delegate = del; |
|
|
|
|
|
_wtf = del; |
|
|
|
|
|
return self; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
- (void)menuDidClose:(NSMenu *)menu |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
@end |
|
|
@end |
|
|
|
|
|
|
|
|
@implementation AvnMenuItem |
|
|
@implementation AvnMenuItem |
|
|
@ -159,15 +156,10 @@ void AvnAppMenuItem::RaiseOnClicked() |
|
|
|
|
|
|
|
|
AvnAppMenu::AvnAppMenu() |
|
|
AvnAppMenu::AvnAppMenu() |
|
|
{ |
|
|
{ |
|
|
_native = [AvnMenu new]; |
|
|
id del = [[AvnMenuDelegate alloc] initWithParent: this]; |
|
|
[_native setDelegate:_native]; |
|
|
_native = [[AvnMenu alloc] initWithDelegate: del]; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
AvnAppMenu::AvnAppMenu(AvnMenu* native) |
|
|
|
|
|
{ |
|
|
|
|
|
_native = native; |
|
|
|
|
|
[_native setDelegate:_native]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
AvnMenu* AvnAppMenu::GetNative() |
|
|
AvnMenu* AvnAppMenu::GetNative() |
|
|
{ |
|
|
{ |
|
|
@ -214,12 +206,41 @@ HRESULT AvnAppMenu::Clear() |
|
|
return S_OK; |
|
|
return S_OK; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@implementation AvnMenuDelegate |
|
|
|
|
|
{ |
|
|
|
|
|
ComPtr<AvnAppMenu> _parent; |
|
|
|
|
|
} |
|
|
|
|
|
- (id) initWithParent:(AvnAppMenu *)parent |
|
|
|
|
|
{ |
|
|
|
|
|
self = [super init]; |
|
|
|
|
|
_parent = parent; |
|
|
|
|
|
return self; |
|
|
|
|
|
} |
|
|
|
|
|
- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel |
|
|
|
|
|
{ |
|
|
|
|
|
if(shouldCancel) |
|
|
|
|
|
return NO; |
|
|
|
|
|
return YES; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
- (NSInteger)numberOfItemsInMenu:(NSMenu *)menu |
|
|
|
|
|
{ |
|
|
|
|
|
return [menu numberOfItems]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
- (void)menuNeedsUpdate:(NSMenu *)menu |
|
|
|
|
|
{ |
|
|
|
|
|
printf("NEEDSUPDATE\n"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@end |
|
|
|
|
|
|
|
|
extern IAvnAppMenu* CreateAppMenu() |
|
|
extern IAvnAppMenu* CreateAppMenu() |
|
|
{ |
|
|
{ |
|
|
@autoreleasepool |
|
|
@autoreleasepool |
|
|
{ |
|
|
{ |
|
|
id menuBar = [NSMenu new]; |
|
|
return new AvnAppMenu(); |
|
|
return new AvnAppMenu(menuBar); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|