]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/app.h
Moved the cleanup code to an EVT_WINDOW_DESTROY handler.
[wxWidgets.git] / include / wx / app.h
index 8f631cccf22053799f447eb62dffa780696daf90..226be5346fe3ef330bec37e4be7d84914a4fdc3c 100644 (file)
@@ -47,6 +47,10 @@ class WXDLLEXPORT wxCmdLineParser;
     #include "wx/log.h"
 #endif
 
+#if WXWIN_COMPATIBILITY_2_2
+    #include "wx/icon.h"
+#endif
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
@@ -61,21 +65,21 @@ static const int wxPRINT_POSTSCRIPT = 2;
 #if wxUSE_GUI
 // VS: Fullscreen/framebuffer application needs to choose display mode prior
 //     to wxWindows initialization. This class holds information about display
-//     mode. An instance of it is returned by virtual wxApp::GetDisplayMode.
+//     mode. It is used by  wxApp::Set/GetDisplayMode.
 class WXDLLEXPORT wxDisplayModeInfo
 {
 public:
     wxDisplayModeInfo() : m_ok(FALSE) {}
-    wxDisplayModeInfo(const wxSize& size, unsigned depth) 
-        : m_size(size), m_depth(depth), m_ok(TRUE) {}
+    wxDisplayModeInfo(unsigned width, unsigned height, unsigned depth) 
+        : m_width(width), m_height(height), m_depth(depth), m_ok(TRUE) {}
     
-    const wxSize& GetScreenSize() const { return m_size; }
+    unsigned GetWidth() const { return m_width; }
+    unsigned GetHeight() const { return m_height; }
     unsigned GetDepth() const { return m_depth; }
     bool IsOk() const { return m_ok; }
 
 private:
-    wxSize   m_size;
-    unsigned m_depth;
+    unsigned m_width, m_height, m_depth;
     bool     m_ok;
 };
 #endif
@@ -88,6 +92,7 @@ class WXDLLEXPORT wxAppBase : public wxEvtHandler
 {
 public:
     wxAppBase();
+    virtual ~wxAppBase();
 
     // the virtual functions which may/must be overridden in the derived class
     // -----------------------------------------------------------------------
@@ -274,19 +279,20 @@ public:
 #endif // wxUSE_LOG
 
 #if wxUSE_GUI
+
+  #if WXWIN_COMPATIBILITY_2_2
         // get the standard icon used by wxWin dialogs - this allows the user
         // to customize the standard dialogs. The 'which' parameter is one of
         // wxICON_XXX values
-    virtual wxIcon GetStdIcon(int which) const = 0;
+    virtual wxIcon GetStdIcon(int WXUNUSED(which)) const { return wxNullIcon; }
+  #endif
 
-        // get display mode to use. This is only used in framebuffer wxWin ports
-        // (such as wxMGL). This method is called early in wxWin initialization
-        // process and is supposed to be overriden in derived classes.
+        // Get display mode that is used use. This is only used in framebuffer wxWin ports
+        // (such as wxMGL).
     virtual wxDisplayModeInfo GetDisplayMode() const { return wxDisplayModeInfo(); }
-
-        // VZ: what does this do exactly?
-    void SetWantDebugOutput( bool flag ) { m_wantDebugOutput = flag; }
-    bool GetWantDebugOutput() const { return m_wantDebugOutput; }
+        // Set display mode to use. This is only used in framebuffer wxWin ports
+        // (such as wxMGL). This method should be called from wxApp:OnInitGui
+    virtual bool SetDisplayMode(const wxDisplayModeInfo& WXUNUSED(info)) { return TRUE; }
 
         // set use of best visual flag (see below)
     void SetUseBestVisual( bool flag ) { m_useBestVisual = flag; }
@@ -315,6 +321,18 @@ public:
     virtual void OnAssert(const wxChar *file, int line, const wxChar *msg);
 #endif // __WXDEBUG__
 
+    // deprecated functions, please updae your code to not use them!
+    // -------------------------------------------------------------
+
+#if WXWIN_COMPATIBILITY_2_2
+    // used by obsolete wxDebugMsg only
+    void SetWantDebugOutput( bool flag ) { m_wantDebugOutput = flag; }
+    bool GetWantDebugOutput() const { return m_wantDebugOutput; }
+
+    // TRUE if the application wants to get debug output
+    bool m_wantDebugOutput;
+#endif // WXWIN_COMPATIBILITY_2_2
+
     // implementation only from now on
     // -------------------------------
 
@@ -324,11 +342,6 @@ public:
     static wxAppInitializerFunction GetInitializerFunction()
         { return m_appInitFn; }
 
-    // needed to avoid link errors
-#ifdef __DARWIN__
-    virtual ~wxAppBase() { }
-#endif
-
     // process all events in the wxPendingEvents list
     virtual void ProcessPendingEvents();
 
@@ -345,9 +358,6 @@ protected:
              m_appName,         // app name
              m_className;       // class name
 
-    // TRUE if the application wants to get debug output
-    bool m_wantDebugOutput;
-
 #if wxUSE_GUI
     // the main top level window - may be NULL
     wxWindow *m_topWindow;
@@ -377,6 +387,8 @@ protected:
         #include "wx/mgl/app.h"
     #elif defined(__WXGTK__)
         #include "wx/gtk/app.h"
+    #elif defined(__WXX11__)
+        #include "wx/x11/app.h"
     #elif defined(__WXMAC__)
         #include "wx/mac/app.h"
     #elif defined(__WXPM__)