#if wxUSE_SASH
+#include "wx/sashwin.h"
+
#ifndef WX_PRECOMP
#include "wx/dialog.h"
#include "wx/frame.h"
#include "wx/settings.h"
#include "wx/dcclient.h"
+ #include "wx/dcscreen.h"
+ #include "wx/math.h"
#endif
-#include "wx/math.h"
-
#include <stdlib.h>
-#include "wx/dcscreen.h"
-#include "wx/sashwin.h"
#include "wx/laywin.h"
-DEFINE_EVENT_TYPE(wxEVT_SASH_DRAGGED)
+wxDEFINE_EVENT( wxEVT_SASH_DRAGGED, wxSashEvent );
IMPLEMENT_DYNAMIC_CLASS(wxSashWindow, wxWindow)
IMPLEMENT_DYNAMIC_CLASS(wxSashEvent, wxCommandEvent)
// the area to draw on.
wxWindow* parent = this;
- while (parent && !parent->IsKindOf(CLASSINFO(wxDialog)) &&
- !parent->IsKindOf(CLASSINFO(wxFrame)))
+ while (parent && !wxDynamicCast(parent, wxDialog) &&
+ !wxDynamicCast(parent, wxFrame))
parent = parent->GetParent();
wxScreenDC::StartDrawingOnTop(parent);
ReleaseMouse();
m_mouseCaptured = false;
}
- else if (event.Moving() && !event.Dragging())
+ else if ((event.Moving() || event.Leaving()) && !event.Dragging())
{
// Just change the cursor if required
if ( sashHit != wxSASH_NONE )
int w, h;
GetClientSize(&w, &h);
- wxPen mediumShadowPen(m_mediumShadowColour, 1, wxSOLID);
- wxPen darkShadowPen(m_darkShadowColour, 1, wxSOLID);
- wxPen lightShadowPen(m_lightShadowColour, 1, wxSOLID);
- wxPen hilightPen(m_hilightColour, 1, wxSOLID);
+ wxPen mediumShadowPen(m_mediumShadowColour, 1, wxPENSTYLE_SOLID);
+ wxPen darkShadowPen(m_darkShadowColour, 1, wxPENSTYLE_SOLID);
+ wxPen lightShadowPen(m_lightShadowColour, 1, wxPENSTYLE_SOLID);
+ wxPen hilightPen(m_hilightColour, 1, wxPENSTYLE_SOLID);
if ( GetWindowStyleFlag() & wxSW_3DBORDER )
{
int w, h;
GetClientSize(&w, &h);
- wxPen facePen(m_faceColour, 1, wxSOLID);
- wxBrush faceBrush(m_faceColour, wxSOLID);
- wxPen mediumShadowPen(m_mediumShadowColour, 1, wxSOLID);
- wxPen darkShadowPen(m_darkShadowColour, 1, wxSOLID);
- wxPen lightShadowPen(m_lightShadowColour, 1, wxSOLID);
- wxPen hilightPen(m_hilightColour, 1, wxSOLID);
+ wxPen facePen(m_faceColour, 1, wxPENSTYLE_SOLID);
+ wxBrush faceBrush(m_faceColour, wxBRUSHSTYLE_SOLID);
+ wxPen mediumShadowPen(m_mediumShadowColour, 1, wxPENSTYLE_SOLID);
+ wxPen darkShadowPen(m_darkShadowColour, 1, wxPENSTYLE_SOLID);
+ wxPen lightShadowPen(m_lightShadowColour, 1, wxPENSTYLE_SOLID);
+ wxPen hilightPen(m_hilightColour, 1, wxPENSTYLE_SOLID);
wxColour blackClr(0, 0, 0);
wxColour whiteClr(255, 255, 255);
- wxPen blackPen(blackClr, 1, wxSOLID);
- wxPen whitePen(whiteClr, 1, wxSOLID);
+ wxPen blackPen(blackClr, 1, wxPENSTYLE_SOLID);
+ wxPen whitePen(whiteClr, 1, wxPENSTYLE_SOLID);
if ( edge == wxSASH_LEFT || edge == wxSASH_RIGHT )
{
ClientToScreen(&x1, &y1);
ClientToScreen(&x2, &y2);
- wxPen sashTrackerPen(*wxBLACK, 2, wxSOLID);
+ wxPen sashTrackerPen(*wxBLACK, 2, wxPENSTYLE_SOLID);
screenDC.SetLogicalFunction(wxINVERT);
screenDC.SetPen(sashTrackerPen);