X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75be3f5ef787c2eb074ce305ad5aa0603c921b91..a5a0dd06b67fecd5e571bd9d4221101393d5561b:/src/generic/sashwin.cpp diff --git a/src/generic/sashwin.cpp b/src/generic/sashwin.cpp index ce5219a713..b326c0caee 100644 --- a/src/generic/sashwin.cpp +++ b/src/generic/sashwin.cpp @@ -36,7 +36,6 @@ #include "wx/sashwin.h" #include "wx/laywin.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxSashWindow, wxWindow) IMPLEMENT_DYNAMIC_CLASS(wxSashEvent, wxCommandEvent) @@ -45,7 +44,6 @@ BEGIN_EVENT_TABLE(wxSashWindow, wxWindow) EVT_SIZE(wxSashWindow::OnSize) EVT_MOUSE_EVENTS(wxSashWindow::OnMouseEvent) END_EVENT_TABLE() -#endif wxSashWindow::wxSashWindow() { @@ -122,10 +120,10 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event) if (event.LeftDown()) { + CaptureMouse(); + if ( sashHit != wxSASH_NONE ) { - CaptureMouse(); - // Required for X to specify that // that we wish to draw on top of all windows // - and we optimise by specifying the area @@ -147,6 +145,15 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event) m_draggingEdge = sashHit; m_firstX = x; m_firstY = y; + + if ( (sashHit == wxSASH_LEFT) || (sashHit == wxSASH_RIGHT) ) + { + SetCursor(*m_sashCursorWE); + } + else + { + SetCursor(*m_sashCursorNS); + } } } else if ( event.LeftUp() && m_dragMode == wxSASH_DRAG_LEFT_DOWN ) @@ -279,6 +286,10 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event) event.SetDragRect(dragRect); GetEventHandler()->ProcessEvent(event); } + else if ( event.LeftUp() ) + { + ReleaseMouse(); + } else if (event.Moving() && !event.Dragging()) { // Just change the cursor if required