]> git.saurik.com Git - wxWidgets.git/commitdiff
renamed splitter sample
authorRon Lee <ron@debian.org>
Tue, 14 Mar 2000 19:30:04 +0000 (19:30 +0000)
committerRon Lee <ron@debian.org>
Tue, 14 Mar 2000 19:30:04 +0000 (19:30 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6713 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

17 files changed:
samples/splitter/Makefile.in
samples/splitter/makefile.b32
samples/splitter/makefile.bcc
samples/splitter/makefile.dos
samples/splitter/makefile.g95
samples/splitter/makefile.sc [new file with mode: 0644]
samples/splitter/makefile.sl [new file with mode: 0644]
samples/splitter/makefile.twn [new file with mode: 0644]
samples/splitter/makefile.unx
samples/splitter/makefile.vc
samples/splitter/makefile.wat
samples/splitter/splitter.cpp [new file with mode: 0644]
samples/splitter/splitter.def [new file with mode: 0644]
samples/splitter/splitter.rc [new file with mode: 0644]
samples/splitter/test.cpp [deleted file]
samples/splitter/test.def [deleted file]
samples/splitter/test.rc [deleted file]

index 53fb90f51684a5591a820ccbafbcf8b4a70eb35c..b00d31b678910e95f112f6495b6b015e8965d662 100644 (file)
@@ -1,22 +1,13 @@
-#
-# File:                makefile.unx
-# Author:      Julian Smart
-# Created:     1998
-# Updated:     
-# Copyright:   (c) 1998 Julian Smart
-#
-# "%W% %G%"
-#
-# Makefile for splitter example (UNIX).
+# Purpose: makefile for splitter example (UNIX).
+# Created: 2000-03-15
 
 top_srcdir = @top_srcdir@/..
 top_builddir = ../..
 program_dir = samples/splitter
 
-PROGRAM=test
+PROGRAM=splitter
 
 OBJECTS=$(PROGRAM).o
 
 include ../../src/makeprog.env
 
-
index 95ddc80d76f728d37352e263489f8c331912bab8..924917ef7ea9cc55a8804c8c16b1dc8aa4bcfb91 100644 (file)
@@ -1,15 +1,9 @@
-#
-# File:                makefile.b32
-# Author:      Julian Smart
-# Created:     1999
-# Updated:     
-# Copyright:
-#
-# Makefile : Builds sample for 32-bit BC++
+# Purpose: makefile for splitter example (BC++ 32bit)
+# Created: 2000-03-15
 
 WXDIR = $(WXWIN)
 
-TARGET=test
+TARGET=splitter
 OBJECTS = $(TARGET).obj
 
 !include $(WXDIR)\src\makeprog.b32
index 669f01905aefc544ba0a51607dfa612d1f849b50..35086633dd901a37b3ea4b23355da672dba8c9e8 100644 (file)
@@ -1,10 +1,5 @@
-#
-# File:                makefile.bcc
-# Author:      Julian Smart
-# Created:     1998
-# Updated:     
-#
-# Builds a BC++ 16-bit sample
+# Purpose: makefile for splitter example (BC++ 16bit)
+# Created: 2000-03-15
 
 !if "$(WXWIN)" == ""
 !error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
@@ -12,7 +7,7 @@
 
 WXDIR = $(WXWIN)
 
-TARGET=test
+TARGET=splitter
 OBJECTS=$(TARGET).obj
 
 !include $(WXDIR)\src\makeprog.bcc
index 13e3a4ce8eeef60898c11fc6c1f1a9e8f12374bd..f891ef1aee2abdcec2246745d3f402594b7dd183 100644 (file)
@@ -1,17 +1,10 @@
-#
-# File:                makefile.dos
-# Author:      Julian Smart
-# Created:     1998
-# Updated:     
-#
-# Makefile : Builds 16-bit sample, VC++ 1.5
-# Use FINAL=1 argument to nmake to build final version with no debugging
-# info
+# Purpose: makefile for splitter example (VC++ 1.5x)
+# Created: 2000-03-15
 
 WXDIR = $(WXWIN)
 
-TARGET=test
-OBJECTS = $(TARGET).obj
+TARGET=splitter
+OBJECTS=$(TARGET).obj
 
 !include $(WXDIR)\src\makeprog.msc
 
index b4a920f047f4d2d08d871efbbb5cc0cf207b6327..fc4af58f1d0285105c7944f97823c9e58e075965 100644 (file)
@@ -1,16 +1,10 @@
-#
-# File:         makefile.g95
-# Author:       Julian Smart
-# Created:      1999
-# Updated:
-# Copyright:    (c) Julian Smart, 1999
-#
-# Makefile for wxWindows sample (Cygwin/Mingw32).
+# Purpose: makefile for splitter example (Cygwin/Mingw32)
+# Created: #03.01.00
 
 WXDIR = ../..
 
-TARGET=test
+TARGET=splitter
 OBJECTS = $(TARGET).o
 
-include $(WXDIR)/src/makeprog.g95
+include $(WXDIR)\src\makeprog.g95
 
diff --git a/samples/splitter/makefile.sc b/samples/splitter/makefile.sc
new file mode 100644 (file)
index 0000000..6719c1b
--- /dev/null
@@ -0,0 +1,37 @@
+# Purpose: makefile for splitter example (Symantec C++)
+# Created: 2000-03-15
+
+WXDIR = $(WXWIN)
+WXLIB = $(WXDIR)\lib\wx.lib
+INCDIR = $(WXDIR)\include
+INCLUDE=$(INCDIR)
+TARGET=splitter
+
+include $(WXDIR)\src\makesc.env
+
+splitter.exe: splitter.obj $(DEFFILE) splitter.res
+       *$(CC) $(LDFLAGS) -o$@ $** $(LIBS)
+    *$(RC) -k splitter.res
+
+sc32.def:
+     echo EXETYPE NT > sc32.def
+     echo SUBSYSTEM WINDOWS >> sc32.def
+
+sc16.def:
+     echo NAME $(TARGET) > sc16.def
+     echo EXETYPE WINDOWS >> sc16.def
+     echo STUB         'WINSTUB.EXE' >> sc16.def
+     echo CODE         PRELOAD MOVEABLE DISCARDABLE >> sc16.def
+     echo DATA         PRELOAD MOVEABLE MULTIPLE >> sc16.def
+     echo HEAPSIZE     1024 >> sc16.def
+     echo STACKSIZE    8192 >> sc16.def
+
+clean:
+    -del *.obj
+       -del *.exe
+       -del *.res
+       -del *.map
+       -del *.rws
+    -del sc32.def
+    -del sc16.def
+
diff --git a/samples/splitter/makefile.sl b/samples/splitter/makefile.sl
new file mode 100644 (file)
index 0000000..986e12e
--- /dev/null
@@ -0,0 +1,14 @@
+# Purpose: makefile for splitter example (Salford C++)
+# Created: 2000-03-15
+
+PROGRAM = splitter
+OBJECTS = $(PROGRAM).obj
+
+include ..\..\src\makeprog.sl
+
+all:        wx $(TARGET)
+
+wx:
+    cd $(WXDIR)\src\msw ^ mk32 -f makefile.sl all
+    cd $(WXDIR)\samples\splitter
+
diff --git a/samples/splitter/makefile.twn b/samples/splitter/makefile.twn
new file mode 100644 (file)
index 0000000..b927fea
--- /dev/null
@@ -0,0 +1,35 @@
+# Purpose: makefile for splitter example (TWIN)
+# Created: 2000-03-15
+
+WXDIR = ../..
+
+# All common UNIX compiler flags and options are now in
+# this central makefile.
+include $(WXDIR)/src/maketwin.env
+
+OBJECTS = $(OBJDIR)/splitter.$(OBJSUFF) $(OBJDIR)/splitter.$(OBJSUFF)
+
+all:    $(OBJDIR) splitter$(GUISUFFIX)$(EXESUFF)
+
+wx:
+
+$(OBJDIR):
+       mkdir $(OBJDIR)
+
+splitter$(GUISUFFIX)$(EXESUFF):        $(OBJECTS) $(WXLIB)
+       $(CC) $(LDFLAGS) -o splitter$(GUISUFFIX)$(EXESUFF) $(OBJECTS) $(LDLIBS)
+
+$(OBJDIR)/splitter.$(OBJSUFF): splitter.$(SRCSUFF)
+       $(CC) -c $(CPPFLAGS) -o $@ splitter.$(SRCSUFF)
+
+splitter.c:  splitter.rc
+       $(RESCOMP) $(RCINPUTSWITCH) splitter.rc $(RCOUTPUTSWITCH) splitter.c $(RESFLAGS)
+
+$(OBJDIR)/splitter.$(OBJSUFF): splitter.c
+       $(CC) -c $(CPPFLAGS) -o $@ splitter.c
+
+#$(OBJDIR)/splitter.o:  splitter.rc
+#      $(RESCOMP) $(RCINPUTSWITCH) splitter.rc $(RCOUTPUTSWITCH) $(OBJDIR)/splitter.o $(RESFLAGS)
+
+clean:
+       rm -f $(OBJECTS) splitter$(GUISUFFIX).exe core *.rsc *.res
index 21cab3c677d139136e72901c8bdc808bb2a9b827..6d25508915cd8b4314fc1a9e77bd9ee0d352b754 100644 (file)
@@ -1,21 +1,9 @@
-#
-# File:                Makefile for samples
-# Author:      Robert Roebling
-# Created:     1999
-# Updated:     
-# Copyright:   (c) 1998 Robert Roebling
-#
-# This makefile requires a Unix version of wxWindows
-# to be installed on your system. This is most often
-# done typing "make install" when using the complete
-# sources of wxWindows or by installing the two
-# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm
-# under Linux.
-#
+# Purpose: makefile for splitter example (Unix)
+# Created: 2000-03-15
 
 CC = gcc
 
-PROGRAM = test
+PROGRAM = splitter
 
 OBJECTS = $(PROGRAM).o
 
@@ -31,5 +19,5 @@ all:    $(PROGRAM)
 $(PROGRAM):    $(OBJECTS)
        $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
 
-clean: 
+clean:
        rm -f *.o $(PROGRAM)
index 4ada748edad53c6917114d10b0dcd373f6ba8648..04b0db09feb5145f9d80962d3dcad9616ebe3d0e 100644 (file)
@@ -1,17 +1,10 @@
-#
-# File:                makefile.vc
-# Author:      Julian Smart
-# Created:     1999
-# Updated:     
-# Copyright:   (c) Julian Smart
-#
-# Makefile : Builds sample (VC++, WIN32)
-# Use FINAL=1 argument to nmake to build final version with no debug info.
+# Purpose: makefile for splitter example (VC++ 32bit)
+# Created: 2000-03-15
 
 # Set WXDIR for your system
 WXDIR = $(WXWIN)
 
-PROGRAM=test
+PROGRAM=splitter
 OBJECTS = $(PROGRAM).obj
 
 !include $(WXDIR)\src\makeprog.vc
index 81a83e42a9fbbe144c5dfef0f52fae312124c84f..a923a2c3dfbe08681072e37fd39f26016bbf1b9d 100644 (file)
@@ -1,13 +1,9 @@
-#
-# Makefile for WATCOM
-#
-# Created by Julian Smart, January 1999
-# 
-#
+# Purpose: makefile for splitter example (Watcom)
+# Created: 2000-03-15
 
 WXDIR = $(%WXWIN)
 
-PROGRAM = test
+PROGRAM = splitter
 OBJECTS = $(PROGRAM).obj
 
 !include $(WXDIR)\src\makeprog.wat
diff --git a/samples/splitter/splitter.cpp b/samples/splitter/splitter.cpp
new file mode 100644 (file)
index 0000000..054e799
--- /dev/null
@@ -0,0 +1,279 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        splitter.cpp
+// Purpose:     wxSplitterWindow sample
+// Author:      Julian Smart
+// Modified by:
+// Created:     04/01/98
+// RCS-ID:      $Id$
+// Copyright:   (c) Julian Smart and Markus Holzem
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+#include "wx/splitter.h"
+
+class MyApp;
+class MyFrame;
+class MyCanvas;
+
+class MyApp: public wxApp
+{
+public:
+  bool OnInit();
+};
+
+class MySplitterWindow : public wxSplitterWindow
+{
+public:
+  MySplitterWindow(wxFrame *parent, wxWindowID id) 
+    : wxSplitterWindow(parent, id, wxDefaultPosition, wxDefaultSize, wxSP_3D | wxSP_LIVE_UPDATE)
+  {
+    m_frame = parent;
+  }
+
+  virtual bool OnSashPositionChange(int newSashPosition)
+  {
+    if ( !wxSplitterWindow::OnSashPositionChange(newSashPosition) )
+      return FALSE;
+    
+    wxString str;
+    str.Printf( _T("Sash position = %d"), newSashPosition);
+    m_frame->SetStatusText(str);
+
+    return TRUE;
+  }
+  
+private:
+  wxFrame *m_frame;
+};
+
+class MyFrame: public wxFrame
+{
+public:
+  MyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos, const wxSize& size);
+  virtual ~MyFrame();
+
+  // Menu commands
+  void SplitHorizontal(wxCommandEvent& event);
+  void SplitVertical(wxCommandEvent& event);
+  void Unsplit(wxCommandEvent& event);
+  void SetMinSize(wxCommandEvent& event);
+  void Quit(wxCommandEvent& event);
+
+  // Menu command update functions
+  void UpdateUIHorizontal(wxUpdateUIEvent& event);
+  void UpdateUIVertical(wxUpdateUIEvent& event);
+  void UpdateUIUnsplit(wxUpdateUIEvent& event);
+
+private:
+  void UpdatePosition();
+
+  wxMenu*    fileMenu;
+  wxMenuBar*  menuBar;
+  MyCanvas*  m_leftCanvas;
+  MyCanvas*  m_rightCanvas;
+  MySplitterWindow* m_splitter;
+
+DECLARE_EVENT_TABLE()
+};
+
+class MyCanvas: public wxScrolledWindow
+{
+public:
+       MyCanvas(wxWindow* parent, wxWindowID id, int x, int y, int w, int h, const wxString &name);
+       virtual ~MyCanvas();
+
+  virtual void OnDraw(wxDC& dc);
+
+DECLARE_EVENT_TABLE()
+};
+
+BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
+END_EVENT_TABLE()
+
+// ID for the menu commands
+enum
+{
+  SPLIT_QUIT,
+  SPLIT_HORIZONTAL,
+  SPLIT_VERTICAL,
+  SPLIT_UNSPLIT,
+  SPLIT_SETMINSIZE
+};
+
+// Window ids
+#define SPLITTER_WINDOW     100
+#define SPLITTER_FRAME      101
+#define CANVAS1             102
+#define CANVAS2             103
+
+IMPLEMENT_APP(MyApp)
+
+bool MyApp::OnInit(void)
+{
+  MyFrame* frame = new MyFrame((wxFrame *) NULL, "wxSplitterWindow Example",
+                               wxPoint(50, 50), wxSize(420, 300));
+
+  // Show the frame
+  frame->Show(TRUE);
+  
+  SetTopWindow(frame);
+
+  return TRUE;
+}
+
+BEGIN_EVENT_TABLE(MyFrame, wxFrame)
+  EVT_MENU(SPLIT_VERTICAL, MyFrame::SplitVertical)
+  EVT_MENU(SPLIT_HORIZONTAL, MyFrame::SplitHorizontal)
+  EVT_MENU(SPLIT_UNSPLIT, MyFrame::Unsplit)
+  EVT_MENU(SPLIT_QUIT, MyFrame::Quit)
+  EVT_MENU(SPLIT_SETMINSIZE, MyFrame::SetMinSize)
+
+  EVT_UPDATE_UI(SPLIT_VERTICAL, MyFrame::UpdateUIVertical)
+  EVT_UPDATE_UI(SPLIT_HORIZONTAL, MyFrame::UpdateUIHorizontal)
+  EVT_UPDATE_UI(SPLIT_UNSPLIT, MyFrame::UpdateUIUnsplit)
+END_EVENT_TABLE()
+
+// My frame constructor
+MyFrame::MyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos, const wxSize& size):
+       wxFrame(frame, SPLITTER_FRAME, title, pos, size)
+{
+  CreateStatusBar(2);
+
+  // Make a menubar
+  fileMenu = new wxMenu;
+  fileMenu->Append(SPLIT_VERTICAL, "Split &Vertically\tCtrl-V", "Split vertically");
+  fileMenu->Append(SPLIT_HORIZONTAL, "Split &Horizontally\tCtrl-H", "Split horizontally");
+  fileMenu->Append(SPLIT_UNSPLIT, "&Unsplit\tCtrl-U", "Unsplit");
+  fileMenu->AppendSeparator();
+  fileMenu->Append(SPLIT_SETMINSIZE, "Set &min size", "Set minimum pane size");
+  fileMenu->AppendSeparator();
+  fileMenu->Append(SPLIT_QUIT, "E&xit\tAlt-X", "Exit");
+
+  menuBar = new wxMenuBar;
+  menuBar->Append(fileMenu, "&File");
+
+  SetMenuBar(menuBar);
+
+  m_splitter = new MySplitterWindow(this, SPLITTER_WINDOW);
+  
+  wxSize sz( m_splitter->GetSize() );
+  wxLogMessage( "Initial splitter size: %d %d\n", (int)sz.x, (int)sz.y );
+
+  m_leftCanvas = new MyCanvas(m_splitter, CANVAS1, 0, 0, 400, 400, "Test1" );
+  m_leftCanvas->SetBackgroundColour(*wxRED);
+  m_leftCanvas->SetScrollbars(20, 20, 50, 50);
+  m_leftCanvas->SetCursor(wxCursor(wxCURSOR_MAGNIFIER));
+
+  m_rightCanvas = new MyCanvas(m_splitter, CANVAS2, 0, 0, 400, 400, "Test2" );
+  m_rightCanvas->SetBackgroundColour(*wxCYAN);
+  m_rightCanvas->SetScrollbars(20, 20, 50, 50);
+  m_rightCanvas->Show(FALSE);
+
+  m_splitter->Initialize(m_leftCanvas);
+  SetStatusText("Min pane size = 0", 1);
+}
+
+MyFrame::~MyFrame()
+{
+}
+
+void MyFrame::Quit(wxCommandEvent& WXUNUSED(event) )
+{
+  Close(TRUE);
+}
+
+void MyFrame::SplitHorizontal(wxCommandEvent& WXUNUSED(event) )
+{
+  if ( m_splitter->IsSplit() )
+    m_splitter->Unsplit();
+  m_leftCanvas->Show(TRUE);
+  m_rightCanvas->Show(TRUE);
+  m_splitter->SplitHorizontally( m_leftCanvas, m_rightCanvas );
+  UpdatePosition();
+}
+
+void MyFrame::SplitVertical(wxCommandEvent& WXUNUSED(event) )
+{
+  if ( m_splitter->IsSplit() )
+    m_splitter->Unsplit();
+  m_leftCanvas->Show(TRUE);
+  m_rightCanvas->Show(TRUE);
+  m_splitter->SplitVertically( m_leftCanvas, m_rightCanvas );
+  UpdatePosition();
+}
+
+void MyFrame::Unsplit(wxCommandEvent& WXUNUSED(event) )
+{
+  if ( m_splitter->IsSplit() )
+    m_splitter->Unsplit();
+  SetStatusText("No splitter");
+}
+
+void MyFrame::SetMinSize(wxCommandEvent& WXUNUSED(event) )
+{
+  wxString str;
+  str.Printf( _T("%d"), m_splitter->GetMinimumPaneSize());
+  str = wxGetTextFromUser("Enter minimal size for panes:", "", str, this);
+  if ( str.IsEmpty() )
+    return;
+
+  int minsize = wxStrtol( str, (wxChar**)NULL, 10 );
+  m_splitter->SetMinimumPaneSize(minsize);
+  str.Printf( _T("Min pane size = %d"), minsize);
+  SetStatusText(str, 1);
+}
+
+void MyFrame::UpdateUIHorizontal(wxUpdateUIEvent& event)
+{
+  event.Enable( ( (!m_splitter->IsSplit()) || (m_splitter->GetSplitMode() != wxSPLIT_HORIZONTAL) ) );
+}
+
+void MyFrame::UpdateUIVertical(wxUpdateUIEvent& event)
+{
+  event.Enable( ( (!m_splitter->IsSplit()) || (m_splitter->GetSplitMode() != wxSPLIT_VERTICAL) ) );
+}
+
+void MyFrame::UpdateUIUnsplit(wxUpdateUIEvent& event)
+{
+  event.Enable( m_splitter->IsSplit() );
+}
+
+void MyFrame::UpdatePosition()
+{
+  wxString str;
+  str.Printf( _("Sash position = %d"), m_splitter->GetSashPosition());
+  SetStatusText(str);
+}
+
+MyCanvas::MyCanvas(wxWindow* parent, wxWindowID id, int x, int y, int w, int h, const wxString &name ) :
+       wxScrolledWindow(parent, id, wxPoint(x, y), wxSize(w, h), 0, name )
+{
+}
+
+MyCanvas::~MyCanvas()
+{
+}
+
+void MyCanvas::OnDraw(wxDC& dc)
+{
+  dc.SetPen(*wxBLACK_PEN);
+  dc.DrawLine(0, 0, 100, 100);
+
+  dc.SetBackgroundMode(wxTRANSPARENT);
+  dc.DrawText("Testing", 50, 50);
+
+  dc.SetPen(*wxRED_PEN);
+  dc.SetBrush(*wxGREEN_BRUSH);
+  dc.DrawRectangle(120, 120, 100, 80);
+}
diff --git a/samples/splitter/splitter.def b/samples/splitter/splitter.def
new file mode 100644 (file)
index 0000000..fdd0c92
--- /dev/null
@@ -0,0 +1,8 @@
+NAME         Splitter
+DESCRIPTION  'wxSplitterWindow Test'
+EXETYPE      WINDOWS
+STUB         'WINSTUB.EXE'
+CODE         PRELOAD MOVEABLE DISCARDABLE
+DATA         PRELOAD MOVEABLE MULTIPLE
+HEAPSIZE     1024
+STACKSIZE    16192
diff --git a/samples/splitter/splitter.rc b/samples/splitter/splitter.rc
new file mode 100644 (file)
index 0000000..dde0d5a
--- /dev/null
@@ -0,0 +1,4 @@
+mondrian ICON "mondrian.ico"
+
+#include "wx/msw/wx.rc"
+
diff --git a/samples/splitter/test.cpp b/samples/splitter/test.cpp
deleted file mode 100644 (file)
index c97351e..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// Name:        m_splitter.cpp
-// Purpose:     wxSplitterWindow sample
-// Author:      Julian Smart
-// Modified by:
-// Created:     04/01/98
-// RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:     wxWindows license
-/////////////////////////////////////////////////////////////////////////////
-
-// For compilers that support precompilation, includes "wx/wx.h".
-#include "wx/wxprec.h"
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#ifndef WX_PRECOMP
-#include "wx/wx.h"
-#endif
-
-#include "wx/splitter.h"
-
-class MyApp;
-class MyFrame;
-class MyCanvas;
-
-class MyApp: public wxApp
-{
-public:
-  bool OnInit();
-};
-
-class MySplitterWindow : public wxSplitterWindow
-{
-public:
-  MySplitterWindow(wxFrame *parent, wxWindowID id) 
-    : wxSplitterWindow(parent, id, wxDefaultPosition, wxDefaultSize, wxSP_3D | wxSP_LIVE_UPDATE)
-  {
-    m_frame = parent;
-  }
-
-  virtual bool OnSashPositionChange(int newSashPosition)
-  {
-    if ( !wxSplitterWindow::OnSashPositionChange(newSashPosition) )
-      return FALSE;
-    
-    wxString str;
-    str.Printf( _T("Sash position = %d"), newSashPosition);
-    m_frame->SetStatusText(str);
-
-    return TRUE;
-  }
-  
-private:
-  wxFrame *m_frame;
-};
-
-class MyFrame: public wxFrame
-{
-public:
-  MyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos, const wxSize& size);
-  virtual ~MyFrame();
-
-  // Menu commands
-  void SplitHorizontal(wxCommandEvent& event);
-  void SplitVertical(wxCommandEvent& event);
-  void Unsplit(wxCommandEvent& event);
-  void SetMinSize(wxCommandEvent& event);
-  void Quit(wxCommandEvent& event);
-
-  // Menu command update functions
-  void UpdateUIHorizontal(wxUpdateUIEvent& event);
-  void UpdateUIVertical(wxUpdateUIEvent& event);
-  void UpdateUIUnsplit(wxUpdateUIEvent& event);
-
-private:
-  void UpdatePosition();
-
-  wxMenu*    fileMenu;
-  wxMenuBar*  menuBar;
-  MyCanvas*  m_leftCanvas;
-  MyCanvas*  m_rightCanvas;
-  MySplitterWindow* m_splitter;
-
-DECLARE_EVENT_TABLE()
-};
-
-class MyCanvas: public wxScrolledWindow
-{
-public:
-       MyCanvas(wxWindow* parent, wxWindowID id, int x, int y, int w, int h, const wxString &name);
-       virtual ~MyCanvas();
-
-  virtual void OnDraw(wxDC& dc);
-
-DECLARE_EVENT_TABLE()
-};
-
-BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
-END_EVENT_TABLE()
-
-// ID for the menu commands
-enum
-{
-  SPLIT_QUIT,
-  SPLIT_HORIZONTAL,
-  SPLIT_VERTICAL,
-  SPLIT_UNSPLIT,
-  SPLIT_SETMINSIZE
-};
-
-// Window ids
-#define SPLITTER_WINDOW     100
-#define SPLITTER_FRAME      101
-#define CANVAS1             102
-#define CANVAS2             103
-
-IMPLEMENT_APP(MyApp)
-
-bool MyApp::OnInit(void)
-{
-  MyFrame* frame = new MyFrame((wxFrame *) NULL, "wxSplitterWindow Example",
-                               wxPoint(50, 50), wxSize(420, 300));
-
-  // Show the frame
-  frame->Show(TRUE);
-  
-  SetTopWindow(frame);
-
-  return TRUE;
-}
-
-BEGIN_EVENT_TABLE(MyFrame, wxFrame)
-  EVT_MENU(SPLIT_VERTICAL, MyFrame::SplitVertical)
-  EVT_MENU(SPLIT_HORIZONTAL, MyFrame::SplitHorizontal)
-  EVT_MENU(SPLIT_UNSPLIT, MyFrame::Unsplit)
-  EVT_MENU(SPLIT_QUIT, MyFrame::Quit)
-  EVT_MENU(SPLIT_SETMINSIZE, MyFrame::SetMinSize)
-
-  EVT_UPDATE_UI(SPLIT_VERTICAL, MyFrame::UpdateUIVertical)
-  EVT_UPDATE_UI(SPLIT_HORIZONTAL, MyFrame::UpdateUIHorizontal)
-  EVT_UPDATE_UI(SPLIT_UNSPLIT, MyFrame::UpdateUIUnsplit)
-END_EVENT_TABLE()
-
-// My frame constructor
-MyFrame::MyFrame(wxFrame* frame, const wxString& title, const wxPoint& pos, const wxSize& size):
-       wxFrame(frame, SPLITTER_FRAME, title, pos, size)
-{
-  CreateStatusBar(2);
-
-  // Make a menubar
-  fileMenu = new wxMenu;
-  fileMenu->Append(SPLIT_VERTICAL, "Split &Vertically\tCtrl-V", "Split vertically");
-  fileMenu->Append(SPLIT_HORIZONTAL, "Split &Horizontally\tCtrl-H", "Split horizontally");
-  fileMenu->Append(SPLIT_UNSPLIT, "&Unsplit\tCtrl-U", "Unsplit");
-  fileMenu->AppendSeparator();
-  fileMenu->Append(SPLIT_SETMINSIZE, "Set &min size", "Set minimum pane size");
-  fileMenu->AppendSeparator();
-  fileMenu->Append(SPLIT_QUIT, "E&xit\tAlt-X", "Exit");
-
-  menuBar = new wxMenuBar;
-  menuBar->Append(fileMenu, "&File");
-
-  SetMenuBar(menuBar);
-
-  m_splitter = new MySplitterWindow(this, SPLITTER_WINDOW);
-  
-  wxSize sz( m_splitter->GetSize() );
-  wxLogMessage( "Initial splitter size: %d %d\n", (int)sz.x, (int)sz.y );
-
-  m_leftCanvas = new MyCanvas(m_splitter, CANVAS1, 0, 0, 400, 400, "Test1" );
-  m_leftCanvas->SetBackgroundColour(*wxRED);
-  m_leftCanvas->SetScrollbars(20, 20, 50, 50);
-  m_leftCanvas->SetCursor(wxCursor(wxCURSOR_MAGNIFIER));
-
-  m_rightCanvas = new MyCanvas(m_splitter, CANVAS2, 0, 0, 400, 400, "Test2" );
-  m_rightCanvas->SetBackgroundColour(*wxCYAN);
-  m_rightCanvas->SetScrollbars(20, 20, 50, 50);
-  m_rightCanvas->Show(FALSE);
-
-  m_splitter->Initialize(m_leftCanvas);
-  SetStatusText("Min pane size = 0", 1);
-}
-
-MyFrame::~MyFrame()
-{
-}
-
-void MyFrame::Quit(wxCommandEvent& WXUNUSED(event) )
-{
-  Close(TRUE);
-}
-
-void MyFrame::SplitHorizontal(wxCommandEvent& WXUNUSED(event) )
-{
-  if ( m_splitter->IsSplit() )
-    m_splitter->Unsplit();
-  m_leftCanvas->Show(TRUE);
-  m_rightCanvas->Show(TRUE);
-  m_splitter->SplitHorizontally( m_leftCanvas, m_rightCanvas );
-  UpdatePosition();
-}
-
-void MyFrame::SplitVertical(wxCommandEvent& WXUNUSED(event) )
-{
-  if ( m_splitter->IsSplit() )
-    m_splitter->Unsplit();
-  m_leftCanvas->Show(TRUE);
-  m_rightCanvas->Show(TRUE);
-  m_splitter->SplitVertically( m_leftCanvas, m_rightCanvas );
-  UpdatePosition();
-}
-
-void MyFrame::Unsplit(wxCommandEvent& WXUNUSED(event) )
-{
-  if ( m_splitter->IsSplit() )
-    m_splitter->Unsplit();
-  SetStatusText("No splitter");
-}
-
-void MyFrame::SetMinSize(wxCommandEvent& WXUNUSED(event) )
-{
-  wxString str;
-  str.Printf( _T("%d"), m_splitter->GetMinimumPaneSize());
-  str = wxGetTextFromUser("Enter minimal size for panes:", "", str, this);
-  if ( str.IsEmpty() )
-    return;
-
-  int minsize = wxStrtol( str, (wxChar**)NULL, 10 );
-  m_splitter->SetMinimumPaneSize(minsize);
-  str.Printf( _T("Min pane size = %d"), minsize);
-  SetStatusText(str, 1);
-}
-
-void MyFrame::UpdateUIHorizontal(wxUpdateUIEvent& event)
-{
-  event.Enable( ( (!m_splitter->IsSplit()) || (m_splitter->GetSplitMode() != wxSPLIT_HORIZONTAL) ) );
-}
-
-void MyFrame::UpdateUIVertical(wxUpdateUIEvent& event)
-{
-  event.Enable( ( (!m_splitter->IsSplit()) || (m_splitter->GetSplitMode() != wxSPLIT_VERTICAL) ) );
-}
-
-void MyFrame::UpdateUIUnsplit(wxUpdateUIEvent& event)
-{
-  event.Enable( m_splitter->IsSplit() );
-}
-
-void MyFrame::UpdatePosition()
-{
-  wxString str;
-  str.Printf( _("Sash position = %d"), m_splitter->GetSashPosition());
-  SetStatusText(str);
-}
-
-MyCanvas::MyCanvas(wxWindow* parent, wxWindowID id, int x, int y, int w, int h, const wxString &name ) :
-       wxScrolledWindow(parent, id, wxPoint(x, y), wxSize(w, h), 0, name )
-{
-}
-
-MyCanvas::~MyCanvas()
-{
-}
-
-void MyCanvas::OnDraw(wxDC& dc)
-{
-  dc.SetPen(*wxBLACK_PEN);
-  dc.DrawLine(0, 0, 100, 100);
-
-  dc.SetBackgroundMode(wxTRANSPARENT);
-  dc.DrawText("Testing", 50, 50);
-
-  dc.SetPen(*wxRED_PEN);
-  dc.SetBrush(*wxGREEN_BRUSH);
-  dc.DrawRectangle(120, 120, 100, 80);
-}
diff --git a/samples/splitter/test.def b/samples/splitter/test.def
deleted file mode 100644 (file)
index 3dd3b7a..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-NAME         Test
-DESCRIPTION  'wxTableWindow Test'
-EXETYPE      WINDOWS
-STUB         'WINSTUB.EXE'
-CODE         PRELOAD MOVEABLE DISCARDABLE
-DATA         PRELOAD MOVEABLE MULTIPLE
-HEAPSIZE     1024
-STACKSIZE    16192
diff --git a/samples/splitter/test.rc b/samples/splitter/test.rc
deleted file mode 100644 (file)
index dde0d5a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-mondrian ICON "mondrian.ico"
-
-#include "wx/msw/wx.rc"
-