// Modified by: Ron Lee
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c) wxWidgets team
+// Copyright: (c) Vadim Zeitlin
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WINDOW_H_BASE_
#define _WX_WINDOW_H_BASE_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "windowbase.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers which we must include here
// ----------------------------------------------------------------------------
// 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
-#endif // __WXUNIVERSAL__/__WXMSW__
+#endif // __WXUNIVERSAL__/!__WXUNIVERSAL__
// ----------------------------------------------------------------------------
// forward declarations
// 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 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)
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
// ---------------------------
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() { }
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)
void SetHelpTextForId(const wxString& text);
// get the help string associated with this window (may be empty)
wxString GetHelpText() const;
+#else
+ // silently ignore SetHelpText() calls
+ void SetHelpText(const wxString& WXUNUSED(text)) { }
+ void SetHelpTextForId(const wxString& WXUNUSED(text)) { }
#endif // wxUSE_HELP
// tooltips
// 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);
// same size as it would have after a call to Fit()
virtual wxSize DoGetBestSize() const;
+ // called from DoGetBestSize() to convert best virtual size (returned by
+ // the window sizer) to the best size for the window itself; this is
+ // overridden at wxScrolledWindow level to clump down virtual size to real
+ virtual wxSize GetWindowSizeForVirtualSize(const wxSize& size) const
+ {
+ return size;
+ }
+
// this is the virtual function to be overriden in any derived class which
// wants to change how SetSize() or Move() works - it is called by all
// versions of these functions in the base class
// implements the window variants
virtual void DoSetWindowVariant( wxWindowVariant variant ) ;
+ // Reserved for future use
+ void* m_windowReserved;
+
private:
// contains the last id generated by NewControlId
static int ms_lastControlId;