]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
Compilation fix for VC++ 5 and 6
[wxWidgets.git] / include / wx / window.h
index 50fae004cd1a59da88128d0f1a4d8cada6898371..b9a8332d5c94ff378eecd1c16fdab028de4a13e3 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by: Ron Lee
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Modified by: Ron Lee
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWidgets team
+// Copyright:   (c) Vadim Zeitlin
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -48,9 +48,9 @@
 // compiled in - it should only be used when building real wxFoo
 #ifdef __WXUNIVERSAL__
     #define wxUSE_MENUS_NATIVE 0
 // compiled in - it should only be used when building real wxFoo
 #ifdef __WXUNIVERSAL__
     #define wxUSE_MENUS_NATIVE 0
-#else // __WXMSW__
+#else // !__WXUNIVERSAL__
     #define wxUSE_MENUS_NATIVE wxUSE_MENUS
     #define wxUSE_MENUS_NATIVE wxUSE_MENUS
-#endif // __WXUNIVERSAL__/__WXMSW__
+#endif // __WXUNIVERSAL__/!__WXUNIVERSAL__
 
 // ----------------------------------------------------------------------------
 // forward declarations
 
 // ----------------------------------------------------------------------------
 // forward declarations
@@ -73,6 +73,8 @@ class WXDLLEXPORT wxWindow;
 class WXDLLEXPORT wxAccessible;
 #endif
 
 class WXDLLEXPORT wxAccessible;
 #endif
 
+class WXDLLEXPORT wxWindowExtraData;
+
 // ----------------------------------------------------------------------------
 // helper stuff used by wxWindow
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // helper stuff used by wxWindow
 // ----------------------------------------------------------------------------
@@ -424,10 +426,10 @@ public:
 
         // Override these methods for windows that have a virtual size
         // independent of their client size.  eg. the virtual area of a
 
         // Override these methods for windows that have a virtual size
         // independent of their client size.  eg. the virtual area of a
-        // wxScrolledWindow.  Default is to alias VirtualSize to ClientSize.
+        // wxScrolledWindow.
 
     virtual void DoSetVirtualSize( int x, int y );
 
     virtual void DoSetVirtualSize( int x, int y );
-    virtual wxSize DoGetVirtualSize() const; // { return m_virtualSize; }
+    virtual wxSize DoGetVirtualSize() const;
 
         // Return the largest of ClientSize and BestSize (as determined
         // by a sizer, interior children, or other means)
 
         // Return the largest of ClientSize and BestSize (as determined
         // by a sizer, interior children, or other means)
@@ -482,14 +484,6 @@ public:
     virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; }
     virtual bool GetThemeEnabled() const { return m_themeEnabled; }
 
     virtual void SetThemeEnabled(bool enableTheme) { m_themeEnabled = enableTheme; }
     virtual bool GetThemeEnabled() const { return m_themeEnabled; }
 
-        // Returns true if this class should have the background colour
-        // changed to match the parent window's theme.  For example when a
-        // page is added to a notebook it and its children may need to have
-        // the colours adjusted depending on the current theme settings, but
-        // not all windows/controls can do this without looking wrong.
-    virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg))
-        { /* do nothing */ }
-
 
     // focus and keyboard handling
     // ---------------------------
 
     // focus and keyboard handling
     // ---------------------------
@@ -692,7 +686,10 @@ public:
                           const wxRect *rect = (const wxRect *) NULL ) = 0;
 
         // a less awkward wrapper for Refresh
                           const wxRect *rect = (const wxRect *) NULL ) = 0;
 
         // a less awkward wrapper for Refresh
-    void RefreshRect(const wxRect& rect) { Refresh(true, &rect); }
+    void RefreshRect(const wxRect& rect, bool eraseBackground = true)
+    {
+        Refresh(eraseBackground, &rect);
+    }
 
         // repaint all invalid areas of the window immediately
     virtual void Update() { }
 
         // repaint all invalid areas of the window immediately
     virtual void Update() { }
@@ -756,13 +753,14 @@ public:
             m_inheritBgCol = false;
     }
     wxColour GetBackgroundColour() const;
             m_inheritBgCol = false;
     }
     wxColour GetBackgroundColour() const;
-
-    // if the window shouldn't inherit its colour from the parent, override
-    // this function to return true
-    //
-    // this is currently only used by wxMSW and wxUniv but should be useful for
-    // the other ports too
-    virtual bool ProvidesBackground() const { return false; }
+    bool InheritsBackgroundColour() const
+    {
+        return m_inheritBgCol;
+    }
+    bool UseBgCol() const
+    {
+        return m_hasBgCol;
+    }
 
     virtual bool SetForegroundColour(const wxColour& colour);
     void SetOwnForegroundColour(const wxColour& colour)
 
     virtual bool SetForegroundColour(const wxColour& colour);
     void SetOwnForegroundColour(const wxColour& colour)
@@ -1073,6 +1071,17 @@ public:
     // behaviour in the most common case
     virtual bool ShouldInheritColours() const { return false; }
 
     // behaviour in the most common case
     virtual bool ShouldInheritColours() const { return false; }
 
+    // Reserved for future use
+    virtual void ReservedWindowFunc1() {}
+    virtual void ReservedWindowFunc2() {}
+    virtual void ReservedWindowFunc3() {}
+    virtual void ReservedWindowFunc4() {}
+    virtual void ReservedWindowFunc5() {}
+    virtual void ReservedWindowFunc6() {}
+    virtual void ReservedWindowFunc7() {}
+    virtual void ReservedWindowFunc8() {}
+    virtual void ReservedWindowFunc9() {}
+
 protected:
     // event handling specific to wxWindow
     virtual bool TryValidator(wxEvent& event);
 protected:
     // event handling specific to wxWindow
     virtual bool TryValidator(wxEvent& event);
@@ -1305,6 +1314,10 @@ protected:
     // implements the window variants
     virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
 
     // implements the window variants
     virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
 
+    // Was a reserved pointer in 2.6.0, now used to hold extra data members
+    // without breaking compatibility.
+    wxWindowExtraData* m_extraData;
+
 private:
     // contains the last id generated by NewControlId
     static int ms_lastControlId;
 private:
     // contains the last id generated by NewControlId
     static int ms_lastControlId;