]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/cocoa/app.h
we need our own imaglist implementation because in wxmac wxIcon does not inherit...
[wxWidgets.git] / include / wx / cocoa / app.h
index 1e2453a0a58978a8eff06d6db7b4945840b10c27..d0e7c782614656374a41b6e1a4d07085283c67c2 100644 (file)
@@ -4,17 +4,17 @@
 // Author:      David Elliott
 // Modified by:
 // Created:     2002/11/27
-// RCS-ID:      $Id:
+// RCS-ID:      $Id$
 // Copyright:   (c) 2002 David Elliott
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_COCOA_APP_H_
 #define _WX_COCOA_APP_H_
 
-// entrypoint
-int WXDLLEXPORT wxEntry( int argc, char *argv[] );
-
+// ========================================================================
+// wxApp
+// ========================================================================
 // Represents the application. Derive OnInit and declare
 // a new App object to start application
 class WXDLLEXPORT wxApp: public wxAppBase
@@ -33,45 +33,42 @@ public:
 // ------------------------------------------------------------------------
 public:
     inline WX_NSApplication GetNSApplication() { return m_cocoaApp; }
-    void CocoaInstallRequestedIdleHandler() { if(m_isIdle) CocoaInstallIdleHandler(); }
-    inline void CocoaRequestIdle() { m_isIdle = true; }
+    virtual void CocoaDelegate_applicationWillBecomeActive();
+    virtual void CocoaDelegate_applicationDidBecomeActive();
+    virtual void CocoaDelegate_applicationWillResignActive();
+    virtual void CocoaDelegate_applicationDidResignActive();
 protected:
     WX_NSApplication m_cocoaApp;
-    void CocoaInstallIdleHandler();
-    bool m_isIdle;
+    struct objc_object *m_cocoaAppDelegate;
+    WX_NSThread m_cocoaMainThread;
 
 // ------------------------------------------------------------------------
 // Implementation
 // ------------------------------------------------------------------------
 public:
     // Implement wxAppBase pure virtuals
-    virtual int MainLoop();
-    virtual void ExitMainLoop();
-    virtual bool Initialized();
-    virtual bool Pending();
-    virtual void Dispatch();
-
     virtual void Exit();
 
     virtual bool Yield(bool onlyIfNeeded = FALSE);
-    virtual bool ProcessIdle();
-    virtual bool WakeUpIdle() { CocoaRequestIdle(); }
-    
-    /* Idle Processing */
-    void OnIdle(wxIdleEvent& event);
-    // Send idle event to all top-level windows.
-    // Returns TRUE if more idle time is requested.
-    bool SendIdleEvents();
-    // Send idle event to window and all subwindows
-    // Returns TRUE if more idle time is requested.
-    bool SendIdleEvents(wxWindowCocoa* win);
+    virtual void WakeUpIdle();
     
-    static bool Initialize();
-    static void CleanUp();
+    virtual bool Initialize(int& argc, wxChar **argv);
+    virtual void CleanUp();
+    virtual bool CallOnInit();
+
     
     virtual bool OnInit();
     virtual bool OnInitGui();
-    void DeletePendingObjects();
+
+#ifdef __WXDEBUG__
+    virtual void OnAssert(const wxChar *file, int line, const wxChar *cond, const wxChar *msg);
+    bool IsInAssert() const { return m_isInAssert; }
+#endif // __WXDEBUG__
+
+private:
+#ifdef __WXDEBUG__
+    bool m_isInAssert;
+#endif // __WXDEBUG__
 };
 
 #endif // _WX_COCOA_APP_H_