virtual void CocoaDelegate_windowDidResignKey(void) { }
virtual void CocoaDelegate_windowDidBecomeMain(void) { }
virtual void CocoaDelegate_windowDidResignMain(void) { }
+ virtual void CocoaDelegate_wxMenuItemAction(struct objc_object *sender) = 0;
+ virtual bool CocoaDelegate_validateMenuItem(struct objc_object *sender) = 0;
virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
protected:
wxCocoaNSWindow();
virtual void CocoaDelegate_windowDidResignKey(void);
virtual void CocoaDelegate_windowDidBecomeMain(void);
virtual void CocoaDelegate_windowDidResignMain(void);
+ virtual void CocoaDelegate_wxMenuItemAction(struct objc_object *sender);
+ virtual bool CocoaDelegate_validateMenuItem(struct objc_object *sender);
virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
static void DeactivatePendingWindow();
protected:
- (void)windowDidResignMain: (NSNotification *)notification;
- (BOOL)windowShouldClose: (id)sender;
- (void)windowWillClose: (NSNotification *)notification;
+
+// Menu item handlers
+- (void)wxMenuItemAction: (id)sender;
+- (BOOL)validateMenuItem: (id)menuItem;
@end //interface wxNSWindowDelegate
@implementation wxNSWindowDelegate : NSObject
return m_wxCocoaInterface;
}
+// Delegate message handlers
- (void)windowDidBecomeKey: (NSNotification *)notification
{
wxCocoaNSWindow *win = wxCocoaNSWindow::GetFromCocoa([notification object]);
win->CocoaDelegate_windowWillClose();
}
+// Menu item handlers
+- (void)wxMenuItemAction: (id)sender
+{
+ wxASSERT(m_wxCocoaInterface);
+ m_wxCocoaInterface->CocoaDelegate_wxMenuItemAction(sender);
+}
+
+- (BOOL)validateMenuItem: (id)sender
+{
+ wxASSERT(m_wxCocoaInterface);
+ return m_wxCocoaInterface->CocoaDelegate_validateMenuItem(sender);
+}
+
@end //implementation wxNSWindowDelegate
// ============================================================================
return wxWindowBase::Close(false);
}
+void wxTopLevelWindowCocoa::CocoaDelegate_wxMenuItemAction(struct objc_object *sender)
+{
+}
+
+bool wxTopLevelWindowCocoa::CocoaDelegate_validateMenuItem(struct objc_object *sender)
+{
+ return false;
+}
+
// ----------------------------------------------------------------------------
// wxTopLevelWindowCocoa maximize/minimize
// ----------------------------------------------------------------------------