// global variables
// ----------------------------------------------------------------------------
-WXDLLEXPORT_DATA(extern wxWindowList) wxTopLevelWindows;
+extern WXDLLEXPORT_DATA(wxWindowList) wxTopLevelWindows;
// ----------------------------------------------------------------------------
// wxWindowBase is the base class for all GUI controls/widgets, this is the public
virtual bool Enable( bool enable = true );
bool Disable() { return Enable(false); }
- bool IsShown() const { return m_isShown; }
- bool IsEnabled() const { return m_isEnabled; }
+ virtual bool IsShown() const { return m_isShown; }
+ virtual bool IsEnabled() const { return m_isEnabled; }
// get/set window style (setting style won't update the window and so
// is only useful for internal usage)
// find window among the descendants of this one either by id or by
// name (return NULL if not found)
- wxWindow *FindWindow( long winid );
- wxWindow *FindWindow( const wxString& name );
+ wxWindow *FindWindow(long winid) const;
+ wxWindow *FindWindow(const wxString& name) const;
// Find a window among any window (all return NULL if not found)
static wxWindow *FindWindowById( long winid, const wxWindow *parent = NULL );
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() { }
virtual bool SetBackgroundStyle(wxBackgroundStyle style) { m_backgroundStyle = style; return true; }
virtual wxBackgroundStyle GetBackgroundStyle() const { return m_backgroundStyle; }
+ // returns true if the control has "transparent" areas such as a
+ // wxStaticText and wxCheckBox and the background should be adapted
+ // from a parent window
+ virtual bool HasTransparentBackground() { return false; }
+
// set/retrieve the font for the window (SetFont() returns true if the
// font really changed)
virtual bool SetFont(const wxFont& font) = 0;
// Find the wxWindow at the current mouse position, also returning the mouse
// position.
-WXDLLEXPORT extern wxWindow* wxFindWindowAtPointer(wxPoint& pt);
+extern WXDLLEXPORT wxWindow* wxFindWindowAtPointer(wxPoint& pt);
// Get the current mouse position.
-WXDLLEXPORT extern wxPoint wxGetMousePosition();
+extern WXDLLEXPORT wxPoint wxGetMousePosition();
// get the currently active window of this application or NULL
-WXDLLEXPORT extern wxWindow *wxGetActiveWindow();
+extern WXDLLEXPORT wxWindow *wxGetActiveWindow();
// get the (first) top level parent window
WXDLLEXPORT wxWindow* wxGetTopLevelParent(wxWindow *win);