X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4d90072c22f3f7aff3991ef3187c67b2cdc5ea70..09b895cb4a954494063eb17d3dc302a654fd99e5:/include/wx/mac/carbon/app.h diff --git a/include/wx/mac/carbon/app.h b/include/wx/mac/carbon/app.h index 54e61575dc..66796866a4 100644 --- a/include/wx/mac/carbon/app.h +++ b/include/wx/mac/carbon/app.h @@ -17,30 +17,21 @@ #include "wx/gdicmn.h" #include "wx/event.h" -#ifdef __WXMAC_OSX__ -typedef struct __CFRunLoopSource * CFRunLoopSourceRef; -#endif - -class WXDLLEXPORT wxFrame; -class WXDLLEXPORT wxWindowMac; -class WXDLLEXPORT wxApp ; -class WXDLLEXPORT wxKeyEvent; -class WXDLLEXPORT wxLog; - -#define wxPRINT_WINDOWS 1 -#define wxPRINT_POSTSCRIPT 2 - -WXDLLEXPORT_DATA(extern wxApp*) wxTheApp; +class WXDLLIMPEXP_FWD_CORE wxFrame; +class WXDLLIMPEXP_FWD_CORE wxWindowMac; +class WXDLLIMPEXP_FWD_CORE wxApp ; +class WXDLLIMPEXP_FWD_CORE wxKeyEvent; +class WXDLLIMPEXP_FWD_BASE wxLog; // Force an exit from main loop -void WXDLLEXPORT wxExit(); +void WXDLLIMPEXP_CORE wxExit(); // Yield to other apps/messages -bool WXDLLEXPORT wxYield(); +bool WXDLLIMPEXP_CORE wxYield(); // Represents the application. Derive OnInit and declare // a new App object to start application -class WXDLLEXPORT wxApp: public wxAppBase +class WXDLLIMPEXP_CORE wxApp: public wxAppBase { DECLARE_DYNAMIC_CLASS(wxApp) @@ -65,7 +56,6 @@ class WXDLLEXPORT wxApp: public wxAppBase void MacDoOneEvent() ; protected: - bool m_showOnInit; int m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT public: @@ -81,11 +71,13 @@ public: void MacSetCurrentEvent( WXEVENTREF event , WXEVENTHANDLERCALLREF handler ) { m_macCurrentEvent = event ; m_macCurrentEventHandlerCallRef = handler ; } + // adding a CFType object to be released only at the end of the current event cycle (increases the + // refcount of the object passed), needed in case we are in the middle of an event concering an object + // we want to delete and cannot do it immediately + // TODO change semantics to be in line with cocoa (make autrelease NOT increase the count) + void MacAddToAutorelease( void* cfrefobj ); public: - static long sm_lastMessageTime; static wxWindow* s_captureWindow ; - static int s_lastMouseDown ; // 0 = none , 1 = left , 2 = right - static WXHRGN s_macCursorRgn ; static long s_lastModifiers ; int m_nCmdShow; @@ -96,32 +88,14 @@ private: WXEVENTHANDLERREF m_macEventHandler ; WXEVENTHANDLERCALLREF m_macCurrentEventHandlerCallRef ; WXEVENTREF m_macCurrentEvent ; -#ifdef __WXMAC_OSX__ CFRunLoopSourceRef m_macEventPosted ; -#endif public: - static bool s_macSupportPCMenuShortcuts ; static long s_macAboutMenuItemId ; static long s_macPreferencesMenuItemId ; static long s_macExitMenuItemId ; static wxString s_macHelpMenuTitleName ; - static bool s_macHasAppearance ; - static long s_macAppearanceVersion ; - static bool s_macHasNavigation ; - static bool s_macNavigationVersion ; - static bool s_macHasWindowManager ; - static long s_macWindowManagerVersion ; - static bool s_macHasMenuManager ; - static long s_macMenuManagerVersion ; - static bool s_macHasDialogManager ; - static long s_macDialogManagerVersion ; - - WXHRGN m_macCursorRgn ; - WXHRGN m_macSleepRgn ; - WXHRGN m_macHelpRgn ; - WXEVENTREF MacGetCurrentEvent() { return m_macCurrentEvent ; } void MacHandleOneEvent( WXEVENTREF ev ) ; @@ -130,8 +104,10 @@ public: bool MacSendKeyDownEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; bool MacSendKeyUpEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; - + bool MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; + void MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar ) ; virtual short MacHandleAEODoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; + virtual short MacHandleAEGURL(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; virtual short MacHandleAEPDoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; virtual short MacHandleAEOApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; virtual short MacHandleAEQuit(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ; @@ -139,6 +115,8 @@ public: // in response of an open-document apple event virtual void MacOpenFile(const wxString &fileName) ; + // in response of a get-url apple event + virtual void MacOpenURL(const wxString &url) ; // in response of a print-document apple event virtual void MacPrintFile(const wxString &fileName) ; // in response of a open-application apple event @@ -146,6 +124,9 @@ public: // in response of a reopen-application apple event virtual void MacReopenApp() ; + // Hide the application windows the same as the system hide command would do it. + void MacHideApp(); + DECLARE_EVENT_TABLE() };