+// Initialize colours
+void wxSplitterWindow::InitColours()
+{
+ wxDELETE( m_facePen );
+ wxDELETE( m_faceBrush );
+ wxDELETE( m_mediumShadowPen );
+ wxDELETE( m_darkShadowPen );
+ wxDELETE( m_lightShadowPen );
+ wxDELETE( m_hilightPen );
+
+ // Shadow colours
+#ifndef __WIN16__
+ wxColour faceColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
+ m_facePen = new wxPen(faceColour, 1, wxSOLID);
+ m_faceBrush = new wxBrush(faceColour, wxSOLID);
+
+ wxColour mediumShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DSHADOW));
+ m_mediumShadowPen = new wxPen(mediumShadowColour, 1, wxSOLID);
+
+ wxColour darkShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DDKSHADOW));
+ m_darkShadowPen = new wxPen(darkShadowColour, 1, wxSOLID);
+
+ wxColour lightShadowColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT));
+ m_lightShadowPen = new wxPen(lightShadowColour, 1, wxSOLID);
+
+ wxColour hilightColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DHILIGHT));
+ m_hilightPen = new wxPen(hilightColour, 1, wxSOLID);
+#else
+ m_facePen = new wxPen("LIGHT GREY", 1, wxSOLID);
+ m_faceBrush = new wxBrush("LIGHT GREY", wxSOLID);
+ m_mediumShadowPen = new wxPen("GREY", 1, wxSOLID);
+ m_darkShadowPen = new wxPen("BLACK", 1, wxSOLID);
+ m_lightShadowPen = new wxPen("LIGHT GREY", 1, wxSOLID);
+ m_hilightPen = new wxPen("WHITE", 1, wxSOLID);
+#endif // __WIN16__
+}
+
+bool wxSplitterWindow::DoSendEvent(wxSplitterEvent& event)
+{
+ return !GetEventHandler()->ProcessEvent(event) || event.IsAllowed();
+}
+
+// ---------------------------------------------------------------------------
+// wxSplitterWindow virtual functions: they now just generate the events
+// ---------------------------------------------------------------------------
+
+bool wxSplitterWindow::OnSashPositionChange(int WXUNUSED(newSashPosition))
+{
+ // always allow by default
+ return TRUE;
+}
+
+int wxSplitterWindow::OnSashPositionChanging(int newSashPosition)