]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/app.h
[ 1473731 ] 'wxColourBase and wxString <-> wxColour implementation'
[wxWidgets.git] / include / wx / mac / carbon / app.h
index 8267803af5c3cc6dc0d2507229a6732d3814f35e..96a293e5483381f802c8f165cb1f24988280d481 100644 (file)
 #ifndef _WX_APP_H_
 #define _WX_APP_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "app.h"
-#endif
-
 #include "wx/defs.h"
 #include "wx/object.h"
 #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 ;
@@ -47,13 +47,6 @@ class WXDLLEXPORT wxApp: public wxAppBase
     wxApp();
     virtual ~wxApp() {}
 
-    virtual int MainLoop();
-    virtual void ExitMainLoop();
-    virtual bool Pending() ;
-    virtual bool Dispatch() ;
-
-    virtual void Exit();
-
     virtual bool Yield(bool onlyIfNeeded = FALSE);
     virtual void WakeUpIdle();
 
@@ -69,6 +62,8 @@ class WXDLLEXPORT wxApp: public wxAppBase
     void OnEndSession(wxCloseEvent& event);
     void OnQueryEndSession(wxCloseEvent& event);
 
+    void                  MacDoOneEvent() ;
+
 protected:
     bool                  m_showOnInit;
     int                   m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
@@ -80,8 +75,6 @@ public:
     virtual bool Initialize(int& argc, wxChar **argv);
     virtual void CleanUp();
 
-    bool IsExiting() { return !m_keepGoing ; }
-
     // the installed application event handler
     WXEVENTHANDLERREF    MacGetEventHandler() { return m_macEventHandler ; }
     WXEVENTHANDLERREF    MacGetCurrentEventHandlerCallRef() { return m_macCurrentEventHandlerCallRef ; }
@@ -98,13 +91,14 @@ public:
     int                   m_nCmdShow;
 
 private:
-    bool                  m_keepGoing ;
-
     // mac specifics
 
     WXEVENTHANDLERREF     m_macEventHandler ;
     WXEVENTHANDLERCALLREF m_macCurrentEventHandlerCallRef ;
     WXEVENTREF            m_macCurrentEvent ;
+#ifdef __WXMAC_OSX__
+    CFRunLoopSourceRef    m_macEventPosted ;
+#endif
 
 public:
     static bool           s_macSupportPCMenuShortcuts ;
@@ -124,24 +118,20 @@ public:
     static bool           s_macHasDialogManager ;
     static long           s_macDialogManagerVersion ;
     
-    #ifdef __DARWIN__
-    static class wxHIDKeyboard* s_macHIDKeyboard;
-    #endif
-
     WXHRGN                m_macCursorRgn ;
     WXHRGN                m_macSleepRgn ;
     WXHRGN                m_macHelpRgn ;
 
-    void                  MacDoOneEvent() ;
     WXEVENTREF            MacGetCurrentEvent() { return m_macCurrentEvent ; }
     void                  MacHandleOneEvent( WXEVENTREF ev ) ;
 
     // For embedded use. By default does nothing.
     virtual void          MacHandleUnhandledEvent( WXEVENTREF ev );
 
-    bool    MacSendKeyDownEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey ) ;
-    bool    MacSendKeyUpEvent( wxWindow* focus , long keyval , long modifiers , long when , short wherex , short wherey ) ;
-
+    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         MacHandleAEPDoc(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;
     virtual short         MacHandleAEOApp(const WXAPPLEEVENTREF event , WXAPPLEEVENTREF reply) ;