BEGIN_EVENT_TABLE(wxSplitterWindow, wxWindow)
EVT_PAINT(wxSplitterWindow::OnPaint)
EVT_SIZE(wxSplitterWindow::OnSize)
- EVT_IDLE(wxSplitterWindow::OnIdle)
EVT_MOUSE_EVENTS(wxSplitterWindow::OnMouseEvent)
#if defined( __WXMSW__ ) || defined( __WXMAC__)
DrawSash(dc);
}
-void wxSplitterWindow::OnIdle(wxIdleEvent& event)
+void wxSplitterWindow::OnInternalIdle()
{
+ wxWindow::OnInternalIdle();
+
if (m_needUpdating)
SizeWindows();
-
- event.Skip();
}
void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
SizeWindows();
} // left up && dragging
- else if (event.Moving() && !event.Dragging())
+ else if ((event.Moving() || event.Leaving() || event.Entering()) && (m_dragMode == wxSPLIT_DRAG_NONE))
{
// Just change the cursor as required
- if ( SashHitTest(x, y) )
+ if ( !event.Leaving() && SashHitTest(x, y) )
+ {
SetResizeCursor();
+ }
else
+ {
SetCursor(* wxSTANDARD_CURSOR);
+ }
}
else if (event.Dragging() && (m_dragMode == wxSPLIT_DRAG_DRAGGING))
{