*h = s.y;
}
+ // Determine the best size in the other direction if one of them is
+ // fixed. This is used with windows that can wrap their contents and
+ // returns input-independent best size for the others.
+ int GetBestHeight(int width) const;
+ int GetBestWidth(int height) const;
+
+
void SetScrollHelper( wxScrollHelper *sh ) { m_scrollHelper = sh; }
wxScrollHelper *GetScrollHelper() { return m_scrollHelper; }
bool HasExtraStyle(int exFlag) const { return (m_exStyle & exFlag) != 0; }
+#if WXWIN_COMPATIBILITY_2_8
// make the window modal (all other windows unresponsive)
- virtual void MakeModal(bool modal = true);
-
+ wxDEPRECATED( virtual void MakeModal(bool modal = true) );
+#endif
// (primitive) theming support
// ---------------------------
// is this window a top level one?
virtual bool IsTopLevel() const;
+ // is this window a child or grand child of this one (inside the same
+ // TLW)?
+ bool IsDescendant(wxWindowBase* win) const;
+
// it doesn't really change parent, use Reparent() instead
void SetParent( wxWindowBase *parent ) { m_parent = (wxWindow *)parent; }
// change the real parent of this window, return true if the parent
wxColour GetForegroundColour() const;
// Set/get the background style.
- virtual bool SetBackgroundStyle(wxBackgroundStyle style)
- { m_backgroundStyle = style; return true; }
+ virtual bool SetBackgroundStyle(wxBackgroundStyle style);
wxBackgroundStyle GetBackgroundStyle() const
{ return m_backgroundStyle; }
// from a parent window
virtual bool HasTransparentBackground() { return false; }
+ // Returns true if background transparency is supported for this
+ // window, i.e. if calling SetBackgroundStyle(wxBG_STYLE_TRANSPARENT)
+ // has a chance of succeeding. If reason argument is non-NULL, returns a
+ // user-readable explanation of why it isn't supported if the return
+ // value is false.
+ virtual bool IsTransparentBackgroundSupported(wxString* reason = NULL) const;
+
// set/retrieve the font for the window (SetFont() returns true if the
// font really changed)
virtual bool SetFont(const wxFont& font) = 0;
// (GetBorderSize() will be used to add them)
virtual wxSize DoGetBestClientSize() const { return wxDefaultSize; }
+ // These two methods can be overridden to implement intelligent
+ // width-for-height and/or height-for-width best size determination for the
+ // window. By default the fixed best size is used.
+ virtual int DoGetBestClientHeight(int WXUNUSED(width)) const
+ { return wxDefaultCoord; }
+ virtual int DoGetBestClientWidth(int WXUNUSED(height)) const
+ { return wxDefaultCoord; }
+
// this is the virtual function to be overridden 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
// ----------------------------------------------------------------------------
// include the declaration of the platform-specific class
-#if defined(__WXPALMOS__)
- #ifdef __WXUNIVERSAL__
- #define wxWindowNative wxWindowPalm
- #else // !wxUniv
- #define wxWindowPalm wxWindow
- #endif // wxUniv/!wxUniv
- #include "wx/palmos/window.h"
-#elif defined(__WXMSW__)
+#if defined(__WXMSW__)
#ifdef __WXUNIVERSAL__
#define wxWindowNative wxWindowMSW
#else // !wxUniv
#define wxWindowX11 wxWindow
#endif // wxUniv
#include "wx/x11/window.h"
-#elif defined(__WXMGL__)
- #define wxWindowNative wxWindowMGL
- #include "wx/mgl/window.h"
#elif defined(__WXDFB__)
#define wxWindowNative wxWindowDFB
#include "wx/dfb/window.h"