#include "wx/caret.h"
#endif // wxUSE_CARET
+#if wxUSE_SYSTEM_OPTIONS
+ #include "wx/sysopt.h"
+#endif
+
// ----------------------------------------------------------------------------
// static data
// ----------------------------------------------------------------------------
// no style bits
m_exStyle =
m_windowStyle = 0;
+
+ m_backgroundStyle = wxBG_STYLE_SYSTEM;
#if wxUSE_CONSTRAINTS
// no constraints whatsoever
m_maxVirtualHeight = wxDefaultCoord;
m_windowVariant = wxWINDOW_VARIANT_NORMAL;
+#if wxUSE_SYSTEM_OPTIONS
+ if ( wxSystemOptions::HasOption(wxWINDOW_DEFAULT_VARIANT) )
+ {
+ m_windowVariant = (wxWindowVariant) wxSystemOptions::GetOptionInt( wxWINDOW_DEFAULT_VARIANT ) ;
+ }
+#endif
// Whether we're using the current theme for this window (wxGTK only for now)
m_themeEnabled = false;
yNew += posParent.y;
// Base size of the visible dimensions of the display
- // to take into account the taskbar
- wxRect rect = wxGetClientDisplayRect();
- wxSize size (rect.width,rect.height);
+ // to take into account the taskbar. And the Mac menu bar at top.
+ wxRect clientrect = wxGetClientDisplayRect();
// NB: in wxMSW, negative position may not neccessary mean "out of screen",
// but it may mean that the window is placed on other than the main
// if the parent is at least partially present here.
if (posParent.x + widthParent >= 0) // if parent is (partially) on the main display
{
- if (xNew < 0)
- xNew = 0;
- else if (xNew+width > size.x)
- xNew = size.x-width-1;
+ if (xNew < clientrect.GetLeft())
+ xNew = clientrect.GetLeft();
+ else if (xNew + width > clientrect.GetRight())
+ xNew = clientrect.GetRight() - width;
}
if (posParent.y + heightParent >= 0) // if parent is (partially) on the main display
{
- if (yNew+height > size.y)
- yNew = size.y-height-1;
+ if (yNew + height > clientrect.GetBottom())
+ yNew = clientrect.GetBottom() - height;
// Make certain that the title bar is initially visible
// always, even if this would push the bottom of the
- // dialog of the visible area of the display
- if (yNew < 0)
- yNew = 0;
+ // dialog off the visible area of the display
+ if (yNew < clientrect.GetTop())
+ yNew = clientrect.GetTop();
}
// move the window to this position (keeping the old size but using
m_hasFont = font.Ok();
m_inheritFont = m_hasFont;
+ InvalidateBestSize();
+
return true;
}