void wxSplitterWindow::Init()
{
- m_container.SetContainerWindow(this);
+ WX_INIT_CONTROL_CONTAINER();
m_splitMode = wxSPLIT_VERTICAL;
m_permitUnsplitAlways = true;
m_minimumPaneSize = 0;
m_sashCursorWE = wxCursor(wxCURSOR_SIZEWE);
m_sashCursorNS = wxCursor(wxCURSOR_SIZENS);
- m_sashTrackerPen = new wxPen(*wxBLACK, 2, wxSOLID);
+ m_sashTrackerPen = new wxPen(*wxBLACK, 2, wxPENSTYLE_SOLID);
m_needUpdating = false;
m_isHot = false;
// following the mouse movement while it drags the sash, without it we only
// draw the sash at the new position but only resize the windows when the
// dragging is finished
-#if defined( __WXMAC__ ) && defined(TARGET_API_MAC_OSX) && TARGET_API_MAC_OSX == 1
- bool isLive = true ; // FIXME: why?
+#if defined( __WXMAC__ )
+ // FIXME : this should be usable also with no live update, but then this
+ // currently is not visible
+ bool isLive = true;
#else
bool isLive = HasFlag(wxSP_LIVE_UPDATE);
#endif
{
w1 = size1;
w2 = w - 2*border - sash - w1;
- h1 =
+ if (w2 < 0)
+ w2 = 0;
h2 = h - 2*border;
+ if (h2 < 0)
+ h2 = 0;
+ h1 = h2;
x2 = size2;
y2 = border;
}
else // horz splitter
{
- w1 =
w2 = w - 2*border;
+ if (w2 < 0)
+ w2 = 0;
+ w1 = w2;
h1 = size1;
h2 = h - 2*border - sash - h1;
+ if (h2 < 0)
+ h2 = 0;
x2 = border;
y2 = size2;
}
// get best sizes of subwindows
wxSize size1, size2;
if ( m_windowOne )
- size1 = m_windowOne->GetAdjustedBestSize();
+ size1 = m_windowOne->GetEffectiveMinSize();
if ( m_windowTwo )
- size2 = m_windowTwo->GetAdjustedBestSize();
+ size2 = m_windowTwo->GetEffectiveMinSize();
// sum them
//