+ /*
+ We need this for ShowModal, as the sheet just disables the parent window and
+ returns control to the app, whereas we don't want to return from ShowModal
+ until the sheet has been dismissed.
+ */
+ @interface ModalDialogDelegate : NSObject
+ {
+ BOOL sheetFinished;
+ int resultCode;
+ wxDialog* impl;
+ }
+
+ - (void)setImplementation: (wxDialog *)dialog;
+ - (BOOL)finished;
+ - (int)code;
+ - (void)waitForSheetToFinish;
+ - (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
+ @end
+
+ // This interface must be exported in shared 64 bit multilib build but
+ // using WXEXPORT with Objective C interfaces doesn't work with old (4.0.1)
+ // gcc when using 10.4 SDK. It does work with newer gcc even in 32 bit
+ // builds but seems to be unnecessary there so to avoid the expense of a
+ // configure check verifying if this does work or not with the current
+ // compiler we just only use it for 64 bit builds where this is always
+ // supported.
+ //
+ // NB: Currently this is the only place where we need to export an
+ // interface but if we need to do it elsewhere we should define a
+ // WXEXPORT_OBJC macro once and reuse it in all places it's needed
+ // instead of duplicating this preprocessor check.
+#ifdef __LP64__
+ WXEXPORT
+#endif // 64 bit builds
+ @interface wxNSAppController : NSObject wxOSX_10_6_AND_LATER(<NSApplicationDelegate>)
+ {
+ }
+
+ @end
+