#include "wx/wx.h"
#endif
-#if !wxUSE_SASH
- #error "Thisfile requires wxUSE_SASH to be defined."
-#endif // wxUSE_SASH
+#if wxUSE_SASH
#include <math.h>
#include <stdlib.h>
#include "wx/sashwin.h"
#include "wx/laywin.h"
-#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxSashWindow, wxWindow)
IMPLEMENT_DYNAMIC_CLASS(wxSashEvent, wxCommandEvent)
EVT_SIZE(wxSashWindow::OnSize)
EVT_MOUSE_EVENTS(wxSashWindow::OnMouseEvent)
END_EVENT_TABLE()
-#endif
wxSashWindow::wxSashWindow()
{
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
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 )
event.SetDragRect(dragRect);
GetEventHandler()->ProcessEvent(event);
}
+ else if ( event.LeftUp() )
+ {
+ ReleaseMouse();
+ }
else if (event.Moving() && !event.Dragging())
{
// Just change the cursor if required
m_sashes[edge].m_margin = 0;
}
+#endif // wxUSE_SASH