+// 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__
+}
+
+void wxSplitterWindow::SendUnsplitEvent(wxWindow *winRemoved)
+{
+ wxSplitterEvent event(wxEVT_COMMAND_SPLITTER_UNSPLIT, this);
+ event.m_data.win = winRemoved;
+
+ (void)GetEventHandler()->ProcessEvent(event);
+}
+
+// ---------------------------------------------------------------------------
+// splitter event handlers
+// ---------------------------------------------------------------------------
+
+void wxSplitterWindow::OnSashPosChanged(wxSplitterEvent& event)