]> git.pld-linux.org Git - packages/wxWidgets.git/commitdiff
- outdated
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 14 Jan 2007 20:34:06 +0000 (20:34 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    wxWidgets-cvs20061218.patch -> 1.2

wxWidgets-cvs20061218.patch [deleted file]

diff --git a/wxWidgets-cvs20061218.patch b/wxWidgets-cvs20061218.patch
deleted file mode 100644 (file)
index e5fa5b5..0000000
+++ /dev/null
@@ -1,9130 +0,0 @@
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/bakefiles/files.bkl wxWidgets-2006-12-17/build/bakefiles/files.bkl
---- wxWidgets-2.8.0/build/bakefiles/files.bkl  2006-12-11 22:49:40.000000000 +0100
-+++ wxWidgets-2006-12-17/build/bakefiles/files.bkl     2006-12-17 05:57:31.000000000 +0100
-@@ -1,5 +1,5 @@
- <?xml version="1.0" ?>
--<!-- $Id$ -->
-+<!-- $Id$ -->
- <makefile>
- <!--
-@@ -638,6 +638,7 @@
-     src/common/rgncmn.cpp
-     src/common/settcmn.cpp
-     src/common/sizer.cpp
-+    src/common/srchcmn.cpp
-     src/common/statbar.cpp
-     src/common/stockitem.cpp
-     src/common/tbarbase.cpp
-@@ -673,6 +674,7 @@
-     src/generic/selstore.cpp
-     src/generic/spinctlg.cpp
-     src/generic/splitter.cpp
-+    src/generic/srchctlg.cpp
-     src/generic/textdlgg.cpp
-     src/generic/tipwin.cpp
-     src/generic/toolbkg.cpp
-@@ -736,6 +738,7 @@
-     wx/generic/scrolwin.h
-     wx/generic/spinctlg.h
-     wx/generic/splitter.h
-+    wx/generic/srchctlg.h
-     wx/generic/textdlgg.h
-     wx/generic/timer.h
-     wx/generic/treectlg.h
-@@ -854,6 +857,7 @@
-     wx/spinbutt.h
-     wx/spinctrl.h
-     wx/splitter.h
-+    wx/srchctrl.h
-     wx/statline.h
-     wx/tab.h
-     wx/tabctrl.h
-@@ -1395,6 +1399,7 @@
- <set var="X11_LOWLEVEL_SRC" hints="files">
-     $(XWIN_LOWLEVEL_SRC)
-+    src/common/socketevtdispatch.cpp
-     src/generic/icon.cpp
-     src/generic/timer.cpp
-     src/x11/app.cpp
-@@ -1411,7 +1416,6 @@
-     src/x11/dcscreen.cpp
-     src/x11/evtloop.cpp
-     src/x11/font.cpp
--    src/x11/gsockx11.cpp
-     src/x11/minifram.cpp
-     src/x11/nanox.c
-     src/x11/palette.cpp
-@@ -1814,6 +1818,7 @@
- <set var="DFB_LOWLEVEL_SRC" hints="files">
-     src/common/fontmgrcmn.cpp
-+    src/common/socketevtdispatch.cpp
-     src/generic/caret.cpp
-     src/generic/colour.cpp
-     src/generic/icon.cpp
-@@ -2135,6 +2140,7 @@
-     src/mac/carbon/slider.cpp
-     src/mac/carbon/spinbutt.cpp
-     src/mac/carbon/spinctrl.cpp
-+    src/mac/carbon/srchctrl.cpp
-     src/mac/carbon/statbmp.cpp
-     src/mac/carbon/statbox.cpp
-     src/mac/carbon/statbrma.cpp
-@@ -2227,6 +2233,7 @@
-     wx/mac/sound.h
-     wx/mac/spinbutt.h
-     wx/mac/spinctrl.h
-+    wx/mac/srchctrl.h
-     wx/mac/statbmp.h
-     wx/mac/statbox.h
-     wx/mac/statline.h
-@@ -2303,6 +2310,9 @@
-     wx/mac/carbon/printdlg.h
-     wx/mac/carbon/printmac.h
-     wx/mac/carbon/private.h
-+    wx/mac/carbon/private/mactext.h
-+    wx/mac/carbon/private/overlay.h
-+    wx/mac/carbon/private/print.h
-     wx/mac/carbon/radiobox.h
-     wx/mac/carbon/radiobut.h
-     wx/mac/carbon/region.h
-@@ -2310,6 +2320,7 @@
-     wx/mac/carbon/slider.h
-     wx/mac/carbon/spinbutt.h
-     wx/mac/carbon/spinctrl.h
-+    wx/mac/carbon/srchctrl.h
-     wx/mac/carbon/statbmp.h
-     wx/mac/carbon/statbox.h
-     wx/mac/carbon/statline.h
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/makefile.bcc wxWidgets-2006-12-17/build/msw/makefile.bcc
---- wxWidgets-2.8.0/build/msw/makefile.bcc     2006-12-11 22:50:33.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/makefile.bcc        2006-12-17 05:57:51.000000000 +0100
-@@ -1490,6 +1490,7 @@
-       $(OBJS)\monodll_rgncmn.obj \
-       $(OBJS)\monodll_settcmn.obj \
-       $(OBJS)\monodll_sizer.obj \
-+      $(OBJS)\monodll_srchcmn.obj \
-       $(OBJS)\monodll_statbar.obj \
-       $(OBJS)\monodll_stockitem.obj \
-       $(OBJS)\monodll_tbarbase.obj \
-@@ -1525,6 +1526,7 @@
-       $(OBJS)\monodll_selstore.obj \
-       $(OBJS)\monodll_spinctlg.obj \
-       $(OBJS)\monodll_splitter.obj \
-+      $(OBJS)\monodll_srchctlg.obj \
-       $(OBJS)\monodll_textdlgg.obj \
-       $(OBJS)\monodll_tipwin.obj \
-       $(OBJS)\monodll_toolbkg.obj \
-@@ -1713,6 +1715,7 @@
-       $(OBJS)\monodll_rgncmn.obj \
-       $(OBJS)\monodll_settcmn.obj \
-       $(OBJS)\monodll_sizer.obj \
-+      $(OBJS)\monodll_srchcmn.obj \
-       $(OBJS)\monodll_statbar.obj \
-       $(OBJS)\monodll_stockitem.obj \
-       $(OBJS)\monodll_tbarbase.obj \
-@@ -1748,6 +1751,7 @@
-       $(OBJS)\monodll_selstore.obj \
-       $(OBJS)\monodll_spinctlg.obj \
-       $(OBJS)\monodll_splitter.obj \
-+      $(OBJS)\monodll_srchctlg.obj \
-       $(OBJS)\monodll_textdlgg.obj \
-       $(OBJS)\monodll_tipwin.obj \
-       $(OBJS)\monodll_toolbkg.obj \
-@@ -2102,6 +2106,7 @@
-       $(OBJS)\monolib_rgncmn.obj \
-       $(OBJS)\monolib_settcmn.obj \
-       $(OBJS)\monolib_sizer.obj \
-+      $(OBJS)\monolib_srchcmn.obj \
-       $(OBJS)\monolib_statbar.obj \
-       $(OBJS)\monolib_stockitem.obj \
-       $(OBJS)\monolib_tbarbase.obj \
-@@ -2137,6 +2142,7 @@
-       $(OBJS)\monolib_selstore.obj \
-       $(OBJS)\monolib_spinctlg.obj \
-       $(OBJS)\monolib_splitter.obj \
-+      $(OBJS)\monolib_srchctlg.obj \
-       $(OBJS)\monolib_textdlgg.obj \
-       $(OBJS)\monolib_tipwin.obj \
-       $(OBJS)\monolib_toolbkg.obj \
-@@ -2325,6 +2331,7 @@
-       $(OBJS)\monolib_rgncmn.obj \
-       $(OBJS)\monolib_settcmn.obj \
-       $(OBJS)\monolib_sizer.obj \
-+      $(OBJS)\monolib_srchcmn.obj \
-       $(OBJS)\monolib_statbar.obj \
-       $(OBJS)\monolib_stockitem.obj \
-       $(OBJS)\monolib_tbarbase.obj \
-@@ -2360,6 +2367,7 @@
-       $(OBJS)\monolib_selstore.obj \
-       $(OBJS)\monolib_spinctlg.obj \
-       $(OBJS)\monolib_splitter.obj \
-+      $(OBJS)\monolib_srchctlg.obj \
-       $(OBJS)\monolib_textdlgg.obj \
-       $(OBJS)\monolib_tipwin.obj \
-       $(OBJS)\monolib_toolbkg.obj \
-@@ -2622,6 +2630,7 @@
-       $(OBJS)\coredll_rgncmn.obj \
-       $(OBJS)\coredll_settcmn.obj \
-       $(OBJS)\coredll_sizer.obj \
-+      $(OBJS)\coredll_srchcmn.obj \
-       $(OBJS)\coredll_statbar.obj \
-       $(OBJS)\coredll_stockitem.obj \
-       $(OBJS)\coredll_tbarbase.obj \
-@@ -2657,6 +2666,7 @@
-       $(OBJS)\coredll_selstore.obj \
-       $(OBJS)\coredll_spinctlg.obj \
-       $(OBJS)\coredll_splitter.obj \
-+      $(OBJS)\coredll_srchctlg.obj \
-       $(OBJS)\coredll_textdlgg.obj \
-       $(OBJS)\coredll_tipwin.obj \
-       $(OBJS)\coredll_toolbkg.obj \
-@@ -2845,6 +2855,7 @@
-       $(OBJS)\coredll_rgncmn.obj \
-       $(OBJS)\coredll_settcmn.obj \
-       $(OBJS)\coredll_sizer.obj \
-+      $(OBJS)\coredll_srchcmn.obj \
-       $(OBJS)\coredll_statbar.obj \
-       $(OBJS)\coredll_stockitem.obj \
-       $(OBJS)\coredll_tbarbase.obj \
-@@ -2880,6 +2891,7 @@
-       $(OBJS)\coredll_selstore.obj \
-       $(OBJS)\coredll_spinctlg.obj \
-       $(OBJS)\coredll_splitter.obj \
-+      $(OBJS)\coredll_srchctlg.obj \
-       $(OBJS)\coredll_textdlgg.obj \
-       $(OBJS)\coredll_tipwin.obj \
-       $(OBJS)\coredll_toolbkg.obj \
-@@ -3069,6 +3081,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -3104,6 +3117,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -3292,6 +3306,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -3327,6 +3342,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -6162,6 +6178,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monodll_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monodll_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
- !endif
-@@ -6337,6 +6358,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monodll_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monodll_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
- !endif
-@@ -8149,6 +8175,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monolib_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monolib_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
- !endif
-@@ -8324,6 +8355,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monolib_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monolib_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
- !endif
-@@ -10160,6 +10196,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\coredll_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\coredll_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
- !endif
-@@ -10335,6 +10376,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\coredll_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\coredll_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
- !endif
-@@ -11425,6 +11471,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\corelib_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\corelib_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
- !endif
-@@ -11600,6 +11651,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\corelib_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\corelib_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
- !endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/makefile.dmc wxWidgets-2006-12-17/build/msw/makefile.dmc
---- wxWidgets-2.8.0/build/msw/makefile.dmc     2006-12-11 22:50:54.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/makefile.dmc        2006-12-17 05:58:02.000000000 +0100
-@@ -464,6 +464,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -499,6 +500,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -2116,6 +2118,9 @@
- $(OBJS)\corelib_sizer.obj : ..\..\src\common\sizer.cpp $(CORELIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\sizer.cpp
-+$(OBJS)\corelib_srchcmn.obj : ..\..\src\common\srchcmn.cpp $(CORELIB_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\srchcmn.cpp
-+
- $(OBJS)\corelib_statbar.obj : ..\..\src\common\statbar.cpp $(CORELIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\statbar.cpp
-@@ -2221,6 +2226,9 @@
- $(OBJS)\corelib_splitter.obj : ..\..\src\generic\splitter.cpp $(CORELIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\splitter.cpp
-+$(OBJS)\corelib_srchctlg.obj : ..\..\src\generic\srchctlg.cpp $(CORELIB_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\srchctlg.cpp
-+
- $(OBJS)\corelib_textdlgg.obj : ..\..\src\generic\textdlgg.cpp $(CORELIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\textdlgg.cpp
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/makefile.dms wxWidgets-2006-12-17/build/msw/makefile.dms
---- wxWidgets-2.8.0/build/msw/makefile.dms     2006-12-11 22:50:54.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/makefile.dms        2006-12-17 05:58:02.000000000 +0100
-@@ -356,6 +356,7 @@
-       $(OBJS)\monodll_rgncmn.obj \
-       $(OBJS)\monodll_settcmn.obj \
-       $(OBJS)\monodll_sizer.obj \
-+      $(OBJS)\monodll_srchcmn.obj \
-       $(OBJS)\monodll_statbar.obj \
-       $(OBJS)\monodll_stockitem.obj \
-       $(OBJS)\monodll_tbarbase.obj \
-@@ -391,6 +392,7 @@
-       $(OBJS)\monodll_selstore.obj \
-       $(OBJS)\monodll_spinctlg.obj \
-       $(OBJS)\monodll_splitter.obj \
-+      $(OBJS)\monodll_srchctlg.obj \
-       $(OBJS)\monodll_textdlgg.obj \
-       $(OBJS)\monodll_tipwin.obj \
-       $(OBJS)\monodll_toolbkg.obj \
-@@ -581,6 +583,7 @@
-       $(OBJS)\monodll_rgncmn.obj \
-       $(OBJS)\monodll_settcmn.obj \
-       $(OBJS)\monodll_sizer.obj \
-+      $(OBJS)\monodll_srchcmn.obj \
-       $(OBJS)\monodll_statbar.obj \
-       $(OBJS)\monodll_stockitem.obj \
-       $(OBJS)\monodll_tbarbase.obj \
-@@ -616,6 +619,7 @@
-       $(OBJS)\monodll_selstore.obj \
-       $(OBJS)\monodll_spinctlg.obj \
-       $(OBJS)\monodll_splitter.obj \
-+      $(OBJS)\monodll_srchctlg.obj \
-       $(OBJS)\monodll_textdlgg.obj \
-       $(OBJS)\monodll_tipwin.obj \
-       $(OBJS)\monodll_toolbkg.obj \
-@@ -974,6 +978,7 @@
-       $(OBJS)\monolib_rgncmn.obj \
-       $(OBJS)\monolib_settcmn.obj \
-       $(OBJS)\monolib_sizer.obj \
-+      $(OBJS)\monolib_srchcmn.obj \
-       $(OBJS)\monolib_statbar.obj \
-       $(OBJS)\monolib_stockitem.obj \
-       $(OBJS)\monolib_tbarbase.obj \
-@@ -1009,6 +1014,7 @@
-       $(OBJS)\monolib_selstore.obj \
-       $(OBJS)\monolib_spinctlg.obj \
-       $(OBJS)\monolib_splitter.obj \
-+      $(OBJS)\monolib_srchctlg.obj \
-       $(OBJS)\monolib_textdlgg.obj \
-       $(OBJS)\monolib_tipwin.obj \
-       $(OBJS)\monolib_toolbkg.obj \
-@@ -1199,6 +1205,7 @@
-       $(OBJS)\monolib_rgncmn.obj \
-       $(OBJS)\monolib_settcmn.obj \
-       $(OBJS)\monolib_sizer.obj \
-+      $(OBJS)\monolib_srchcmn.obj \
-       $(OBJS)\monolib_statbar.obj \
-       $(OBJS)\monolib_stockitem.obj \
-       $(OBJS)\monolib_tbarbase.obj \
-@@ -1234,6 +1241,7 @@
-       $(OBJS)\monolib_selstore.obj \
-       $(OBJS)\monolib_spinctlg.obj \
-       $(OBJS)\monolib_splitter.obj \
-+      $(OBJS)\monolib_srchctlg.obj \
-       $(OBJS)\monolib_textdlgg.obj \
-       $(OBJS)\monolib_tipwin.obj \
-       $(OBJS)\monolib_toolbkg.obj \
-@@ -1510,6 +1518,7 @@
-       $(OBJS)\coredll_rgncmn.obj \
-       $(OBJS)\coredll_settcmn.obj \
-       $(OBJS)\coredll_sizer.obj \
-+      $(OBJS)\coredll_srchcmn.obj \
-       $(OBJS)\coredll_statbar.obj \
-       $(OBJS)\coredll_stockitem.obj \
-       $(OBJS)\coredll_tbarbase.obj \
-@@ -1545,6 +1554,7 @@
-       $(OBJS)\coredll_selstore.obj \
-       $(OBJS)\coredll_spinctlg.obj \
-       $(OBJS)\coredll_splitter.obj \
-+      $(OBJS)\coredll_srchctlg.obj \
-       $(OBJS)\coredll_textdlgg.obj \
-       $(OBJS)\coredll_tipwin.obj \
-       $(OBJS)\coredll_toolbkg.obj \
-@@ -1735,6 +1745,7 @@
-       $(OBJS)\coredll_rgncmn.obj \
-       $(OBJS)\coredll_settcmn.obj \
-       $(OBJS)\coredll_sizer.obj \
-+      $(OBJS)\coredll_srchcmn.obj \
-       $(OBJS)\coredll_statbar.obj \
-       $(OBJS)\coredll_stockitem.obj \
-       $(OBJS)\coredll_tbarbase.obj \
-@@ -1770,6 +1781,7 @@
-       $(OBJS)\coredll_selstore.obj \
-       $(OBJS)\coredll_spinctlg.obj \
-       $(OBJS)\coredll_splitter.obj \
-+      $(OBJS)\coredll_srchctlg.obj \
-       $(OBJS)\coredll_textdlgg.obj \
-       $(OBJS)\coredll_tipwin.obj \
-       $(OBJS)\coredll_toolbkg.obj \
-@@ -1965,6 +1977,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -2000,6 +2013,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -2190,6 +2204,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -2225,6 +2240,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -5430,6 +5446,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monodll_srchcmn.obj :  ..\..\src\common\srchcmn.cpp $(MONODLL_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\srchcmn.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monodll_statbar.obj :  ..\..\src\common\statbar.cpp $(MONODLL_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\statbar.cpp
- !endif
-@@ -5605,6 +5626,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monodll_srchctlg.obj :  ..\..\src\generic\srchctlg.cpp $(MONODLL_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\srchctlg.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monodll_textdlgg.obj :  ..\..\src\generic\textdlgg.cpp $(MONODLL_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\textdlgg.cpp
- !endif
-@@ -7517,6 +7543,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monolib_srchcmn.obj :  ..\..\src\common\srchcmn.cpp $(MONOLIB_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\srchcmn.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monolib_statbar.obj :  ..\..\src\common\statbar.cpp $(MONOLIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\statbar.cpp
- !endif
-@@ -7692,6 +7723,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monolib_srchctlg.obj :  ..\..\src\generic\srchctlg.cpp $(MONOLIB_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\srchctlg.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monolib_textdlgg.obj :  ..\..\src\generic\textdlgg.cpp $(MONOLIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\textdlgg.cpp
- !endif
-@@ -9628,6 +9664,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\coredll_srchcmn.obj :  ..\..\src\common\srchcmn.cpp $(COREDLL_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\srchcmn.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\coredll_statbar.obj :  ..\..\src\common\statbar.cpp $(COREDLL_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\statbar.cpp
- !endif
-@@ -9803,6 +9844,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\coredll_srchctlg.obj :  ..\..\src\generic\srchctlg.cpp $(COREDLL_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\srchctlg.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\coredll_textdlgg.obj :  ..\..\src\generic\textdlgg.cpp $(COREDLL_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\textdlgg.cpp
- !endif
-@@ -10993,6 +11039,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\corelib_srchcmn.obj :  ..\..\src\common\srchcmn.cpp $(CORELIB_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\srchcmn.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\corelib_statbar.obj :  ..\..\src\common\statbar.cpp $(CORELIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\statbar.cpp
- !endif
-@@ -11168,6 +11219,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\corelib_srchctlg.obj :  ..\..\src\generic\srchctlg.cpp $(CORELIB_ODEP)
-+      $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\srchctlg.cpp
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\corelib_textdlgg.obj :  ..\..\src\generic\textdlgg.cpp $(CORELIB_ODEP)
-       $(CXX) -mn -c -cpp -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\textdlgg.cpp
- !endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/makefile.gcc wxWidgets-2006-12-17/build/msw/makefile.gcc
---- wxWidgets-2.8.0/build/msw/makefile.gcc     2006-12-11 22:50:33.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/makefile.gcc        2006-12-17 05:57:51.000000000 +0100
-@@ -1500,6 +1500,7 @@
-       $(OBJS)\monodll_rgncmn.o \
-       $(OBJS)\monodll_settcmn.o \
-       $(OBJS)\monodll_sizer.o \
-+      $(OBJS)\monodll_srchcmn.o \
-       $(OBJS)\monodll_statbar.o \
-       $(OBJS)\monodll_stockitem.o \
-       $(OBJS)\monodll_tbarbase.o \
-@@ -1535,6 +1536,7 @@
-       $(OBJS)\monodll_selstore.o \
-       $(OBJS)\monodll_spinctlg.o \
-       $(OBJS)\monodll_splitter.o \
-+      $(OBJS)\monodll_srchctlg.o \
-       $(OBJS)\monodll_textdlgg.o \
-       $(OBJS)\monodll_tipwin.o \
-       $(OBJS)\monodll_toolbkg.o \
-@@ -1725,6 +1727,7 @@
-       $(OBJS)\monodll_rgncmn.o \
-       $(OBJS)\monodll_settcmn.o \
-       $(OBJS)\monodll_sizer.o \
-+      $(OBJS)\monodll_srchcmn.o \
-       $(OBJS)\monodll_statbar.o \
-       $(OBJS)\monodll_stockitem.o \
-       $(OBJS)\monodll_tbarbase.o \
-@@ -1760,6 +1763,7 @@
-       $(OBJS)\monodll_selstore.o \
-       $(OBJS)\monodll_spinctlg.o \
-       $(OBJS)\monodll_splitter.o \
-+      $(OBJS)\monodll_srchctlg.o \
-       $(OBJS)\monodll_textdlgg.o \
-       $(OBJS)\monodll_tipwin.o \
-       $(OBJS)\monodll_toolbkg.o \
-@@ -2118,6 +2122,7 @@
-       $(OBJS)\monolib_rgncmn.o \
-       $(OBJS)\monolib_settcmn.o \
-       $(OBJS)\monolib_sizer.o \
-+      $(OBJS)\monolib_srchcmn.o \
-       $(OBJS)\monolib_statbar.o \
-       $(OBJS)\monolib_stockitem.o \
-       $(OBJS)\monolib_tbarbase.o \
-@@ -2153,6 +2158,7 @@
-       $(OBJS)\monolib_selstore.o \
-       $(OBJS)\monolib_spinctlg.o \
-       $(OBJS)\monolib_splitter.o \
-+      $(OBJS)\monolib_srchctlg.o \
-       $(OBJS)\monolib_textdlgg.o \
-       $(OBJS)\monolib_tipwin.o \
-       $(OBJS)\monolib_toolbkg.o \
-@@ -2343,6 +2349,7 @@
-       $(OBJS)\monolib_rgncmn.o \
-       $(OBJS)\monolib_settcmn.o \
-       $(OBJS)\monolib_sizer.o \
-+      $(OBJS)\monolib_srchcmn.o \
-       $(OBJS)\monolib_statbar.o \
-       $(OBJS)\monolib_stockitem.o \
-       $(OBJS)\monolib_tbarbase.o \
-@@ -2378,6 +2385,7 @@
-       $(OBJS)\monolib_selstore.o \
-       $(OBJS)\monolib_spinctlg.o \
-       $(OBJS)\monolib_splitter.o \
-+      $(OBJS)\monolib_srchctlg.o \
-       $(OBJS)\monolib_textdlgg.o \
-       $(OBJS)\monolib_tipwin.o \
-       $(OBJS)\monolib_toolbkg.o \
-@@ -2654,6 +2662,7 @@
-       $(OBJS)\coredll_rgncmn.o \
-       $(OBJS)\coredll_settcmn.o \
-       $(OBJS)\coredll_sizer.o \
-+      $(OBJS)\coredll_srchcmn.o \
-       $(OBJS)\coredll_statbar.o \
-       $(OBJS)\coredll_stockitem.o \
-       $(OBJS)\coredll_tbarbase.o \
-@@ -2689,6 +2698,7 @@
-       $(OBJS)\coredll_selstore.o \
-       $(OBJS)\coredll_spinctlg.o \
-       $(OBJS)\coredll_splitter.o \
-+      $(OBJS)\coredll_srchctlg.o \
-       $(OBJS)\coredll_textdlgg.o \
-       $(OBJS)\coredll_tipwin.o \
-       $(OBJS)\coredll_toolbkg.o \
-@@ -2879,6 +2889,7 @@
-       $(OBJS)\coredll_rgncmn.o \
-       $(OBJS)\coredll_settcmn.o \
-       $(OBJS)\coredll_sizer.o \
-+      $(OBJS)\coredll_srchcmn.o \
-       $(OBJS)\coredll_statbar.o \
-       $(OBJS)\coredll_stockitem.o \
-       $(OBJS)\coredll_tbarbase.o \
-@@ -2914,6 +2925,7 @@
-       $(OBJS)\coredll_selstore.o \
-       $(OBJS)\coredll_spinctlg.o \
-       $(OBJS)\coredll_splitter.o \
-+      $(OBJS)\coredll_srchctlg.o \
-       $(OBJS)\coredll_textdlgg.o \
-       $(OBJS)\coredll_tipwin.o \
-       $(OBJS)\coredll_toolbkg.o \
-@@ -3109,6 +3121,7 @@
-       $(OBJS)\corelib_rgncmn.o \
-       $(OBJS)\corelib_settcmn.o \
-       $(OBJS)\corelib_sizer.o \
-+      $(OBJS)\corelib_srchcmn.o \
-       $(OBJS)\corelib_statbar.o \
-       $(OBJS)\corelib_stockitem.o \
-       $(OBJS)\corelib_tbarbase.o \
-@@ -3144,6 +3157,7 @@
-       $(OBJS)\corelib_selstore.o \
-       $(OBJS)\corelib_spinctlg.o \
-       $(OBJS)\corelib_splitter.o \
-+      $(OBJS)\corelib_srchctlg.o \
-       $(OBJS)\corelib_textdlgg.o \
-       $(OBJS)\corelib_tipwin.o \
-       $(OBJS)\corelib_toolbkg.o \
-@@ -3334,6 +3348,7 @@
-       $(OBJS)\corelib_rgncmn.o \
-       $(OBJS)\corelib_settcmn.o \
-       $(OBJS)\corelib_sizer.o \
-+      $(OBJS)\corelib_srchcmn.o \
-       $(OBJS)\corelib_statbar.o \
-       $(OBJS)\corelib_stockitem.o \
-       $(OBJS)\corelib_tbarbase.o \
-@@ -3369,6 +3384,7 @@
-       $(OBJS)\corelib_selstore.o \
-       $(OBJS)\corelib_spinctlg.o \
-       $(OBJS)\corelib_splitter.o \
-+      $(OBJS)\corelib_srchctlg.o \
-       $(OBJS)\corelib_textdlgg.o \
-       $(OBJS)\corelib_tipwin.o \
-       $(OBJS)\corelib_toolbkg.o \
-@@ -6379,6 +6395,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\monodll_srchcmn.o: ../../src/common/srchcmn.cpp
-+      $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\monodll_statbar.o: ../../src/common/statbar.cpp
-       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -6554,6 +6575,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\monodll_srchctlg.o: ../../src/generic/srchctlg.cpp
-+      $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\monodll_textdlgg.o: ../../src/generic/textdlgg.cpp
-       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -8466,6 +8492,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\monolib_srchcmn.o: ../../src/common/srchcmn.cpp
-+      $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\monolib_statbar.o: ../../src/common/statbar.cpp
-       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -8641,6 +8672,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\monolib_srchctlg.o: ../../src/generic/srchctlg.cpp
-+      $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\monolib_textdlgg.o: ../../src/generic/textdlgg.cpp
-       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -10577,6 +10613,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\coredll_srchcmn.o: ../../src/common/srchcmn.cpp
-+      $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\coredll_statbar.o: ../../src/common/statbar.cpp
-       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -10752,6 +10793,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\coredll_srchctlg.o: ../../src/generic/srchctlg.cpp
-+      $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\coredll_textdlgg.o: ../../src/generic/textdlgg.cpp
-       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -11942,6 +11988,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\corelib_srchcmn.o: ../../src/common/srchcmn.cpp
-+      $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\corelib_statbar.o: ../../src/common/statbar.cpp
-       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
- endif
-@@ -12117,6 +12168,11 @@
- endif
- ifeq ($(USE_GUI),1)
-+$(OBJS)\corelib_srchctlg.o: ../../src/generic/srchctlg.cpp
-+      $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-+endif
-+
-+ifeq ($(USE_GUI),1)
- $(OBJS)\corelib_textdlgg.o: ../../src/generic/textdlgg.cpp
-       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
- endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/makefile.vc wxWidgets-2006-12-17/build/msw/makefile.vc
---- wxWidgets-2.8.0/build/msw/makefile.vc      2006-12-11 22:50:33.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/makefile.vc 2006-12-17 05:57:51.000000000 +0100
-@@ -1657,6 +1657,7 @@
-       $(OBJS)\monodll_rgncmn.obj \
-       $(OBJS)\monodll_settcmn.obj \
-       $(OBJS)\monodll_sizer.obj \
-+      $(OBJS)\monodll_srchcmn.obj \
-       $(OBJS)\monodll_statbar.obj \
-       $(OBJS)\monodll_stockitem.obj \
-       $(OBJS)\monodll_tbarbase.obj \
-@@ -1692,6 +1693,7 @@
-       $(OBJS)\monodll_selstore.obj \
-       $(OBJS)\monodll_spinctlg.obj \
-       $(OBJS)\monodll_splitter.obj \
-+      $(OBJS)\monodll_srchctlg.obj \
-       $(OBJS)\monodll_textdlgg.obj \
-       $(OBJS)\monodll_tipwin.obj \
-       $(OBJS)\monodll_toolbkg.obj \
-@@ -1880,6 +1882,7 @@
-       $(OBJS)\monodll_rgncmn.obj \
-       $(OBJS)\monodll_settcmn.obj \
-       $(OBJS)\monodll_sizer.obj \
-+      $(OBJS)\monodll_srchcmn.obj \
-       $(OBJS)\monodll_statbar.obj \
-       $(OBJS)\monodll_stockitem.obj \
-       $(OBJS)\monodll_tbarbase.obj \
-@@ -1915,6 +1918,7 @@
-       $(OBJS)\monodll_selstore.obj \
-       $(OBJS)\monodll_spinctlg.obj \
-       $(OBJS)\monodll_splitter.obj \
-+      $(OBJS)\monodll_srchctlg.obj \
-       $(OBJS)\monodll_textdlgg.obj \
-       $(OBJS)\monodll_tipwin.obj \
-       $(OBJS)\monodll_toolbkg.obj \
-@@ -2275,6 +2279,7 @@
-       $(OBJS)\monolib_rgncmn.obj \
-       $(OBJS)\monolib_settcmn.obj \
-       $(OBJS)\monolib_sizer.obj \
-+      $(OBJS)\monolib_srchcmn.obj \
-       $(OBJS)\monolib_statbar.obj \
-       $(OBJS)\monolib_stockitem.obj \
-       $(OBJS)\monolib_tbarbase.obj \
-@@ -2310,6 +2315,7 @@
-       $(OBJS)\monolib_selstore.obj \
-       $(OBJS)\monolib_spinctlg.obj \
-       $(OBJS)\monolib_splitter.obj \
-+      $(OBJS)\monolib_srchctlg.obj \
-       $(OBJS)\monolib_textdlgg.obj \
-       $(OBJS)\monolib_tipwin.obj \
-       $(OBJS)\monolib_toolbkg.obj \
-@@ -2498,6 +2504,7 @@
-       $(OBJS)\monolib_rgncmn.obj \
-       $(OBJS)\monolib_settcmn.obj \
-       $(OBJS)\monolib_sizer.obj \
-+      $(OBJS)\monolib_srchcmn.obj \
-       $(OBJS)\monolib_statbar.obj \
-       $(OBJS)\monolib_stockitem.obj \
-       $(OBJS)\monolib_tbarbase.obj \
-@@ -2533,6 +2540,7 @@
-       $(OBJS)\monolib_selstore.obj \
-       $(OBJS)\monolib_spinctlg.obj \
-       $(OBJS)\monolib_splitter.obj \
-+      $(OBJS)\monolib_srchctlg.obj \
-       $(OBJS)\monolib_textdlgg.obj \
-       $(OBJS)\monolib_tipwin.obj \
-       $(OBJS)\monolib_toolbkg.obj \
-@@ -2825,6 +2833,7 @@
-       $(OBJS)\coredll_rgncmn.obj \
-       $(OBJS)\coredll_settcmn.obj \
-       $(OBJS)\coredll_sizer.obj \
-+      $(OBJS)\coredll_srchcmn.obj \
-       $(OBJS)\coredll_statbar.obj \
-       $(OBJS)\coredll_stockitem.obj \
-       $(OBJS)\coredll_tbarbase.obj \
-@@ -2860,6 +2869,7 @@
-       $(OBJS)\coredll_selstore.obj \
-       $(OBJS)\coredll_spinctlg.obj \
-       $(OBJS)\coredll_splitter.obj \
-+      $(OBJS)\coredll_srchctlg.obj \
-       $(OBJS)\coredll_textdlgg.obj \
-       $(OBJS)\coredll_tipwin.obj \
-       $(OBJS)\coredll_toolbkg.obj \
-@@ -3048,6 +3058,7 @@
-       $(OBJS)\coredll_rgncmn.obj \
-       $(OBJS)\coredll_settcmn.obj \
-       $(OBJS)\coredll_sizer.obj \
-+      $(OBJS)\coredll_srchcmn.obj \
-       $(OBJS)\coredll_statbar.obj \
-       $(OBJS)\coredll_stockitem.obj \
-       $(OBJS)\coredll_tbarbase.obj \
-@@ -3083,6 +3094,7 @@
-       $(OBJS)\coredll_selstore.obj \
-       $(OBJS)\coredll_spinctlg.obj \
-       $(OBJS)\coredll_splitter.obj \
-+      $(OBJS)\coredll_srchctlg.obj \
-       $(OBJS)\coredll_textdlgg.obj \
-       $(OBJS)\coredll_tipwin.obj \
-       $(OBJS)\coredll_toolbkg.obj \
-@@ -3278,6 +3290,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -3313,6 +3326,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -3501,6 +3515,7 @@
-       $(OBJS)\corelib_rgncmn.obj \
-       $(OBJS)\corelib_settcmn.obj \
-       $(OBJS)\corelib_sizer.obj \
-+      $(OBJS)\corelib_srchcmn.obj \
-       $(OBJS)\corelib_statbar.obj \
-       $(OBJS)\corelib_stockitem.obj \
-       $(OBJS)\corelib_tbarbase.obj \
-@@ -3536,6 +3551,7 @@
-       $(OBJS)\corelib_selstore.obj \
-       $(OBJS)\corelib_spinctlg.obj \
-       $(OBJS)\corelib_splitter.obj \
-+      $(OBJS)\corelib_srchctlg.obj \
-       $(OBJS)\corelib_textdlgg.obj \
-       $(OBJS)\corelib_tipwin.obj \
-       $(OBJS)\corelib_toolbkg.obj \
-@@ -6495,6 +6511,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monodll_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monodll_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
- !endif
-@@ -6670,6 +6691,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monodll_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monodll_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
- !endif
-@@ -8482,6 +8508,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monolib_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monolib_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
- !endif
-@@ -8657,6 +8688,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\monolib_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\monolib_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
- !endif
-@@ -10493,6 +10529,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\coredll_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\coredll_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
- !endif
-@@ -10668,6 +10709,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\coredll_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\coredll_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
- !endif
-@@ -11758,6 +11804,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\corelib_srchcmn.obj: ..\..\src\common\srchcmn.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\corelib_statbar.obj: ..\..\src\common\statbar.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
- !endif
-@@ -11933,6 +11984,11 @@
- !endif
- !if "$(USE_GUI)" == "1"
-+$(OBJS)\corelib_srchctlg.obj: ..\..\src\generic\srchctlg.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
-+!endif
-+
-+!if "$(USE_GUI)" == "1"
- $(OBJS)\corelib_textdlgg.obj: ..\..\src\generic\textdlgg.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
- !endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/makefile.wat wxWidgets-2006-12-17/build/msw/makefile.wat
---- wxWidgets-2.8.0/build/msw/makefile.wat     2006-12-11 22:50:33.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/makefile.wat        2006-12-17 05:57:51.000000000 +0100
-@@ -383,6 +383,7 @@
-       $(OBJS)\monodll_rgncmn.obj &
-       $(OBJS)\monodll_settcmn.obj &
-       $(OBJS)\monodll_sizer.obj &
-+      $(OBJS)\monodll_srchcmn.obj &
-       $(OBJS)\monodll_statbar.obj &
-       $(OBJS)\monodll_stockitem.obj &
-       $(OBJS)\monodll_tbarbase.obj &
-@@ -418,6 +419,7 @@
-       $(OBJS)\monodll_selstore.obj &
-       $(OBJS)\monodll_spinctlg.obj &
-       $(OBJS)\monodll_splitter.obj &
-+      $(OBJS)\monodll_srchctlg.obj &
-       $(OBJS)\monodll_textdlgg.obj &
-       $(OBJS)\monodll_tipwin.obj &
-       $(OBJS)\monodll_toolbkg.obj &
-@@ -608,6 +610,7 @@
-       $(OBJS)\monodll_rgncmn.obj &
-       $(OBJS)\monodll_settcmn.obj &
-       $(OBJS)\monodll_sizer.obj &
-+      $(OBJS)\monodll_srchcmn.obj &
-       $(OBJS)\monodll_statbar.obj &
-       $(OBJS)\monodll_stockitem.obj &
-       $(OBJS)\monodll_tbarbase.obj &
-@@ -643,6 +646,7 @@
-       $(OBJS)\monodll_selstore.obj &
-       $(OBJS)\monodll_spinctlg.obj &
-       $(OBJS)\monodll_splitter.obj &
-+      $(OBJS)\monodll_srchctlg.obj &
-       $(OBJS)\monodll_textdlgg.obj &
-       $(OBJS)\monodll_tipwin.obj &
-       $(OBJS)\monodll_toolbkg.obj &
-@@ -1005,6 +1009,7 @@
-       $(OBJS)\monolib_rgncmn.obj &
-       $(OBJS)\monolib_settcmn.obj &
-       $(OBJS)\monolib_sizer.obj &
-+      $(OBJS)\monolib_srchcmn.obj &
-       $(OBJS)\monolib_statbar.obj &
-       $(OBJS)\monolib_stockitem.obj &
-       $(OBJS)\monolib_tbarbase.obj &
-@@ -1040,6 +1045,7 @@
-       $(OBJS)\monolib_selstore.obj &
-       $(OBJS)\monolib_spinctlg.obj &
-       $(OBJS)\monolib_splitter.obj &
-+      $(OBJS)\monolib_srchctlg.obj &
-       $(OBJS)\monolib_textdlgg.obj &
-       $(OBJS)\monolib_tipwin.obj &
-       $(OBJS)\monolib_toolbkg.obj &
-@@ -1230,6 +1236,7 @@
-       $(OBJS)\monolib_rgncmn.obj &
-       $(OBJS)\monolib_settcmn.obj &
-       $(OBJS)\monolib_sizer.obj &
-+      $(OBJS)\monolib_srchcmn.obj &
-       $(OBJS)\monolib_statbar.obj &
-       $(OBJS)\monolib_stockitem.obj &
-       $(OBJS)\monolib_tbarbase.obj &
-@@ -1265,6 +1272,7 @@
-       $(OBJS)\monolib_selstore.obj &
-       $(OBJS)\monolib_spinctlg.obj &
-       $(OBJS)\monolib_splitter.obj &
-+      $(OBJS)\monolib_srchctlg.obj &
-       $(OBJS)\monolib_textdlgg.obj &
-       $(OBJS)\monolib_tipwin.obj &
-       $(OBJS)\monolib_toolbkg.obj &
-@@ -1548,6 +1556,7 @@
-       $(OBJS)\coredll_rgncmn.obj &
-       $(OBJS)\coredll_settcmn.obj &
-       $(OBJS)\coredll_sizer.obj &
-+      $(OBJS)\coredll_srchcmn.obj &
-       $(OBJS)\coredll_statbar.obj &
-       $(OBJS)\coredll_stockitem.obj &
-       $(OBJS)\coredll_tbarbase.obj &
-@@ -1583,6 +1592,7 @@
-       $(OBJS)\coredll_selstore.obj &
-       $(OBJS)\coredll_spinctlg.obj &
-       $(OBJS)\coredll_splitter.obj &
-+      $(OBJS)\coredll_srchctlg.obj &
-       $(OBJS)\coredll_textdlgg.obj &
-       $(OBJS)\coredll_tipwin.obj &
-       $(OBJS)\coredll_toolbkg.obj &
-@@ -1773,6 +1783,7 @@
-       $(OBJS)\coredll_rgncmn.obj &
-       $(OBJS)\coredll_settcmn.obj &
-       $(OBJS)\coredll_sizer.obj &
-+      $(OBJS)\coredll_srchcmn.obj &
-       $(OBJS)\coredll_statbar.obj &
-       $(OBJS)\coredll_stockitem.obj &
-       $(OBJS)\coredll_tbarbase.obj &
-@@ -1808,6 +1819,7 @@
-       $(OBJS)\coredll_selstore.obj &
-       $(OBJS)\coredll_spinctlg.obj &
-       $(OBJS)\coredll_splitter.obj &
-+      $(OBJS)\coredll_srchctlg.obj &
-       $(OBJS)\coredll_textdlgg.obj &
-       $(OBJS)\coredll_tipwin.obj &
-       $(OBJS)\coredll_toolbkg.obj &
-@@ -2005,6 +2017,7 @@
-       $(OBJS)\corelib_rgncmn.obj &
-       $(OBJS)\corelib_settcmn.obj &
-       $(OBJS)\corelib_sizer.obj &
-+      $(OBJS)\corelib_srchcmn.obj &
-       $(OBJS)\corelib_statbar.obj &
-       $(OBJS)\corelib_stockitem.obj &
-       $(OBJS)\corelib_tbarbase.obj &
-@@ -2040,6 +2053,7 @@
-       $(OBJS)\corelib_selstore.obj &
-       $(OBJS)\corelib_spinctlg.obj &
-       $(OBJS)\corelib_splitter.obj &
-+      $(OBJS)\corelib_srchctlg.obj &
-       $(OBJS)\corelib_textdlgg.obj &
-       $(OBJS)\corelib_tipwin.obj &
-       $(OBJS)\corelib_toolbkg.obj &
-@@ -2230,6 +2244,7 @@
-       $(OBJS)\corelib_rgncmn.obj &
-       $(OBJS)\corelib_settcmn.obj &
-       $(OBJS)\corelib_sizer.obj &
-+      $(OBJS)\corelib_srchcmn.obj &
-       $(OBJS)\corelib_statbar.obj &
-       $(OBJS)\corelib_stockitem.obj &
-       $(OBJS)\corelib_tbarbase.obj &
-@@ -2265,6 +2280,7 @@
-       $(OBJS)\corelib_selstore.obj &
-       $(OBJS)\corelib_spinctlg.obj &
-       $(OBJS)\corelib_splitter.obj &
-+      $(OBJS)\corelib_srchctlg.obj &
-       $(OBJS)\corelib_textdlgg.obj &
-       $(OBJS)\corelib_tipwin.obj &
-       $(OBJS)\corelib_toolbkg.obj &
-@@ -6607,6 +6623,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monodll_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monodll_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
- !endif
-@@ -6782,6 +6803,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monodll_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monodll_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
- !endif
-@@ -8694,6 +8720,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monolib_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monolib_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
- !endif
-@@ -8869,6 +8900,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monolib_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monolib_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
- !endif
-@@ -10805,6 +10841,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\coredll_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\coredll_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
- !endif
-@@ -10980,6 +11021,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\coredll_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\coredll_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
- !endif
-@@ -12170,6 +12216,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\corelib_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\corelib_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
- !endif
-@@ -12345,6 +12396,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\corelib_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\corelib_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
- !endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/msw/wx_core.dsp wxWidgets-2006-12-17/build/msw/wx_core.dsp
---- wxWidgets-2.8.0/build/msw/wx_core.dsp      2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/build/msw/wx_core.dsp 2006-12-17 05:57:55.000000000 +0100
-@@ -778,6 +778,10 @@
- # End Source File\r
- # Begin Source File\r
\r
-+SOURCE=..\..\src\common\srchcmn.cpp\r
-+# End Source File\r
-+# Begin Source File\r
-+\r
- SOURCE=..\..\src\common\statbar.cpp\r
- # End Source File\r
- # Begin Source File\r
-@@ -4674,6 +4678,10 @@
- # End Source File\r
- # Begin Source File\r
\r
-+SOURCE=..\..\src\generic\srchctlg.cpp\r
-+# End Source File\r
-+# Begin Source File\r
-+\r
- SOURCE=..\..\src\generic\statusbr.cpp\r
\r
- !IF  "$(CFG)" == "core - Win32 DLL Universal Unicode Release"\r
-@@ -8353,6 +8361,10 @@
- # End Source File\r
- # Begin Source File\r
\r
-+SOURCE=..\..\include\wx\generic\srchctlg.h\r
-+# End Source File\r
-+# Begin Source File\r
-+\r
- SOURCE=..\..\include\wx\generic\statusbr.h\r
- # End Source File\r
- # Begin Source File\r
-@@ -9265,6 +9277,10 @@
- # End Source File\r
- # Begin Source File\r
\r
-+SOURCE=..\..\include\wx\srchctrl.h\r
-+# End Source File\r
-+# Begin Source File\r
-+\r
- SOURCE=..\..\include\wx\statbmp.h\r
- # End Source File\r
- # Begin Source File\r
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/os2/makefile.wat wxWidgets-2006-12-17/build/os2/makefile.wat
---- wxWidgets-2.8.0/build/os2/makefile.wat     2006-12-11 22:50:56.000000000 +0100
-+++ wxWidgets-2006-12-17/build/os2/makefile.wat        2006-12-17 05:58:03.000000000 +0100
-@@ -352,6 +352,7 @@
-       $(OBJS)\monodll_rgncmn.obj &
-       $(OBJS)\monodll_settcmn.obj &
-       $(OBJS)\monodll_sizer.obj &
-+      $(OBJS)\monodll_srchcmn.obj &
-       $(OBJS)\monodll_statbar.obj &
-       $(OBJS)\monodll_stockitem.obj &
-       $(OBJS)\monodll_tbarbase.obj &
-@@ -387,6 +388,7 @@
-       $(OBJS)\monodll_selstore.obj &
-       $(OBJS)\monodll_spinctlg.obj &
-       $(OBJS)\monodll_splitter.obj &
-+      $(OBJS)\monodll_srchctlg.obj &
-       $(OBJS)\monodll_textdlgg.obj &
-       $(OBJS)\monodll_tipwin.obj &
-       $(OBJS)\monodll_toolbkg.obj &
-@@ -527,6 +529,7 @@
-       $(OBJS)\monodll_rgncmn.obj &
-       $(OBJS)\monodll_settcmn.obj &
-       $(OBJS)\monodll_sizer.obj &
-+      $(OBJS)\monodll_srchcmn.obj &
-       $(OBJS)\monodll_statbar.obj &
-       $(OBJS)\monodll_stockitem.obj &
-       $(OBJS)\monodll_tbarbase.obj &
-@@ -562,6 +565,7 @@
-       $(OBJS)\monodll_selstore.obj &
-       $(OBJS)\monodll_spinctlg.obj &
-       $(OBJS)\monodll_splitter.obj &
-+      $(OBJS)\monodll_srchctlg.obj &
-       $(OBJS)\monodll_textdlgg.obj &
-       $(OBJS)\monodll_tipwin.obj &
-       $(OBJS)\monodll_toolbkg.obj &
-@@ -893,6 +897,7 @@
-       $(OBJS)\monolib_rgncmn.obj &
-       $(OBJS)\monolib_settcmn.obj &
-       $(OBJS)\monolib_sizer.obj &
-+      $(OBJS)\monolib_srchcmn.obj &
-       $(OBJS)\monolib_statbar.obj &
-       $(OBJS)\monolib_stockitem.obj &
-       $(OBJS)\monolib_tbarbase.obj &
-@@ -928,6 +933,7 @@
-       $(OBJS)\monolib_selstore.obj &
-       $(OBJS)\monolib_spinctlg.obj &
-       $(OBJS)\monolib_splitter.obj &
-+      $(OBJS)\monolib_srchctlg.obj &
-       $(OBJS)\monolib_textdlgg.obj &
-       $(OBJS)\monolib_tipwin.obj &
-       $(OBJS)\monolib_toolbkg.obj &
-@@ -1068,6 +1074,7 @@
-       $(OBJS)\monolib_rgncmn.obj &
-       $(OBJS)\monolib_settcmn.obj &
-       $(OBJS)\monolib_sizer.obj &
-+      $(OBJS)\monolib_srchcmn.obj &
-       $(OBJS)\monolib_statbar.obj &
-       $(OBJS)\monolib_stockitem.obj &
-       $(OBJS)\monolib_tbarbase.obj &
-@@ -1103,6 +1110,7 @@
-       $(OBJS)\monolib_selstore.obj &
-       $(OBJS)\monolib_spinctlg.obj &
-       $(OBJS)\monolib_splitter.obj &
-+      $(OBJS)\monolib_srchctlg.obj &
-       $(OBJS)\monolib_textdlgg.obj &
-       $(OBJS)\monolib_tipwin.obj &
-       $(OBJS)\monolib_toolbkg.obj &
-@@ -1360,6 +1368,7 @@
-       $(OBJS)\coredll_rgncmn.obj &
-       $(OBJS)\coredll_settcmn.obj &
-       $(OBJS)\coredll_sizer.obj &
-+      $(OBJS)\coredll_srchcmn.obj &
-       $(OBJS)\coredll_statbar.obj &
-       $(OBJS)\coredll_stockitem.obj &
-       $(OBJS)\coredll_tbarbase.obj &
-@@ -1395,6 +1404,7 @@
-       $(OBJS)\coredll_selstore.obj &
-       $(OBJS)\coredll_spinctlg.obj &
-       $(OBJS)\coredll_splitter.obj &
-+      $(OBJS)\coredll_srchctlg.obj &
-       $(OBJS)\coredll_textdlgg.obj &
-       $(OBJS)\coredll_tipwin.obj &
-       $(OBJS)\coredll_toolbkg.obj &
-@@ -1535,6 +1545,7 @@
-       $(OBJS)\coredll_rgncmn.obj &
-       $(OBJS)\coredll_settcmn.obj &
-       $(OBJS)\coredll_sizer.obj &
-+      $(OBJS)\coredll_srchcmn.obj &
-       $(OBJS)\coredll_statbar.obj &
-       $(OBJS)\coredll_stockitem.obj &
-       $(OBJS)\coredll_tbarbase.obj &
-@@ -1570,6 +1581,7 @@
-       $(OBJS)\coredll_selstore.obj &
-       $(OBJS)\coredll_spinctlg.obj &
-       $(OBJS)\coredll_splitter.obj &
-+      $(OBJS)\coredll_srchctlg.obj &
-       $(OBJS)\coredll_textdlgg.obj &
-       $(OBJS)\coredll_tipwin.obj &
-       $(OBJS)\coredll_toolbkg.obj &
-@@ -1748,6 +1760,7 @@
-       $(OBJS)\corelib_rgncmn.obj &
-       $(OBJS)\corelib_settcmn.obj &
-       $(OBJS)\corelib_sizer.obj &
-+      $(OBJS)\corelib_srchcmn.obj &
-       $(OBJS)\corelib_statbar.obj &
-       $(OBJS)\corelib_stockitem.obj &
-       $(OBJS)\corelib_tbarbase.obj &
-@@ -1783,6 +1796,7 @@
-       $(OBJS)\corelib_selstore.obj &
-       $(OBJS)\corelib_spinctlg.obj &
-       $(OBJS)\corelib_splitter.obj &
-+      $(OBJS)\corelib_srchctlg.obj &
-       $(OBJS)\corelib_textdlgg.obj &
-       $(OBJS)\corelib_tipwin.obj &
-       $(OBJS)\corelib_toolbkg.obj &
-@@ -1923,6 +1937,7 @@
-       $(OBJS)\corelib_rgncmn.obj &
-       $(OBJS)\corelib_settcmn.obj &
-       $(OBJS)\corelib_sizer.obj &
-+      $(OBJS)\corelib_srchcmn.obj &
-       $(OBJS)\corelib_statbar.obj &
-       $(OBJS)\corelib_stockitem.obj &
-       $(OBJS)\corelib_tbarbase.obj &
-@@ -1958,6 +1973,7 @@
-       $(OBJS)\corelib_selstore.obj &
-       $(OBJS)\corelib_spinctlg.obj &
-       $(OBJS)\corelib_splitter.obj &
-+      $(OBJS)\corelib_srchctlg.obj &
-       $(OBJS)\corelib_textdlgg.obj &
-       $(OBJS)\corelib_tipwin.obj &
-       $(OBJS)\corelib_toolbkg.obj &
-@@ -5987,6 +6003,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monodll_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monodll_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
- !endif
-@@ -6162,6 +6183,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monodll_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monodll_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
- !endif
-@@ -7845,6 +7871,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monolib_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monolib_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
- !endif
-@@ -8020,6 +8051,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\monolib_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\monolib_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
- !endif
-@@ -9685,6 +9721,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\coredll_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\coredll_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
- !endif
-@@ -9860,6 +9901,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\coredll_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\coredll_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
- !endif
-@@ -10887,6 +10933,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\corelib_srchcmn.obj :  .AUTODEPEND ..\..\src\common\srchcmn.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\corelib_statbar.obj :  .AUTODEPEND ..\..\src\common\statbar.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
- !endif
-@@ -11062,6 +11113,11 @@
- !endif
- !ifeq USE_GUI 1
-+$(OBJS)\corelib_srchctlg.obj :  .AUTODEPEND ..\..\src\generic\srchctlg.cpp
-+      $(CXX) -bt=os2 -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-+!endif
-+
-+!ifeq USE_GUI 1
- $(OBJS)\corelib_textdlgg.obj :  .AUTODEPEND ..\..\src\generic\textdlgg.cpp
-       $(CXX) -bt=os2 -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
- !endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/build/wince/wx_mono.vcp wxWidgets-2006-12-17/build/wince/wx_mono.vcp
---- wxWidgets-2.8.0/build/wince/wx_mono.vcp    2006-12-11 22:50:43.000000000 +0100
-+++ wxWidgets-2006-12-17/build/wince/wx_mono.vcp       2006-12-17 05:57:57.000000000 +0100
-@@ -2242,6 +2242,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=..\..\src\common\srchcmn.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\..\src\common\sstream.cpp
- # End Source File
- # Begin Source File
-@@ -3283,6 +3287,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=..\..\src\generic\srchctlg.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\..\src\generic\statusbr.cpp
- # End Source File
- # Begin Source File
-@@ -5077,6 +5085,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=..\..\include\wx\generic\srchctlg.h
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\..\include\wx\generic\textdlgg.h
- # End Source File
- # Begin Source File
-@@ -6173,6 +6185,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=..\..\include\wx\srchctrl.h
-+# End Source File
-+# Begin Source File
-+
- SOURCE=..\..\include\wx\sstream.h
- # End Source File
- # Begin Source File
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/configure.in wxWidgets-2006-12-17/configure.in
---- wxWidgets-2.8.0/configure.in       2006-12-11 22:49:40.000000000 +0100
-+++ wxWidgets-2006-12-17/configure.in  2006-12-17 05:57:31.000000000 +0100
-@@ -1,5 +1,5 @@
- dnl Process this file with autoconf to produce a configure script.
--AC_REVISION($Id$)dnl
-+AC_REVISION($Id$)dnl
- AC_PREREQ(2.58)
-@@ -10,7 +10,7 @@
- dnl
- dnl This script is under the wxWidgets licence.
- dnl
--dnl Version: $Id$
-+dnl Version: $Id$
- dnl ---------------------------------------------------------------------------
- dnl ---------------------------------------------------------------------------
-@@ -35,7 +35,7 @@
- wx_major_version_number=2
- wx_minor_version_number=8
- wx_release_number=0
--wx_subrelease_number=0
-+wx_subrelease_number=1
- WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
- WX_VERSION=$WX_RELEASE.$wx_release_number
-@@ -552,6 +552,7 @@
-   DEFAULT_wxUSE_RADIOBTN=no
-   DEFAULT_wxUSE_SASH=no
-   DEFAULT_wxUSE_SCROLLBAR=no
-+  DEFAULT_wxUSE_SEARCHCTRL=no
-   DEFAULT_wxUSE_SLIDER=no
-   DEFAULT_wxUSE_SPINBTN=no
-   DEFAULT_wxUSE_SPINCTRL=no
-@@ -775,6 +776,7 @@
-   DEFAULT_wxUSE_RADIOBTN=yes
-   DEFAULT_wxUSE_SASH=yes
-   DEFAULT_wxUSE_SCROLLBAR=yes
-+  DEFAULT_wxUSE_SEARCHCTRL=yes
-   DEFAULT_wxUSE_SLIDER=yes
-   DEFAULT_wxUSE_SPINBTN=yes
-   DEFAULT_wxUSE_SPINCTRL=yes
-@@ -1107,6 +1109,7 @@
-   DEFAULT_wxUSE_RADIOBTN=yes
-   DEFAULT_wxUSE_SASH=yes
-   DEFAULT_wxUSE_SCROLLBAR=yes
-+  DEFAULT_wxUSE_SEARCHCTRL=yes
-   DEFAULT_wxUSE_SLIDER=yes
-   DEFAULT_wxUSE_SPINBTN=yes
-   DEFAULT_wxUSE_SPINCTRL=yes
-@@ -1159,6 +1162,7 @@
-   DEFAULT_wxUSE_RADIOBTN=no
-   DEFAULT_wxUSE_SASH=no
-   DEFAULT_wxUSE_SCROLLBAR=no
-+  DEFAULT_wxUSE_SEARCHCTRL=no
-   DEFAULT_wxUSE_SLIDER=no
-   DEFAULT_wxUSE_SPINBTN=no
-   DEFAULT_wxUSE_SPINCTRL=no
-@@ -1214,6 +1218,7 @@
- WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
- WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
- WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
-+WX_ARG_ENABLE(searchctrl,  [  --enable-searchctrl     use wxSearchCtrl class], wxUSE_SEARCHCTRL)
- WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
- WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
- WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
-@@ -4552,7 +4557,7 @@
-                         int main (void)
-                         {
-                             char buffer[128];
--                            snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3);
-+                            snprintf (buffer, 128, "%2$d %3$d %1$d", 1, 2, 3);
-                             if (strcmp ("2 3 1", buffer) == 0)
-                                 exit (0);
-                             exit (1);
-@@ -6882,6 +6887,11 @@
-     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
- fi
-+if test "$wxUSE_SEARCHCTRL" = "yes"; then
-+    AC_DEFINE(wxUSE_SEARCHCTRL)
-+    USES_CONTROLS=1
-+fi
-+
- if test "$wxUSE_SLIDER" = "yes"; then
-     AC_DEFINE(wxUSE_SLIDER)
-     USES_CONTROLS=1
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/demos/dbbrowse/makefile.gtk wxWidgets-2006-12-17/demos/dbbrowse/makefile.gtk
---- wxWidgets-2.8.0/demos/dbbrowse/makefile.gtk        1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/demos/dbbrowse/makefile.gtk   2006-12-17 05:57:43.000000000 +0100
-@@ -0,0 +1,15 @@
-+
-+# Top dir of wxWindows
-+top_builddir = /gtm/bart/wxGTK
-+
-+PROGRAM=dbbrowser_gtk
-+
-+
-+OBJECTS= dbbrowse.o doc.o pgmctrl.o tabpgwin.o\
-+         browsedb.o dbtree.o dbgrid.o  dlguser.o
-+      
-+
-+
-+
-+include $(top_builddir)/src/makeprog.env
-+
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/demos/forty/scorefil.cpp wxWidgets-2006-12-17/demos/forty/scorefil.cpp
---- wxWidgets-2.8.0/demos/forty/scorefil.cpp   2006-12-11 22:50:10.000000000 +0100
-+++ wxWidgets-2006-12-17/demos/forty/scorefil.cpp      2006-12-17 05:57:42.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Chris Breeze
- // Modified by:
- // Created:     21/07/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 1993-1998 Chris Breeze
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -33,34 +33,6 @@
- ScoreFile::ScoreFile(const wxString& appName)
- {
--#if 0
--    wxString filename;
--    m_configFilename << "/usr/local/share/" << appName << ".scores";
--    if (access(m_configFilename, F_OK) == 0)
--    {
--        if (access(m_configFilename, R_OK | W_OK) != 0)
--        {
--            // file is not r/w - use local file instead
--            m_configFilename = wxFileConfig::GetLocalFileName(appName);
--        }
--    }
--    else
--    {
--        int fd = creat(m_configFilename, 0666);
--
--        if (fd < 0)
--        {
--            // failed to create file - use local file instead
--            m_configFilename = wxFileConfig::GetLocalFileName(appName);
--        }
--        else
--        {
--            // ensure created file has rw-rw-rw permissions
--            close(fd);
--        }
--    }
--#endif
--
-     m_config = new wxConfig(appName, _T("wxWidgets"), appName, wxEmptyString,
-                                 wxCONFIG_USE_LOCAL_FILE);  // only local
- }
-@@ -68,11 +40,6 @@
- ScoreFile::~ScoreFile()
- {
-     delete m_config;
--#ifdef __WXGTK__
--    // ensure score file has rw-rw-rw permissions
--    // (wxFileConfig sets them to rw-------)
--    chmod(m_configFilename, 0666);
--#endif
- }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/distrib/mac/pbsetup-sh wxWidgets-2006-12-17/distrib/mac/pbsetup-sh
---- wxWidgets-2.8.0/distrib/mac/pbsetup-sh     1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/distrib/mac/pbsetup-sh        2006-12-17 05:58:12.000000000 +0100
-@@ -0,0 +1,58 @@
-+#! /bin/sh
-+#-----------------------------------------------------------------------------
-+#-- Name:        distrib/mac/pbsetup-sh
-+#-- Purpose:     Copy setup.h for ProjectBuilder
-+#-- Author:      Gilles Depeyrot
-+#-- Modified by:
-+#-- Created:     12.09.2003
-+#-- RCS-ID:      $Id$
-+#-- Copyright:   (c) 2003 Gilles Depeyrot
-+#-- Licence:     wxWindows licence
-+#-----------------------------------------------------------------------------
-+#
-+# Usage: $0 SRCROOT SYMROOT
-+#
-+# Display errors/warnings in the correct format for ProjectBuilder parsing
-+#
-+if [ $# -ne 2 ] ; then
-+    echo "${0}:${LINENO}: error: Usage: ${0} SRCROOT SYMROOT"
-+    exit 1
-+fi
-+#
-+# Create wx include directory if necessary
-+#
-+if [ ! -d "${2}/include/wx" ]; then
-+    mkdir -p "${2}/include/wx"
-+    if [ ! -d "${2}/include/wx" ] ; then
-+        echo "${0}:${LINENO}: error: unable to create directory \"${2}/include/wx\""
-+        exit 1
-+    fi
-+fi
-+#
-+# Copy stock setup0.h to setup.h if it doesn't exist
-+#   preserve user modifications made to setup.h
-+#
-+if [ ! -f "${1}/../include/wx/mac/setup.h" ]; then
-+    echo "${0}:${LINENO}: warning: copying \"include/wx/mac/setup0.h\" to \"include/wx/mac/setup.h\""
-+    echo "${0}:${LINENO}: warning: edit \"include/wx/mac/setup.h\" to choose the features you would like to compile wxWindows with[out]"
-+    cp "${1}/../include/wx/mac/setup0.h" "${1}/../include/wx/mac/setup.h"
-+    if [ ! -f "${1}/../include/wx/mac/setup.h" ]; then
-+        echo "${0}:${LINENO}: error: unable to create setup file \"${1}/../include/wx/mac/setup.h\""
-+        exit 1
-+    fi
-+fi
-+#
-+# Check that stock setup0.h is not newer than user setup.h
-+#
-+if [ "${1}/../include/wx/mac/setup0.h" -nt "${1}/../include/wx/mac/setup.h" ] ; then
-+    echo "${0}:${LINENO}: warning: \"include/wx/mac/setup0.h\" is more recent than \"include/wx/mac/setup.h\""
-+    echo "${0}:${LINENO}: warning: edit or replace \"include/wx/mac/setup.h\" to integrate changes"
-+fi
-+#
-+# Copy setup.h to setup.h if setup.h doesn't exist
-+#
-+cp "${1}/../include/wx/mac/setup.h" "${2}/include/wx/setup.h"
-+if [ ! -f "${2}/include/wx/setup.h" ] ; then
-+    echo "${0}:${LINENO}: error: unable to create target setup file \"${2}/include/wx/setup.h\""
-+    exit 1
-+fi
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/changes.txt wxWidgets-2006-12-17/docs/changes.txt
---- wxWidgets-2.8.0/docs/changes.txt   2006-12-11 22:49:46.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/changes.txt      2006-12-17 05:57:32.000000000 +0100
-@@ -68,7 +68,7 @@
-   wxFS_SEEKABLE flags is deprecated. You can still seek, but use the flag.
- - Constructor wxZipInputStream(const wxString& archive, const wxString& file)
-   deprecated in favour of wxFileSystem (other zip ctors are not deprecated).
-- 
-+
- Major new features in 2.8 release
-@@ -84,7 +84,28 @@
- - Further functionality including wxAnimationCtrl (moved from contrib/src/anim
-   and enhanced), wxSimpleHtmlListBox, wxHyperlinkCtrl, wxColourPickerCtrl,
-   wxDirPickerCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxCollapsiblePane,
--  wxAboutBox, wxTreebook, tar streams.
-+  wxSearchCtrl, wxAboutBox, wxTreebook, tar streams.
-+
-+
-+2.8.1
-+-----
-+
-+All:
-+
-+- Fix compilation with wxUSE_STL=1
-+- wxGrid::GetBestSize() returns same size the grid would have after AutoSize()
-+
-+wxMSW:
-+
-+- Fixed compilation with Borland C++ in Unicode mode but without MSLU
-+
-+wxGTK:
-+
-+- Don't crash if command line is not valid UTF-8 (Unicode build only)
-+
-+wxUniv:
-+
-+- It is now possible to set background colour of wxStaticText
- 2.8.0
-@@ -92,6 +113,7 @@
- All:
-+- Added wxSearchCtrl (Vince Harron)
- - wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32
- - wxArrayString::Alloc() now works as reserve() and doesn't clear array contents
- - Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto).
-@@ -125,7 +147,7 @@
- - Added wxFilterFSHandler and wxArchiveFSHandler.
- - Added wxString::ToLongLong() and ToULongLong().
--All (GUI): 
-+All (GUI):
- - wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
-   calling SelectObject itself if a valid bitmap is passed.
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/latex/wx/classes.tex wxWidgets-2006-12-17/docs/latex/wx/classes.tex
---- wxWidgets-2.8.0/docs/latex/wx/classes.tex  2006-12-11 22:51:20.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/latex/wx/classes.tex     2006-12-17 05:58:18.000000000 +0100
-@@ -348,6 +348,7 @@
- \input setcursorevt.tex
- \input ipcservr.tex
- \input hprovsmp.tex
-+\input srchctrl.tex
- \input sngchdlg.tex
- \input snglinst.tex
- \input size.tex
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/latex/wx/filename.tex wxWidgets-2006-12-17/docs/latex/wx/filename.tex
---- wxWidgets-2.8.0/docs/latex/wx/filename.tex 2006-12-11 22:51:21.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/latex/wx/filename.tex    2006-12-17 05:58:18.000000000 +0100
-@@ -4,7 +4,7 @@
- %% Author:      Vadim Zeitlin
- %% Modified by:
- %% Created:     30.11.01
--%% RCS-ID:      $Id$
-+%% RCS-ID:      $Id$
- %% Copyright:   (c) 2001 Vadim Zeitlin
- %% License:     wxWindows license
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@@ -142,6 +142,8 @@
- \helpref{AssignDir}{wxfilenameassigndir}\\
- \helpref{AssignHomeDir}{wxfilenameassignhomedir}\\
- \helpref{AssignHomeTempFileName}{wxfilenameassigntempfilename}\\
-+\helpref{DirName}{wxfilenameassigndirname}\\
-+\helpref{FileName}{wxfilenameassignfilename}\\
- \helpref{operator $=$}{wxfilenameoperatorassign}
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/latex/wx/function.tex wxWidgets-2006-12-17/docs/latex/wx/function.tex
---- wxWidgets-2.8.0/docs/latex/wx/function.tex 2006-12-11 22:51:21.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/latex/wx/function.tex    2006-12-17 05:58:18.000000000 +0100
-@@ -4,7 +4,7 @@
- %% Author:      wxWidgets Team
- %% Modified by:
- %% Created:
--%% RCS-ID:      $Id$
-+%% RCS-ID:      $Id$
- %% Copyright:   (c) wxWidgets Team
- %% License:     wxWindows license
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-@@ -1273,6 +1273,11 @@
- The {\it flags} parameter is reserved for future use.
-+Please notice that there is also a wxRmDir() function which simply wraps the
-+standard POSIX rmdir() function and so return an integer error code instead of
-+a boolean value (but otherwise is currently identical to wxRmdir), don't
-+confuse these two functions.
-+
- \membersection{::wxSetWorkingDirectory}\label{wxsetworkingdirectory}
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/latex/wx/srchctrl.tex wxWidgets-2006-12-17/docs/latex/wx/srchctrl.tex
---- wxWidgets-2.8.0/docs/latex/wx/srchctrl.tex 1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/latex/wx/srchctrl.tex    2006-12-17 05:58:23.000000000 +0100
-@@ -0,0 +1,157 @@
-+%%%%%%%%%%%%%%%%%%%%%%%%%%%% wxSearchCtrl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-+
-+\section{\class{wxSearchCtrl}}\label{wxsearchctrl}
-+
-+A search control is a composite control with a search button, a text 
-+control, and a cancel button.
-+
-+\wxheading{Derived from}
-+
-+\helpref{wxTextCtrl}{wxtextctrl}\\
-+streambuf\\
-+\helpref{wxControl}{wxcontrol}\\
-+\helpref{wxWindow}{wxwindow}\\
-+\helpref{wxEvtHandler}{wxevthandler}\\
-+\helpref{wxObject}{wxobject}
-+
-+\wxheading{Include files}
-+
-+<wx/srchctrl.h>
-+
-+\wxheading{Window styles}
-+
-+\twocolwidtha{5cm}
-+\begin{twocollist}\itemsep=0pt
-+\twocolitem{\windowstyle{wxTE\_PROCESS\_ENTER}}{The control will generate
-+the event wxEVT\_COMMAND\_TEXT\_ENTER (otherwise pressing Enter key
-+is either processed internally by the control or used for navigation between
-+dialog controls).}
-+\twocolitem{\windowstyle{wxTE\_PROCESS\_TAB}}{The control will receive
-+wxEVT\_CHAR events for TAB pressed - normally, TAB is used for passing to the
-+next control in a dialog instead. For the control created with this style,
-+you can still use Ctrl-Enter to pass to the next control from the keyboard.}
-+\twocolitem{\windowstyle{wxTE\_NOHIDESEL}}{By default, the Windows text control
-+doesn't show the selection when it doesn't have focus - use this style to force
-+it to always show it. It doesn't do anything under other platforms.}
-+\twocolitem{\windowstyle{wxTE\_LEFT}}{The text in the control will be left-justified (default).}
-+\twocolitem{\windowstyle{wxTE\_CENTRE}}{The text in the control will be centered (currently wxMSW and wxGTK2 only).}
-+\twocolitem{\windowstyle{wxTE\_RIGHT}}{The text in the control will be right-justified (currently wxMSW and wxGTK2 only).}
-+\twocolitem{\windowstyle{wxTE\_CAPITALIZE}}{On PocketPC and Smartphone, causes the first letter to be capitalized.}
-+\end{twocollist}
-+
-+See also \helpref{window styles overview}{windowstyles} and \helpref{wxSearchCtrl::wxSearchCtrl}{wxsearchctrlctor}.
-+
-+\wxheading{Event handling}
-+
-+To process input from a search control, use these event handler macros to direct input to member
-+functions that take a \helpref{wxCommandEvent}{wxcommandevent} argument. To retrieve actual search
-+queries, use EVT\_TEXT and EVT\_TEXT\_ENTER events, just as you would with \helpref{wxTextCtrl}{wxtextctrl}.
-+
-+\twocolwidtha{9cm}%
-+\begin{twocollist}\itemsep=0pt
-+\twocolitem{{\bf EVT\_SEARCHCTRL\_SEARCH\_BTN(id, func)}}{Respond to a wxEVT\_SEARCHCTRL\_SEARCH\_BTN event,
-+generated when the search button is clicked. Note that this does not initiate a search.}
-+\twocolitem{{\bf EVT\_SEARCHCTRL\_CANCEL\_BTN(id, func)}}{Respond to a wxEVT\_SEARCHCTRL\_CANCEL\_BTN event,
-+generated when the cancel button is clicked.}
-+\end{twocollist}%
-+
-+
-+\latexignore{\rtfignore{\wxheading{Members}}}
-+
-+
-+\membersection{wxSearchCtrl::wxSearchCtrl}\label{wxsearchctrlctor}
-+
-+\func{}{wxSearchCtrl}{\void}
-+
-+Default constructor.
-+
-+\func{}{wxSearchCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
-+\param{const wxString\& }{value = ``"}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
-+\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = wxSearchCtrlNameStr}}
-+
-+Constructor, creating and showing a text control.
-+
-+\wxheading{Parameters}
-+
-+\docparam{parent}{Parent window. Should not be NULL.}
-+
-+\docparam{id}{Control identifier. A value of -1 denotes a default value.}
-+
-+\docparam{value}{Default text value.}
-+
-+\docparam{pos}{Text control position.}
-+
-+\docparam{size}{Text control size.}
-+
-+\docparam{style}{Window style. See \helpref{wxSearchCtrl}{wxsearchctrl}.}
-+
-+\docparam{validator}{Window validator.}
-+
-+\docparam{name}{Window name.}
-+
-+\wxheading{See also}
-+
-+\helpref{wxTextCtrl::Create}{wxtextctrlcreate}, \helpref{wxValidator}{wxvalidator}
-+
-+
-+\membersection{wxSearchCtrl::\destruct{wxSearchCtrl}}\label{wxsearchctrldtor}
-+
-+\func{}{\destruct{wxSearchCtrl}}{\void}
-+
-+Destructor, destroying the search control.
-+
-+
-+\membersection{wxSearchCtrl::SetMenu}\label{wxsearchctrlsetmenu}
-+
-+\func{virtual void}{SetMenu}{\param{wxMenu* }{ menu}}
-+
-+Sets the search control's menu object.  If there is already a menu associated with
-+the search control it is deleted.
-+
-+
-+\wxheading{Parameters}
-+
-+\docparam{menu}{Menu to attach to the search control.}
-+
-+\membersection{wxSearchCtrl::GetMenu}\label{wxsearchctrlgetmenu}
-+
-+\func{virtual wxMenu*}{GetMenu}{\void}
-+
-+Returns a pointer to the search control's menu object or NULL if there is no 
-+menu attached.
-+
-+
-+\membersection{wxSearchCtrl::ShowSearchButton}\label{wxsearchctrlshowsearchbutton}
-+
-+\func{virtual void}{ShowSearchButton}{\param{bool }{ show}}
-+
-+Sets the search button visibility value on the search control.  
-+If there is a menu attached, the search button will be visible regardless of the search
-+button visibility value. 
-+
-+This has no effect in Mac OS X v10.3
-+
-+
-+\membersection{wxSearchCtrl::IsSearchButtonVisible}\label{wxsearchctrlissearchbuttonvisible}
-+
-+\func{virtual bool}{IsSearchButtonVisible}{\void}
-+
-+Returns the search button visibility value.  
-+If there is a menu attached, the search button will be visible regardless of the search
-+button visibility value. 
-+
-+This always returns false in Mac OS X v10.3
-+
-+
-+\membersection{wxSearchCtrl::ShowCancelButton}\label{wxsearchctrlshowcancelbutton}
-+
-+\func{virtual void}{ShowCancelButton}{\param{bool }{ show}}
-+
-+Shows or hides the cancel button.
-+
-+
-+\membersection{wxSearchCtrl::IsCancelButtonVisible}\label{wxsearchctrliscancelbuttonvisible}
-+
-+\func{virtual bool}{IsCancelButtonVisible}{\void}
-+
-+Indicates whether the cancel button is visible.
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/latex/wx/sysopt.tex wxWidgets-2006-12-17/docs/latex/wx/sysopt.tex
---- wxWidgets-2.8.0/docs/latex/wx/sysopt.tex   2006-12-11 22:51:23.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/latex/wx/sysopt.tex      2006-12-17 05:58:23.000000000 +0100
-@@ -42,7 +42,7 @@
- a window. You can also use the symbol wxMAC\_WINDOW\_PLAIN\_TRANSITION.}
- \twocolitem{window-default-variant}{The default variant used by windows (cast to integer from the wxWindowVariant enum).
- Also known as wxWINDOW\_DEFAULT\_VARIANT.}
--\twocolitem{mac.listctrl.always_use_generic}{Tells wxListCtrl to use the generic 
-+\twocolitem{mac.listctrl.always\_use\_generic}{Tells wxListCtrl to use the generic 
- control even when it is capable of using the native control instead. 
- Also knwon as wxMAC\_ALWAYS\_USE\_GENERIC\_LISTCTRL.}
- \end{twocollist}
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/docs/msw/install.txt wxWidgets-2006-12-17/docs/msw/install.txt
---- wxWidgets-2.8.0/docs/msw/install.txt       2006-12-11 22:50:34.000000000 +0100
-+++ wxWidgets-2006-12-17/docs/msw/install.txt  2006-12-17 05:57:51.000000000 +0100
-@@ -79,21 +79,21 @@
- "Configuring the build" below). This is a typical set of release ANSI build
- libraries (release versions on left, debug on right side):
--  wxbase25.lib              wxbase25d.lib
--  wxbase25_net.lib          wxbase25d_net.lib
--  wxbase25_xml.lib          wxbase25d_xml.lib
--  wxmsw25_core.lib          wxmsw25d_core.lib
--  wxmsw25_html.lib          wxmsw25d_html.lib
--  wxmsw25_adv.lib           wxmsw25d_adv.lib
-+  wxbase28.lib              wxbase28d.lib
-+  wxbase28_net.lib          wxbase28d_net.lib
-+  wxbase28_xml.lib          wxbase28d_xml.lib
-+  wxmsw28_core.lib          wxmsw28d_core.lib
-+  wxmsw28_html.lib          wxmsw28d_html.lib
-+  wxmsw28_adv.lib           wxmsw28d_adv.lib
- Their Unicode debug counterparts in wxUniversal build would be
--  wxbase25ud.lib
--  wxbase25ud_net.lib
--  wxbase25ud_xml.lib        (notice these libs are same for wxUniv and wxMSW)
--  wxmswuniv25ud_core.lib
--  wxmswuniv25ud_html.lib
--  wxmswuniv25ud_adv.lib
-+  wxbase28ud.lib
-+  wxbase28ud_net.lib
-+  wxbase28ud_xml.lib        (notice these libs are same for wxUniv and wxMSW)
-+  wxmswuniv28ud_core.lib
-+  wxmswuniv28ud_html.lib
-+  wxmswuniv28ud_adv.lib
- These directories also contain subdirectory with wx/setup.h header. This
- subdirectory is named after port, Unicode, wxUniv and debug settings and 
-@@ -714,7 +714,7 @@
-   you should set wxUSE_GUI to 1 in setup.h.
- USE_OPENGL=1
--  Build wxmsw25_gl.lib library with OpenGL integration class wxGLCanvas.
-+  Build wxmsw28_gl.lib library with OpenGL integration class wxGLCanvas.
-   You must also modify your setup.h to #define wxUSE_GLCANVAS 1. Note that
-   OpenGL library is always built as additional library, even in monolithic
-   build!
-@@ -766,9 +766,9 @@
-   distribute wxWidgets DLLs with your application. Default value is 'custom'.
-   This string is included as part of DLL name. wxWidgets DLLs contain compiler
-   name, version information and vendor name in them. For example
--  wxmsw250_core_bcc_custom.dll is one of DLLs build using Borland C++ with
-+  wxmsw280_core_bcc_custom.dll is one of DLLs build using Borland C++ with
-   default settings. If you set VENDOR=mycorp, the name will change to
--  wxmsw250_core_bcc_mycorp.dll.
-+  wxmsw280_core_bcc_mycorp.dll.
- CFG=<configuration name>
-   Sets configuration name so that you can have multiple wxWidgets builds with
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/filefn.h wxWidgets-2006-12-17/include/wx/filefn.h
---- wxWidgets-2.8.0/include/wx/filefn.h        2006-12-11 22:49:38.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/filefn.h   2006-12-17 05:57:30.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     29/01/98
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 1998 Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -295,8 +295,8 @@
-                     #define   wxOpen       _wopen
-                 #endif
-                 #define   wxAccess     _waccess
--                #define   wxMkDir      _mkdir
--                #define   wxRmDir      _rmdir
-+                #define   wxMkDir      _wmkdir
-+                #define   wxRmDir      _wrmdir
-                 #ifdef wxHAS_HUGE_FILES
-                     #define   wxStat       _wstati64
-                 #else
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/gdicmn.h wxWidgets-2006-12-17/include/wx/gdicmn.h
---- wxWidgets-2.8.0/include/wx/gdicmn.h        2006-12-11 22:49:38.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/gdicmn.h   2006-12-17 05:57:30.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01/02/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -157,6 +157,9 @@
- #elif defined(__WXMGL__)
-     // Initialize from an included XPM
-     #define wxICON(X) wxIcon( (const char**) X##_xpm )
-+#elif defined(__WXDFB__)
-+    // Initialize from an included XPM
-+    #define wxICON(X) wxIcon( (const char**) X##_xpm )
- #elif defined(__WXGTK__)
-     // Initialize from an included XPM
-     #define wxICON(X) wxIcon( (const char**) X##_xpm )
-@@ -185,6 +188,7 @@
-       defined(__WXX11__)   || \
-       defined(__WXMAC__)   || \
-       defined(__WXMGL__)   || \
-+      defined(__WXDFB__)   || \
-       defined(__WXCOCOA__)
-     // Initialize from an included XPM
-     #define wxBITMAP(name) wxBitmap( (const char**) name##_xpm )
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/generic/srchctlg.h wxWidgets-2006-12-17/include/wx/generic/srchctlg.h
---- wxWidgets-2.8.0/include/wx/generic/srchctlg.h      2006-12-11 22:49:51.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/generic/srchctlg.h 2006-12-17 05:57:35.000000000 +0100
-@@ -2,9 +2,8 @@
- // Name:        wx/generic/srchctlg.h
- // Purpose:     generic wxSearchCtrl class
- // Author:      Vince Harron
--// Modified by:
- // Created:     2006-02-19
--// RCS-ID:      
-+// RCS-ID:      $Id$
- // Copyright:   Vince Harron
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -14,37 +13,11 @@
- #if wxUSE_SEARCHCTRL
--#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
--    #pragma interface "srchctlg.h"
--#endif
--
- #include "wx/bitmap.h"
--// ----------------------------------------------------------------------------
--
- class WXDLLEXPORT wxSearchButton;
- class WXDLLEXPORT wxSearchTextCtrl;
--class WXDLLEXPORT wxSearchCtrlBase : public wxTextCtrlBase
--{
--public:
--    wxSearchCtrlBase() {}
--    virtual ~wxSearchCtrlBase() {}
--
--    // search control 
--    virtual void SetMenu( wxMenu* menu ) = 0;
--    virtual wxMenu* GetMenu() = 0;
--
--
--    // get/set options
--    virtual void SetSearchButtonVisible( bool show ) = 0;
--    virtual bool GetSearchButtonVisible() const = 0;
--
--    virtual void SetCancelButtonVisible( bool show ) = 0;
--    virtual bool GetCancelButtonVisible() const = 0;
--protected:
--};
--
- // ----------------------------------------------------------------------------
- // wxSearchCtrl is a combination of wxTextCtrl and wxSearchButton
- // ----------------------------------------------------------------------------
-@@ -64,7 +37,7 @@
-                const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = wxSearchCtrlNameStr);
--    ~wxSearchCtrl();
-+    virtual ~wxSearchCtrl();
-     bool Create(wxWindow *parent, wxWindowID id,
-                 const wxString& value = wxEmptyString,
-@@ -78,14 +51,14 @@
-     // --------------------------
-     virtual void SetMenu( wxMenu* menu );
-     virtual wxMenu* GetMenu();
--    
-+
-     // get/set search options
-     // ----------------------
--    virtual void SetSearchButtonVisible( bool show );
--    virtual bool GetSearchButtonVisible() const;
-+    virtual void ShowSearchButton( bool show );
-+    virtual bool IsSearchButtonVisible() const;
--    virtual void SetCancelButtonVisible( bool show );
--    virtual bool GetCancelButtonVisible() const;
-+    virtual void ShowCancelButton( bool show );
-+    virtual bool IsCancelButtonVisible() const;
-     // accessors
-     // ---------
-@@ -239,7 +212,8 @@
-     virtual void OnSearchButton( wxCommandEvent& event );
-     void OnSetFocus( wxFocusEvent& event );
--
-+    void OnSize( wxSizeEvent& event );
-+    
- private:
-     friend class wxSearchButton;
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/list.h wxWidgets-2006-12-17/include/wx/list.h
---- wxWidgets-2.8.0/include/wx/list.h  2006-12-11 22:49:38.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/list.h     2006-12-17 05:57:30.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by: VZ at 16/11/98: WX_DECLARE_LIST() and typesafe lists added
- // Created:     29/01/98
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 1998 Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -181,16 +181,18 @@
-         static BaseListType EmptyList;                                        \
-                                                                               \
-         bool m_destroy;                                                       \
-+                                                                              \
-     public:                                                                   \
-         decl compatibility_iterator                                           \
-         {                                                                     \
-         private:                                                              \
--          /* Workaround for broken VC6 nested class name resolution */        \
--          typedef std::list<elT>::iterator iterator;                          \
--          friend class liT;                                                   \
--        private:                                                              \
-+            /* Workaround for broken VC6 nested class name resolution */      \
-+            typedef std::list<elT>::iterator iterator;                        \
-+            friend class liT;                                                 \
-+                                                                              \
-             iterator m_iter;                                                  \
-             liT * m_list;                                                     \
-+                                                                              \
-         public:                                                               \
-             compatibility_iterator()                                          \
-                 : m_iter(EmptyList.end()), m_list( NULL ) {}                  \
-@@ -338,6 +340,9 @@
-         void Sort( wxSortCompareFunction compfunc )                           \
-             { sort( WX_LIST_SORTFUNCTION( elT, compfunc ) ); }                \
-         ~liT() { Clear(); }                                                   \
-+                                                                              \
-+        /* It needs access to our EmptyList */                                \
-+        friend decl compatibility_iterator;                                   \
-     }
- #define WX_DECLARE_LIST(elementtype, listname)                              \
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/mac/carbon/private/mactext.h wxWidgets-2006-12-17/include/wx/mac/carbon/private/mactext.h
---- wxWidgets-2.8.0/include/wx/mac/carbon/private/mactext.h    1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/mac/carbon/private/mactext.h       2006-12-17 05:58:15.000000000 +0100
-@@ -0,0 +1,115 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        mactext.h
-+// Purpose:     private wxMacTextControl base class
-+// Author:      Stefan Csomor
-+// Modified by:
-+// Created:     03/02/99
-+// RCS-ID:      $Id: 
-+// Copyright:   (c) Stefan Csomor
-+// Licence:     wxWindows licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+#ifndef _WX_MAC_PRIVATE_MACTEXT_H_
-+#define _WX_MAC_PRIVATE_MACTEXT_H_
-+
-+#include "wx/mac/private.h"
-+
-+// common interface for all implementations
-+class wxMacTextControl : public wxMacControl
-+{
-+public :
-+    wxMacTextControl( wxTextCtrl *peer ) ;
-+    virtual ~wxMacTextControl() ;
-+
-+    virtual wxString GetStringValue() const = 0 ;
-+    virtual void SetStringValue( const wxString &val ) = 0 ;
-+    virtual void SetSelection( long from, long to ) = 0 ;
-+    virtual void GetSelection( long* from, long* to ) const = 0 ;
-+    virtual void WriteText( const wxString& str ) = 0 ;
-+
-+    virtual void SetStyle( long start, long end, const wxTextAttr& style ) ;
-+    virtual void Copy() ;
-+    virtual void Cut() ;
-+    virtual void Paste() ;
-+    virtual bool CanPaste() const ;
-+    virtual void SetEditable( bool editable ) ;
-+    virtual wxTextPos GetLastPosition() const ;
-+    virtual void Replace( long from, long to, const wxString &str ) ;
-+    virtual void Remove( long from, long to ) ;
-+
-+
-+    virtual bool HasOwnContextMenu() const
-+    { return false ; }
-+
-+    virtual bool SetupCursor( const wxPoint& pt )
-+    { return false ; }
-+
-+    virtual void Clear() ;
-+    virtual bool CanUndo() const;
-+    virtual void Undo() ;
-+    virtual bool CanRedo() const;
-+    virtual void Redo() ;
-+    virtual int GetNumberOfLines() const ;
-+    virtual long XYToPosition(long x, long y) const;
-+    virtual bool PositionToXY(long pos, long *x, long *y) const ;
-+    virtual void ShowPosition(long WXUNUSED(pos)) ;
-+    virtual int GetLineLength(long lineNo) const ;
-+    virtual wxString GetLineText(long lineNo) const ;
-+    virtual void CheckSpelling(bool check) { }
-+
-+#ifndef __WXMAC_OSX__
-+    virtual void            MacControlUserPaneDrawProc(wxInt16 part) = 0 ;
-+    virtual wxInt16         MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y) = 0 ;
-+    virtual wxInt16         MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc) = 0 ;
-+    virtual void            MacControlUserPaneIdleProc() = 0 ;
-+    virtual wxInt16         MacControlUserPaneKeyDownProc(wxInt16 keyCode, wxInt16 charCode, wxInt16 modifiers) = 0 ;
-+    virtual void            MacControlUserPaneActivateProc(bool activating) = 0 ;
-+    virtual wxInt16         MacControlUserPaneFocusProc(wxInt16 action) = 0 ;
-+    virtual void            MacControlUserPaneBackgroundProc(void* info) = 0 ;
-+#endif
-+} ;
-+
-+#if TARGET_API_MAC_OSX
-+
-+class wxMacUnicodeTextControl : public wxMacTextControl
-+{
-+public :
-+    wxMacUnicodeTextControl( wxTextCtrl *wxPeer ) ;
-+    wxMacUnicodeTextControl( wxTextCtrl *wxPeer,
-+                             const wxString& str,
-+                             const wxPoint& pos,
-+                             const wxSize& size, long style ) ;
-+    virtual ~wxMacUnicodeTextControl();
-+
-+    virtual bool Create( wxTextCtrl *wxPeer,
-+                         const wxString& str,
-+                         const wxPoint& pos,
-+                         const wxSize& size, long style ) ;
-+    virtual void VisibilityChanged(bool shown);
-+    virtual wxString GetStringValue() const ;
-+    virtual void SetStringValue( const wxString &str) ;
-+    virtual void Copy();
-+    virtual void Cut();
-+    virtual void Paste();
-+    virtual bool CanPaste() const;
-+    virtual void SetEditable(bool editable) ;
-+    virtual void GetSelection( long* from, long* to) const ;
-+    virtual void SetSelection( long from , long to ) ;
-+    virtual void WriteText(const wxString& str) ;
-+
-+protected :
-+      virtual void CreateControl( wxTextCtrl* peer, const Rect* bounds, CFStringRef cfr );
-+
-+    // contains the tag for the content (is different for password and non-password controls)
-+    OSType m_valueTag ;
-+
-+    // as the selection tag only works correctly when the control has the focus we have to mirror the
-+    // intended value
-+    EventHandlerRef m_focusHandlerRef ;
-+public :
-+    ControlEditTextSelectionRec m_selection ;
-+};
-+
-+#endif // TARGET_API_MAC_OSX
-+
-+#endif // _WX_MAC_PRIVATE_MACTEXT_H_
-\ Brak znaku nowej linii na koÅ„cu pliku
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/mac/carbon/srchctrl.h wxWidgets-2006-12-17/include/wx/mac/carbon/srchctrl.h
---- wxWidgets-2.8.0/include/wx/mac/carbon/srchctrl.h   1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/mac/carbon/srchctrl.h      2006-12-17 05:58:15.000000000 +0100
-@@ -0,0 +1,86 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        wx/mac/carbon/srchctrl.h
-+// Purpose:     mac carbon wxSearchCtrl class
-+// Author:      Vince Harron
-+// Created:     2006-02-19
-+// RCS-ID:      $Id$
-+// Copyright:   Vince Harron
-+// Licence:     wxWindows licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+#ifndef _WX_SEARCHCTRL_H_
-+#define _WX_SEARCHCTRL_H_
-+
-+#if wxUSE_SEARCHCTRL
-+
-+class wxMacSearchFieldControl;
-+
-+class WXDLLEXPORT wxSearchCtrl : public wxSearchCtrlBase
-+{
-+public:
-+    // creation
-+    // --------
-+
-+    wxSearchCtrl();
-+    wxSearchCtrl(wxWindow *parent, wxWindowID id,
-+               const wxString& value = wxEmptyString,
-+               const wxPoint& pos = wxDefaultPosition,
-+               const wxSize& size = wxDefaultSize,
-+               long style = 0,
-+               const wxValidator& validator = wxDefaultValidator,
-+               const wxString& name = wxSearchCtrlNameStr);
-+
-+    virtual ~wxSearchCtrl();
-+
-+    bool Create(wxWindow *parent, wxWindowID id,
-+                const wxString& value = wxEmptyString,
-+                const wxPoint& pos = wxDefaultPosition,
-+                const wxSize& size = wxDefaultSize,
-+                long style = 0,
-+                const wxValidator& validator = wxDefaultValidator,
-+                const wxString& name = wxSearchCtrlNameStr);
-+
-+    // get/set search button menu
-+    // --------------------------
-+    virtual void SetMenu( wxMenu* menu );
-+    virtual wxMenu* GetMenu();
-+
-+    // get/set search options
-+    // ----------------------
-+    virtual void ShowSearchButton( bool show );
-+    virtual bool IsSearchButtonVisible() const;
-+
-+    virtual void ShowCancelButton( bool show );
-+    virtual bool IsCancelButtonVisible() const;
-+
-+    virtual wxInt32     MacSearchFieldSearchHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;
-+    virtual wxInt32     MacSearchFieldCancelHit( WXEVENTHANDLERREF handler , WXEVENTREF event ) ;
-+
-+    wxMacSearchFieldControl * GetPeer() const
-+    { return (wxMacSearchFieldControl*) m_peer; }
-+
-+    virtual void SetFocus();
-+
-+protected:
-+
-+    wxSize DoGetBestSize() const;
-+
-+    void Init();
-+
-+    virtual void CreatePeer(
-+           const wxString& str,
-+           const wxPoint& pos,
-+           const wxSize& size, long style );
-+
-+    wxMenu *m_menu;
-+
-+private:
-+    DECLARE_DYNAMIC_CLASS(wxSearchCtrl)
-+
-+    DECLARE_EVENT_TABLE()
-+};
-+
-+#endif // wxUSE_SEARCHCTRL
-+
-+#endif // _WX_SEARCHCTRL_H_
-+
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/mac/carbon/textctrl.h wxWidgets-2006-12-17/include/wx/mac/carbon/textctrl.h
---- wxWidgets-2.8.0/include/wx/mac/carbon/textctrl.h   2006-12-11 22:51:13.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/mac/carbon/textctrl.h      2006-12-17 05:58:15.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Stefan Csomor
- // Modified by:
- // Created:     1998-01-01
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Stefan Csomor
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/mac/setup0.h wxWidgets-2006-12-17/include/wx/mac/setup0.h
---- wxWidgets-2.8.0/include/wx/mac/setup0.h    2006-12-11 22:51:10.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/mac/setup0.h       2006-12-17 05:58:15.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Stefan Csomor
- // Modified by: Stefan Csomor
- // Created:     1998-01-01
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Stefan Csomor
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -639,6 +639,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/mac/srchctrl.h wxWidgets-2006-12-17/include/wx/mac/srchctrl.h
---- wxWidgets-2.8.0/include/wx/mac/srchctrl.h  1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/mac/srchctrl.h     2006-12-17 05:58:15.000000000 +0100
-@@ -0,0 +1,5 @@
-+#ifdef __WXMAC_CLASSIC__
-+#include "wx/generic/srchctlg.h"
-+#else
-+#include "wx/mac/carbon/srchctrl.h"
-+#endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/motif/setup0.h wxWidgets-2006-12-17/include/wx/motif/setup0.h
---- wxWidgets-2.8.0/include/wx/motif/setup0.h  2006-12-11 22:51:07.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/motif/setup0.h     2006-12-17 05:58:12.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01/02/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -638,6 +638,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/msw/setup0.h wxWidgets-2006-12-17/include/wx/msw/setup0.h
---- wxWidgets-2.8.0/include/wx/msw/setup0.h    2006-12-11 22:50:35.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/msw/setup0.h       2006-12-17 05:57:52.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01/02/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -638,6 +638,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/msw/setup.h wxWidgets-2006-12-17/include/wx/msw/setup.h
---- wxWidgets-2.8.0/include/wx/msw/setup.h     2006-12-11 22:50:35.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/msw/setup.h        2006-12-17 05:57:52.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01/02/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -638,6 +638,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/os2/setup0.h wxWidgets-2006-12-17/include/wx/os2/setup0.h
---- wxWidgets-2.8.0/include/wx/os2/setup0.h    2006-12-11 22:51:00.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/os2/setup0.h       2006-12-17 05:58:09.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01/02/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -638,6 +638,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/palmos/setup0.h wxWidgets-2006-12-17/include/wx/palmos/setup0.h
---- wxWidgets-2.8.0/include/wx/palmos/setup0.h 2006-12-11 22:51:19.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/palmos/setup0.h    2006-12-17 05:58:17.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01/02/97
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -638,6 +638,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/private/socketevtdispatch.h wxWidgets-2006-12-17/include/wx/private/socketevtdispatch.h
---- wxWidgets-2.8.0/include/wx/private/socketevtdispatch.h     1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/private/socketevtdispatch.h        2006-12-17 05:57:31.000000000 +0100
-@@ -0,0 +1,67 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        wx/private/socketevtdispatch.h
-+// Purpose:     wxSocketEventDispatcher class
-+// Authors:     Angel Vidal
-+// Modified by:
-+// Created:     August 2006
-+// Copyright:   (c) Angel Vidal
-+// RCS-ID:      $Id$
-+// Licence:     wxWindows licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+#ifndef _WX_PRIVATE_SOCKETEVTDISPATCH_H_
-+#define _WX_PRIVATE_SOCKETEVTDISPATCH_H_
-+
-+#include "wx/defs.h"
-+
-+#if wxUSE_SOCKETS
-+
-+#include "wx/hash.h"
-+
-+// forward declarations
-+class wxSocketEventDispatcherEntry;
-+class GSocket;
-+
-+enum wxSocketEventDispatcherType
-+{
-+    wxSocketEventDispatcherInput,
-+    wxSocketEventDispatcherOutput
-+};
-+
-+class WXDLLIMPEXP_CORE wxSocketEventDispatcher : public wxHashTable
-+{
-+protected:
-+    wxSocketEventDispatcher() : wxHashTable(wxKEY_INTEGER) {}
-+
-+public:
-+    // returns instance of the table
-+    static wxSocketEventDispatcher& Get();
-+
-+    virtual ~wxSocketEventDispatcher()
-+    {
-+        WX_CLEAR_HASH_TABLE(*this)
-+    }
-+
-+    void RegisterCallback(int fd, wxSocketEventDispatcherType socketType,
-+                          GSocket* socket);
-+
-+    void UnregisterCallback(int fd, wxSocketEventDispatcherType socketType);
-+
-+    void RunLoop(int timeout = 0);
-+
-+private:
-+    void AddEvents(fd_set* readset, fd_set* writeset);
-+
-+    int FillSets(fd_set* readset, fd_set* writeset);
-+
-+    wxSocketEventDispatcherEntry* FindEntry(int fd);
-+
-+private:
-+    static wxSocketEventDispatcher *ms_instance;
-+
-+    friend class wxSocketEventDispatcherModule;
-+};
-+
-+#endif // wxUSE_SOCKETS
-+
-+#endif // _WX_PRIVATE_SOCKETEVTDISPATCH_H_
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/setup_inc.h wxWidgets-2006-12-17/include/wx/setup_inc.h
---- wxWidgets-2.8.0/include/wx/setup_inc.h     2006-12-11 22:49:38.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/setup_inc.h        2006-12-17 05:57:30.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Vadim Zeitlin
- // Licence:     wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
-@@ -634,6 +634,7 @@
- #define wxUSE_RADIOBOX      1   // wxRadioBox
- #define wxUSE_RADIOBTN      1   // wxRadioButton
- #define wxUSE_SCROLLBAR     1   // wxScrollBar
-+#define wxUSE_SEARCHCTRL    1   // wxSearchCtrl
- #define wxUSE_SLIDER        1   // wxSlider
- #define wxUSE_SPINBTN       1   // wxSpinButton
- #define wxUSE_SPINCTRL      1   // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/srchctrl.h wxWidgets-2006-12-17/include/wx/srchctrl.h
---- wxWidgets-2.8.0/include/wx/srchctrl.h      1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/srchctrl.h 2006-12-17 05:57:30.000000000 +0100
-@@ -0,0 +1,89 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        srchctrl.h
-+// Purpose:     wxSearchCtrlBase class
-+// Author:      Vince Harron
-+// Created:     2006-02-18
-+// RCS-ID:      $Id$
-+// Copyright:   (c) Vince Harron
-+// Licence:     wxWindows licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+#ifndef _WX_SEARCHCTRL_H_BASE_
-+#define _WX_SEARCHCTRL_H_BASE_
-+
-+#include "wx/defs.h"
-+
-+#if wxUSE_SEARCHCTRL
-+
-+#include "wx/textctrl.h"
-+
-+#if !defined(__WXUNIVERSAL__) && defined(__WXMAC__) && defined(__WXMAC_OSX__) \
-+        && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3)
-+    // search control was introduced in Mac OS X 10.3 Panther
-+    #define wxUSE_NATIVE_SEARCH_CONTROL 1
-+
-+    #define wxSearchCtrlBaseBaseClass wxTextCtrl
-+#else
-+    // no native version, use the generic one
-+    #define wxUSE_NATIVE_SEARCH_CONTROL 0
-+
-+    #define wxSearchCtrlBaseBaseClass wxTextCtrlBase
-+#endif
-+
-+// ----------------------------------------------------------------------------
-+// constants
-+// ----------------------------------------------------------------------------
-+
-+extern WXDLLEXPORT_DATA(const wxChar) wxSearchCtrlNameStr[];
-+
-+BEGIN_DECLARE_EVENT_TYPES()
-+    DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, 1119)
-+    DECLARE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, 1120)
-+END_DECLARE_EVENT_TYPES()
-+
-+// ----------------------------------------------------------------------------
-+// a search ctrl is a text control with a search button and a cancel button
-+// it is based on the MacOSX 10.3 control HISearchFieldCreate
-+// ----------------------------------------------------------------------------
-+
-+class WXDLLEXPORT wxSearchCtrlBase : public wxSearchCtrlBaseBaseClass
-+{
-+public:
-+    wxSearchCtrlBase() { }
-+    virtual ~wxSearchCtrlBase() { }
-+
-+    // search control 
-+    virtual void SetMenu(wxMenu *menu) = 0;
-+    virtual wxMenu *GetMenu() = 0;
-+
-+    // get/set options
-+    virtual void ShowSearchButton( bool show ) = 0;
-+    virtual bool IsSearchButtonVisible() const = 0;
-+
-+    virtual void ShowCancelButton( bool show ) = 0;
-+    virtual bool IsCancelButtonVisible() const = 0;
-+};
-+
-+
-+// include the platform-dependent class implementation
-+#if wxUSE_NATIVE_SEARCH_CONTROL
-+    #if defined(__WXMAC__)
-+        #include "wx/mac/srchctrl.h"
-+    #endif
-+#else
-+    #include "wx/generic/srchctlg.h"
-+#endif
-+
-+// ----------------------------------------------------------------------------
-+// macros for handling search events
-+// ----------------------------------------------------------------------------
-+
-+#define EVT_SEARCHCTRL_CANCEL_BTN(id, fn) \
-+    wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, id, wxCommandEventHandler(fn))
-+
-+#define EVT_SEARCHCTRL_SEARCH_BTN(id, fn) \
-+    wx__DECLARE_EVT1(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, id, wxCommandEventHandler(fn))
-+
-+#endif // wxUSE_SEARCHCTRL
-+
-+#endif // _WX_SEARCHCTRL_H_BASE_
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/univ/setup0.h wxWidgets-2006-12-17/include/wx/univ/setup0.h
---- wxWidgets-2.8.0/include/wx/univ/setup0.h   2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/univ/setup0.h      2006-12-17 05:57:54.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:     14.08.00
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
- // Licence:     wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
-@@ -662,6 +662,7 @@
- #define wxUSE_RADIOBOX         1    // wxRadioBox
- #define wxUSE_RADIOBTN         1    // wxRadioButton
- #define wxUSE_SCROLLBAR        1    // wxScrollBar
-+#define wxUSE_SEARCHCTRL       1    // wxSearchCtrl
- #define wxUSE_SLIDER           1    // wxSlider
- #define wxUSE_SPINBTN          1    // wxSpinButton
- #define wxUSE_SPINCTRL         1    // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/univ/setup.h wxWidgets-2006-12-17/include/wx/univ/setup.h
---- wxWidgets-2.8.0/include/wx/univ/setup.h    2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/univ/setup.h       2006-12-17 05:57:54.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:     14.08.00
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
- // Licence:     wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
-@@ -662,6 +662,7 @@
- #define wxUSE_RADIOBOX         1    // wxRadioBox
- #define wxUSE_RADIOBTN         1    // wxRadioButton
- #define wxUSE_SCROLLBAR        1    // wxScrollBar
-+#define wxUSE_SEARCHCTRL       1    // wxSearchCtrl
- #define wxUSE_SLIDER           1    // wxSlider
- #define wxUSE_SPINBTN          1    // wxSpinButton
- #define wxUSE_SPINCTRL         1    // wxSpinCtrl
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/include/wx/version.h wxWidgets-2006-12-17/include/wx/version.h
---- wxWidgets-2.8.0/include/wx/version.h       2006-12-11 22:49:39.000000000 +0100
-+++ wxWidgets-2006-12-17/include/wx/version.h  2006-12-17 05:57:30.000000000 +0100
-@@ -4,7 +4,7 @@
-  *  Author:      Julian Smart
-  *  Modified by: Ryan Norton (Converted to C)
-  *  Created:     29/01/98
-- *  RCS-ID:      $Id$
-+ *  RCS-ID:      $Id$
-  *  Copyright:   (c) 1998 Julian Smart
-  *  Licence:     wxWindows licence
-  */
-@@ -29,7 +29,7 @@
- #define wxMAJOR_VERSION      2
- #define wxMINOR_VERSION      8
- #define wxRELEASE_NUMBER     0
--#define wxSUBRELEASE_NUMBER  0
-+#define wxSUBRELEASE_NUMBER  1
- #define wxVERSION_STRING   _T("wxWidgets 2.8.0")
- /*  nothing to update below this line when updating the version */
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/INSTALL-MSW.txt wxWidgets-2006-12-17/INSTALL-MSW.txt
---- wxWidgets-2.8.0/INSTALL-MSW.txt    2006-12-11 22:50:33.000000000 +0100
-+++ wxWidgets-2006-12-17/INSTALL-MSW.txt       2006-12-17 05:57:51.000000000 +0100
-@@ -79,21 +79,21 @@
- "Configuring the build" below). This is a typical set of release ANSI build
- libraries (release versions on left, debug on right side):
--  wxbase25.lib              wxbase25d.lib
--  wxbase25_net.lib          wxbase25d_net.lib
--  wxbase25_xml.lib          wxbase25d_xml.lib
--  wxmsw25_core.lib          wxmsw25d_core.lib
--  wxmsw25_html.lib          wxmsw25d_html.lib
--  wxmsw25_adv.lib           wxmsw25d_adv.lib
-+  wxbase28.lib              wxbase28d.lib
-+  wxbase28_net.lib          wxbase28d_net.lib
-+  wxbase28_xml.lib          wxbase28d_xml.lib
-+  wxmsw28_core.lib          wxmsw28d_core.lib
-+  wxmsw28_html.lib          wxmsw28d_html.lib
-+  wxmsw28_adv.lib           wxmsw28d_adv.lib
- Their Unicode debug counterparts in wxUniversal build would be
--  wxbase25ud.lib
--  wxbase25ud_net.lib
--  wxbase25ud_xml.lib        (notice these libs are same for wxUniv and wxMSW)
--  wxmswuniv25ud_core.lib
--  wxmswuniv25ud_html.lib
--  wxmswuniv25ud_adv.lib
-+  wxbase28ud.lib
-+  wxbase28ud_net.lib
-+  wxbase28ud_xml.lib        (notice these libs are same for wxUniv and wxMSW)
-+  wxmswuniv28ud_core.lib
-+  wxmswuniv28ud_html.lib
-+  wxmswuniv28ud_adv.lib
- These directories also contain subdirectory with wx/setup.h header. This
- subdirectory is named after port, Unicode, wxUniv and debug settings and 
-@@ -714,7 +714,7 @@
-   you should set wxUSE_GUI to 1 in setup.h.
- USE_OPENGL=1
--  Build wxmsw25_gl.lib library with OpenGL integration class wxGLCanvas.
-+  Build wxmsw28_gl.lib library with OpenGL integration class wxGLCanvas.
-   You must also modify your setup.h to #define wxUSE_GLCANVAS 1. Note that
-   OpenGL library is always built as additional library, even in monolithic
-   build!
-@@ -766,9 +766,9 @@
-   distribute wxWidgets DLLs with your application. Default value is 'custom'.
-   This string is included as part of DLL name. wxWidgets DLLs contain compiler
-   name, version information and vendor name in them. For example
--  wxmsw250_core_bcc_custom.dll is one of DLLs build using Borland C++ with
-+  wxmsw280_core_bcc_custom.dll is one of DLLs build using Borland C++ with
-   default settings. If you set VENDOR=mycorp, the name will change to
--  wxmsw250_core_bcc_mycorp.dll.
-+  wxmsw280_core_bcc_mycorp.dll.
- CFG=<configuration name>
-   Sets configuration name so that you can have multiple wxWidgets builds with
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/Makefile.in wxWidgets-2006-12-17/Makefile.in
---- wxWidgets-2.8.0/Makefile.in        2006-12-11 22:50:18.000000000 +0100
-+++ wxWidgets-2006-12-17/Makefile.in   2006-12-17 05:57:45.000000000 +0100
-@@ -2157,6 +2157,7 @@
-       wx/mac/sound.h \
-       wx/mac/spinbutt.h \
-       wx/mac/spinctrl.h \
-+      wx/mac/srchctrl.h \
-       wx/mac/statbmp.h \
-       wx/mac/statbox.h \
-       wx/mac/statline.h \
-@@ -2230,6 +2231,9 @@
-       wx/mac/carbon/printdlg.h \
-       wx/mac/carbon/printmac.h \
-       wx/mac/carbon/private.h \
-+      wx/mac/carbon/private/mactext.h \
-+      wx/mac/carbon/private/overlay.h \
-+      wx/mac/carbon/private/print.h \
-       wx/mac/carbon/radiobox.h \
-       wx/mac/carbon/radiobut.h \
-       wx/mac/carbon/region.h \
-@@ -2237,6 +2241,7 @@
-       wx/mac/carbon/slider.h \
-       wx/mac/carbon/spinbutt.h \
-       wx/mac/carbon/spinctrl.h \
-+      wx/mac/carbon/srchctrl.h \
-       wx/mac/carbon/statbmp.h \
-       wx/mac/carbon/statbox.h \
-       wx/mac/carbon/statline.h \
-@@ -2871,6 +2876,7 @@
-       wx/generic/scrolwin.h \
-       wx/generic/spinctlg.h \
-       wx/generic/splitter.h \
-+      wx/generic/srchctlg.h \
-       wx/generic/textdlgg.h \
-       wx/generic/timer.h \
-       wx/generic/treectlg.h \
-@@ -2988,6 +2994,7 @@
-       wx/spinbutt.h \
-       wx/spinctrl.h \
-       wx/splitter.h \
-+      wx/srchctrl.h \
-       wx/statline.h \
-       wx/tab.h \
-       wx/tabctrl.h \
-@@ -3497,6 +3504,7 @@
-       monodll_rgncmn.o \
-       monodll_settcmn.o \
-       monodll_sizer.o \
-+      monodll_srchcmn.o \
-       monodll_statbar.o \
-       monodll_stockitem.o \
-       monodll_tbarbase.o \
-@@ -3532,6 +3540,7 @@
-       monodll_selstore.o \
-       monodll_spinctlg.o \
-       monodll_splitter.o \
-+      monodll_srchctlg.o \
-       monodll_textdlgg.o \
-       monodll_tipwin.o \
-       monodll_toolbkg.o \
-@@ -3670,6 +3679,7 @@
-       monodll_rgncmn.o \
-       monodll_settcmn.o \
-       monodll_sizer.o \
-+      monodll_srchcmn.o \
-       monodll_statbar.o \
-       monodll_stockitem.o \
-       monodll_tbarbase.o \
-@@ -3705,6 +3715,7 @@
-       monodll_selstore.o \
-       monodll_spinctlg.o \
-       monodll_splitter.o \
-+      monodll_srchctlg.o \
-       monodll_textdlgg.o \
-       monodll_tipwin.o \
-       monodll_toolbkg.o \
-@@ -3717,6 +3728,7 @@
- @COND_TOOLKIT_COCOA@  monodll_gsockosx.o monodll_hid.o monodll_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS =  \
-       monodll_fontmgrcmn.o \
-+      monodll_socketevtdispatch.o \
-       monodll_caret.o \
-       monodll_colour.o \
-       monodll_icon.o \
-@@ -3981,6 +3993,7 @@
-       monodll_fontutil.o \
-       monodll_utilsx11.o \
-       monodll_displayx11.o \
-+      monodll_socketevtdispatch.o \
-       monodll_icon.o \
-       monodll_timer.o \
-       monodll_app.o \
-@@ -3997,7 +4010,6 @@
-       monodll_dcscreen.o \
-       monodll_evtloop.o \
-       monodll_font.o \
--      monodll_gsockx11.o \
-       monodll_minifram.o \
-       monodll_nanox.o \
-       monodll_palette.o \
-@@ -4263,6 +4275,7 @@
-       monodll_slider.o \
-       monodll_spinbutt.o \
-       monodll_spinctrl.o \
-+      monodll_srchctrl.o \
-       monodll_statbmp.o \
-       monodll_statbox.o \
-       monodll_statbrma.o \
-@@ -4548,6 +4561,7 @@
- @COND_TOOLKIT_COCOA@  monodll_gsockosx.o monodll_hid.o monodll_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_1 =  \
-       monodll_fontmgrcmn.o \
-+      monodll_socketevtdispatch.o \
-       monodll_caret.o \
-       monodll_colour.o \
-       monodll_icon.o \
-@@ -4812,6 +4826,7 @@
-       monodll_fontutil.o \
-       monodll_utilsx11.o \
-       monodll_displayx11.o \
-+      monodll_socketevtdispatch.o \
-       monodll_icon.o \
-       monodll_timer.o \
-       monodll_app.o \
-@@ -4828,7 +4843,6 @@
-       monodll_dcscreen.o \
-       monodll_evtloop.o \
-       monodll_font.o \
--      monodll_gsockx11.o \
-       monodll_minifram.o \
-       monodll_nanox.o \
-       monodll_palette.o \
-@@ -5271,6 +5285,7 @@
-       monolib_rgncmn.o \
-       monolib_settcmn.o \
-       monolib_sizer.o \
-+      monolib_srchcmn.o \
-       monolib_statbar.o \
-       monolib_stockitem.o \
-       monolib_tbarbase.o \
-@@ -5306,6 +5321,7 @@
-       monolib_selstore.o \
-       monolib_spinctlg.o \
-       monolib_splitter.o \
-+      monolib_srchctlg.o \
-       monolib_textdlgg.o \
-       monolib_tipwin.o \
-       monolib_toolbkg.o \
-@@ -5444,6 +5460,7 @@
-       monolib_rgncmn.o \
-       monolib_settcmn.o \
-       monolib_sizer.o \
-+      monolib_srchcmn.o \
-       monolib_statbar.o \
-       monolib_stockitem.o \
-       monolib_tbarbase.o \
-@@ -5479,6 +5496,7 @@
-       monolib_selstore.o \
-       monolib_spinctlg.o \
-       monolib_splitter.o \
-+      monolib_srchctlg.o \
-       monolib_textdlgg.o \
-       monolib_tipwin.o \
-       monolib_toolbkg.o \
-@@ -5491,6 +5509,7 @@
- @COND_TOOLKIT_COCOA@  monolib_gsockosx.o monolib_hid.o monolib_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_2 =  \
-       monolib_fontmgrcmn.o \
-+      monolib_socketevtdispatch.o \
-       monolib_caret.o \
-       monolib_colour.o \
-       monolib_icon.o \
-@@ -5756,6 +5775,7 @@
-       monolib_fontutil.o \
-       monolib_utilsx11.o \
-       monolib_displayx11.o \
-+      monolib_socketevtdispatch.o \
-       monolib_icon.o \
-       monolib_timer.o \
-       monolib_app.o \
-@@ -5772,7 +5792,6 @@
-       monolib_dcscreen.o \
-       monolib_evtloop.o \
-       monolib_font.o \
--      monolib_gsockx11.o \
-       monolib_minifram.o \
-       monolib_nanox.o \
-       monolib_palette.o \
-@@ -6038,6 +6057,7 @@
-       monolib_slider.o \
-       monolib_spinbutt.o \
-       monolib_spinctrl.o \
-+      monolib_srchctrl.o \
-       monolib_statbmp.o \
-       monolib_statbox.o \
-       monolib_statbrma.o \
-@@ -6323,6 +6343,7 @@
- @COND_TOOLKIT_COCOA@  monolib_gsockosx.o monolib_hid.o monolib_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_3 =  \
-       monolib_fontmgrcmn.o \
-+      monolib_socketevtdispatch.o \
-       monolib_caret.o \
-       monolib_colour.o \
-       monolib_icon.o \
-@@ -6588,6 +6609,7 @@
-       monolib_fontutil.o \
-       monolib_utilsx11.o \
-       monolib_displayx11.o \
-+      monolib_socketevtdispatch.o \
-       monolib_icon.o \
-       monolib_timer.o \
-       monolib_app.o \
-@@ -6604,7 +6626,6 @@
-       monolib_dcscreen.o \
-       monolib_evtloop.o \
-       monolib_font.o \
--      monolib_gsockx11.o \
-       monolib_minifram.o \
-       monolib_nanox.o \
-       monolib_palette.o \
-@@ -7275,6 +7296,7 @@
-       coredll_rgncmn.o \
-       coredll_settcmn.o \
-       coredll_sizer.o \
-+      coredll_srchcmn.o \
-       coredll_statbar.o \
-       coredll_stockitem.o \
-       coredll_tbarbase.o \
-@@ -7310,6 +7332,7 @@
-       coredll_selstore.o \
-       coredll_spinctlg.o \
-       coredll_splitter.o \
-+      coredll_srchctlg.o \
-       coredll_textdlgg.o \
-       coredll_tipwin.o \
-       coredll_toolbkg.o \
-@@ -7448,6 +7471,7 @@
-       coredll_rgncmn.o \
-       coredll_settcmn.o \
-       coredll_sizer.o \
-+      coredll_srchcmn.o \
-       coredll_statbar.o \
-       coredll_stockitem.o \
-       coredll_tbarbase.o \
-@@ -7483,6 +7507,7 @@
-       coredll_selstore.o \
-       coredll_spinctlg.o \
-       coredll_splitter.o \
-+      coredll_srchctlg.o \
-       coredll_textdlgg.o \
-       coredll_tipwin.o \
-       coredll_toolbkg.o \
-@@ -7495,6 +7520,7 @@
- @COND_TOOLKIT_COCOA@  coredll_gsockosx.o coredll_hid.o coredll_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_4 =  \
-       coredll_fontmgrcmn.o \
-+      coredll_socketevtdispatch.o \
-       coredll_caret.o \
-       coredll_colour.o \
-       coredll_icon.o \
-@@ -7760,6 +7786,7 @@
-       coredll_fontutil.o \
-       coredll_utilsx11.o \
-       coredll_displayx11.o \
-+      coredll_socketevtdispatch.o \
-       coredll_icon.o \
-       coredll_timer.o \
-       coredll_app.o \
-@@ -7776,7 +7803,6 @@
-       coredll_dcscreen.o \
-       coredll_evtloop.o \
-       coredll_font.o \
--      coredll_gsockx11.o \
-       coredll_minifram.o \
-       coredll_nanox.o \
-       coredll_palette.o \
-@@ -8042,6 +8068,7 @@
-       coredll_slider.o \
-       coredll_spinbutt.o \
-       coredll_spinctrl.o \
-+      coredll_srchctrl.o \
-       coredll_statbmp.o \
-       coredll_statbox.o \
-       coredll_statbrma.o \
-@@ -8327,6 +8354,7 @@
- @COND_TOOLKIT_COCOA@  coredll_gsockosx.o coredll_hid.o coredll_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_5 =  \
-       coredll_fontmgrcmn.o \
-+      coredll_socketevtdispatch.o \
-       coredll_caret.o \
-       coredll_colour.o \
-       coredll_icon.o \
-@@ -8592,6 +8620,7 @@
-       coredll_fontutil.o \
-       coredll_utilsx11.o \
-       coredll_displayx11.o \
-+      coredll_socketevtdispatch.o \
-       coredll_icon.o \
-       coredll_timer.o \
-       coredll_app.o \
-@@ -8608,7 +8637,6 @@
-       coredll_dcscreen.o \
-       coredll_evtloop.o \
-       coredll_font.o \
--      coredll_gsockx11.o \
-       coredll_minifram.o \
-       coredll_nanox.o \
-       coredll_palette.o \
-@@ -8723,6 +8751,7 @@
-       corelib_rgncmn.o \
-       corelib_settcmn.o \
-       corelib_sizer.o \
-+      corelib_srchcmn.o \
-       corelib_statbar.o \
-       corelib_stockitem.o \
-       corelib_tbarbase.o \
-@@ -8758,6 +8787,7 @@
-       corelib_selstore.o \
-       corelib_spinctlg.o \
-       corelib_splitter.o \
-+      corelib_srchctlg.o \
-       corelib_textdlgg.o \
-       corelib_tipwin.o \
-       corelib_toolbkg.o \
-@@ -8896,6 +8926,7 @@
-       corelib_rgncmn.o \
-       corelib_settcmn.o \
-       corelib_sizer.o \
-+      corelib_srchcmn.o \
-       corelib_statbar.o \
-       corelib_stockitem.o \
-       corelib_tbarbase.o \
-@@ -8931,6 +8962,7 @@
-       corelib_selstore.o \
-       corelib_spinctlg.o \
-       corelib_splitter.o \
-+      corelib_srchctlg.o \
-       corelib_textdlgg.o \
-       corelib_tipwin.o \
-       corelib_toolbkg.o \
-@@ -8943,6 +8975,7 @@
- @COND_TOOLKIT_COCOA@  corelib_gsockosx.o corelib_hid.o corelib_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_6 =  \
-       corelib_fontmgrcmn.o \
-+      corelib_socketevtdispatch.o \
-       corelib_caret.o \
-       corelib_colour.o \
-       corelib_icon.o \
-@@ -9208,6 +9241,7 @@
-       corelib_fontutil.o \
-       corelib_utilsx11.o \
-       corelib_displayx11.o \
-+      corelib_socketevtdispatch.o \
-       corelib_icon.o \
-       corelib_timer.o \
-       corelib_app.o \
-@@ -9224,7 +9258,6 @@
-       corelib_dcscreen.o \
-       corelib_evtloop.o \
-       corelib_font.o \
--      corelib_gsockx11.o \
-       corelib_minifram.o \
-       corelib_nanox.o \
-       corelib_palette.o \
-@@ -9490,6 +9523,7 @@
-       corelib_slider.o \
-       corelib_spinbutt.o \
-       corelib_spinctrl.o \
-+      corelib_srchctrl.o \
-       corelib_statbmp.o \
-       corelib_statbox.o \
-       corelib_statbrma.o \
-@@ -9775,6 +9809,7 @@
- @COND_TOOLKIT_COCOA@  corelib_gsockosx.o corelib_hid.o corelib_utilsexc_cf.o
- COND_TOOLKIT_DFB___LOWLEVEL_SRC_OBJECTS_7 =  \
-       corelib_fontmgrcmn.o \
-+      corelib_socketevtdispatch.o \
-       corelib_caret.o \
-       corelib_colour.o \
-       corelib_icon.o \
-@@ -10040,6 +10075,7 @@
-       corelib_fontutil.o \
-       corelib_utilsx11.o \
-       corelib_displayx11.o \
-+      corelib_socketevtdispatch.o \
-       corelib_icon.o \
-       corelib_timer.o \
-       corelib_app.o \
-@@ -10056,7 +10092,6 @@
-       corelib_dcscreen.o \
-       corelib_evtloop.o \
-       corelib_font.o \
--      corelib_gsockx11.o \
-       corelib_minifram.o \
-       corelib_nanox.o \
-       corelib_palette.o \
-@@ -12852,6 +12887,9 @@
- monodll_printmac.o: $(srcdir)/src/mac/carbon/printmac.cpp $(MONODLL_ODEP)
-       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/printmac.cpp
-+monodll_srchctrl.o: $(srcdir)/src/mac/carbon/srchctrl.cpp $(MONODLL_ODEP)
-+      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/srchctrl.cpp
-+
- monodll_statbrma.o: $(srcdir)/src/mac/carbon/statbrma.cpp $(MONODLL_ODEP)
-       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/carbon/statbrma.cpp
-@@ -14781,8 +14819,11 @@
- @COND_TOOLKIT_COCOA_USE_GUI_1@monodll_utilsexc_cf.o: $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp $(MONODLL_ODEP)
- @COND_TOOLKIT_COCOA_USE_GUI_1@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp
--@COND_TOOLKIT_X11_USE_GUI_1@monodll_gsockx11.o: $(srcdir)/src/x11/gsockx11.cpp $(MONODLL_ODEP)
--@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/x11/gsockx11.cpp
-+@COND_TOOLKIT_X11_USE_GUI_1@monodll_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(MONODLL_ODEP)
-+@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
-+
-+@COND_TOOLKIT_DFB_USE_GUI_1@monodll_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(MONODLL_ODEP)
-+@COND_TOOLKIT_DFB_USE_GUI_1@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
- @COND_TOOLKIT_X11_USE_GUI_1@monodll_nanox.o: $(srcdir)/src/x11/nanox.c $(MONODLL_ODEP)
- @COND_TOOLKIT_X11_USE_GUI_1@  $(CCC) -c -o $@ $(MONODLL_CFLAGS) $(srcdir)/src/x11/nanox.c
-@@ -16224,6 +16265,9 @@
- @COND_USE_GUI_1@monodll_sizer.o: $(srcdir)/src/common/sizer.cpp $(MONODLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/sizer.cpp
-+@COND_USE_GUI_1@monodll_srchcmn.o: $(srcdir)/src/common/srchcmn.cpp $(MONODLL_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/srchcmn.cpp
-+
- @COND_USE_GUI_1@monodll_statbar.o: $(srcdir)/src/common/statbar.cpp $(MONODLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/statbar.cpp
-@@ -16329,6 +16373,9 @@
- @COND_USE_GUI_1@monodll_splitter.o: $(srcdir)/src/generic/splitter.cpp $(MONODLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/splitter.cpp
-+@COND_USE_GUI_1@monodll_srchctlg.o: $(srcdir)/src/generic/srchctlg.cpp $(MONODLL_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/srchctlg.cpp
-+
- @COND_USE_GUI_1@monodll_textdlgg.o: $(srcdir)/src/generic/textdlgg.cpp $(MONODLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/textdlgg.cpp
-@@ -16959,6 +17006,9 @@
- monolib_printmac.o: $(srcdir)/src/mac/carbon/printmac.cpp $(MONOLIB_ODEP)
-       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/printmac.cpp
-+monolib_srchctrl.o: $(srcdir)/src/mac/carbon/srchctrl.cpp $(MONOLIB_ODEP)
-+      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/srchctrl.cpp
-+
- monolib_statbrma.o: $(srcdir)/src/mac/carbon/statbrma.cpp $(MONOLIB_ODEP)
-       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/carbon/statbrma.cpp
-@@ -18888,8 +18938,11 @@
- @COND_TOOLKIT_COCOA_USE_GUI_1@monolib_utilsexc_cf.o: $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp $(MONOLIB_ODEP)
- @COND_TOOLKIT_COCOA_USE_GUI_1@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp
--@COND_TOOLKIT_X11_USE_GUI_1@monolib_gsockx11.o: $(srcdir)/src/x11/gsockx11.cpp $(MONOLIB_ODEP)
--@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/x11/gsockx11.cpp
-+@COND_TOOLKIT_X11_USE_GUI_1@monolib_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(MONOLIB_ODEP)
-+@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
-+
-+@COND_TOOLKIT_DFB_USE_GUI_1@monolib_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(MONOLIB_ODEP)
-+@COND_TOOLKIT_DFB_USE_GUI_1@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
- @COND_TOOLKIT_X11_USE_GUI_1@monolib_nanox.o: $(srcdir)/src/x11/nanox.c $(MONOLIB_ODEP)
- @COND_TOOLKIT_X11_USE_GUI_1@  $(CCC) -c -o $@ $(MONOLIB_CFLAGS) $(srcdir)/src/x11/nanox.c
-@@ -20331,6 +20384,9 @@
- @COND_USE_GUI_1@monolib_sizer.o: $(srcdir)/src/common/sizer.cpp $(MONOLIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/sizer.cpp
-+@COND_USE_GUI_1@monolib_srchcmn.o: $(srcdir)/src/common/srchcmn.cpp $(MONOLIB_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/srchcmn.cpp
-+
- @COND_USE_GUI_1@monolib_statbar.o: $(srcdir)/src/common/statbar.cpp $(MONOLIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/statbar.cpp
-@@ -20436,6 +20492,9 @@
- @COND_USE_GUI_1@monolib_splitter.o: $(srcdir)/src/generic/splitter.cpp $(MONOLIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/splitter.cpp
-+@COND_USE_GUI_1@monolib_srchctlg.o: $(srcdir)/src/generic/srchctlg.cpp $(MONOLIB_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/srchctlg.cpp
-+
- @COND_USE_GUI_1@monolib_textdlgg.o: $(srcdir)/src/generic/textdlgg.cpp $(MONOLIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/textdlgg.cpp
-@@ -22065,6 +22124,9 @@
- coredll_printmac.o: $(srcdir)/src/mac/carbon/printmac.cpp $(COREDLL_ODEP)
-       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/printmac.cpp
-+coredll_srchctrl.o: $(srcdir)/src/mac/carbon/srchctrl.cpp $(COREDLL_ODEP)
-+      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/srchctrl.cpp
-+
- coredll_statbrma.o: $(srcdir)/src/mac/carbon/statbrma.cpp $(COREDLL_ODEP)
-       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/carbon/statbrma.cpp
-@@ -23376,8 +23438,11 @@
- @COND_TOOLKIT_COCOA_USE_GUI_1@coredll_utilsexc_cf.o: $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp $(COREDLL_ODEP)
- @COND_TOOLKIT_COCOA_USE_GUI_1@        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp
--@COND_TOOLKIT_X11_USE_GUI_1@coredll_gsockx11.o: $(srcdir)/src/x11/gsockx11.cpp $(COREDLL_ODEP)
--@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/x11/gsockx11.cpp
-+@COND_TOOLKIT_X11_USE_GUI_1@coredll_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(COREDLL_ODEP)
-+@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
-+
-+@COND_TOOLKIT_DFB_USE_GUI_1@coredll_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(COREDLL_ODEP)
-+@COND_TOOLKIT_DFB_USE_GUI_1@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
- @COND_TOOLKIT_X11_USE_GUI_1@coredll_nanox.o: $(srcdir)/src/x11/nanox.c $(COREDLL_ODEP)
- @COND_TOOLKIT_X11_USE_GUI_1@  $(CCC) -c -o $@ $(COREDLL_CFLAGS) $(srcdir)/src/x11/nanox.c
-@@ -24783,6 +24848,9 @@
- @COND_USE_GUI_1@coredll_sizer.o: $(srcdir)/src/common/sizer.cpp $(COREDLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/sizer.cpp
-+@COND_USE_GUI_1@coredll_srchcmn.o: $(srcdir)/src/common/srchcmn.cpp $(COREDLL_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/srchcmn.cpp
-+
- @COND_USE_GUI_1@coredll_statbar.o: $(srcdir)/src/common/statbar.cpp $(COREDLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/statbar.cpp
-@@ -24888,6 +24956,9 @@
- @COND_USE_GUI_1@coredll_splitter.o: $(srcdir)/src/generic/splitter.cpp $(COREDLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/splitter.cpp
-+@COND_USE_GUI_1@coredll_srchctlg.o: $(srcdir)/src/generic/srchctlg.cpp $(COREDLL_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/srchctlg.cpp
-+
- @COND_USE_GUI_1@coredll_textdlgg.o: $(srcdir)/src/generic/textdlgg.cpp $(COREDLL_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/textdlgg.cpp
-@@ -25008,6 +25079,9 @@
- corelib_printmac.o: $(srcdir)/src/mac/carbon/printmac.cpp $(CORELIB_ODEP)
-       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/printmac.cpp
-+corelib_srchctrl.o: $(srcdir)/src/mac/carbon/srchctrl.cpp $(CORELIB_ODEP)
-+      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/srchctrl.cpp
-+
- corelib_statbrma.o: $(srcdir)/src/mac/carbon/statbrma.cpp $(CORELIB_ODEP)
-       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/carbon/statbrma.cpp
-@@ -26319,8 +26393,11 @@
- @COND_TOOLKIT_COCOA_USE_GUI_1@corelib_utilsexc_cf.o: $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp $(CORELIB_ODEP)
- @COND_TOOLKIT_COCOA_USE_GUI_1@        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/mac/corefoundation/utilsexc_cf.cpp
--@COND_TOOLKIT_X11_USE_GUI_1@corelib_gsockx11.o: $(srcdir)/src/x11/gsockx11.cpp $(CORELIB_ODEP)
--@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/x11/gsockx11.cpp
-+@COND_TOOLKIT_X11_USE_GUI_1@corelib_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(CORELIB_ODEP)
-+@COND_TOOLKIT_X11_USE_GUI_1@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
-+
-+@COND_TOOLKIT_DFB_USE_GUI_1@corelib_socketevtdispatch.o: $(srcdir)/src/common/socketevtdispatch.cpp $(CORELIB_ODEP)
-+@COND_TOOLKIT_DFB_USE_GUI_1@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/socketevtdispatch.cpp
- @COND_TOOLKIT_X11_USE_GUI_1@corelib_nanox.o: $(srcdir)/src/x11/nanox.c $(CORELIB_ODEP)
- @COND_TOOLKIT_X11_USE_GUI_1@  $(CCC) -c -o $@ $(CORELIB_CFLAGS) $(srcdir)/src/x11/nanox.c
-@@ -27726,6 +27803,9 @@
- @COND_USE_GUI_1@corelib_sizer.o: $(srcdir)/src/common/sizer.cpp $(CORELIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/sizer.cpp
-+@COND_USE_GUI_1@corelib_srchcmn.o: $(srcdir)/src/common/srchcmn.cpp $(CORELIB_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/srchcmn.cpp
-+
- @COND_USE_GUI_1@corelib_statbar.o: $(srcdir)/src/common/statbar.cpp $(CORELIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/statbar.cpp
-@@ -27831,6 +27911,9 @@
- @COND_USE_GUI_1@corelib_splitter.o: $(srcdir)/src/generic/splitter.cpp $(CORELIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/splitter.cpp
-+@COND_USE_GUI_1@corelib_srchctlg.o: $(srcdir)/src/generic/srchctlg.cpp $(CORELIB_ODEP)
-+@COND_USE_GUI_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/srchctlg.cpp
-+
- @COND_USE_GUI_1@corelib_textdlgg.o: $(srcdir)/src/generic/textdlgg.cpp $(CORELIB_ODEP)
- @COND_USE_GUI_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/textdlgg.cpp
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/minimal/minimal.cpp wxWidgets-2006-12-17/samples/minimal/minimal.cpp
---- wxWidgets-2.8.0/samples/minimal/minimal.cpp        2006-12-11 22:50:01.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/minimal/minimal.cpp   2006-12-17 05:57:39.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     04/01/98
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -16,10 +16,10 @@
- // ----------------------------------------------------------------------------
- // headers
- // ----------------------------------------------------------------------------
--
-+ 
- // For compilers that support precompilation, includes "wx/wx.h".
- #include "wx/wxprec.h"
--
-+ 
- #ifdef __BORLANDC__
-     #pragma hdrstop
- #endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/minimal/minimal.xcodeproj/project.pbxproj wxWidgets-2006-12-17/samples/minimal/minimal.xcodeproj/project.pbxproj
---- wxWidgets-2.8.0/samples/minimal/minimal.xcodeproj/project.pbxproj  2006-12-11 22:51:13.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/minimal/minimal.xcodeproj/project.pbxproj     2006-12-17 05:58:16.000000000 +0100
-@@ -466,6 +466,7 @@
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-+                              ARCHS = "$(NATIVE_ARCH)";
-                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
-                               GCC_PREFIX_HEADER = ../../include/wx/wxprec.h;
-                               GCC_PREPROCESSOR_DEFINITIONS = (
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/toolbar/toolbar.cpp wxWidgets-2006-12-17/samples/toolbar/toolbar.cpp
---- wxWidgets-2.8.0/samples/toolbar/toolbar.cpp        2006-12-11 22:50:07.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/toolbar/toolbar.cpp   2006-12-17 05:57:41.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     04/01/98
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Julian Smart
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -32,6 +32,8 @@
- #include "wx/log.h"
- #include "wx/image.h"
- #include "wx/filedlg.h"
-+#include "wx/spinctrl.h"
-+#include "wx/srchctrl.h"
- // define this to use XPMs everywhere (by default, BMPs are used under Win)
- // BMPs use less space, but aren't compiled into the executable on other platforms
-@@ -391,7 +393,7 @@
-     // adding a combo to a vertical toolbar is not very smart
-     if ( !( toolBar->IsVertical() ) )
-     {
--        wxComboBox *combo = new wxComboBox(toolBar, ID_COMBO, wxEmptyString, wxDefaultPosition, wxSize(200,wxDefaultCoord) );
-+        wxComboBox *combo = new wxComboBox(toolBar, ID_COMBO, wxEmptyString, wxDefaultPosition, wxSize(100,-1) );
-         combo->Append(_T("This"));
-         combo->Append(_T("is a"));
-         combo->Append(_T("combobox"));
-@@ -399,8 +401,14 @@
-         combo->Append(_T("toolbar"));
-         toolBar->AddControl(combo);
--        //wxSpinCtrl *spin = new wxSpinCtrl( toolBar, ID_SPIN, wxT("0"), wxDefaultPosition, wxSize(80,wxDefaultCoord), 0, 100, 0 );
--        //toolBar->AddControl( spin );
-+        wxSpinCtrl *spin = new wxSpinCtrl( toolBar, ID_SPIN, wxT("0"), wxDefaultPosition, wxSize(80,wxDefaultCoord), 0, 0, 100 );
-+        toolBar->AddControl( spin );
-+        
-+        wxTextCtrl *text = new wxTextCtrl( toolBar, -1, wxT("text"), wxDefaultPosition, wxSize(80,wxDefaultCoord) );
-+        toolBar->AddControl( text );
-+        
-+        wxSearchCtrl *srch = new wxSearchCtrl( toolBar, -1, wxT("xx"), wxDefaultPosition, wxSize(80,wxDefaultCoord), wxSUNKEN_BORDER );
-+        toolBar->AddControl( srch );
-     }
- #endif // toolbars which don't support controls
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/datepick.cpp wxWidgets-2006-12-17/samples/widgets/datepick.cpp
---- wxWidgets-2.8.0/samples/widgets/datepick.cpp       2006-12-11 22:50:09.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/datepick.cpp  2006-12-17 05:57:42.000000000 +0100
-@@ -4,7 +4,7 @@
- // Purpose:     Part of the widgets sample showing date picker
- // Author:      Dimitri Schoolwerth, Vadim Zeitlin
- // Created:     27 Sep 2003
--// Id:          $Id$
-+// Id:          $Id$
- // Copyright:   (c) 2003 wxWindows team
- // License:     wxWindows license
- /////////////////////////////////////////////////////////////////////////////
-@@ -223,7 +223,9 @@
- void DatePickerWidgetsPage::OnButtonSet(wxCommandEvent& WXUNUSED(event))
- {
--    long day, month, year;
-+    long day = 0,
-+         month = 0,
-+         year = 0;
-     if ( m_day->GetValue().ToLong(&day) &&
-          m_month->GetValue().ToLong(&month) &&
-          m_year->GetValue().ToLong(&year) )
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.bcc wxWidgets-2006-12-17/samples/widgets/makefile.bcc
---- wxWidgets-2.8.0/samples/widgets/makefile.bcc       2006-12-11 22:50:09.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.bcc  2006-12-17 05:57:42.000000000 +0100
-@@ -50,6 +50,7 @@
-       $(OBJS)\widgets_notebook.obj \
-       $(OBJS)\widgets_odcombobox.obj \
-       $(OBJS)\widgets_radiobox.obj \
-+      $(OBJS)\widgets_searchctrl.obj \
-       $(OBJS)\widgets_slider.obj \
-       $(OBJS)\widgets_spinbtn.obj \
-       $(OBJS)\widgets_static.obj \
-@@ -307,6 +308,9 @@
- $(OBJS)\widgets_radiobox.obj: .\radiobox.cpp
-       $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
-+$(OBJS)\widgets_searchctrl.obj: .\searchctrl.cpp
-+      $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
-+
- $(OBJS)\widgets_slider.obj: .\slider.cpp
-       $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.dmc wxWidgets-2006-12-17/samples/widgets/makefile.dmc
---- wxWidgets-2.8.0/samples/widgets/makefile.dmc       2006-12-11 22:50:55.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.dmc  2006-12-17 05:58:03.000000000 +0100
-@@ -37,6 +37,7 @@
-       $(OBJS)\widgets_notebook.obj \
-       $(OBJS)\widgets_odcombobox.obj \
-       $(OBJS)\widgets_radiobox.obj \
-+      $(OBJS)\widgets_searchctrl.obj \
-       $(OBJS)\widgets_slider.obj \
-       $(OBJS)\widgets_spinbtn.obj \
-       $(OBJS)\widgets_static.obj \
-@@ -106,6 +107,9 @@
- $(OBJS)\widgets_radiobox.obj : .\radiobox.cpp
-       $(CXX) -mn -c -cpp -o$@ $(WIDGETS_CXXFLAGS) .\radiobox.cpp
-+$(OBJS)\widgets_searchctrl.obj : .\searchctrl.cpp
-+      $(CXX) -mn -c -cpp -o$@ $(WIDGETS_CXXFLAGS) .\searchctrl.cpp
-+
- $(OBJS)\widgets_slider.obj : .\slider.cpp
-       $(CXX) -mn -c -cpp -o$@ $(WIDGETS_CXXFLAGS) .\slider.cpp
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.dms wxWidgets-2006-12-17/samples/widgets/makefile.dms
---- wxWidgets-2.8.0/samples/widgets/makefile.dms       2006-12-11 22:50:56.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.dms  2006-12-17 05:58:03.000000000 +0100
-@@ -184,7 +184,7 @@
- LIBDIRNAME = .\..\..\lib\dmc_$(LIBTYPE_SUFFIX)$(CFG)
- SETUPHDIR = $(LIBDIRNAME)\$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)
- WIDGETS_CXXFLAGS =  $(__DEBUGINFO_0) $(__OPTIMIZEFLAG_2)  $(__RUNTIME_LIBS_5)   -D_WIN32_WINNT=0x0400 -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__MSLU_DEFINE_p) $(__GFXCTX_DEFINE_p) -I$(SETUPHDIR) -I.\..\..\include -w- -I. $(__DLLFLAG_p) -WA -I.\..\..\samples -DNOPCH  $(__RTTIFLAG_6) $(__EXCEPTIONSFLAG_7) $(CPPFLAGS) $(CXXFLAGS)
--WIDGETS_OBJECTS =  $(OBJS)\widgets_bmpcombobox.obj $(OBJS)\widgets_button.obj $(OBJS)\widgets_checkbox.obj $(OBJS)\widgets_clrpicker.obj $(OBJS)\widgets_combobox.obj $(OBJS)\widgets_datepick.obj $(OBJS)\widgets_dirctrl.obj $(OBJS)\widgets_dirpicker.obj $(OBJS)\widgets_filepicker.obj $(OBJS)\widgets_fontpicker.obj $(OBJS)\widgets_gauge.obj $(OBJS)\widgets_hyperlnk.obj $(OBJS)\widgets_listbox.obj $(OBJS)\widgets_notebook.obj $(OBJS)\widgets_odcombobox.obj $(OBJS)\widgets_radiobox.obj $(OBJS)\widgets_slider.obj $(OBJS)\widgets_spinbtn.obj $(OBJS)\widgets_static.obj $(OBJS)\widgets_textctrl.obj $(OBJS)\widgets_toggle.obj $(OBJS)\widgets_widgets.obj
-+WIDGETS_OBJECTS =  $(OBJS)\widgets_bmpcombobox.obj $(OBJS)\widgets_button.obj $(OBJS)\widgets_checkbox.obj $(OBJS)\widgets_clrpicker.obj $(OBJS)\widgets_combobox.obj $(OBJS)\widgets_datepick.obj $(OBJS)\widgets_dirctrl.obj $(OBJS)\widgets_dirpicker.obj $(OBJS)\widgets_filepicker.obj $(OBJS)\widgets_fontpicker.obj $(OBJS)\widgets_gauge.obj $(OBJS)\widgets_hyperlnk.obj $(OBJS)\widgets_listbox.obj $(OBJS)\widgets_notebook.obj $(OBJS)\widgets_odcombobox.obj $(OBJS)\widgets_radiobox.obj $(OBJS)\widgets_searchctrl.obj $(OBJS)\widgets_slider.obj $(OBJS)\widgets_spinbtn.obj $(OBJS)\widgets_static.obj $(OBJS)\widgets_textctrl.obj $(OBJS)\widgets_toggle.obj $(OBJS)\widgets_widgets.obj
- all : $(OBJS)
-@@ -254,6 +254,9 @@
- $(OBJS)\widgets_radiobox.obj :  .\radiobox.cpp
-       $(CXX) -mn -c -cpp -o$@ $(WIDGETS_CXXFLAGS) .\radiobox.cpp
-+$(OBJS)\widgets_searchctrl.obj :  .\searchctrl.cpp
-+      $(CXX) -mn -c -cpp -o$@ $(WIDGETS_CXXFLAGS) .\searchctrl.cpp
-+
- $(OBJS)\widgets_slider.obj :  .\slider.cpp
-       $(CXX) -mn -c -cpp -o$@ $(WIDGETS_CXXFLAGS) .\slider.cpp
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.gcc wxWidgets-2006-12-17/samples/widgets/makefile.gcc
---- wxWidgets-2.8.0/samples/widgets/makefile.gcc       2006-12-11 22:50:09.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.gcc  2006-12-17 05:57:42.000000000 +0100
-@@ -43,6 +43,7 @@
-       $(OBJS)\widgets_notebook.o \
-       $(OBJS)\widgets_odcombobox.o \
-       $(OBJS)\widgets_radiobox.o \
-+      $(OBJS)\widgets_searchctrl.o \
-       $(OBJS)\widgets_slider.o \
-       $(OBJS)\widgets_spinbtn.o \
-       $(OBJS)\widgets_static.o \
-@@ -300,6 +301,9 @@
- $(OBJS)\widgets_radiobox.o: ./radiobox.cpp
-       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
-+$(OBJS)\widgets_searchctrl.o: ./searchctrl.cpp
-+      $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
-+
- $(OBJS)\widgets_slider.o: ./slider.cpp
-       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/Makefile.in wxWidgets-2006-12-17/samples/widgets/Makefile.in
---- wxWidgets-2.8.0/samples/widgets/Makefile.in        2006-12-11 22:50:19.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/Makefile.in   2006-12-17 05:57:47.000000000 +0100
-@@ -66,6 +66,7 @@
-       widgets_notebook.o \
-       widgets_odcombobox.o \
-       widgets_radiobox.o \
-+      widgets_searchctrl.o \
-       widgets_slider.o \
-       widgets_spinbtn.o \
-       widgets_static.o \
-@@ -262,6 +263,9 @@
- widgets_radiobox.o: $(srcdir)/radiobox.cpp
-       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/radiobox.cpp
-+widgets_searchctrl.o: $(srcdir)/searchctrl.cpp
-+      $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/searchctrl.cpp
-+
- widgets_slider.o: $(srcdir)/slider.cpp
-       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/slider.cpp
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.unx wxWidgets-2006-12-17/samples/widgets/makefile.unx
---- wxWidgets-2.8.0/samples/widgets/makefile.unx       2006-12-11 22:50:09.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.unx  2006-12-17 05:57:42.000000000 +0100
-@@ -55,6 +55,7 @@
-       widgets_notebook.o \
-       widgets_odcombobox.o \
-       widgets_radiobox.o \
-+      widgets_searchctrl.o \
-       widgets_slider.o \
-       widgets_spinbtn.o \
-       widgets_static.o \
-@@ -130,6 +131,9 @@
- widgets_radiobox.o: ./radiobox.cpp
-       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
-+widgets_searchctrl.o: ./searchctrl.cpp
-+      $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
-+
- widgets_slider.o: ./slider.cpp
-       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.vc wxWidgets-2006-12-17/samples/widgets/makefile.vc
---- wxWidgets-2.8.0/samples/widgets/makefile.vc        2006-12-11 22:50:09.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.vc   2006-12-17 05:57:42.000000000 +0100
-@@ -43,6 +43,7 @@
-       $(OBJS)\widgets_notebook.obj \
-       $(OBJS)\widgets_odcombobox.obj \
-       $(OBJS)\widgets_radiobox.obj \
-+      $(OBJS)\widgets_searchctrl.obj \
-       $(OBJS)\widgets_slider.obj \
-       $(OBJS)\widgets_spinbtn.obj \
-       $(OBJS)\widgets_static.obj \
-@@ -382,6 +383,9 @@
- $(OBJS)\widgets_radiobox.obj: .\radiobox.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
-+$(OBJS)\widgets_searchctrl.obj: .\searchctrl.cpp
-+      $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
-+
- $(OBJS)\widgets_slider.obj: .\slider.cpp
-       $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/makefile.wat wxWidgets-2006-12-17/samples/widgets/makefile.wat
---- wxWidgets-2.8.0/samples/widgets/makefile.wat       2006-12-11 22:50:09.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/makefile.wat  2006-12-17 05:57:42.000000000 +0100
-@@ -254,6 +254,7 @@
-       $(OBJS)\widgets_notebook.obj &
-       $(OBJS)\widgets_odcombobox.obj &
-       $(OBJS)\widgets_radiobox.obj &
-+      $(OBJS)\widgets_searchctrl.obj &
-       $(OBJS)\widgets_slider.obj &
-       $(OBJS)\widgets_spinbtn.obj &
-       $(OBJS)\widgets_static.obj &
-@@ -338,6 +339,9 @@
- $(OBJS)\widgets_radiobox.obj :  .AUTODEPEND .\radiobox.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
-+$(OBJS)\widgets_searchctrl.obj :  .AUTODEPEND .\searchctrl.cpp
-+      $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
-+
- $(OBJS)\widgets_slider.obj :  .AUTODEPEND .\slider.cpp
-       $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/searchctrl.cpp wxWidgets-2006-12-17/samples/widgets/searchctrl.cpp
---- wxWidgets-2.8.0/samples/widgets/searchctrl.cpp     1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/searchctrl.cpp        2006-12-17 05:57:42.000000000 +0100
-@@ -0,0 +1,225 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Program:     wxWidgets Widgets Sample
-+// Name:        searchctrl.cpp
-+// Purpose:     Shows wxSearchCtrl
-+// Author:      Robin Dunn
-+// Created:     9-Dec-2006
-+// Id:          $Id$
-+// Copyright:   (c) 2006 
-+// License:     wxWindows license
-+/////////////////////////////////////////////////////////////////////////////
-+
-+// ============================================================================
-+// declarations
-+// ============================================================================
-+
-+// ----------------------------------------------------------------------------
-+// headers
-+// ----------------------------------------------------------------------------
-+
-+// for compilers that support precompilation, includes "wx/wx.h".
-+#include "wx/wxprec.h"
-+
-+#ifdef __BORLANDC__
-+    #pragma hdrstop
-+#endif
-+
-+#if wxUSE_SEARCHCTRL
-+
-+// for all others, include the necessary headers
-+#ifndef WX_PRECOMP
-+    #include "wx/app.h"
-+    #include "wx/log.h"
-+    #include "wx/radiobox.h"
-+    #include "wx/statbox.h"
-+#endif
-+
-+#include "wx/artprov.h"
-+#include "wx/sizer.h"
-+#include "wx/stattext.h"
-+#include "wx/checkbox.h"
-+#include "wx/menu.h"
-+
-+#include "wx/srchctrl.h"
-+
-+#include "widgets.h"
-+
-+#include "icons/text.xpm"
-+
-+// ----------------------------------------------------------------------------
-+// constants
-+// ----------------------------------------------------------------------------
-+
-+// control ids
-+enum
-+{
-+     ID_SEARCH_CB = wxID_HIGHEST,
-+     ID_CANCEL_CB,
-+     ID_MENU_CB,
-+
-+     ID_SEARCHMENU
-+};
-+
-+
-+// ----------------------------------------------------------------------------
-+// ColourPickerWidgetsPage
-+// ----------------------------------------------------------------------------
-+
-+class SearchCtrlWidgetsPage : public WidgetsPage
-+{
-+public:
-+    SearchCtrlWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
-+    virtual ~SearchCtrlWidgetsPage(){};
-+
-+    virtual wxControl *GetWidget() const { return m_srchCtrl; }
-+    virtual void RecreateWidget() { CreateControl(); }
-+
-+    // lazy creation of the content
-+    virtual void CreateContent();
-+
-+protected:
-+
-+    void OnToggleSearchButton(wxCommandEvent&);
-+    void OnToggleCancelButton(wxCommandEvent&);
-+    void OnToggleSearchMenu(wxCommandEvent&);
-+
-+    wxMenu* CreateTestMenu();
-+    
-+    // (re)create the control
-+    void CreateControl();
-+
-+    // reset the control parameters
-+    void Reset();
-+    
-+    
-+    wxSearchCtrl*       m_srchCtrl;
-+    wxCheckBox*         m_searchBtnCheck;
-+    wxCheckBox*         m_cancelBtnCheck;
-+    wxCheckBox*         m_menuBtnCheck;
-+
-+private:
-+    DECLARE_EVENT_TABLE()
-+    DECLARE_WIDGETS_PAGE(SearchCtrlWidgetsPage)
-+};
-+
-+// ----------------------------------------------------------------------------
-+// event tables
-+// ----------------------------------------------------------------------------
-+
-+BEGIN_EVENT_TABLE(SearchCtrlWidgetsPage, WidgetsPage)
-+    EVT_CHECKBOX(ID_SEARCH_CB, SearchCtrlWidgetsPage::OnToggleSearchButton)
-+    EVT_CHECKBOX(ID_CANCEL_CB, SearchCtrlWidgetsPage::OnToggleCancelButton)
-+    EVT_CHECKBOX(ID_MENU_CB, SearchCtrlWidgetsPage::OnToggleSearchMenu)
-+END_EVENT_TABLE()
-+
-+// ============================================================================
-+// implementation
-+// ============================================================================
-+
-+#if defined(__WXMAC__)
-+    #define FAMILY_CTRLS NATIVE_CTRLS
-+#else
-+    #define FAMILY_CTRLS GENERIC_CTRLS
-+#endif
-+
-+IMPLEMENT_WIDGETS_PAGE(SearchCtrlWidgetsPage, _T("SearchCtrl"),
-+                       FAMILY_CTRLS | EDITABLE_CTRLS | ALL_CTRLS);
-+
-+SearchCtrlWidgetsPage::SearchCtrlWidgetsPage(WidgetsBookCtrl *book,
-+                                     wxImageList *imaglist)
-+                  : WidgetsPage(book, imaglist, text_xpm)
-+{
-+}
-+
-+void SearchCtrlWidgetsPage::CreateContent()
-+{
-+    m_srchCtrl = NULL;
-+
-+    Reset();
-+    CreateControl();
-+
-+
-+    wxSizer* box = new wxStaticBoxSizer(
-+        new wxStaticBox(this, -1, wxT("Options")),
-+        wxVERTICAL);
-+
-+    m_searchBtnCheck = new wxCheckBox(this, ID_SEARCH_CB, wxT("Search button"));
-+    m_cancelBtnCheck = new wxCheckBox(this, ID_CANCEL_CB, wxT("Cancel button"));
-+    m_menuBtnCheck   = new wxCheckBox(this, ID_MENU_CB,   wxT("Search menu"));
-+
-+    m_searchBtnCheck->SetValue(true);
-+    
-+    box->Add(m_searchBtnCheck, 0, wxALL, 5);
-+    box->Add(m_cancelBtnCheck, 0, wxALL, 5);
-+    box->Add(m_menuBtnCheck,   0, wxALL, 5);
-+
-+    wxSizer* sizer = new wxBoxSizer(wxHORIZONTAL);
-+    sizer->Add(box, 0,  wxALL|wxEXPAND, 15);
-+    sizer->Add(m_srchCtrl, 0, wxALL|wxALIGN_CENTER, 15);
-+
-+    SetSizer(sizer);
-+}
-+
-+void SearchCtrlWidgetsPage::CreateControl()
-+{
-+    if (m_srchCtrl)
-+        m_srchCtrl->Destroy();
-+
-+    int style = 0;
-+    
-+    m_srchCtrl = new wxSearchCtrl(this, -1, wxEmptyString, wxDefaultPosition,
-+                                  wxSize(150, -1), style);
-+}
-+
-+void SearchCtrlWidgetsPage::Reset()
-+{    
-+}
-+
-+
-+wxMenu* SearchCtrlWidgetsPage::CreateTestMenu()
-+{
-+    wxMenu* menu = new wxMenu;
-+    const int SEARCH_MENU_SIZE = 5;
-+    wxMenuItem* menuItem = menu->Append(wxID_ANY, _T("Recent Searches"), wxT(""), wxITEM_NORMAL);
-+    menuItem->Enable(false);
-+    for ( int i = 0; i < SEARCH_MENU_SIZE; i++ )
-+    {
-+        wxString itemText = wxString::Format(wxT("item %i"),i);
-+        wxString tipText = wxString::Format(wxT("tip %i"),i);
-+        menu->Append(ID_SEARCHMENU+i, itemText, tipText, wxITEM_NORMAL);
-+    }
-+//     target->Connect( 
-+//         ID_SEARCHMENU,
-+//         ID_SEARCHMENU+SEARCH_MENU_SIZE,
-+//         wxEVT_COMMAND_MENU_SELECTED,
-+//         wxCommandEventHandler(MySearchCtrl::OnSearchMenu)
-+//         );
-+    return menu;
-+}
-+
-+
-+// ----------------------------------------------------------------------------
-+// event handlers
-+// ----------------------------------------------------------------------------
-+
-+void SearchCtrlWidgetsPage::OnToggleSearchButton(wxCommandEvent&)
-+{
-+    m_srchCtrl->ShowSearchButton( m_searchBtnCheck->GetValue() );
-+}
-+
-+void SearchCtrlWidgetsPage::OnToggleCancelButton(wxCommandEvent&)
-+{
-+    m_srchCtrl->ShowCancelButton( m_cancelBtnCheck->GetValue() );
-+        
-+}
-+
-+void SearchCtrlWidgetsPage::OnToggleSearchMenu(wxCommandEvent&)
-+{
-+    if ( m_menuBtnCheck->GetValue() )
-+        m_srchCtrl->SetMenu( CreateTestMenu() );
-+    else
-+        m_srchCtrl->SetMenu(NULL);
-+}
-+
-+
-+#endif  //  wxUSE_SEARCHCTRL
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/widgets.bkl wxWidgets-2006-12-17/samples/widgets/widgets.bkl
---- wxWidgets-2.8.0/samples/widgets/widgets.bkl        2006-12-11 22:50:10.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/widgets.bkl   2006-12-17 05:57:42.000000000 +0100
-@@ -1,5 +1,5 @@
- <?xml version="1.0" ?>
--<!-- $Id$ -->
-+<!-- $Id$ -->
- <makefile>
-     <include file="../../build/bakefiles/common_samples.bkl"/>
-@@ -22,6 +22,7 @@
-             notebook.cpp
-             odcombobox.cpp
-             radiobox.cpp
-+            searchctrl.cpp
-             slider.cpp
-             spinbtn.cpp
-             static.cpp
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/widgets.dsp wxWidgets-2006-12-17/samples/widgets/widgets.dsp
---- wxWidgets-2.8.0/samples/widgets/widgets.dsp        2006-12-11 22:50:41.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/widgets.dsp   2006-12-17 05:57:56.000000000 +0100
-@@ -536,6 +536,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\searchctrl.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\slider.cpp
- # End Source File
- # Begin Source File
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/samples/widgets/widgets.vcp wxWidgets-2006-12-17/samples/widgets/widgets.vcp
---- wxWidgets-2.8.0/samples/widgets/widgets.vcp        2006-12-11 22:50:49.000000000 +0100
-+++ wxWidgets-2006-12-17/samples/widgets/widgets.vcp   2006-12-17 05:58:01.000000000 +0100
-@@ -1882,6 +1882,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\searchctrl.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\slider.cpp
- # End Source File
- # Begin Source File
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/setup.h.in wxWidgets-2006-12-17/setup.h.in
---- wxWidgets-2.8.0/setup.h.in 2006-12-11 22:49:40.000000000 +0100
-+++ wxWidgets-2006-12-17/setup.h.in    2006-12-17 05:57:31.000000000 +0100
-@@ -125,9 +125,6 @@
- #undef __WINDOWS__
- #endif
--#ifndef __WIN95__
--#undef __WIN95__
--#endif
- #ifndef __WIN32__
- #undef __WIN32__
- #endif
-@@ -332,6 +329,7 @@
- #define wxUSE_RADIOBOX      0
- #define wxUSE_RADIOBTN      0
- #define wxUSE_SCROLLBAR     0
-+#define wxUSE_SEARCHCTRL    0
- #define wxUSE_SLIDER        0
- #define wxUSE_SPINBTN       0
- #define wxUSE_SPINCTRL      0
-@@ -540,13 +538,13 @@
- /* for some features we don't have dedicated configure switches, so just choose
-  * the common values automatically */
--#if (defined(__WIN95__) && !defined(__WXUNIVERSAL__)) || defined(__WXPM__)
-+#if (defined(__WIN32__) && !defined(__WXUNIVERSAL__)) || defined(__WXPM__)
- #define wxUSE_OWNER_DRAWN 1
- #else
- #define wxUSE_OWNER_DRAWN 0
- #endif
--#if defined(__WIN95__) && !defined(__WINE__) && !defined(__GNUWIN32_OLD__)
-+#if defined(__WIN32__) && !defined(__WINE__) && !defined(__GNUWIN32_OLD__)
- #define wxUSE_RICHEDIT 1
- #define wxUSE_RICHEDIT2 1
- #else
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/common/filename.cpp wxWidgets-2006-12-17/src/common/filename.cpp
---- wxWidgets-2.8.0/src/common/filename.cpp    2006-12-11 22:49:46.000000000 +0100
-+++ wxWidgets-2006-12-17/src/common/filename.cpp       2006-12-17 05:57:32.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Robert Roebling, Vadim Zeitlin
- // Modified by:
- // Created:     28.12.2000
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2000 Robert Roebling
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -427,7 +427,7 @@
-     // always recognize fullpath as directory, even if it doesn't end with a
-     // slash
-     wxString fullpath = fullpathOrig;
--    if ( !wxEndsWithPathSeparator(fullpath) )
-+    if ( !fullpath.empty() && !wxEndsWithPathSeparator(fullpath) )
-     {
-         fullpath += GetPathSeparator(format);
-     }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/common/init.cpp wxWidgets-2006-12-17/src/common/init.cpp
---- wxWidgets-2.8.0/src/common/init.cpp        2006-12-11 22:49:47.000000000 +0100
-+++ wxWidgets-2006-12-17/src/common/init.cpp   2006-12-17 05:57:32.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:     04.10.99
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Vadim Zeitlin
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -176,14 +176,23 @@
- static void ConvertArgsToUnicode(int argc, char **argv)
- {
-     gs_initData.argv = new wchar_t *[argc + 1];
-+    int wargc = 0;
-     for ( int i = 0; i < argc; i++ )
-     {
-         wxWCharBuffer buf(wxConvLocal.cMB2WX(argv[i]));
--        gs_initData.argv[i] = buf ? wxStrdup(buf) : NULL;
-+        if ( !buf )
-+        {
-+            wxLogWarning(_("Command line argument %d couldn't be converted to Unicode and will be ignored."),
-+                         i);
-+        }
-+        else // converted ok
-+        {
-+            gs_initData.argv[wargc++] = wxStrdup(buf);
-+        }
-     }
--    gs_initData.argc = argc;
--    gs_initData.argv[argc] = NULL;
-+    gs_initData.argc = wargc;
-+    gs_initData.argv[wargc] = NULL;
- }
- static void FreeConvertedArgs()
-@@ -320,7 +329,7 @@
- {
-     ConvertArgsToUnicode(argc, argv);
--    if ( !wxEntryStart(argc, gs_initData.argv) )
-+    if ( !wxEntryStart(gs_initData.argc, gs_initData.argv) )
-     {
-         FreeConvertedArgs();
-@@ -449,7 +458,7 @@
- {
-     ConvertArgsToUnicode(argc, argv);
--    return wxEntry(argc, gs_initData.argv);
-+    return wxEntry(gs_initData.argc, gs_initData.argv);
- }
- #endif // wxUSE_UNICODE
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/common/socketevtdispatch.cpp wxWidgets-2006-12-17/src/common/socketevtdispatch.cpp
---- wxWidgets-2.8.0/src/common/socketevtdispatch.cpp   1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/common/socketevtdispatch.cpp      2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,339 @@
-+///////////////////////////////////////////////////////////////////////////////
-+// Name:        src/common/socketevtdispatch.cpp
-+// Purpose:     implements wxSocketEventDispatcher for platforms with no
-+//              socket events notification
-+// Author:      Angel Vidal
-+// Modified by:
-+// Created:     08.24.06
-+// RCS-ID:      $Id$
-+// Copyright:   (c) 2006 Angel vidal
-+// License:     wxWindows licence
-+///////////////////////////////////////////////////////////////////////////////
-+
-+// ============================================================================
-+// declarations
-+// ============================================================================
-+
-+// ----------------------------------------------------------------------------
-+// headers
-+// ----------------------------------------------------------------------------
-+
-+// for compilers that support precompilation, includes "wx.h".
-+#include "wx/wxprec.h"
-+
-+#if wxUSE_SOCKETS
-+
-+#include "wx/private/socketevtdispatch.h"
-+#include "wx/module.h"
-+#include "wx/unix/private.h"
-+#include "wx/gsocket.h"
-+#include "wx/unix/gsockunx.h"
-+
-+#ifndef WX_PRECOMP
-+    #include "wx/hash.h"
-+#endif
-+
-+#include <sys/time.h>
-+#include <unistd.h>
-+
-+#ifdef HAVE_SYS_SELECT_H
-+#   include <sys/select.h>
-+#endif
-+
-+// ============================================================================
-+// implementation
-+// ============================================================================
-+
-+// ----------------------------------------------------------------------------
-+// wxSocketEventDispatcherEntry
-+// ----------------------------------------------------------------------------
-+
-+class wxSocketEventDispatcherEntry: public wxObject
-+{
-+  public:
-+    wxSocketEventDispatcherEntry()
-+    {
-+        m_fdInput = -1; m_fdOutput = -1;
-+        m_socket = NULL;
-+    }
-+
-+    int m_fdInput;
-+    int m_fdOutput;
-+    GSocket* m_socket;
-+};
-+
-+// ----------------------------------------------------------------------------
-+// wxSocketEventDispatcher
-+// ----------------------------------------------------------------------------
-+
-+wxSocketEventDispatcher* wxSocketEventDispatcher::ms_instance = NULL;
-+
-+/* static */
-+wxSocketEventDispatcher& wxSocketEventDispatcher::Get()
-+{
-+    if ( !ms_instance )
-+        ms_instance = new wxSocketEventDispatcher;
-+    return *ms_instance;
-+}
-+
-+wxSocketEventDispatcherEntry* wxSocketEventDispatcher::FindEntry(int fd)
-+{
-+    wxSocketEventDispatcherEntry* entry =
-+        (wxSocketEventDispatcherEntry*) wxHashTable::Get(fd);
-+    return entry;
-+}
-+
-+void
-+wxSocketEventDispatcher::RegisterCallback(int fd,
-+                                          wxSocketEventDispatcherType socketType,
-+                                          GSocket* socket)
-+{
-+    wxSocketEventDispatcherEntry* entry = FindEntry(fd);
-+    if (!entry)
-+    {
-+        entry = new wxSocketEventDispatcherEntry();
-+        Put(fd, entry);
-+    }
-+
-+    if (socketType == wxSocketEventDispatcherInput)
-+        entry->m_fdInput = fd;
-+    else
-+        entry->m_fdOutput = fd;
-+
-+    entry->m_socket = socket;
-+}
-+
-+void
-+wxSocketEventDispatcher::UnregisterCallback(int fd,
-+                                            wxSocketEventDispatcherType socketType)
-+{
-+    wxSocketEventDispatcherEntry* entry = FindEntry(fd);
-+    if (entry)
-+    {
-+        if (socketType == wxSocketEventDispatcherInput)
-+            entry->m_fdInput = -1;
-+        else
-+            entry->m_fdOutput = -1;
-+
-+        if (entry->m_fdInput == -1 && entry->m_fdOutput == -1)
-+        {
-+            entry->m_socket = NULL;
-+            Delete(fd);
-+            delete entry;
-+        }
-+    }
-+}
-+
-+int wxSocketEventDispatcher::FillSets(fd_set* readset, fd_set* writeset)
-+{
-+    int max_fd = 0;
-+
-+    wxFD_ZERO(readset);
-+    wxFD_ZERO(writeset);
-+
-+    BeginFind();
-+    wxHashTable::compatibility_iterator node = Next();
-+    while (node)
-+    {
-+        wxSocketEventDispatcherEntry* entry =
-+            (wxSocketEventDispatcherEntry*) node->GetData();
-+
-+        if (entry->m_fdInput != -1)
-+        {
-+            wxFD_SET(entry->m_fdInput, readset);
-+            if (entry->m_fdInput > max_fd)
-+              max_fd = entry->m_fdInput;
-+        }
-+
-+        if (entry->m_fdOutput != -1)
-+        {
-+            wxFD_SET(entry->m_fdOutput, writeset);
-+            if (entry->m_fdOutput > max_fd)
-+                max_fd = entry->m_fdOutput;
-+        }
-+
-+        node = Next();
-+    }
-+
-+    return max_fd;
-+}
-+
-+void wxSocketEventDispatcher::AddEvents(fd_set* readset, fd_set* writeset)
-+{
-+    BeginFind();
-+    wxHashTable::compatibility_iterator node = Next();
-+    while (node)
-+    {
-+        // We have to store the next node here, because the event processing can 
-+        // destroy the object before we call Next()
-+
-+        wxHashTable::compatibility_iterator next_node = Next();       
-+
-+        wxSocketEventDispatcherEntry* entry =
-+            (wxSocketEventDispatcherEntry*) node->GetData();
-+
-+        wxCHECK_RET(entry->m_socket, wxT("Critical: Processing a NULL socket in wxSocketEventDispatcher"));
-+
-+        if (entry->m_fdInput != -1 && wxFD_ISSET(entry->m_fdInput, readset))
-+            entry->m_socket->Detected_Read();
-+
-+        if (entry->m_fdOutput != -1 && wxFD_ISSET(entry->m_fdOutput, writeset))
-+            entry->m_socket->Detected_Write();;
-+
-+        node = next_node;
-+    }
-+}
-+
-+void wxSocketEventDispatcher::RunLoop(int timeout)
-+{
-+    struct timeval tv;
-+    tv.tv_sec = 0;
-+    tv.tv_usec = timeout;
-+    fd_set readset;
-+    fd_set writeset;
-+
-+    int max_fd = FillSets( &readset, &writeset);
-+    if (select( max_fd+1, &readset, &writeset, NULL, &tv ) == 0)
-+    {
-+      // No socket input/output. Don't add events.
-+      return;
-+    }
-+    else
-+    {
-+      AddEvents(&readset, &writeset);
-+    }
-+}
-+
-+// ----------------------------------------------------------------------------
-+// wxSocketEventDispatcherModule
-+// ----------------------------------------------------------------------------
-+
-+class wxSocketEventDispatcherModule: public wxModule
-+{
-+public:
-+    bool OnInit() { return true; }
-+    void OnExit() { wxDELETE(wxSocketEventDispatcher::ms_instance); }
-+
-+private:
-+    DECLARE_DYNAMIC_CLASS(wxSocketEventDispatcherModule)
-+};
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxSocketEventDispatcherModule, wxModule)
-+
-+
-+// ----------------------------------------------------------------------------
-+// GSocket interface
-+// ----------------------------------------------------------------------------
-+
-+bool GSocketGUIFunctionsTableConcrete::CanUseEventLoop()
-+{
-+    return true;
-+}
-+
-+bool GSocketGUIFunctionsTableConcrete::OnInit(void)
-+{
-+    return 1;
-+}
-+
-+void GSocketGUIFunctionsTableConcrete::OnExit(void)
-+{
-+}
-+
-+bool GSocketGUIFunctionsTableConcrete::Init_Socket(GSocket *socket)
-+{
-+  int *m_id;
-+
-+  socket->m_gui_dependent = (char *)malloc(sizeof(int)*2);
-+  m_id = (int *)(socket->m_gui_dependent);
-+
-+  m_id[0] = -1;
-+  m_id[1] = -1;
-+
-+  return true;
-+}
-+
-+void GSocketGUIFunctionsTableConcrete::Destroy_Socket(GSocket *socket)
-+{
-+  free(socket->m_gui_dependent);
-+}
-+
-+void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket,
-+                                                        GSocketEvent event)
-+{
-+  int *m_id = (int *)(socket->m_gui_dependent);
-+  int c;
-+
-+  if (socket->m_fd == -1)
-+    return;
-+
-+  switch (event)
-+  {
-+    case GSOCK_LOST:       /* fall-through */
-+    case GSOCK_INPUT:      c = 0; break;
-+    case GSOCK_OUTPUT:     c = 1; break;
-+    case GSOCK_CONNECTION: c = ((socket->m_server) ? 0 : 1); break;
-+    default: return;
-+  }
-+
-+#if 0
-+  if (m_id[c] != -1)
-+      XtRemoveInput(m_id[c]);
-+#endif /* 0 */
-+
-+  if (c == 0)
-+  {
-+      m_id[0] = socket->m_fd;
-+
-+      wxSocketEventDispatcher::Get().RegisterCallback(
-+              socket->m_fd, wxSocketEventDispatcherInput, socket);
-+  }
-+  else
-+  {
-+      m_id[1] = socket->m_fd;
-+
-+      wxSocketEventDispatcher::Get().RegisterCallback(
-+              socket->m_fd, wxSocketEventDispatcherOutput, socket);
-+  }
-+}
-+
-+void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket,
-+                                                          GSocketEvent event)
-+{
-+  int *m_id = (int *)(socket->m_gui_dependent);
-+  int c;
-+
-+  switch (event)
-+  {
-+    case GSOCK_LOST:       /* fall-through */
-+    case GSOCK_INPUT:      c = 0; break;
-+    case GSOCK_OUTPUT:     c = 1; break;
-+    case GSOCK_CONNECTION: c = ((socket->m_server) ? 0 : 1); break;
-+    default: return;
-+  }
-+
-+  if (m_id[c] != -1)
-+  {
-+      if (c == 0)
-+          wxSocketEventDispatcher::Get().UnregisterCallback(
-+                  m_id[c], wxSocketEventDispatcherInput);
-+      else
-+          wxSocketEventDispatcher::Get().UnregisterCallback(
-+                  m_id[c], wxSocketEventDispatcherOutput);
-+  }
-+
-+  m_id[c] = -1;
-+}
-+
-+void GSocketGUIFunctionsTableConcrete::Enable_Events(GSocket *socket)
-+{
-+  Install_Callback(socket, GSOCK_INPUT);
-+  Install_Callback(socket, GSOCK_OUTPUT);
-+}
-+
-+void GSocketGUIFunctionsTableConcrete::Disable_Events(GSocket *socket)
-+{
-+  Uninstall_Callback(socket, GSOCK_INPUT);
-+  Uninstall_Callback(socket, GSOCK_OUTPUT);
-+}
-+
-+#endif // wxUSE_SOCKETS
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/common/srchcmn.cpp wxWidgets-2006-12-17/src/common/srchcmn.cpp
---- wxWidgets-2.8.0/src/common/srchcmn.cpp     1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/common/srchcmn.cpp        2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,42 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        src/common/srchcmn.cpp
-+// Purpose:     common (to all ports) bits of wxSearchCtrl
-+// Author:      Robin Dunn
-+// Modified by:
-+// Created:     19-Dec-2006
-+// RCS-ID:      $Id$
-+// Copyright:   (c) wxWidgets team
-+// Licence:     wxWindows licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+// ============================================================================
-+// declarations
-+// ============================================================================
-+
-+// ----------------------------------------------------------------------------
-+// headers
-+// ----------------------------------------------------------------------------
-+
-+// For compilers that support precompilation, includes "wx.h".
-+#include "wx/wxprec.h"
-+
-+#ifdef __BORLANDC__
-+    #pragma hdrstop
-+#endif
-+
-+#if wxUSE_SEARCHCTRL
-+
-+#include "wx/srchctrl.h"
-+
-+#ifndef WX_PRECOMP
-+#endif
-+
-+// ----------------------------------------------------------------------------
-+
-+const wxChar wxSearchCtrlNameStr[] = wxT("searchCtrl");
-+
-+DEFINE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN)
-+DEFINE_EVENT_TYPE(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN)
-+
-+
-+#endif // wxUSE_SEARCHCTRL
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/generic/grid.cpp wxWidgets-2006-12-17/src/generic/grid.cpp
---- wxWidgets-2.8.0/src/generic/grid.cpp       2006-12-11 22:49:47.000000000 +0100
-+++ wxWidgets-2006-12-17/src/generic/grid.cpp  2006-12-17 05:57:33.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Michael Bedward (based on code by Julian Smart, Robin Dunn)
- // Modified by: Robin Dunn, Vadim Zeitlin, Santiago Palacios
- // Created:     1/08/1999
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Michael Bedward (mbedward@ozemail.com.au)
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -4623,6 +4623,33 @@
-     int cw, ch;
-     GetClientSize( &cw, &ch );
-+    // this block of code tries to work around the following problem: the grid
-+    // could have been just resized to have enough space to show the full grid
-+    // window contents without the scrollbars, but its client size could be
-+    // not big enough because the grid has the scrollbars right now and so the
-+    // scrollbars would remain even though we don't need them any more
-+    //
-+    // to prevent this from happening, check if we have enough space for
-+    // everything without the scrollbars and explicitly disable them then
-+    wxSize size = GetSize() - GetWindowBorderSize();
-+    if ( size != wxSize(cw, ch) )
-+    {
-+        // check if we have enough space for grid window after accounting for
-+        // the fixed size elements
-+        size.x -= m_rowLabelWidth;
-+        size.y -= m_colLabelHeight;
-+
-+        const wxSize vsize = m_gridWin->GetVirtualSize();
-+
-+        if ( size.x >= vsize.x && size.y >= vsize.y )
-+        {
-+            // yes, we do, so remove the scrollbars and use the new client size
-+            // (which should be the same as full window size - borders now)
-+            SetScrollbars(0, 0, 0, 0);
-+            GetClientSize(&cw, &ch);
-+        }
-+    }
-+
-     if ( m_cornerLabelWin && m_cornerLabelWin->IsShown() )
-         m_cornerLabelWin->SetSize( 0, 0, m_rowLabelWidth, m_colLabelHeight );
-@@ -10652,46 +10679,22 @@
- wxSize wxGrid::DoGetBestSize() const
- {
--    // don't set sizes, only calculate them
-     wxGrid *self = (wxGrid *)this;  // const_cast
--    int width, height;
--    width = self->SetOrCalcColumnSizes(true);
--    height = self->SetOrCalcRowSizes(true);
--
--    if (!width)
--        width = 100;
--    if (!height)
--        height = 80;
--
--    // Round up to a multiple the scroll rate
--    // NOTE: this still doesn't get rid of the scrollbars;
--    // is there any magic incantation for that?
--    int xpu, ypu;
--    GetScrollPixelsPerUnit(&xpu, &ypu);
--    if (xpu)
--        width  += 1 + xpu - (width  % xpu);
--    if (ypu)
--        height += 1 + ypu - (height % ypu);
--
--    // limit to 1/4 of the screen size
--    int maxwidth, maxheight;
--    wxDisplaySize( &maxwidth, &maxheight );
--    maxwidth /= 2;
--    maxheight /= 2;
--    if ( width > maxwidth )
--        width = maxwidth;
--    if ( height > maxheight )
--        height = maxheight;
--
--    wxSize best(width, height);
-+    // we do the same as in AutoSize() here with the exception that we don't
-+    // change the column/row sizes, only calculate them
-+    wxSize size(self->SetOrCalcColumnSizes(true) - m_rowLabelWidth + m_extraWidth,
-+                self->SetOrCalcRowSizes(true) - m_colLabelHeight + m_extraHeight);
-+    wxSize sizeFit(GetScrollX(size.x) * GetScrollLineX(),
-+                   GetScrollY(size.y) * GetScrollLineY());
-     // NOTE: This size should be cached, but first we need to add calls to
-     // InvalidateBestSize everywhere that could change the results of this
-     // calculation.
-     // CacheBestSize(size);
--    return best;
-+    return wxSize(sizeFit.x + m_rowLabelWidth, sizeFit.y + m_colLabelHeight)
-+            + GetWindowBorderSize();
- }
- void wxGrid::Fit()
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/generic/srchctlg.cpp wxWidgets-2006-12-17/src/generic/srchctlg.cpp
---- wxWidgets-2.8.0/src/generic/srchctlg.cpp   1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/generic/srchctlg.cpp      2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,1086 @@
-+///////////////////////////////////////////////////////////////////////////////
-+// Name:        src/generic/srchctlg.cpp
-+// Purpose:     implements wxSearchCtrl as a composite control
-+// Author:      Vince Harron
-+// Created:     2006-02-19
-+// RCS-ID:      $Id$
-+// Copyright:   Vince Harron
-+// License:     wxWindows licence
-+///////////////////////////////////////////////////////////////////////////////
-+
-+// For compilers that support precompilation, includes "wx.h".
-+#include "wx/wxprec.h"
-+
-+#ifdef __BORLANDC__
-+    #pragma hdrstop
-+#endif
-+
-+#if wxUSE_SEARCHCTRL
-+
-+#include "wx/srchctrl.h"
-+
-+#ifndef WX_PRECOMP
-+    #include "wx/button.h"
-+    #include "wx/dcclient.h"
-+    #include "wx/menu.h"
-+    #include "wx/dcmemory.h"
-+#endif //WX_PRECOMP
-+
-+#if !wxUSE_NATIVE_SEARCH_CONTROL
-+
-+#include "wx/image.h"
-+
-+#define WXMAX(a,b) ((a)>(b)?(a):(b))
-+
-+// ----------------------------------------------------------------------------
-+// constants
-+// ----------------------------------------------------------------------------
-+
-+// the margin between the text control and the search/cancel buttons
-+static const wxCoord MARGIN = 2;
-+
-+// border around all controls to compensate for wxSIMPLE_BORDER
-+#if defined(__WXMSW__)
-+static const wxCoord BORDER = 0;
-+static const wxCoord ICON_MARGIN = 2;
-+static const wxCoord ICON_OFFSET = 2;
-+#else
-+static const wxCoord BORDER = 2;
-+static const wxCoord ICON_MARGIN = 0;
-+static const wxCoord ICON_OFFSET = 0;
-+#endif
-+
-+// ----------------------------------------------------------------------------
-+// wxSearchTextCtrl: text control used by search control
-+// ----------------------------------------------------------------------------
-+
-+class wxSearchTextCtrl : public wxTextCtrl
-+{
-+public:
-+    wxSearchTextCtrl(wxSearchCtrl *search, const wxString& value, int style)
-+        : wxTextCtrl(search, wxID_ANY, value, wxDefaultPosition, wxDefaultSize,
-+                     style | wxNO_BORDER)
-+    {
-+        m_search = search;
-+
-+        // remove the default minsize, the searchctrl will have one instead
-+        SetSizeHints(wxDefaultCoord,wxDefaultCoord);
-+    }
-+
-+protected:
-+    void OnText(wxCommandEvent& eventText)
-+    {
-+        wxCommandEvent event(eventText);
-+        event.SetEventObject(m_search);
-+        event.SetId(m_search->GetId());
-+
-+        m_search->GetEventHandler()->ProcessEvent(event);
-+    }
-+
-+    void OnTextUrl(wxTextUrlEvent& eventText)
-+    {
-+        // copy constructor is disabled for some reason?
-+        //wxTextUrlEvent event(eventText);
-+        wxTextUrlEvent event(
-+            m_search->GetId(),
-+            eventText.GetMouseEvent(),
-+            eventText.GetURLStart(),
-+            eventText.GetURLEnd()
-+            );
-+        event.SetEventObject(m_search);
-+
-+        m_search->GetEventHandler()->ProcessEvent(event);
-+    }
-+
-+private:
-+    wxSearchCtrl* m_search;
-+
-+    DECLARE_EVENT_TABLE()
-+};
-+
-+BEGIN_EVENT_TABLE(wxSearchTextCtrl, wxTextCtrl)
-+    EVT_TEXT(wxID_ANY, wxSearchTextCtrl::OnText)
-+    EVT_TEXT_ENTER(wxID_ANY, wxSearchTextCtrl::OnText)
-+    EVT_TEXT_URL(wxID_ANY, wxSearchTextCtrl::OnTextUrl)
-+    EVT_TEXT_MAXLEN(wxID_ANY, wxSearchTextCtrl::OnText)
-+END_EVENT_TABLE()
-+
-+// ----------------------------------------------------------------------------
-+// wxSearchButton: search button used by search control
-+// ----------------------------------------------------------------------------
-+
-+class wxSearchButton : public wxControl
-+{
-+public:
-+    wxSearchButton(wxSearchCtrl *search, int eventType, const wxBitmap& bmp)
-+        : wxControl(search, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER),
-+          m_search(search),
-+          m_eventType(eventType),
-+          m_bmp(bmp)
-+    { }
-+
-+    void SetBitmapLabel(const wxBitmap& label) { m_bmp = label; }
-+
-+
-+protected:
-+    wxSize DoGetBestSize() const
-+    {
-+        return wxSize(m_bmp.GetWidth(), m_bmp.GetHeight());
-+    }
-+
-+    void OnLeftUp(wxMouseEvent&)
-+    {
-+        wxCommandEvent event(m_eventType, m_search->GetId());
-+        event.SetEventObject(m_search);
-+
-+        GetEventHandler()->ProcessEvent(event);
-+
-+        m_search->SetFocus();
-+
-+        if ( m_eventType == wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN )
-+        {
-+            // this happens automatically, just like on Mac OS X
-+            m_search->PopupSearchMenu();
-+        }
-+    }
-+
-+    void OnPaint(wxPaintEvent&)
-+    {
-+        wxPaintDC dc(this);
-+        dc.DrawBitmap(m_bmp, 0,0, true);
-+    }
-+
-+
-+private:
-+    wxSearchCtrl *m_search;
-+    wxEventType   m_eventType;
-+    wxBitmap      m_bmp;
-+
-+    DECLARE_EVENT_TABLE()
-+};
-+
-+BEGIN_EVENT_TABLE(wxSearchButton, wxControl)
-+    EVT_LEFT_UP(wxSearchButton::OnLeftUp)
-+    EVT_PAINT(wxSearchButton::OnPaint)
-+END_EVENT_TABLE()
-+
-+BEGIN_EVENT_TABLE(wxSearchCtrl, wxSearchCtrlBase)
-+    EVT_SEARCHCTRL_SEARCH_BTN(wxID_ANY, wxSearchCtrl::OnSearchButton)
-+    EVT_SET_FOCUS(wxSearchCtrl::OnSetFocus)
-+    EVT_SIZE(wxSearchCtrl::OnSize)
-+END_EVENT_TABLE()
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxSearchCtrl, wxSearchCtrlBase)
-+
-+// ============================================================================
-+// implementation
-+// ============================================================================
-+
-+// ----------------------------------------------------------------------------
-+// wxSearchCtrl creation
-+// ----------------------------------------------------------------------------
-+
-+// creation
-+// --------
-+
-+wxSearchCtrl::wxSearchCtrl()
-+{
-+    Init();
-+}
-+
-+wxSearchCtrl::wxSearchCtrl(wxWindow *parent, wxWindowID id,
-+           const wxString& value,
-+           const wxPoint& pos,
-+           const wxSize& size,
-+           long style,
-+           const wxValidator& validator,
-+           const wxString& name)
-+{
-+    Init();
-+
-+    Create(parent, id, value, pos, size, style, validator, name);
-+}
-+
-+void wxSearchCtrl::Init()
-+{
-+    m_text = 0;
-+    m_searchButton = 0;
-+    m_cancelButton = 0;
-+    m_menu = 0;
-+
-+    m_searchButtonVisible = true;
-+    m_cancelButtonVisible = false;
-+
-+    m_searchMenuBitmapUser = false;
-+    m_searchBitmapUser = false;
-+    m_cancelBitmapUser = false;
-+}
-+
-+bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id,
-+            const wxString& value,
-+            const wxPoint& pos,
-+            const wxSize& size,
-+            long style,
-+            const wxValidator& validator,
-+            const wxString& name)
-+{
-+#ifdef __WXGTK__
-+    if ( !wxTextCtrlBase::Create(parent, id, pos, size, wxSUNKEN_BORDER | style, validator, name) )
-+#else
-+    if ( !wxTextCtrlBase::Create(parent, id, pos, size, wxSIMPLE_BORDER | style, validator, name) )
-+#endif
-+    {
-+        return false;
-+    }
-+
-+    m_text = new wxSearchTextCtrl(this, value, style & ~wxBORDER_MASK);
-+
-+    wxSize sizeText = m_text->GetBestSize();
-+
-+    m_searchButton = new wxSearchButton(this,wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN,m_searchBitmap);
-+    m_cancelButton = new wxSearchButton(this,wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN,m_cancelBitmap);
-+
-+    SetForegroundColour( m_text->GetForegroundColour() );
-+    m_searchButton->SetForegroundColour( m_text->GetForegroundColour() );
-+    m_cancelButton->SetForegroundColour( m_text->GetForegroundColour() );
-+
-+    SetBackgroundColour( m_text->GetBackgroundColour() );
-+    m_searchButton->SetBackgroundColour( m_text->GetBackgroundColour() );
-+    m_cancelButton->SetBackgroundColour( m_text->GetBackgroundColour() );
-+
-+    RecalcBitmaps();
-+
-+    SetInitialSize(size);
-+    Move(pos);
-+    return true;
-+}
-+
-+wxSearchCtrl::~wxSearchCtrl()
-+{
-+    delete m_text;
-+    delete m_searchButton;
-+    delete m_cancelButton;
-+    delete m_menu;
-+}
-+
-+
-+// search control specific interfaces
-+void wxSearchCtrl::SetMenu( wxMenu* menu )
-+{
-+    if ( menu == m_menu )
-+    {
-+        // no change
-+        return;
-+    }
-+    bool hadMenu = (m_menu != NULL);
-+    delete m_menu;
-+    m_menu = menu;
-+
-+    if ( m_menu && !hadMenu )
-+    {
-+        m_searchButton->SetBitmapLabel(m_searchMenuBitmap);
-+        m_searchButton->Refresh();
-+        if ( !m_searchButtonVisible )
-+        {
-+            // adding the menu will force the search button to be visible
-+            wxRect rect = GetRect();
-+            LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight());
-+        }
-+    }
-+    else if ( !m_menu && hadMenu )
-+    {
-+        m_searchButton->SetBitmapLabel(m_searchBitmap);
-+        if ( m_searchButtonVisible )
-+        {
-+            m_searchButton->Refresh();
-+        }
-+        else
-+        {
-+            wxRect rect = GetRect();
-+            LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight());
-+        }
-+    }
-+}
-+
-+wxMenu* wxSearchCtrl::GetMenu()
-+{
-+    return m_menu;
-+}
-+
-+void wxSearchCtrl::ShowSearchButton( bool show )
-+{
-+    if ( m_searchButtonVisible == show )
-+    {
-+        // no change
-+        return;
-+    }
-+    m_searchButtonVisible = show;
-+    if ( m_searchButtonVisible )
-+    {
-+        RecalcBitmaps();
-+    }
-+
-+    wxRect rect = GetRect();
-+    LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight());
-+}
-+
-+bool wxSearchCtrl::IsSearchButtonVisible() const
-+{
-+    return m_searchButtonVisible;
-+}
-+
-+
-+void wxSearchCtrl::ShowCancelButton( bool show )
-+{
-+    if ( m_cancelButtonVisible == show )
-+    {
-+        // no change
-+        return;
-+    }
-+    m_cancelButtonVisible = show;
-+
-+    wxRect rect = GetRect();
-+    LayoutControls(0, 0, rect.GetWidth(), rect.GetHeight());
-+}
-+
-+bool wxSearchCtrl::IsCancelButtonVisible() const
-+{
-+    return m_cancelButtonVisible;
-+}
-+
-+
-+// ----------------------------------------------------------------------------
-+// geometry
-+// ----------------------------------------------------------------------------
-+
-+wxSize wxSearchCtrl::DoGetBestSize() const
-+{
-+    wxSize sizeText = m_text->GetBestSize();
-+    wxSize sizeSearch(0,0);
-+    wxSize sizeCancel(0,0);
-+    int searchMargin = 0;
-+    int cancelMargin = 0;
-+    if ( m_searchButtonVisible || m_menu )
-+    {
-+        sizeSearch = m_searchButton->GetBestSize();
-+        searchMargin = MARGIN;
-+    }
-+    if ( m_cancelButtonVisible )
-+    {
-+        sizeCancel = m_cancelButton->GetBestSize();
-+        cancelMargin = MARGIN;
-+    }
-+
-+    int horizontalBorder = 1 + ( sizeText.y - sizeText.y * 14 / 21 ) / 2;
-+
-+    // buttons are square and equal to the height of the text control
-+    int height = sizeText.y;
-+    return wxSize(sizeSearch.x + searchMargin + sizeText.x + cancelMargin + sizeCancel.x + 2*horizontalBorder,
-+                  height + 2*BORDER);
-+}
-+
-+void wxSearchCtrl::DoMoveWindow(int x, int y, int width, int height)
-+{
-+    wxSearchCtrlBase::DoMoveWindow(x, y, width, height);
-+
-+    LayoutControls(0, 0, width, height);
-+}
-+
-+void wxSearchCtrl::LayoutControls(int x, int y, int width, int height)
-+{
-+    if ( !m_text )
-+        return;
-+    
-+    wxSize sizeText = m_text->GetBestSize();
-+    // make room for the search menu & clear button
-+    int horizontalBorder = 1 + ( sizeText.y - sizeText.y * 14 / 21 ) / 2;
-+    x += horizontalBorder;
-+    y += BORDER;
-+    width -= horizontalBorder*2;
-+    height -= BORDER*2;
-+
-+    wxSize sizeSearch(0,0);
-+    wxSize sizeCancel(0,0);
-+    int searchMargin = 0;
-+    int cancelMargin = 0;
-+    if ( m_searchButtonVisible || m_menu )
-+    {
-+        sizeSearch = m_searchButton->GetBestSize();
-+        searchMargin = MARGIN;
-+    }
-+    if ( m_cancelButtonVisible )
-+    {
-+        sizeCancel = m_cancelButton->GetBestSize();
-+        cancelMargin = MARGIN;
-+    }
-+    m_searchButton->Show( m_searchButtonVisible || m_menu );
-+    m_cancelButton->Show( m_cancelButtonVisible );
-+
-+    if ( sizeSearch.x + sizeCancel.x > width )
-+    {
-+        sizeSearch.x = width/2;
-+        sizeCancel.x = width/2;
-+        searchMargin = 0;
-+        cancelMargin = 0;
-+    }
-+    wxCoord textWidth = width - sizeSearch.x - sizeCancel.x - searchMargin - cancelMargin;
-+
-+    // position the subcontrols inside the client area
-+
-+    m_searchButton->SetSize(x, y + ICON_OFFSET, sizeSearch.x, height);
-+    m_text->SetSize( x + sizeSearch.x + searchMargin, 
-+                     y + ICON_OFFSET - BORDER,
-+                     textWidth, 
-+                     height);
-+    m_cancelButton->SetSize(x + sizeSearch.x + searchMargin + textWidth + cancelMargin,
-+                            y + ICON_OFFSET, sizeCancel.x, height);
-+}
-+
-+
-+// accessors
-+// ---------
-+
-+wxString wxSearchCtrl::GetValue() const
-+{
-+    return m_text->GetValue();
-+}
-+void wxSearchCtrl::SetValue(const wxString& value)
-+{
-+    m_text->SetValue(value);
-+}
-+
-+wxString wxSearchCtrl::GetRange(long from, long to) const
-+{
-+    return m_text->GetRange(from, to);
-+}
-+
-+int wxSearchCtrl::GetLineLength(long lineNo) const
-+{
-+    return m_text->GetLineLength(lineNo);
-+}
-+wxString wxSearchCtrl::GetLineText(long lineNo) const
-+{
-+    return m_text->GetLineText(lineNo);
-+}
-+int wxSearchCtrl::GetNumberOfLines() const
-+{
-+    return m_text->GetNumberOfLines();
-+}
-+
-+bool wxSearchCtrl::IsModified() const
-+{
-+    return m_text->IsModified();
-+}
-+bool wxSearchCtrl::IsEditable() const
-+{
-+    return m_text->IsEditable();
-+}
-+
-+// more readable flag testing methods
-+bool wxSearchCtrl::IsSingleLine() const
-+{
-+    return m_text->IsSingleLine();
-+}
-+bool wxSearchCtrl::IsMultiLine() const
-+{
-+    return m_text->IsMultiLine();
-+}
-+
-+// If the return values from and to are the same, there is no selection.
-+void wxSearchCtrl::GetSelection(long* from, long* to) const
-+{
-+    m_text->GetSelection(from, to);
-+}
-+
-+wxString wxSearchCtrl::GetStringSelection() const
-+{
-+    return m_text->GetStringSelection();
-+}
-+
-+// operations
-+// ----------
-+
-+// editing
-+void wxSearchCtrl::Clear()
-+{
-+    m_text->Clear();
-+}
-+void wxSearchCtrl::Replace(long from, long to, const wxString& value)
-+{
-+    m_text->Replace(from, to, value);
-+}
-+void wxSearchCtrl::Remove(long from, long to)
-+{
-+    m_text->Remove(from, to);
-+}
-+
-+// load/save the controls contents from/to the file
-+bool wxSearchCtrl::LoadFile(const wxString& file)
-+{
-+    return m_text->LoadFile(file);
-+}
-+bool wxSearchCtrl::SaveFile(const wxString& file)
-+{
-+    return m_text->SaveFile(file);
-+}
-+
-+// sets/clears the dirty flag
-+void wxSearchCtrl::MarkDirty()
-+{
-+    m_text->MarkDirty();
-+}
-+void wxSearchCtrl::DiscardEdits()
-+{
-+    m_text->DiscardEdits();
-+}
-+
-+// set the max number of characters which may be entered in a single line
-+// text control
-+void wxSearchCtrl::SetMaxLength(unsigned long len)
-+{
-+    m_text->SetMaxLength(len);
-+}
-+
-+// writing text inserts it at the current position, appending always
-+// inserts it at the end
-+void wxSearchCtrl::WriteText(const wxString& text)
-+{
-+    m_text->WriteText(text);
-+}
-+void wxSearchCtrl::AppendText(const wxString& text)
-+{
-+    m_text->AppendText(text);
-+}
-+
-+// insert the character which would have resulted from this key event,
-+// return true if anything has been inserted
-+bool wxSearchCtrl::EmulateKeyPress(const wxKeyEvent& event)
-+{
-+    return m_text->EmulateKeyPress(event);
-+}
-+
-+// text control under some platforms supports the text styles: these
-+// methods allow to apply the given text style to the given selection or to
-+// set/get the style which will be used for all appended text
-+bool wxSearchCtrl::SetStyle(long start, long end, const wxTextAttr& style)
-+{
-+    return m_text->SetStyle(start, end, style);
-+}
-+bool wxSearchCtrl::GetStyle(long position, wxTextAttr& style)
-+{
-+    return m_text->GetStyle(position, style);
-+}
-+bool wxSearchCtrl::SetDefaultStyle(const wxTextAttr& style)
-+{
-+    return m_text->SetDefaultStyle(style);
-+}
-+const wxTextAttr& wxSearchCtrl::GetDefaultStyle() const
-+{
-+    return m_text->GetDefaultStyle();
-+}
-+
-+// translate between the position (which is just an index in the text ctrl
-+// considering all its contents as a single strings) and (x, y) coordinates
-+// which represent column and line.
-+long wxSearchCtrl::XYToPosition(long x, long y) const
-+{
-+    return m_text->XYToPosition(x, y);
-+}
-+bool wxSearchCtrl::PositionToXY(long pos, long *x, long *y) const
-+{
-+    return m_text->PositionToXY(pos, x, y);
-+}
-+
-+void wxSearchCtrl::ShowPosition(long pos)
-+{
-+    m_text->ShowPosition(pos);
-+}
-+
-+// find the character at position given in pixels
-+//
-+// NB: pt is in device coords (not adjusted for the client area origin nor
-+//     scrolling)
-+wxTextCtrlHitTestResult wxSearchCtrl::HitTest(const wxPoint& pt, long *pos) const
-+{
-+    return m_text->HitTest(pt, pos);
-+}
-+wxTextCtrlHitTestResult wxSearchCtrl::HitTest(const wxPoint& pt,
-+                                        wxTextCoord *col,
-+                                        wxTextCoord *row) const
-+{
-+    return m_text->HitTest(pt, col, row);
-+}
-+
-+// Clipboard operations
-+void wxSearchCtrl::Copy()
-+{
-+    m_text->Copy();
-+}
-+void wxSearchCtrl::Cut()
-+{
-+    m_text->Cut();
-+}
-+void wxSearchCtrl::Paste()
-+{
-+    m_text->Paste();
-+}
-+
-+bool wxSearchCtrl::CanCopy() const
-+{
-+    return m_text->CanCopy();
-+}
-+bool wxSearchCtrl::CanCut() const
-+{
-+    return m_text->CanCut();
-+}
-+bool wxSearchCtrl::CanPaste() const
-+{
-+    return m_text->CanPaste();
-+}
-+
-+// Undo/redo
-+void wxSearchCtrl::Undo()
-+{
-+    m_text->Undo();
-+}
-+void wxSearchCtrl::Redo()
-+{
-+    m_text->Redo();
-+}
-+
-+bool wxSearchCtrl::CanUndo() const
-+{
-+    return m_text->CanUndo();
-+}
-+bool wxSearchCtrl::CanRedo() const
-+{
-+    return m_text->CanRedo();
-+}
-+
-+// Insertion point
-+void wxSearchCtrl::SetInsertionPoint(long pos)
-+{
-+    m_text->SetInsertionPoint(pos);
-+}
-+void wxSearchCtrl::SetInsertionPointEnd()
-+{
-+    m_text->SetInsertionPointEnd();
-+}
-+long wxSearchCtrl::GetInsertionPoint() const
-+{
-+    return m_text->GetInsertionPoint();
-+}
-+wxTextPos wxSearchCtrl::GetLastPosition() const
-+{
-+    return m_text->GetLastPosition();
-+}
-+
-+void wxSearchCtrl::SetSelection(long from, long to)
-+{
-+    m_text->SetSelection(from, to);
-+}
-+void wxSearchCtrl::SelectAll()
-+{
-+    m_text->SelectAll();
-+}
-+
-+void wxSearchCtrl::SetEditable(bool editable)
-+{
-+    m_text->SetEditable(editable);
-+}
-+
-+bool wxSearchCtrl::SetFont(const wxFont& font)
-+{
-+    bool result = wxSearchCtrlBase::SetFont(font);
-+    if ( result && m_text )
-+    {
-+        result = m_text->SetFont(font);
-+    }
-+    RecalcBitmaps();
-+    return result;
-+}
-+
-+// search control generic only
-+void wxSearchCtrl::SetSearchBitmap( const wxBitmap& bitmap )
-+{
-+    m_searchBitmap = bitmap;
-+    m_searchBitmapUser = bitmap.Ok();
-+    if ( m_searchBitmapUser )
-+    {
-+        if ( m_searchButton && !m_menu )
-+        {
-+            m_searchButton->SetBitmapLabel( m_searchBitmap );
-+        }
-+    }
-+    else
-+    {
-+        // the user bitmap was just cleared, generate one
-+        RecalcBitmaps();
-+    }
-+}
-+
-+void wxSearchCtrl::SetSearchMenuBitmap( const wxBitmap& bitmap )
-+{
-+    m_searchMenuBitmap = bitmap;
-+    m_searchMenuBitmapUser = bitmap.Ok();
-+    if ( m_searchMenuBitmapUser )
-+    {
-+        if ( m_searchButton && m_menu )
-+        {
-+            m_searchButton->SetBitmapLabel( m_searchMenuBitmap );
-+        }
-+    }
-+    else
-+    {
-+        // the user bitmap was just cleared, generate one
-+        RecalcBitmaps();
-+    }
-+}
-+
-+void wxSearchCtrl::SetCancelBitmap( const wxBitmap& bitmap )
-+{
-+    m_cancelBitmap = bitmap;
-+    m_cancelBitmapUser = bitmap.Ok();
-+    if ( m_cancelBitmapUser )
-+    {
-+        if ( m_cancelButton )
-+        {
-+            m_cancelButton->SetBitmapLabel( m_cancelBitmap );
-+        }
-+    }
-+    else
-+    {
-+        // the user bitmap was just cleared, generate one
-+        RecalcBitmaps();
-+    }
-+}
-+
-+#if 0
-+
-+// override streambuf method
-+#if wxHAS_TEXT_WINDOW_STREAM
-+int overflow(int i);
-+#endif // wxHAS_TEXT_WINDOW_STREAM
-+
-+// stream-like insertion operators: these are always available, whether we
-+// were, or not, compiled with streambuf support
-+wxTextCtrl& operator<<(const wxString& s);
-+wxTextCtrl& operator<<(int i);
-+wxTextCtrl& operator<<(long i);
-+wxTextCtrl& operator<<(float f);
-+wxTextCtrl& operator<<(double d);
-+wxTextCtrl& operator<<(const wxChar c);
-+#endif
-+
-+void wxSearchCtrl::DoSetValue(const wxString& value, int flags)
-+{
-+    m_text->ChangeValue( value );
-+    if ( flags & SetValue_SendEvent )
-+        SendTextUpdatedEvent();
-+}
-+
-+// do the window-specific processing after processing the update event
-+void wxSearchCtrl::DoUpdateWindowUI(wxUpdateUIEvent& event)
-+{
-+    wxSearchCtrlBase::DoUpdateWindowUI(event);
-+}
-+
-+bool wxSearchCtrl::ShouldInheritColours() const
-+{
-+    return true;
-+}
-+
-+// icons are rendered at 3-8 times larger than necessary and downscaled for
-+// antialiasing
-+static int GetMultiplier()
-+{
-+#ifdef __WXWINCE__
-+    // speed up bitmap generation by using a small bitmap
-+    return 3;
-+#else
-+    int depth = ::wxDisplayDepth();
-+
-+    if  ( depth >= 24 )
-+    {
-+        return 8;
-+    }
-+    return 6;
-+#endif
-+}
-+
-+wxBitmap wxSearchCtrl::RenderSearchBitmap( int x, int y, bool renderDrop )
-+{
-+    wxColour bg = GetBackgroundColour();
-+    wxColour fg = GetForegroundColour();
-+
-+    //===============================================================================
-+    // begin drawing code
-+    //===============================================================================
-+    // image stats
-+
-+    // force width:height ratio
-+    if ( 14*x > y*20 )
-+    {
-+        // x is too big
-+        x = y*20/14;
-+    }
-+    else
-+    {
-+        // y is too big
-+        y = x*14/20;
-+    }
-+
-+    // glass 11x11, top left corner
-+    // handle (9,9)-(13,13)
-+    // drop (13,16)-(19,6)-(16,9)
-+
-+    int multiplier = GetMultiplier();
-+    int penWidth = multiplier * 2;
-+
-+    penWidth = penWidth * x / 20;
-+
-+    wxBitmap bitmap( multiplier*x, multiplier*y );
-+    wxMemoryDC mem;
-+    mem.SelectObject(bitmap);
-+
-+    // clear background
-+    mem.SetBrush( wxBrush(bg) );
-+    mem.SetPen( wxPen(bg) );
-+    mem.DrawRectangle(0,0,bitmap.GetWidth(),bitmap.GetHeight());
-+
-+    // draw drop glass
-+    mem.SetBrush( wxBrush(fg) );
-+    mem.SetPen( wxPen(fg) );
-+    int glassBase = 5 * x / 20;
-+    int glassFactor = 2*glassBase + 1;
-+    int radius = multiplier*glassFactor/2;
-+    mem.DrawCircle(radius,radius,radius);
-+    mem.SetBrush( wxBrush(bg) );
-+    mem.SetPen( wxPen(bg) );
-+    mem.DrawCircle(radius,radius,radius-penWidth);
-+
-+    // draw handle
-+    int lineStart = radius + (radius-penWidth/2) * 707 / 1000; // 707 / 1000 = 0.707 = 1/sqrt(2);
-+
-+    mem.SetPen( wxPen(fg) );
-+    mem.SetBrush( wxBrush(fg) );
-+    int handleCornerShift = penWidth * 707 / 1000 / 2; // 707 / 1000 = 0.707 = 1/sqrt(2);
-+    handleCornerShift = WXMAX( handleCornerShift, 1 );
-+    int handleBase = 4 * x / 20;
-+    int handleLength = 2*handleBase+1;
-+    wxPoint handlePolygon[] =
-+    {
-+        wxPoint(-handleCornerShift,+handleCornerShift),
-+        wxPoint(+handleCornerShift,-handleCornerShift),
-+        wxPoint(multiplier*handleLength/2+handleCornerShift,multiplier*handleLength/2-handleCornerShift),
-+        wxPoint(multiplier*handleLength/2-handleCornerShift,multiplier*handleLength/2+handleCornerShift),
-+    };
-+    mem.DrawPolygon(WXSIZEOF(handlePolygon),handlePolygon,lineStart,lineStart);
-+
-+    // draw drop triangle
-+    int triangleX = 13 * x / 20;
-+    int triangleY = 5 * x / 20;
-+    int triangleBase = 3 * x / 20;
-+    int triangleFactor = triangleBase*2+1;
-+    if ( renderDrop )
-+    {
-+        wxPoint dropPolygon[] =
-+        {
-+            wxPoint(multiplier*0,multiplier*0), // triangle left
-+            wxPoint(multiplier*triangleFactor-1,multiplier*0), // triangle right
-+            wxPoint(multiplier*triangleFactor/2,multiplier*triangleFactor/2), // triangle bottom
-+        };
-+        mem.DrawPolygon(WXSIZEOF(dropPolygon),dropPolygon,multiplier*triangleX,multiplier*triangleY);
-+    }
-+
-+    //===============================================================================
-+    // end drawing code
-+    //===============================================================================
-+
-+    if ( multiplier != 1 )
-+    {
-+        wxImage image = bitmap.ConvertToImage();
-+        image.Rescale(x,y);
-+        bitmap = wxBitmap( image );
-+    }
-+
-+    return bitmap;
-+}
-+
-+wxBitmap wxSearchCtrl::RenderCancelBitmap( int x, int y )
-+{
-+    wxColour bg = GetBackgroundColour();
-+    wxColour fg = GetForegroundColour();
-+
-+    //===============================================================================
-+    // begin drawing code
-+    //===============================================================================
-+    // image stats
-+
-+    // total size 14x14
-+    // force 1:1 ratio
-+    if ( x > y )
-+    {
-+        // x is too big
-+        x = y;
-+    }
-+    else
-+    {
-+        // y is too big
-+        y = x;
-+    }
-+
-+    // 14x14 circle
-+    // cross line starts (4,4)-(10,10)
-+    // drop (13,16)-(19,6)-(16,9)
-+
-+    int multiplier = GetMultiplier();
-+
-+    int penWidth = multiplier * x / 14;
-+
-+    wxBitmap bitmap( multiplier*x, multiplier*y );
-+    wxMemoryDC mem;
-+    mem.SelectObject(bitmap);
-+
-+    // clear background
-+    mem.SetBrush( wxBrush(bg) );
-+    mem.SetPen( wxPen(bg) );
-+    mem.DrawRectangle(0,0,bitmap.GetWidth(),bitmap.GetHeight());
-+
-+    // draw drop glass
-+    mem.SetBrush( wxBrush(fg) );
-+    mem.SetPen( wxPen(fg) );
-+    int radius = multiplier*x/2;
-+    mem.DrawCircle(radius,radius,radius);
-+
-+    // draw cross
-+    int lineStartBase = 4 * x / 14;
-+    int lineLength = x - 2*lineStartBase;
-+
-+    mem.SetPen( wxPen(bg) );
-+    mem.SetBrush( wxBrush(bg) );
-+    int handleCornerShift = penWidth/2;
-+    handleCornerShift = WXMAX( handleCornerShift, 1 );
-+    wxPoint handlePolygon[] =
-+    {
-+        wxPoint(-handleCornerShift,+handleCornerShift),
-+        wxPoint(+handleCornerShift,-handleCornerShift),
-+        wxPoint(multiplier*lineLength+handleCornerShift,multiplier*lineLength-handleCornerShift),
-+        wxPoint(multiplier*lineLength-handleCornerShift,multiplier*lineLength+handleCornerShift),
-+    };
-+    mem.DrawPolygon(WXSIZEOF(handlePolygon),handlePolygon,multiplier*lineStartBase,multiplier*lineStartBase);
-+    wxPoint handlePolygon2[] =
-+    {
-+        wxPoint(+handleCornerShift,+handleCornerShift),
-+        wxPoint(-handleCornerShift,-handleCornerShift),
-+        wxPoint(multiplier*lineLength-handleCornerShift,-multiplier*lineLength-handleCornerShift),
-+        wxPoint(multiplier*lineLength+handleCornerShift,-multiplier*lineLength+handleCornerShift),
-+    };
-+    mem.DrawPolygon(WXSIZEOF(handlePolygon2),handlePolygon2,multiplier*lineStartBase,multiplier*(x-lineStartBase));
-+
-+    //===============================================================================
-+    // end drawing code
-+    //===============================================================================
-+
-+    if ( multiplier != 1 )
-+    {
-+        wxImage image = bitmap.ConvertToImage();
-+        image.Rescale(x,y);
-+        bitmap = wxBitmap( image );
-+    }
-+
-+    return bitmap;
-+}
-+
-+void wxSearchCtrl::RecalcBitmaps()
-+{
-+    if ( !m_text )
-+    {
-+        return;
-+    }
-+    wxSize sizeText = m_text->GetBestSize();
-+
-+    int bitmapHeight = sizeText.y - 2 * ICON_MARGIN;
-+    int bitmapWidth  = sizeText.y * 20 / 14;
-+
-+    if ( !m_searchBitmapUser )
-+    {
-+        if (
-+            !m_searchBitmap.Ok() ||
-+            m_searchBitmap.GetHeight() != bitmapHeight ||
-+            m_searchBitmap.GetWidth() != bitmapWidth
-+            )
-+        {
-+            m_searchBitmap = RenderSearchBitmap(bitmapWidth,bitmapHeight,false);
-+            if ( !m_menu )
-+            {
-+                m_searchButton->SetBitmapLabel(m_searchBitmap);
-+            }
-+        }
-+        // else this bitmap was set by user, don't alter
-+    }
-+
-+    if ( !m_searchMenuBitmapUser )
-+    {
-+        if (
-+            !m_searchMenuBitmap.Ok() ||
-+            m_searchMenuBitmap.GetHeight() != bitmapHeight ||
-+            m_searchMenuBitmap.GetWidth() != bitmapWidth
-+            )
-+        {
-+            m_searchMenuBitmap = RenderSearchBitmap(bitmapWidth,bitmapHeight,true);
-+            if ( m_menu )
-+            {
-+                m_searchButton->SetBitmapLabel(m_searchMenuBitmap);
-+            }
-+        }
-+        // else this bitmap was set by user, don't alter
-+    }
-+
-+    if ( !m_cancelBitmapUser )
-+    {
-+        if (
-+            !m_cancelBitmap.Ok() ||
-+            m_cancelBitmap.GetHeight() != bitmapHeight ||
-+            m_cancelBitmap.GetWidth() != bitmapHeight
-+            )
-+        {
-+            m_cancelBitmap = RenderCancelBitmap(bitmapHeight-BORDER,bitmapHeight-BORDER); // square
-+            m_cancelButton->SetBitmapLabel(m_cancelBitmap);
-+        }
-+        // else this bitmap was set by user, don't alter
-+    }
-+}
-+
-+void wxSearchCtrl::OnSearchButton( wxCommandEvent& event )
-+{
-+    event.Skip();
-+}
-+
-+void wxSearchCtrl::OnSetFocus( wxFocusEvent& /*event*/ )
-+{
-+    if ( m_text )
-+    {
-+        m_text->SetFocus();
-+    }
-+}
-+
-+void wxSearchCtrl::OnSize( wxSizeEvent& event )
-+{
-+    int width, height;
-+    GetSize(&width, &height);
-+    LayoutControls(0, 0, width, height);
-+}
-+
-+void wxSearchCtrl::PopupSearchMenu()
-+{
-+    if ( m_menu )
-+    {
-+        wxSize size = GetSize();
-+        PopupMenu( m_menu, 0, size.y );
-+    }
-+}
-+
-+#endif // !wxUSE_NATIVE_SEARCH_CONTROL
-+
-+#endif // wxUSE_SEARCHCTRL
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/gtk/combobox.cpp wxWidgets-2006-12-17/src/gtk/combobox.cpp
---- wxWidgets-2.8.0/src/gtk/combobox.cpp       2006-12-11 22:51:02.000000000 +0100
-+++ wxWidgets-2006-12-17/src/gtk/combobox.cpp  2006-12-17 05:58:11.000000000 +0100
-@@ -2,7 +2,7 @@
- // Name:        src/gtk/combobox.cpp
- // Purpose:
- // Author:      Robert Roebling
--// Id:          $Id$
-+// Id:          $Id$
- // Copyright:   (c) 1998 Robert Roebling
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -200,6 +200,7 @@
-     combo->GetEventHandler()->ProcessEvent( event );
- }
- }
-+
- #endif
- //-----------------------------------------------------------------------------
-@@ -348,6 +349,7 @@
-         g_signal_connect_after (m_widget, "changed",
-                             G_CALLBACK (gtkcombobox_changed_callback), this);
-+                            
-     }
-     else
- #endif
-@@ -371,16 +373,10 @@
-                             this);
-         g_signal_connect_after (entry, "changed",
-                             G_CALLBACK (gtkcombo_text_changed_callback), this);
--
--        // This is required for tool bar support
--        // Doesn't currently work
--//        wxSize setsize = GetSize();
--//        gtk_widget_set_size_request( m_widget, setsize.x, setsize.y );
-     }
-     SetInitialSize(size); // need this too because this is a wxControlWithItems
--
-     return true;
- }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/gtk/frame.cpp wxWidgets-2006-12-17/src/gtk/frame.cpp
---- wxWidgets-2.8.0/src/gtk/frame.cpp  2006-12-11 22:51:02.000000000 +0100
-+++ wxWidgets-2006-12-17/src/gtk/frame.cpp     2006-12-17 05:58:11.000000000 +0100
-@@ -2,7 +2,7 @@
- // Name:        src/gtk/frame.cpp
- // Purpose:
- // Author:      Robert Roebling
--// Id:          $Id$
-+// Id:          $Id$
- // Copyright:   (c) 1998 Robert Roebling
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -631,20 +631,22 @@
- void wxFrame::UpdateMenuBarSize()
- {
--    GtkRequisition  req;
--
--    req.width = 2;
--    req.height = 2;
-+    m_menuBarHeight = 2;
-     // this is called after Remove with a NULL m_frameMenuBar
-     if ( m_frameMenuBar )
--        (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_frameMenuBar->m_widget) )->size_request )
--            (m_frameMenuBar->m_widget, &req );
-+    {
-+        GtkRequisition req;
-+        gtk_widget_ensure_style(m_frameMenuBar->m_widget);
-+        // have to call class method directly because
-+        // "size_request" signal is overridden by wx
-+        GTK_WIDGET_GET_CLASS(m_frameMenuBar->m_widget)->size_request(
-+            m_frameMenuBar->m_widget, &req);
--    m_menuBarHeight = req.height;
-+        m_menuBarHeight = req.height;
-+    }
-     // resize window in OnInternalIdle
--
-     GtkUpdateSize();
- }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/gtk/tbargtk.cpp wxWidgets-2006-12-17/src/gtk/tbargtk.cpp
---- wxWidgets-2.8.0/src/gtk/tbargtk.cpp        2006-12-11 22:51:03.000000000 +0100
-+++ wxWidgets-2006-12-17/src/gtk/tbargtk.cpp   2006-12-17 05:58:11.000000000 +0100
-@@ -3,7 +3,7 @@
- // Purpose:     GTK toolbar
- // Author:      Robert Roebling
- // Modified:    13.12.99 by VZ to derive from wxToolBarBase
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Robert Roebling
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -215,6 +215,27 @@
- }
- }
-+extern "C" {
-+static
-+void gtktoolwidget_size_callback( GtkWidget *widget,
-+                                  GtkAllocation *alloc,
-+                                  wxWindow *win )
-+{
-+    // this shouldn't happen...
-+    if (win->GetParent()->m_wxwindow) return;
-+    
-+    wxSize size = win->GetEffectiveMinSize();
-+    if (size.y != alloc->height)
-+    {
-+        GtkAllocation alloc2;
-+        alloc2.x = alloc->x;
-+        alloc2.y = (alloc->height - size.y + 3) / 2;
-+        alloc2.width = alloc->width;
-+        alloc2.height = size.y;
-+        gtk_widget_size_allocate( widget, &alloc2 );
-+    }
-+}
-+}
- //-----------------------------------------------------------------------------
- // InsertChild callback for wxToolBar
- //-----------------------------------------------------------------------------
-@@ -453,6 +474,11 @@
-                                        (const char *) NULL,
-                                        posGtk
-                                       );
-+                                      
-+            // connect after in order to correct size_allocate events
-+            g_signal_connect_after (tool->GetControl()->m_widget, "size_allocate",
-+                          G_CALLBACK (gtktoolwidget_size_callback), tool->GetControl());
-+                                      
-             break;
-     }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/html/htmlfilter.cpp wxWidgets-2006-12-17/src/html/htmlfilter.cpp
---- wxWidgets-2.8.0/src/html/htmlfilter.cpp    1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/html/htmlfilter.cpp       2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,172 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        filter.cpp
-+// Purpose:     wxHtmlFilter - input filter for translating into HTML format
-+// Author:      Vaclav Slavik
-+// Copyright:   (c) 1999 Vaclav Slavik
-+// Licence:     wxWindows Licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+
-+#ifdef __GNUG__
-+#pragma implementation "htmlfilter.h"
-+#endif
-+
-+#include "wx/wxprec.h"
-+
-+#if wxUSE_HTML
-+
-+#ifdef __BORDLANDC__
-+#pragma hdrstop
-+#endif
-+
-+#ifndef WXPRECOMP
-+#endif
-+
-+#include "wx/html/htmlfilter.h"
-+#include "wx/html/htmlwin.h"
-+
-+
-+/*
-+
-+There is code for several default filters:
-+
-+*/
-+
-+IMPLEMENT_ABSTRACT_CLASS(wxHtmlFilter, wxObject)
-+
-+//--------------------------------------------------------------------------------
-+// wxHtmlFilterPlainText
-+//          filter for text/plain or uknown
-+//--------------------------------------------------------------------------------
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterPlainText, wxHtmlFilter)
-+
-+bool wxHtmlFilterPlainText::CanRead(const wxFSFile& WXUNUSED(file)) const
-+{
-+    return TRUE;
-+}
-+
-+
-+
-+wxString wxHtmlFilterPlainText::ReadFile(const wxFSFile& file) const
-+{
-+    wxInputStream *s = file.GetStream();
-+    char *src;
-+    wxString doc, doc2;
-+
-+    if (s == NULL) return wxEmptyString;
-+    src = new char[s -> GetSize()+1];
-+    src[s -> GetSize()] = 0;
-+    s -> Read(src, s -> GetSize());
-+    doc = src;
-+    delete [] src;
-+
-+    doc.Replace(_T("<"), _T("&lt;"), TRUE);
-+    doc.Replace(_T(">"), _T("&gt;"), TRUE);
-+    doc2 = _T("<HTML><BODY><PRE>\n") + doc + _T("\n</PRE></BODY></HTML>");
-+    return doc2;
-+}
-+
-+
-+
-+
-+
-+//--------------------------------------------------------------------------------
-+// wxHtmlFilterImage
-+//          filter for image/*
-+//--------------------------------------------------------------------------------
-+
-+class wxHtmlFilterImage : public wxHtmlFilter
-+{
-+    DECLARE_DYNAMIC_CLASS(wxHtmlFilterImage)
-+
-+    public:
-+        virtual bool CanRead(const wxFSFile& file) const;
-+        virtual wxString ReadFile(const wxFSFile& file) const;
-+};
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterImage, wxHtmlFilter)
-+
-+
-+
-+bool wxHtmlFilterImage::CanRead(const wxFSFile& file) const
-+{
-+    return (file.GetMimeType().Left(6) == "image/");
-+}
-+
-+
-+
-+wxString wxHtmlFilterImage::ReadFile(const wxFSFile& file) const
-+{
-+    return ("<HTML><BODY><IMG SRC=\"" + file.GetLocation() + "\"></BODY></HTML>");
-+}
-+
-+
-+
-+
-+//--------------------------------------------------------------------------------
-+// wxHtmlFilterPlainText
-+//          filter for text/plain or uknown
-+//--------------------------------------------------------------------------------
-+
-+class wxHtmlFilterHTML : public wxHtmlFilter
-+{
-+    DECLARE_DYNAMIC_CLASS(wxHtmlFilterHTML)
-+
-+    public:
-+        virtual bool CanRead(const wxFSFile& file) const;
-+        virtual wxString ReadFile(const wxFSFile& file) const;
-+};
-+
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterHTML, wxHtmlFilter)
-+
-+bool wxHtmlFilterHTML::CanRead(const wxFSFile& file) const
-+{
-+//    return (file.GetMimeType() == "text/html");
-+// This is true in most case but some page can return:
-+// "text/html; char-encoding=...."
-+// So we use Find instead
-+  return (file.GetMimeType().Find(_T("text/html")) == 0);
-+}
-+
-+
-+
-+wxString wxHtmlFilterHTML::ReadFile(const wxFSFile& file) const
-+{
-+    wxInputStream *s = file.GetStream();
-+    char *src;
-+    wxString doc;
-+
-+    if (s == NULL) return wxEmptyString;
-+    src = new char[s -> GetSize() + 1];
-+    src[s -> GetSize()] = 0;
-+    s -> Read(src, s -> GetSize());
-+    doc = src;
-+    delete[] src;
-+
-+    return doc;
-+}
-+
-+
-+
-+
-+///// Module:
-+
-+class wxHtmlFilterModule : public wxModule
-+{
-+    DECLARE_DYNAMIC_CLASS(wxHtmlFilterModule)
-+
-+    public:
-+        virtual bool OnInit()
-+        {
-+            wxHtmlWindow::AddFilter(new wxHtmlFilterHTML);
-+            wxHtmlWindow::AddFilter(new wxHtmlFilterImage);
-+            return TRUE;
-+        }
-+        virtual void OnExit() {}
-+};
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxHtmlFilterModule, wxModule)
-+
-+#endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/html/htmlhelp.cpp wxWidgets-2006-12-17/src/html/htmlhelp.cpp
---- wxWidgets-2.8.0/src/html/htmlhelp.cpp      1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/html/htmlhelp.cpp 2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,839 @@
-+// Name:        htmlhelp.cpp
-+// Purpose:     Help controller
-+// Author:      Vaclav Slavik
-+// Copyright:   (c) 1999 Vaclav Slavik
-+// Licence:     wxWindows Licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+#error This file should not be compiled! Update your build system! \
-+(configure users, rerun configure to get a new Makefile) \
-+Instead of htmlhelp[_io], use helpdata, helpfrm and helpctrl. This \
-+file is only left to point out the problem and will be removed r.s.n.
-+
-+#ifdef __GNUG__
-+#pragma implementation "htmlhelp.h"
-+#endif
-+
-+#include "wx/wxprec.h"
-+
-+#if wxUSE_HTML
-+
-+#ifdef __BORDLANDC__
-+#pragma hdrstop
-+#endif
-+
-+#ifndef WXPRECOMP
-+#endif
-+
-+#include <wx/notebook.h>
-+#include <wx/imaglist.h>
-+#include <wx/treectrl.h>
-+#include <wx/tokenzr.h>
-+#include <wx/wfstream.h>
-+#include <wx/html/htmlwin.h>
-+#include <wx/html/htmlhelp.h>
-+#include <wx/busyinfo.h>
-+
-+#if !((wxVERSION_NUMBER < 2100) || ((wxVERSION_NUMBER == 2100) && (wxBETA_NUMBER < 7)))
-+#include <wx/progdlg.h>
-+#endif
-+
-+
-+// Bitmaps:
-+
-+#ifndef __WXMSW__
-+    // XPM hack: make the arrays const
-+    #define static static const
-+
-+    #include "bitmaps/panel.xpm"
-+    #include "bitmaps/back.xpm"
-+    #include "bitmaps/forward.xpm"
-+    #include "bitmaps/book.xpm"
-+    #include "bitmaps/folder.xpm"
-+    #include "bitmaps/page.xpm"
-+
-+    #undef static
-+#endif
-+
-+#include "search.h"
-+
-+
-+
-+
-+#include <wx/arrimpl.cpp>
-+WX_DEFINE_OBJARRAY(HtmlBookRecArray)
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+//-----------------------------------------------------------------------------
-+// wxHtmlHelpController
-+//-----------------------------------------------------------------------------
-+
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpController, wxEvtHandler)
-+
-+
-+wxHtmlHelpController::wxHtmlHelpController() : wxEvtHandler()
-+{
-+    m_Frame = NULL;
-+    m_Config = NULL;
-+    m_ConfigRoot = wxEmptyString;
-+    m_TitleFormat = _("Help : %s");
-+    m_TempPath = wxEmptyString;
-+
-+    m_Cfg.x = m_Cfg.y = 0;
-+    m_Cfg.w = 700; m_Cfg.h = 480;
-+    m_Cfg.sashpos = 240;
-+    m_Cfg.navig_on = TRUE;
-+
-+    m_ContentsImageList = new wxImageList(12, 12);
-+    m_ContentsImageList -> Add(wxICON(book));
-+    m_ContentsImageList -> Add(wxICON(folder));
-+    m_ContentsImageList -> Add(wxICON(page));
-+
-+    m_Contents = NULL;
-+    m_ContentsCnt = 0;
-+    m_Index = NULL;
-+    m_IndexCnt = 0;
-+
-+    m_IndexBox = NULL;
-+    m_ContentsBox = NULL;
-+    m_SearchList = NULL;
-+    m_SearchText = NULL;
-+    m_SearchButton = NULL;
-+    m_HtmlWin = NULL;
-+    m_Splitter = NULL;
-+    m_NavigPan = NULL;
-+}
-+
-+
-+
-+wxHtmlHelpController::~wxHtmlHelpController()
-+{
-+    int i;
-+
-+    m_BookRecords.Empty();
-+    delete m_ContentsImageList;
-+    if (m_Contents) {
-+        for (i = 0; i < m_ContentsCnt; i++) {
-+            delete[] m_Contents[i].m_Page;
-+            delete[] m_Contents[i].m_Name;
-+        }
-+        free(m_Contents);
-+    }
-+    if (m_Index) {
-+        for (i = 0; i < m_IndexCnt; i++) {
-+            delete[] m_Index[i].m_Page;
-+            delete[] m_Index[i].m_Name;
-+        }
-+        free(m_Index);
-+    }
-+}
-+
-+
-+
-+void wxHtmlHelpController::SetTempDir(const wxString& path)
-+{
-+    if (path == wxEmptyString) m_TempPath = path;
-+    else {
-+      if (wxIsAbsolutePath(path)) m_TempPath = path;
-+      else m_TempPath = wxGetCwd() + "/" + path;
-+
-+      if (m_TempPath[m_TempPath.Length() - 1] != '/')
-+            m_TempPath << "/";
-+    }
-+}
-+
-+
-+
-+
-+// Reads one line, stores it into buf and returns pointer to new line or NULL.
-+static char* ReadLine(char *line, char *buf)
-+{
-+    char *writeptr = buf, *readptr = line;
-+
-+    while (*readptr != 0 && *readptr != '\r' && *readptr != '\n') *(writeptr++) = *(readptr++);
-+    *writeptr = 0;
-+    while (*readptr == '\r' || *readptr == '\n') readptr++;
-+    if (*readptr == 0) return NULL;
-+    else return readptr;
-+}
-+
-+
-+static wxString SafeFileName(const wxString& s)
-+{
-+    wxString res = s;
-+    res.Replace(_T(":"), _T("_"), TRUE);
-+    res.Replace(_T(" "), _T("_"), TRUE);
-+    res.Replace(_T("/"), _T("_"), TRUE);
-+    res.Replace(_T("\\"), _T("_"), TRUE);
-+    res.Replace(_T("#"), _T("_"), TRUE);
-+    res.Replace(_T("."), _T("_"), TRUE);
-+    return res;
-+}
-+
-+
-+static int IndexCompareFunc(const void *a, const void *b)
-+{
-+    return strcmp(((HtmlContentsItem*)a) -> m_Name, ((HtmlContentsItem*)b) -> m_Name);
-+}
-+
-+
-+
-+bool wxHtmlHelpController::AddBook(const wxString& book, bool show_wait_msg)
-+{
-+    wxFSFile *fi;
-+    wxFileSystem fsys;
-+    wxInputStream *s;
-+    HtmlBookRecord *bookr;
-+    wxString bookFull;
-+
-+    int sz;
-+    char *buff, *lineptr;
-+    char linebuf[300];
-+
-+    wxString title = _("noname"),
-+             safetitle,
-+             start = wxEmptyString,
-+             contents = wxEmptyString, index = wxEmptyString;
-+
-+    if (wxIsAbsolutePath(book)) bookFull = book;
-+    else bookFull = wxGetCwd() + "/" + book;
-+
-+    fi = fsys.OpenFile(bookFull);
-+    if (fi == NULL) return FALSE;
-+    fsys.ChangePathTo(bookFull);
-+    s = fi -> GetStream();
-+    sz = s -> GetSize();
-+    buff = new char[sz+1];
-+    buff[sz] = 0;
-+    s -> Read(buff, sz);
-+    lineptr = buff;
-+    delete fi;
-+
-+    while ((lineptr = ReadLine(lineptr, linebuf)) != NULL) {
-+        if (strstr(linebuf, "Title=") == linebuf)
-+            title = linebuf + strlen("Title=");
-+        if (strstr(linebuf, "Default topic=") == linebuf)
-+            start = linebuf + strlen("Default topic=");
-+        if (strstr(linebuf, "Index file=") == linebuf)
-+            index = linebuf + strlen("Index file=");
-+        if (strstr(linebuf, "Contents file=") == linebuf)
-+            contents = linebuf + strlen("Contents file=");
-+    }
-+    delete[] buff;
-+
-+    bookr = new HtmlBookRecord(fsys.GetPath(), title, start);
-+
-+    if (m_ContentsCnt % HTML_REALLOC_STEP == 0)
-+        m_Contents = (HtmlContentsItem*) realloc(m_Contents, (m_ContentsCnt + HTML_REALLOC_STEP) * sizeof(HtmlContentsItem));
-+    m_Contents[m_ContentsCnt].m_Level = 0;
-+    m_Contents[m_ContentsCnt].m_ID = 0;
-+    m_Contents[m_ContentsCnt].m_Page = new char[start.Length() + 1];
-+    strcpy(m_Contents[m_ContentsCnt].m_Page, start.c_str());
-+    m_Contents[m_ContentsCnt].m_Name = new char [title.Length() + 1];
-+    strcpy(m_Contents[m_ContentsCnt].m_Name, title.c_str());
-+    m_Contents[m_ContentsCnt].m_Book = bookr;
-+    m_ContentsCnt++;
-+
-+    // Try to find cached binary versions:
-+    safetitle = SafeFileName(title);
-+    fi = fsys.OpenFile(safetitle + ".cached");
-+    if (fi == NULL) fi = fsys.OpenFile(m_TempPath + safetitle + ".cached");
-+    if ((fi == NULL) || (m_TempPath == wxEmptyString)) {
-+        LoadMSProject(bookr, fsys, index, contents, show_wait_msg);
-+        if (m_TempPath != wxEmptyString) {
-+              wxFileOutputStream *outs = new wxFileOutputStream(m_TempPath + safetitle + ".cached");
-+            SaveCachedBook(bookr, outs);
-+            delete outs;
-+      }
-+    }
-+    else {
-+        LoadCachedBook(bookr, fi -> GetStream());
-+        delete fi;
-+    }
-+
-+    m_BookRecords.Add(bookr);
-+    if (m_IndexCnt > 0)
-+        qsort(m_Index, m_IndexCnt, sizeof(HtmlContentsItem), IndexCompareFunc);
-+
-+    return TRUE;
-+}
-+
-+
-+
-+
-+void wxHtmlHelpController::Display(const wxString& x)
-+{
-+    int cnt;
-+    int i;
-+    wxFileSystem fsys;
-+    wxFSFile *f;
-+
-+    CreateHelpWindow();
-+
-+    /* 1. try to open given file: */
-+
-+    cnt = m_BookRecords.GetCount();
-+    for (i = 0; i < cnt; i++) {
-+        f = fsys.OpenFile(m_BookRecords[i].GetBasePath() + x);
-+        if (f) {
-+            m_HtmlWin -> LoadPage(m_BookRecords[i].GetBasePath() + x);
-+            delete f;
-+            return;
-+        }
-+    }
-+
-+
-+    /* 2. try to find a book: */
-+
-+    for (i = 0; i < cnt; i++) {
-+        if (m_BookRecords[i].GetTitle() == x) {
-+            m_HtmlWin -> LoadPage(m_BookRecords[i].GetBasePath() + m_BookRecords[i].GetStart());
-+            return;
-+        }
-+    }
-+
-+    /* 3. try to find in contents: */
-+
-+    cnt = m_ContentsCnt;
-+    for (i = 0; i < cnt; i++) {
-+        if (strcmp(m_Contents[i].m_Name, x) == 0) {
-+            m_HtmlWin -> LoadPage(m_Contents[i].m_Book -> GetBasePath() + m_Contents[i].m_Page);
-+            return;
-+        }
-+    }
-+
-+
-+    /* 4. try to find in index: */
-+
-+    cnt = m_IndexCnt;
-+    for (i = 0; i < cnt; i++) {
-+        if (strcmp(m_Index[i].m_Name, x) == 0) {
-+            m_HtmlWin -> LoadPage(m_Index[i].m_Book -> GetBasePath() + m_Index[i].m_Page);
-+            return;
-+        }
-+    }
-+
-+
-+    /* 5. if everything failed, search the documents: */
-+
-+    KeywordSearch(x);
-+}
-+
-+
-+
-+void wxHtmlHelpController::Display(const int id)
-+{
-+    CreateHelpWindow();
-+
-+    for (int i = 0; i < m_ContentsCnt; i++) {
-+        if (m_Contents[i].m_ID == id) {
-+            m_HtmlWin -> LoadPage(m_Contents[i].m_Book -> GetBasePath() + m_Contents[i].m_Page);
-+            return;
-+        }
-+    }
-+}
-+
-+
-+
-+void wxHtmlHelpController::DisplayContents()
-+{
-+    CreateHelpWindow();
-+    m_Frame -> Raise();
-+    if (!m_Splitter -> IsSplit()) {
-+       m_NavigPan -> Show(TRUE);
-+       m_HtmlWin -> Show(TRUE);
-+       m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
-+    }
-+    m_NavigPan -> SetSelection(0);
-+}
-+
-+
-+
-+void wxHtmlHelpController::DisplayIndex()
-+{
-+    CreateHelpWindow();
-+    m_Frame -> Raise();
-+    if (!m_Splitter -> IsSplit()) {
-+       m_NavigPan -> Show(TRUE);
-+       m_HtmlWin -> Show(TRUE);
-+       m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
-+    }
-+    m_NavigPan -> SetSelection(1);
-+}
-+
-+
-+
-+
-+#if (wxVERSION_NUMBER < 2100) || ((wxVERSION_NUMBER == 2100) && (wxBETA_NUMBER < 7))
-+
-+class MyProgressDlg : public wxDialog
-+{
-+    public:
-+        bool m_Canceled;
-+
-+        MyProgressDlg(wxWindow *parent) : wxDialog(parent, -1,
-+                    _("Searching..."),
-+                    wxPoint(0, 0),
-+#ifdef __WXGTK__
-+                    wxSize(300, 110)
-+#else
-+                    wxSize(300, 130)
-+#endif
-+              )
-+                    {m_Canceled = FALSE;}
-+        void OnCancel(wxCommandEvent& event) {m_Canceled = TRUE;}
-+        DECLARE_EVENT_TABLE()
-+};
-+BEGIN_EVENT_TABLE(MyProgressDlg, wxDialog)
-+    EVT_BUTTON(wxID_CANCEL, MyProgressDlg::OnCancel)
-+END_EVENT_TABLE()
-+
-+#endif
-+
-+
-+bool wxHtmlHelpController::KeywordSearch(const wxString& keyword)
-+{
-+    int foundcnt = 0;
-+    CreateHelpWindow();
-+    // if these are not set, we can't continue
-+    if (! (m_SearchList && m_HtmlWin))
-+       return FALSE;
-+    m_Frame -> Raise();
-+    if (m_Splitter && m_NavigPan && m_SearchButton) {
-+       if (!m_Splitter -> IsSplit()) {
-+          m_NavigPan -> Show(TRUE);
-+          m_HtmlWin -> Show(TRUE);
-+          m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
-+       }
-+       m_NavigPan -> SetSelection(2);
-+       m_SearchList -> Clear();
-+       m_SearchText -> SetValue(keyword);
-+       m_SearchButton -> Enable(FALSE);
-+    }
-+    {
-+        int cnt = m_ContentsCnt;
-+        wxSearchEngine engine;
-+        wxFileSystem fsys;
-+        wxFSFile *file;
-+        wxString lastpage = wxEmptyString;
-+        wxString foundstr;
-+
-+#if (wxVERSION_NUMBER < 2100) || ((wxVERSION_NUMBER == 2100) && (wxBETA_NUMBER < 7))
-+        MyProgressDlg progress(m_Frame);
-+
-+        wxStaticText *prompt = new wxStaticText(&progress, -1, "", wxPoint(20, 50), wxSize(260, 25), wxALIGN_CENTER);
-+        wxGauge *gauge = new wxGauge(&progress, -1, cnt, wxPoint(20, 20), wxSize(260, 25));
-+        wxButton *btn = new wxButton(&progress, wxID_CANCEL, _("Cancel"), wxPoint(110, 70), wxSize(80, 25));
-+        btn = btn; /* fool compiler :-) */
-+        prompt -> SetLabel(_("No matching page found yet"));
-+
-+      progress.Centre(wxBOTH);
-+        progress.Show(TRUE);
-+#else
-+      wxProgressDialog progress(_("Searching..."), _("No matching page found yet"), cnt, m_Frame, wxPD_APP_MODAL | wxPD_CAN_ABORT | wxPD_AUTO_HIDE);
-+#endif
-+
-+        engine.LookFor(keyword);
-+
-+        for (int i = 0; i < cnt; i++) {
-+#if (wxVERSION_NUMBER < 2100) || ((wxVERSION_NUMBER == 2100) && (wxBETA_NUMBER < 7))
-+            gauge -> SetValue(i);
-+            if (progress.m_Canceled) break;
-+#else
-+          if (progress.Update(i) == FALSE) break;
-+#endif
-+          wxYield();
-+
-+            file = fsys.OpenFile(m_Contents[i].m_Book -> GetBasePath() + m_Contents[i].m_Page);
-+            if (file) {
-+                if (lastpage != file -> GetLocation()) {
-+                    lastpage = file -> GetLocation();
-+                    if (engine.Scan(file -> GetStream())) {
-+                        foundstr.Printf(_("Found %i matches"), ++foundcnt);
-+#if (wxVERSION_NUMBER < 2100) || ((wxVERSION_NUMBER == 2100) && (wxBETA_NUMBER < 7))
-+                        prompt -> SetLabel(foundstr);
-+#else
-+                      progress.Update(i, foundstr);
-+#endif
-+                        wxYield();
-+                        m_SearchList -> Append(m_Contents[i].m_Name, (char*)(m_Contents + i));
-+                    }
-+                }
-+                delete file;
-+            }
-+        }
-+
-+#if (wxVERSION_NUMBER < 2100) || ((wxVERSION_NUMBER == 2100) && (wxBETA_NUMBER < 7))
-+        progress.Close(TRUE);
-+#endif
-+    }
-+    if (m_SearchButton)
-+      m_SearchButton -> Enable(TRUE);
-+    if (m_SearchText) {
-+      m_SearchText -> SetSelection(0, keyword.Length());
-+      m_SearchText -> SetFocus();
-+    }
-+    if (foundcnt) {
-+        HtmlContentsItem *it = (HtmlContentsItem*) m_SearchList -> GetClientData(0);
-+        if (it) m_HtmlWin -> LoadPage(it -> m_Book -> GetBasePath() + it -> m_Page);
-+    }
-+    return (foundcnt > 0);
-+}
-+
-+
-+
-+
-+
-+
-+void wxHtmlHelpController::CreateHelpWindow()
-+{
-+    wxBusyCursor cur;
-+    wxString oldpath;
-+    wxStatusBar *sbar;
-+
-+    if (m_Frame) {
-+        m_Frame -> Raise();
-+      m_Frame -> Show(TRUE);
-+        return;
-+    }
-+
-+#if wxUSE_BUSYINFO
-+    wxBusyInfo busyinfo(_("Preparing help window..."));
-+#endif
-+
-+    if (m_Config) ReadCustomization(m_Config, m_ConfigRoot);
-+
-+    m_Frame = new wxFrame(NULL, -1, "", wxPoint(m_Cfg.x, m_Cfg.y), wxSize(m_Cfg.w, m_Cfg.h));
-+    m_Frame -> PushEventHandler(this);
-+    sbar = m_Frame -> CreateStatusBar();
-+
-+    {
-+        wxToolBar *toolBar;
-+        toolBar = m_Frame -> CreateToolBar(wxNO_BORDER | wxTB_HORIZONTAL | wxTB_FLAT | wxTB_DOCKABLE);
-+        toolBar -> SetMargins(2, 2);
-+        wxBitmap* toolBarBitmaps[3];
-+
-+#ifdef __WXMSW__
-+        toolBarBitmaps[0] = new wxBitmap("panel");
-+        toolBarBitmaps[1] = new wxBitmap("back");
-+        toolBarBitmaps[2] = new wxBitmap("forward");
-+        int width = 24;
-+#else
-+        toolBarBitmaps[0] = new wxBitmap(panel_xpm);
-+        toolBarBitmaps[1] = new wxBitmap(back_xpm);
-+        toolBarBitmaps[2] = new wxBitmap(forward_xpm);
-+        int width = 16;
-+#endif
-+
-+        int currentX = 5;
-+
-+        toolBar -> AddTool(wxID_HTML_PANEL, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, _("Show/hide navigation panel"));
-+        currentX += width + 5;
-+        toolBar -> AddSeparator();
-+        toolBar -> AddTool(wxID_HTML_BACK, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, _("Go back to the previous HTML page"));
-+        currentX += width + 5;
-+        toolBar -> AddTool(wxID_HTML_FORWARD, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, _("Go forward to the next HTML page"));
-+        currentX += width + 5;
-+
-+        toolBar -> Realize();
-+
-+        // Can delete the bitmaps since they're reference counted
-+        for (int i = 0; i < 3; i++) delete toolBarBitmaps[i];
-+    }
-+
-+
-+    {
-+        m_Splitter = new wxSplitterWindow(m_Frame);
-+
-+        m_HtmlWin = new wxHtmlWindow(m_Splitter);
-+        m_HtmlWin -> SetRelatedFrame(m_Frame, m_TitleFormat);
-+        m_HtmlWin -> SetRelatedStatusBar(0);
-+        if (m_Config) m_HtmlWin -> ReadCustomization(m_Config, m_ConfigRoot);
-+
-+        m_NavigPan = new wxNotebook(m_Splitter, wxID_HTML_NOTEBOOK, wxDefaultPosition, wxDefaultSize);
-+        {
-+            m_ContentsBox = new wxTreeCtrl(m_NavigPan, wxID_HTML_TREECTRL, wxDefaultPosition, wxDefaultSize, wxTR_HAS_BUTTONS | wxSUNKEN_BORDER);
-+            m_ContentsBox -> SetImageList(m_ContentsImageList);
-+            m_NavigPan -> AddPage(m_ContentsBox, _("Contents"));
-+        }
-+
-+        {
-+            wxWindow *dummy = new wxPanel(m_NavigPan, wxID_HTML_INDEXPAGE);
-+            wxLayoutConstraints *b1 = new wxLayoutConstraints;
-+            b1 -> top.SameAs        (dummy, wxTop, 0);
-+            b1 -> left.SameAs       (dummy, wxLeft, 0);
-+            b1 -> width.PercentOf   (dummy, wxWidth, 100);
-+            b1 -> bottom.SameAs     (dummy, wxBottom, 0);
-+            m_IndexBox = new wxListBox(dummy, wxID_HTML_INDEXLIST, wxDefaultPosition, wxDefaultSize, 0);
-+            m_IndexBox -> SetConstraints(b1);
-+            dummy -> SetAutoLayout(TRUE);
-+            m_NavigPan -> AddPage(dummy, _("Index"));
-+        }
-+
-+        {
-+            wxWindow *dummy = new wxPanel(m_NavigPan, wxID_HTML_SEARCHPAGE);
-+
-+            wxLayoutConstraints *b1 = new wxLayoutConstraints;
-+            m_SearchText = new wxTextCtrl(dummy, wxID_HTML_SEARCHTEXT);
-+            b1 -> top.SameAs        (dummy, wxTop, 0);
-+            b1 -> left.SameAs       (dummy, wxLeft, 0);
-+            b1 -> right.SameAs      (dummy, wxRight, 0);
-+            b1 -> height.AsIs();
-+            m_SearchText -> SetConstraints(b1);
-+
-+            wxLayoutConstraints *b2 = new wxLayoutConstraints;
-+            m_SearchButton = new wxButton(dummy, wxID_HTML_SEARCHBUTTON, _("Search!"));
-+            b2 -> top.Below         (m_SearchText, 10);
-+            b2 -> right.SameAs      (dummy, wxRight, 10);
-+            b2 -> width.AsIs();
-+            b2 -> height.AsIs();
-+            m_SearchButton -> SetConstraints(b2);
-+
-+            wxLayoutConstraints *b3 = new wxLayoutConstraints;
-+            m_SearchList = new wxListBox(dummy, wxID_HTML_SEARCHLIST, wxDefaultPosition, wxDefaultSize, 0);
-+            b3 -> top.Below         (m_SearchButton, 10);
-+            b3 -> left.SameAs       (dummy, wxLeft, 0);
-+            b3 -> right.SameAs      (dummy, wxRight, 0);
-+            b3 -> bottom.SameAs     (dummy, wxBottom, 0);
-+            m_SearchList -> SetConstraints(b3);
-+
-+            dummy -> SetAutoLayout(TRUE);
-+            dummy -> Layout();
-+            m_NavigPan -> AddPage(dummy, _("Search"));
-+        }
-+
-+        RefreshLists();
-+        m_NavigPan -> Show(TRUE);
-+        m_HtmlWin -> Show(TRUE);
-+        m_Splitter -> SetMinimumPaneSize(20);
-+        m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
-+        if (!m_Cfg.navig_on) m_Splitter -> Unsplit(m_NavigPan);
-+        wxYield();
-+    }
-+
-+    m_Frame -> Show(TRUE);
-+    wxYield();
-+}
-+
-+
-+
-+#define MAX_ROOTS 64
-+
-+void wxHtmlHelpController::CreateContents()
-+{
-+    HtmlContentsItem *it;
-+    wxTreeItemId roots[MAX_ROOTS];
-+    bool imaged[MAX_ROOTS];
-+    int count = m_ContentsCnt;
-+
-+    m_ContentsBox -> DeleteAllItems();
-+    roots[0] = m_ContentsBox -> AddRoot(_("(Help)"));
-+    imaged[0] = TRUE;
-+
-+    for (int i = 0; i < count; i++) {
-+        it = m_Contents + i;
-+        roots[it -> m_Level + 1] = m_ContentsBox -> AppendItem(roots[it -> m_Level], it -> m_Name, IMG_Page, -1, new wxHtmlHelpTreeItemData(it));
-+        if (it -> m_Level == 0) {
-+            m_ContentsBox -> SetItemBold(roots[1], TRUE);
-+            m_ContentsBox -> SetItemImage(roots[1], IMG_Book);
-+            m_ContentsBox -> SetItemSelectedImage(roots[1], IMG_Book);
-+            imaged[1] = TRUE;
-+        }
-+        else imaged[it -> m_Level + 1] = FALSE;
-+
-+        if (!imaged[it -> m_Level]) {
-+            m_ContentsBox -> SetItemImage(roots[it -> m_Level], IMG_Folder);
-+            m_ContentsBox -> SetItemSelectedImage(roots[it -> m_Level], IMG_Folder);
-+            imaged[it -> m_Level] = TRUE;
-+        }
-+    }
-+
-+    m_ContentsBox -> Expand(roots[0]);
-+}
-+
-+
-+
-+
-+void wxHtmlHelpController::CreateIndex()
-+{
-+    m_IndexBox -> Clear();
-+
-+    for (int i = 0; i < m_IndexCnt; i++)
-+        m_IndexBox -> Append(m_Index[i].m_Name, (char*)(m_Index + i));
-+}
-+
-+
-+
-+void wxHtmlHelpController::RefreshLists()
-+{
-+    if (m_Frame) {
-+        CreateContents();
-+        CreateIndex();
-+        m_SearchList -> Clear();
-+    }
-+}
-+
-+
-+
-+
-+
-+
-+
-+void wxHtmlHelpController::ReadCustomization(wxConfigBase *cfg, wxString path)
-+{
-+    wxString oldpath;
-+    wxString tmp;
-+
-+    if (path != wxEmptyString) {
-+        oldpath = cfg -> GetPath();
-+        cfg -> SetPath(path);
-+    }
-+
-+    m_Cfg.navig_on = cfg -> Read("hcNavigPanel", m_Cfg.navig_on) != 0;
-+    m_Cfg.sashpos = cfg -> Read("hcSashPos", m_Cfg.sashpos);
-+    m_Cfg.x = cfg -> Read("hcX", m_Cfg.x);
-+    m_Cfg.y = cfg -> Read("hcY", m_Cfg.y);
-+    m_Cfg.w = cfg -> Read("hcW", m_Cfg.w);
-+    m_Cfg.h = cfg -> Read("hcH", m_Cfg.h);
-+
-+    if (path != wxEmptyString)
-+        cfg -> SetPath(oldpath);
-+}
-+
-+
-+
-+void wxHtmlHelpController::WriteCustomization(wxConfigBase *cfg, wxString path)
-+{
-+    wxString oldpath;
-+    wxString tmp;
-+
-+    if (path != wxEmptyString) {
-+        oldpath = cfg -> GetPath();
-+        cfg -> SetPath(path);
-+    }
-+
-+    cfg -> Write("hcNavigPanel", m_Cfg.navig_on);
-+    cfg -> Write("hcSashPos", (long)m_Cfg.sashpos);
-+    cfg -> Write("hcX", (long)m_Cfg.x);
-+    cfg -> Write("hcY", (long)m_Cfg.y);
-+    cfg -> Write("hcW", (long)m_Cfg.w);
-+    cfg -> Write("hcH", (long)m_Cfg.h);
-+
-+    if (path != wxEmptyString)
-+        cfg -> SetPath(oldpath);
-+}
-+
-+
-+
-+
-+
-+/*
-+EVENT HANDLING :
-+*/
-+
-+
-+void wxHtmlHelpController::OnToolbar(wxCommandEvent& event)
-+{
-+    switch (event.GetId()) {
-+        case wxID_HTML_BACK :
-+            m_HtmlWin -> HistoryBack();
-+            break;
-+        case wxID_HTML_FORWARD :
-+            m_HtmlWin -> HistoryForward();
-+            break;
-+        case wxID_HTML_PANEL :
-+            if (m_Splitter -> IsSplit()) {
-+                m_Cfg.sashpos = m_Splitter -> GetSashPosition();
-+                m_Splitter -> Unsplit(m_NavigPan);
-+            }
-+            else {
-+                m_NavigPan -> Show(TRUE);
-+                m_HtmlWin -> Show(TRUE);
-+                m_Splitter -> SplitVertically(m_NavigPan, m_HtmlWin, m_Cfg.sashpos);
-+            }
-+            break;
-+    }
-+}
-+
-+
-+
-+void wxHtmlHelpController::OnContentsSel(wxTreeEvent& event)
-+{
-+    wxHtmlHelpTreeItemData *pg;
-+
-+    pg = (wxHtmlHelpTreeItemData*) m_ContentsBox -> GetItemData(event.GetItem());
-+    if (pg) m_HtmlWin -> LoadPage(pg -> GetPage());
-+}
-+
-+
-+
-+void wxHtmlHelpController::OnIndexSel(wxCommandEvent& event)
-+{
-+    HtmlContentsItem *it = (HtmlContentsItem*) m_IndexBox -> GetClientData(m_IndexBox -> GetSelection());
-+    if (it) m_HtmlWin -> LoadPage(it -> m_Book -> GetBasePath() + it -> m_Page);
-+}
-+
-+
-+
-+void wxHtmlHelpController::OnSearchSel(wxCommandEvent& event)
-+{
-+    HtmlContentsItem *it = (HtmlContentsItem*) m_SearchList -> GetClientData(m_SearchList -> GetSelection());
-+    if (it) m_HtmlWin -> LoadPage(it -> m_Book -> GetBasePath() + it -> m_Page);
-+}
-+
-+
-+
-+void wxHtmlHelpController::OnCloseWindow(wxCloseEvent& event)
-+{
-+    int a, b;
-+
-+    m_Cfg.navig_on = m_Splitter -> IsSplit();
-+    if (m_Cfg.navig_on)
-+        m_Cfg.sashpos = m_Splitter -> GetSashPosition();
-+    m_Frame -> GetPosition(&a, &b);
-+    m_Cfg.x = a, m_Cfg.y = b;
-+    m_Frame -> GetSize(&a, &b);
-+    m_Cfg.w = a, m_Cfg.h = b;
-+
-+    if (m_Config) {
-+        WriteCustomization(m_Config, m_ConfigRoot);
-+        m_HtmlWin -> WriteCustomization(m_Config, m_ConfigRoot);
-+    }
-+    m_Frame = NULL;
-+
-+    event.Skip();
-+}
-+
-+
-+
-+void wxHtmlHelpController::OnSearch(wxCommandEvent& event)
-+{
-+    wxString sr = m_SearchText -> GetLineText(0);
-+
-+    if (sr != wxEmptyString) KeywordSearch(sr);
-+}
-+
-+
-+
-+BEGIN_EVENT_TABLE(wxHtmlHelpController, wxEvtHandler)
-+    EVT_TOOL_RANGE(wxID_HTML_PANEL, wxID_HTML_FORWARD, wxHtmlHelpController::OnToolbar)
-+    EVT_TREE_SEL_CHANGED(wxID_HTML_TREECTRL, wxHtmlHelpController::OnContentsSel)
-+    EVT_LISTBOX(wxID_HTML_INDEXLIST, wxHtmlHelpController::OnIndexSel)
-+    EVT_LISTBOX(wxID_HTML_SEARCHLIST, wxHtmlHelpController::OnSearchSel)
-+    EVT_CLOSE(wxHtmlHelpController::OnCloseWindow)
-+    EVT_BUTTON(wxID_HTML_SEARCHBUTTON, wxHtmlHelpController::OnSearch)
-+    EVT_TEXT_ENTER(wxID_HTML_SEARCHTEXT, wxHtmlHelpController::OnSearch)
-+END_EVENT_TABLE()
-+
-+
-+
-+#endif
-+
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/html/search.cpp wxWidgets-2006-12-17/src/html/search.cpp
---- wxWidgets-2.8.0/src/html/search.cpp        1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/html/search.cpp   2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,72 @@
-+/////////////////////////////////////////////////////////////////////////////
-+// Name:        search.cpp
-+// Purpose:     search engine
-+// Author:      Vaclav Slavik
-+// RCS-ID:      $Id$
-+// Copyright:   (c) 1999 Vaclav Slavik
-+// Licence:     wxWindows Licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+
-+
-+#ifdef __GNUG__
-+#pragma implementation
-+#endif
-+
-+#include "wx/wxprec.h"
-+
-+#include "wx/defs.h"
-+#if wxUSE_HTML
-+
-+#ifdef __BORDLANDC__
-+#pragma hdrstop
-+#endif
-+
-+#ifndef WXPRECOMP
-+#endif
-+
-+#include "wx/html/helpdata.h"
-+
-+
-+//--------------------------------------------------------------------------------
-+// wxSearchEngine
-+//--------------------------------------------------------------------------------
-+
-+void wxSearchEngine::LookFor(const wxString& keyword)
-+{
-+    if (m_Keyword) delete[] m_Keyword;
-+    m_Keyword = new wxChar[keyword.Length() + 1];
-+    wxStrcpy(m_Keyword, keyword.c_str());
-+    for (int i = wxStrlen(m_Keyword) - 1; i >= 0; i--)
-+        if ((m_Keyword[i] >= wxT('A')) && (m_Keyword[i] <= wxT('Z')))
-+            m_Keyword[i] += wxT('a') - wxT('A');
-+}
-+
-+
-+
-+bool wxSearchEngine::Scan(wxInputStream *stream)
-+{
-+    wxASSERT_MSG(m_Keyword != NULL, _("wxSearchEngine::LookFor must be called before scanning!"));
-+
-+    int i, j;
-+    int lng = stream ->GetSize();
-+    int wrd = wxStrlen(m_Keyword);
-+    bool found = FALSE;
-+    char *buf = new char[lng + 1];
-+    stream -> Read(buf, lng);
-+    buf[lng] = 0;
-+
-+    for (i = 0; i < lng; i++)
-+        if ((buf[i] >= 'A') && (buf[i] <= 'Z')) buf[i] += 'a' - 'A';
-+
-+    for (i = 0; i < lng - wrd; i++) {
-+        j = 0;
-+        while ((j < wrd) && (buf[i + j] == m_Keyword[j])) j++;
-+        if (j == wrd) {found = TRUE; break;}
-+    }
-+
-+    delete[] buf;
-+    return found;
-+}
-+
-+#endif
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/mac/carbon/srchctrl.cpp wxWidgets-2006-12-17/src/mac/carbon/srchctrl.cpp
---- wxWidgets-2.8.0/src/mac/carbon/srchctrl.cpp        1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/mac/carbon/srchctrl.cpp   2006-12-17 05:58:12.000000000 +0100
-@@ -0,0 +1,392 @@
-+///////////////////////////////////////////////////////////////////////////////
-+// Name:        src/mac/carbon/srchctrl.cpp
-+// Purpose:     implements mac carbon wxSearchCtrl
-+// Author:      Vince Harron
-+// Created:     2006-02-19
-+// RCS-ID:      $Id$
-+// Copyright:   Vince Harron
-+// License:     wxWindows licence
-+///////////////////////////////////////////////////////////////////////////////
-+
-+// For compilers that support precompilation, includes "wx.h".
-+#include "wx/wxprec.h"
-+
-+#ifdef __BORLANDC__
-+    #pragma hdrstop
-+#endif
-+
-+#if wxUSE_SEARCHCTRL
-+
-+#include "wx/srchctrl.h"
-+
-+#ifndef WX_PRECOMP
-+    #include "wx/menu.h"
-+#endif //WX_PRECOMP
-+
-+#if wxUSE_NATIVE_SEARCH_CONTROL
-+
-+#include "wx/mac/uma.h"
-+#include "wx/mac/carbon/private/mactext.h"
-+
-+BEGIN_EVENT_TABLE(wxSearchCtrl, wxSearchCtrlBase)
-+END_EVENT_TABLE()
-+
-+IMPLEMENT_DYNAMIC_CLASS(wxSearchCtrl, wxSearchCtrlBase)
-+
-+// ============================================================================
-+// wxMacSearchFieldControl
-+// ============================================================================
-+
-+#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
-+
-+
-+static const EventTypeSpec eventList[] =
-+{
-+    { kEventClassSearchField, kEventSearchFieldCancelClicked } ,
-+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-+    { kEventClassSearchField, kEventSearchFieldSearchClicked } ,
-+#endif
-+};
-+
-+class wxMacSearchFieldControl : public wxMacUnicodeTextControl
-+{
-+public :
-+    wxMacSearchFieldControl( wxTextCtrl *wxPeer,
-+                             const wxString& str,
-+                             const wxPoint& pos,
-+                             const wxSize& size, long style ) : wxMacUnicodeTextControl( wxPeer )
-+    {
-+        Create( wxPeer, str, pos, size, style );
-+    }
-+
-+    // search field options
-+    virtual void ShowSearchButton( bool show );
-+    virtual bool IsSearchButtonVisible() const;
-+
-+    virtual void ShowCancelButton( bool show );
-+    virtual bool IsCancelButtonVisible() const;
-+
-+    virtual void SetSearchMenu( wxMenu* menu );
-+    virtual wxMenu* GetSearchMenu() const;
-+protected :
-+    virtual void CreateControl( wxTextCtrl* peer, const Rect* bounds, CFStringRef crf );
-+
-+private:
-+    wxMenu* m_menu;
-+} ;
-+
-+void wxMacSearchFieldControl::CreateControl( wxTextCtrl* /*peer*/, const Rect* bounds, CFStringRef crf )
-+{
-+    OptionBits attributes = 0;
-+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-+    if ( UMAGetSystemVersion() >= 0x1040 )
-+    {
-+        attributes = kHISearchFieldAttributesSearchIcon;
-+    }
-+#endif
-+    HIRect hibounds = { { bounds->left, bounds->top }, { bounds->right-bounds->left, bounds->bottom-bounds->top } };
-+    verify_noerr( HISearchFieldCreate(
-+        &hibounds,
-+        attributes,
-+        0, // MenuRef
-+        CFSTR("Search"),
-+        &m_controlRef
-+        ) );
-+    HIViewSetVisible (m_controlRef, true);
-+}
-+
-+// search field options
-+void wxMacSearchFieldControl::ShowSearchButton( bool show )
-+{
-+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-+    if ( UMAGetSystemVersion() >= 0x1040 )
-+    {
-+        OptionBits set = 0;
-+        OptionBits clear = 0;
-+        if ( show )
-+        {
-+            set |= kHISearchFieldAttributesSearchIcon;
-+        }
-+        else
-+        {
-+            clear |= kHISearchFieldAttributesSearchIcon;
-+        }
-+        HISearchFieldChangeAttributes( m_controlRef, set, clear );
-+    }
-+#endif
-+}
-+
-+bool wxMacSearchFieldControl::IsSearchButtonVisible() const
-+{
-+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-+    OptionBits attributes = 0;
-+    verify_noerr( HISearchFieldGetAttributes( m_controlRef, &attributes ) );
-+    return ( attributes & kHISearchFieldAttributesSearchIcon ) != 0;
-+#else
-+    return false;
-+#endif
-+}
-+
-+void wxMacSearchFieldControl::ShowCancelButton( bool show )
-+{
-+    OptionBits set = 0;
-+    OptionBits clear = 0;
-+    if ( show )
-+    {
-+        set |= kHISearchFieldAttributesCancel;
-+    }
-+    else
-+    {
-+        clear |= kHISearchFieldAttributesCancel;
-+    }
-+    HISearchFieldChangeAttributes( m_controlRef, set, clear );
-+}
-+
-+bool wxMacSearchFieldControl::IsCancelButtonVisible() const
-+{
-+    OptionBits attributes = 0;
-+    verify_noerr( HISearchFieldGetAttributes( m_controlRef, &attributes ) );
-+    return ( attributes & kHISearchFieldAttributesCancel ) != 0;
-+}
-+
-+void wxMacSearchFieldControl::SetSearchMenu( wxMenu* menu )
-+{
-+    m_menu = menu;
-+    if ( m_menu )
-+    {
-+        verify_noerr( HISearchFieldSetSearchMenu( m_controlRef, MAC_WXHMENU(m_menu->GetHMenu()) ) );
-+    }
-+    else
-+    {
-+        verify_noerr( HISearchFieldSetSearchMenu( m_controlRef, 0 ) );
-+    }
-+}
-+
-+wxMenu* wxMacSearchFieldControl::GetSearchMenu() const
-+{
-+    return m_menu;
-+}
-+
-+#endif
-+
-+// ============================================================================
-+// implementation
-+// ============================================================================
-+
-+static pascal OSStatus wxMacSearchControlEventHandler( EventHandlerCallRef handler , EventRef event , void *data )
-+{
-+    OSStatus result = eventNotHandledErr ;
-+
-+    wxMacCarbonEvent cEvent( event ) ;
-+
-+    ControlRef controlRef ;
-+    wxSearchCtrl* thisWindow = (wxSearchCtrl*) data ;
-+    cEvent.GetParameter( kEventParamDirectObject , &controlRef ) ;
-+
-+    switch( GetEventKind( event ) )
-+    {
-+        case kEventSearchFieldCancelClicked :
-+            thisWindow->MacSearchFieldCancelHit( handler , event ) ;
-+            break ;
-+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
-+        case kEventSearchFieldSearchClicked :
-+            thisWindow->MacSearchFieldSearchHit( handler , event ) ;
-+            break ;
-+#endif
-+    }
-+
-+    return result ;
-+}
-+
-+DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacSearchControlEventHandler )
-+
-+
-+// ----------------------------------------------------------------------------
-+// wxSearchCtrl creation
-+// ----------------------------------------------------------------------------
-+
-+// creation
-+// --------
-+
-+wxSearchCtrl::wxSearchCtrl()
-+{
-+    Init();
-+}
-+
-+wxSearchCtrl::wxSearchCtrl(wxWindow *parent, wxWindowID id,
-+           const wxString& value,
-+           const wxPoint& pos,
-+           const wxSize& size,
-+           long style,
-+           const wxValidator& validator,
-+           const wxString& name)
-+{
-+    Init();
-+
-+    Create(parent, id, value, pos, size, style, validator, name);
-+}
-+
-+void wxSearchCtrl::Init()
-+{
-+    m_menu = 0;
-+}
-+
-+bool wxSearchCtrl::Create(wxWindow *parent, wxWindowID id,
-+            const wxString& value,
-+            const wxPoint& pos,
-+            const wxSize& size,
-+            long style,
-+            const wxValidator& validator,
-+            const wxString& name)
-+{
-+    if ( !wxTextCtrl::Create(parent, id, wxEmptyString, pos, size, wxBORDER_NONE | style, validator, name) )
-+    {
-+        return false;
-+    }
-+
-+    EventHandlerRef searchEventHandler;
-+    InstallControlEventHandler( m_peer->GetControlRef(), GetwxMacSearchControlEventHandlerUPP(),
-+        GetEventTypeCount(eventList), eventList, this,
-+        (EventHandlerRef *)&searchEventHandler);
-+
-+    return true;
-+}
-+
-+wxSearchCtrl::~wxSearchCtrl()
-+{
-+    delete m_menu;
-+}
-+
-+wxSize wxSearchCtrl::DoGetBestSize() const
-+{
-+    wxSize size = wxWindow::DoGetBestSize();
-+    // it seems to return a default width of about 16, which is way too small here.
-+    if (size.GetWidth() < 100)
-+        size.SetWidth(100);
-+
-+    return size;
-+}
-+
-+void wxSearchCtrl::SetFocus()
-+{
-+    // NB: We have to implement SetFocus a little differently because kControlFocusNextPart
-+    // leads to setting the focus on the search icon rather than the text area.
-+    // We get around this by explicitly telling the control to set focus to the
-+    // text area.
-+    if ( !AcceptsFocus() )
-+            return ;
-+
-+    wxWindow* former = FindFocus() ;
-+    if ( former == this )
-+        return ;
-+
-+    // as we cannot rely on the control features to find out whether we are in full keyboard mode,
-+    // we can only leave in case of an error
-+    OSStatus err = m_peer->SetFocus( kControlEditTextPart ) ;
-+    if ( err == errCouldntSetFocus )
-+        return ;
-+
-+    SetUserFocusWindow( (WindowRef)MacGetTopLevelWindowRef() );
-+}
-+
-+// search control specific interfaces
-+// wxSearchCtrl owns menu after this call
-+void wxSearchCtrl::SetMenu( wxMenu* menu )
-+{
-+    if ( menu == m_menu )
-+    {
-+        // no change
-+        return;
-+    }
-+
-+    if ( m_menu )
-+    {
-+        m_menu->SetInvokingWindow( 0 );
-+    }
-+
-+    delete m_menu;
-+    m_menu = menu;
-+
-+    if ( m_menu )
-+    {
-+        m_menu->SetInvokingWindow( this );
-+    }
-+
-+    GetPeer()->SetSearchMenu( m_menu );
-+}
-+
-+wxMenu* wxSearchCtrl::GetMenu()
-+{
-+    return m_menu;
-+}
-+
-+void wxSearchCtrl::ShowSearchButton( bool show )
-+{
-+    if ( IsSearchButtonVisible() == show )
-+    {
-+        // no change
-+        return;
-+    }
-+    GetPeer()->ShowSearchButton( show );
-+}
-+
-+bool wxSearchCtrl::IsSearchButtonVisible() const
-+{
-+    return GetPeer()->IsSearchButtonVisible();
-+}
-+
-+
-+void wxSearchCtrl::ShowCancelButton( bool show )
-+{
-+    if ( IsCancelButtonVisible() == show )
-+    {
-+        // no change
-+        return;
-+    }
-+    GetPeer()->ShowCancelButton( show );
-+}
-+
-+bool wxSearchCtrl::IsCancelButtonVisible() const
-+{
-+    return GetPeer()->IsCancelButtonVisible();
-+}
-+
-+wxInt32 wxSearchCtrl::MacSearchFieldSearchHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
-+{
-+    wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, m_windowId );
-+    event.SetEventObject(this);
-+    ProcessCommand(event);
-+    return eventNotHandledErr ;
-+}
-+
-+wxInt32 wxSearchCtrl::MacSearchFieldCancelHit(WXEVENTHANDLERREF WXUNUSED(handler) , WXEVENTREF WXUNUSED(event) )
-+{
-+    wxCommandEvent event(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, m_windowId );
-+    event.SetEventObject(this);
-+    ProcessCommand(event);
-+    return eventNotHandledErr ;
-+}
-+
-+
-+void wxSearchCtrl::CreatePeer(
-+           const wxString& str,
-+           const wxPoint& pos,
-+           const wxSize& size, long style )
-+{
-+#ifdef __WXMAC_OSX__
-+#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
-+    if ( UMAGetSystemVersion() >= 0x1030 )
-+    {
-+        m_peer = new wxMacSearchFieldControl( this , str , pos , size , style );
-+    }
-+#endif
-+#endif
-+    if ( !m_peer )
-+    {
-+        wxTextCtrl::CreatePeer( str, pos, size, style );
-+    }
-+}
-+
-+#endif // wxUSE_NATIVE_SEARCH_CONTROL
-+
-+#endif // wxUSE_SEARCHCTRL
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/mac/carbon/textctrl.cpp wxWidgets-2006-12-17/src/mac/carbon/textctrl.cpp
---- wxWidgets-2.8.0/src/mac/carbon/textctrl.cpp        2006-12-11 22:51:09.000000000 +0100
-+++ wxWidgets-2006-12-17/src/mac/carbon/textctrl.cpp   2006-12-17 05:58:12.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Stefan Csomor
- // Modified by: Ryan Norton (MLTE GetLineLength and GetLineText)
- // Created:     1998-01-01
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) Stefan Csomor
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -63,6 +63,7 @@
- #endif
- #include "wx/mac/uma.h"
-+#include "wx/mac/carbon/private/mactext.h"
- #ifndef __WXMAC_OSX__
- enum
-@@ -165,60 +166,6 @@
-     return result ;
- }
--// common interface for all implementations
--class wxMacTextControl : public wxMacControl
--{
--public :
--    wxMacTextControl( wxTextCtrl *peer ) ;
--    virtual ~wxMacTextControl() ;
--
--    virtual wxString GetStringValue() const = 0 ;
--    virtual void SetStringValue( const wxString &val ) = 0 ;
--    virtual void SetSelection( long from, long to ) = 0 ;
--    virtual void GetSelection( long* from, long* to ) const = 0 ;
--    virtual void WriteText( const wxString& str ) = 0 ;
--
--    virtual void SetStyle( long start, long end, const wxTextAttr& style ) ;
--    virtual void Copy() ;
--    virtual void Cut() ;
--    virtual void Paste() ;
--    virtual bool CanPaste() const ;
--    virtual void SetEditable( bool editable ) ;
--    virtual wxTextPos GetLastPosition() const ;
--    virtual void Replace( long from, long to, const wxString &str ) ;
--    virtual void Remove( long from, long to ) ;
--
--
--    virtual bool HasOwnContextMenu() const
--    { return false ; }
--
--    virtual bool SetupCursor( const wxPoint& pt )
--    { return false ; }
--
--    virtual void Clear() ;
--    virtual bool CanUndo() const;
--    virtual void Undo() ;
--    virtual bool CanRedo() const;
--    virtual void Redo() ;
--    virtual int GetNumberOfLines() const ;
--    virtual long XYToPosition(long x, long y) const;
--    virtual bool PositionToXY(long pos, long *x, long *y) const ;
--    virtual void ShowPosition(long WXUNUSED(pos)) ;
--    virtual int GetLineLength(long lineNo) const ;
--    virtual wxString GetLineText(long lineNo) const ;
--    virtual void CheckSpelling(bool check) { }
--
--#ifndef __WXMAC_OSX__
--    virtual void            MacControlUserPaneDrawProc(wxInt16 part) = 0 ;
--    virtual wxInt16         MacControlUserPaneHitTestProc(wxInt16 x, wxInt16 y) = 0 ;
--    virtual wxInt16         MacControlUserPaneTrackingProc(wxInt16 x, wxInt16 y, void* actionProc) = 0 ;
--    virtual void            MacControlUserPaneIdleProc() = 0 ;
--    virtual wxInt16         MacControlUserPaneKeyDownProc(wxInt16 keyCode, wxInt16 charCode, wxInt16 modifiers) = 0 ;
--    virtual void            MacControlUserPaneActivateProc(bool activating) = 0 ;
--    virtual wxInt16         MacControlUserPaneFocusProc(wxInt16 action) = 0 ;
--    virtual void            MacControlUserPaneBackgroundProc(void* info) = 0 ;
--#endif
--} ;
- // common parts for implementations based on MLTE
-@@ -319,38 +266,6 @@
- #endif
--class wxMacUnicodeTextControl : public wxMacTextControl
--{
--public :
--    wxMacUnicodeTextControl( wxTextCtrl *wxPeer,
--                             const wxString& str,
--                             const wxPoint& pos,
--                             const wxSize& size, long style ) ;
--    virtual ~wxMacUnicodeTextControl();
--
--    virtual void VisibilityChanged(bool shown);
--    virtual wxString GetStringValue() const ;
--    virtual void SetStringValue( const wxString &str) ;
--    virtual void Copy();
--    virtual void Cut();
--    virtual void Paste();
--    virtual bool CanPaste() const;
--    virtual void SetEditable(bool editable) ;
--    virtual void GetSelection( long* from, long* to) const ;
--    virtual void SetSelection( long from , long to ) ;
--    virtual void WriteText(const wxString& str) ;
--
--protected :
--    // contains the tag for the content (is different for password and non-password controls)
--    OSType m_valueTag ;
--
--    // as the selection tag only works correctly when the control has the focus we have to mirror the
--    // intended value
--    EventHandlerRef m_focusHandlerRef ;
--public :
--    ControlEditTextSelectionRec m_selection ;
--};
--
- #endif
- // 'classic' MLTE implementation
-@@ -1434,12 +1349,24 @@
- DEFINE_ONE_SHOT_HANDLER_GETTER( wxMacUnicodeTextControlEventHandler )
-+wxMacUnicodeTextControl::wxMacUnicodeTextControl( wxTextCtrl *wxPeer ) : wxMacTextControl( wxPeer )
-+{
-+}
-+
- wxMacUnicodeTextControl::wxMacUnicodeTextControl( wxTextCtrl *wxPeer,
-     const wxString& str,
-     const wxPoint& pos,
-     const wxSize& size, long style )
-     : wxMacTextControl( wxPeer )
- {
-+    Create( wxPeer, str, pos, size, style );
-+}
-+
-+bool wxMacUnicodeTextControl::Create( wxTextCtrl *wxPeer,
-+    const wxString& str,
-+    const wxPoint& pos,
-+    const wxSize& size, long style )
-+{
-     m_font = wxPeer->GetFont() ;
-     m_windowStyle = style ;
-     Rect bounds = wxMacGetBoundsForControl( wxPeer , pos , size ) ;
-@@ -1447,13 +1374,9 @@
-     wxMacConvertNewlines10To13( &st ) ;
-     wxMacCFStringHolder cf(st , m_font.GetEncoding()) ;
-     CFStringRef cfr = cf ;
--    Boolean isPassword = ( m_windowStyle & wxTE_PASSWORD ) != 0 ;
--    m_valueTag = isPassword ? kControlEditTextPasswordCFStringTag : kControlEditTextCFStringTag ;
--
--    OSStatus err = CreateEditUnicodeTextControl(
--        MAC_WXHWND(wxPeer->MacGetTopLevelWindowRef()), &bounds , cfr ,
--        isPassword , NULL , &m_controlRef ) ;
--    verify_noerr( err );
-+    
-+    m_valueTag = kControlEditTextCFStringTag ;
-+    CreateControl( wxPeer, &bounds, cfr );
-     if ( !(m_windowStyle & wxTE_MULTILINE) )
-         SetData<Boolean>( kControlEditTextPart , kControlEditTextSingleLineTag , true ) ;
-@@ -1461,6 +1384,8 @@
-     InstallControlEventHandler( m_controlRef , GetwxMacUnicodeTextControlEventHandlerUPP(),
-                                 GetEventTypeCount(unicodeTextControlEventList), unicodeTextControlEventList, this,
-                                 &m_focusHandlerRef);
-+                                
-+    return true;
- }
- wxMacUnicodeTextControl::~wxMacUnicodeTextControl()
-@@ -1513,6 +1438,19 @@
-     verify_noerr( SetData<CFStringRef>( 0, m_valueTag , cf ) ) ;
- }
-+void wxMacUnicodeTextControl::CreateControl( wxTextCtrl* peer, const Rect* bounds, CFStringRef cfr )
-+{
-+    Boolean isPassword = ( m_windowStyle & wxTE_PASSWORD ) != 0 ;
-+    if ( isPassword )
-+    {
-+        m_valueTag = kControlEditTextPasswordCFStringTag ;
-+    }
-+    OSStatus err = CreateEditUnicodeTextControl(
-+        MAC_WXHWND(peer->MacGetTopLevelWindowRef()), bounds , cfr ,
-+        isPassword , NULL , &m_controlRef ) ;
-+    verify_noerr( err );
-+}
-+
- void wxMacUnicodeTextControl::Copy()
- {
-     SendHICommand( kHICommandCopy ) ;
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/png/makefile.nt wxWidgets-2006-12-17/src/png/makefile.nt
---- wxWidgets-2.8.0/src/png/makefile.nt        1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/png/makefile.nt   2006-12-17 05:57:33.000000000 +0100
-@@ -0,0 +1,68 @@
-+#
-+# File:               makefile.nt
-+# Author:     Julian Smart
-+# Created:    1993
-+# Updated:    
-+# Copyright:  (c) 1993, AIAI, University of Edinburgh
-+#
-+# "%W% %G%"
-+#
-+# Makefile : Builds winpng.lib library for Windows 3.1
-+
-+# Change WXDIR or WXWIN to wherever wxWindows is found
-+WXDIR = $(WXWIN)
-+WXLIB = $(WXDIR)\lib\wx.lib
-+WXINC = $(WXDIR)\include
-+
-+WINPNGDIR = ..\png
-+WINPNGINC = $(WINPNGDIR)
-+WINPNGLIB = ..\..\lib\winpng.lib
-+
-+INC = /I..\zlib
-+
-+FINAL=1
-+
-+# Set this to nothing if your compiler is MS C++ 7
-+ZOPTION=
-+
-+!ifndef FINAL
-+FINAL=0
-+!endif
-+
-+PRECOMP=/YuWX.H 
-+
-+!if "$(FINAL)" == "0"
-+OPT = /Od
-+CPPFLAGS= /W4 /Zi /MD /GX- $(ZOPTION) $(OPT) /Dwx_msw $(INC) # $(PRECOMP) /Fp$(WXDIR)\src\msw\wx.pch
-+CFLAGS= /W4 /Zi /MD /GX- /Od /Dwx_msw $(INC)
-+LINKFLAGS=/NOD /CO /ONERROR:NOEXE
-+!else
-+# /Ox for real FINAL version
-+OPT = /O2
-+CPPFLAGS= /W4 /MD /GX- /Dwx_msw $(INC) # $(PRECOMP) /Fp$(WXDIR)\src\msw\wx.pch
-+CFLAGS= /W4 /MD /GX- /Dwx_msw $(INC)
-+LINKFLAGS=/NOD /ONERROR:NOEXE
-+!endif
-+
-+OBJECTS = png.obj pngread.obj pngrtran.obj pngrutil.obj \
-+ pngpread.obj pngtrans.obj pngwrite.obj pngwtran.obj pngwutil.obj \
-+ pngerror.obj pngmem.obj pngwio.obj pngrio.obj pngget.obj pngset.obj
-+
-+all:    $(WINPNGLIB)
-+
-+$(WINPNGLIB):      $(OBJECTS)
-+        erase $(WINPNGLIB)
-+        lib @<<
-+-out:$(WINPNGLIB)
-+$(OBJECTS)
-+<<
-+
-+.c.obj:
-+  cl -DWIN32 $(OPT) $(CFLAGS) /c $*.c
-+
-+clean:
-+        erase *.obj
-+        erase *.exe
-+        erase *.lib
-+
-+cleanall:     clean
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/univ/stattext.cpp wxWidgets-2006-12-17/src/univ/stattext.cpp
---- wxWidgets-2.8.0/src/univ/stattext.cpp      2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/src/univ/stattext.cpp 2006-12-17 05:57:55.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:     14.08.00
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -88,6 +88,14 @@
- void wxStaticText::DoDraw(wxControlRenderer *renderer)
- {
-+    if ( UseBgCol() )
-+    {
-+        wxDC& dc = renderer->GetDC();
-+        dc.SetBrush(GetBackgroundColour());
-+        dc.SetPen(*wxTRANSPARENT_PEN);
-+        dc.DrawRectangle(renderer->GetRect());
-+    }
-+
-     renderer->DrawLabel();
- }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/univ/stdrend.cpp wxWidgets-2006-12-17/src/univ/stdrend.cpp
---- wxWidgets-2.8.0/src/univ/stdrend.cpp       2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/src/univ/stdrend.cpp  2006-12-17 05:57:55.000000000 +0100
-@@ -3,7 +3,7 @@
- // Purpose:     implementation of wxStdRenderer
- // Author:      Vadim Zeitlin
- // Created:     2006-09-16
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
- // Licence:     wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
-@@ -257,6 +257,8 @@
-                                     int indexAccel,
-                                     wxRect *rectBounds)
- {
-+    wxDCTextColourChanger clrChanger(dc);
-+
-     wxRect rectLabel = rect;
-     if ( !label.empty() && (flags & wxCONTROL_DISABLED) )
-     {
-@@ -267,13 +269,13 @@
-         }
-         // draw shadow of the text
--        dc.SetTextForeground(m_penHighlight.GetColour());
-+        clrChanger.Set(m_penHighlight.GetColour());
-         wxRect rectShadow = rect;
-         rectShadow.Offset(1, 1);
-         dc.DrawLabel(label, rectShadow, alignment, indexAccel);
-         // make the main label text grey
--        dc.SetTextForeground(m_penDarkGrey.GetColour());
-+        clrChanger.Set(m_penDarkGrey.GetColour());
-         if ( flags & wxCONTROL_FOCUSED )
-         {
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/univ/winuniv.cpp wxWidgets-2006-12-17/src/univ/winuniv.cpp
---- wxWidgets-2.8.0/src/univ/winuniv.cpp       2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/src/univ/winuniv.cpp  2006-12-17 05:57:55.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:     06.08.00
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
- // Licence:     wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
-@@ -1311,6 +1311,7 @@
-             }
- #endif // wxUSE_MENUS
-+#if wxUSE_BUTTON
-             // if it wasn't in a menu, try to find a button
-             if ( command != -1 )
-             {
-@@ -1326,6 +1327,7 @@
-                     }
-                 }
-             }
-+#endif // wxUSE_BUTTON
-             // don't propagate accels from the child frame to the parent one
-             break;
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/unix/net.cpp wxWidgets-2006-12-17/src/unix/net.cpp
---- wxWidgets-2.8.0/src/unix/net.cpp   1970-01-01 01:00:00.000000000 +0100
-+++ wxWidgets-2006-12-17/src/unix/net.cpp      2006-12-17 05:57:55.000000000 +0100
-@@ -0,0 +1,422 @@
-+// -*- c++ -*- ///////////////////////////////////////////////////////////////
-+// Name:        unix/net.cpp
-+// Purpose:     Network related wxWindows classes and functions
-+// Author:      Karsten Ballüder
-+// Modified by:
-+// Created:     03.10.99
-+// RCS-ID:      $Id$
-+// Copyright:   (c) Karsten Ballüder
-+// Licence:     wxWindows licence
-+/////////////////////////////////////////////////////////////////////////////
-+
-+#include "wx/setup.h"
-+
-+#if wxUSE_DIALUP_MANAGER
-+
-+#ifndef  WX_PRECOMP
-+#   include "wx/defs.h"
-+#endif // !PCH
-+
-+#include "wx/string.h"
-+#include "wx/event.h"
-+#include "wx/net.h"
-+#include "wx/timer.h"
-+#include "wx/filefn.h"
-+#include "wx/utils.h"
-+#include "wx/log.h"
-+#include "wx/file.h"
-+
-+#include <stdlib.h>
-+#include <signal.h>
-+#include <fcntl.h>
-+#include <unistd.h>
-+#define __STRICT_ANSI__
-+#include <sys/socket.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <netdb.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+
-+// ----------------------------------------------------------------------------
-+// A class which groups functions dealing with connecting to the network from a
-+// workstation using dial-up access to the net. There is at most one instance
-+// of this class in the program accessed via GetDialUpManager().
-+// ----------------------------------------------------------------------------
-+
-+/* TODO
-+ *
-+ * 1. more configurability for Unix: i.e. how to initiate the connection, how
-+ *    to check for online status, &c.
-+ * 2. add a "long Dial(long connectionId = -1)" function which asks the user
-+ *    about which connection to dial (this may be done using native dialogs
-+ *    under NT, need generic dialogs for all others) and returns the identifier
-+ *    of the selected connection (it's opaque to the application) - it may be
-+ *    reused later to dial the same connection later (or use strings instead of
-+ *    longs may be?)
-+ * 3. add an async version of dialing functions which notify the caller about
-+ *    the progress (or may be even start another thread to monitor it)
-+ * 4. the static creation/accessor functions are not MT-safe - but is this
-+ *    really crucial? I think we may suppose they're always called from the
-+ *    main thread?
-+ */
-+
-+class WXDLLEXPORT wxDialUpManagerImpl : public wxDialUpManager
-+{
-+public:
-+   wxDialUpManagerImpl()
-+      {
-+         m_IsOnline = -1; // unknown
-+         m_timer = NULL;
-+         m_CanUseIfconfig = -1; // unknown
-+         m_BeaconHost = WXDIALUP_MANAGER_DEFAULT_BEACONHOST;
-+         m_BeaconPort = 80;
-+      }
-+
-+   /** Could the dialup manager be initialized correctly? If this function
-+       returns FALSE, no other functions will work neither, so it's a good idea
-+       to call this function and check its result before calling any other
-+       wxDialUpManager methods.
-+   */
-+   virtual bool IsOk() const
-+      { return TRUE; }
-+
-+   /** The simplest way to initiate a dial up: this function dials the given
-+       ISP (exact meaning of the parameter depends on the platform), returns
-+       TRUE on success or FALSE on failure and logs the appropriate error
-+       message in the latter case.
-+       @param nameOfISP optional paramater for dial program
-+       @param username unused
-+       @param password unused
-+   */
-+   virtual bool Dial(const wxString& nameOfISP,
-+                     const wxString& WXUNUSED(username),
-+                     const wxString& WXUNUSED(password));
-+
-+   /// Hang up the currently active dial up connection.
-+   virtual bool HangUp();
-+   
-+   // returns TRUE if the computer is connected to the network: under Windows,
-+   // this just means that a RAS connection exists, under Unix we check that
-+   // the "well-known host" (as specified by SetWellKnownHost) is reachable
-+   virtual bool IsOnline() const
-+      {
-+         if( (! m_timer) // we are not polling, so test now:
-+             || m_IsOnline == -1
-+            )
-+            CheckStatus();
-+         return m_IsOnline != 0;
-+      }
-+
-+   // sometimes the built-in logic for determining the online status may fail,
-+   // so, in general, the user should be allowed to override it. This function
-+   // allows to forcefully set the online status - whatever our internal
-+   // algorithm may think about it.
-+   virtual void SetOnlineStatus(bool isOnline = TRUE)
-+      { m_IsOnline = isOnline; }
-+
-+   // set misc wxDialUpManager options
-+   // --------------------------------
-+
-+   // enable automatical checks for the connection status and sending of
-+   // wxEVT_DIALUP_CONNECTED/wxEVT_DIALUP_DISCONNECTED events. The interval
-+   // parameter is only for Unix where we do the check manually: under
-+   // Windows, the notification about the change of connection status is
-+   // instantenous.
-+   //
-+   // Returns FALSE if couldn't set up automatic check for online status.
-+   virtual bool EnableAutoCheckOnlineStatus(size_t nSeconds);
-+
-+   // disable automatic check for connection status change - notice that the
-+   // wxEVT_DIALUP_XXX events won't be sent any more neither.
-+   virtual void DisableAutoCheckOnlineStatus();
-+
-+   // under Unix, the value of well-known host is used to check whether we're
-+   // connected to the internet. It's unused under Windows, but this function
-+   // is always safe to call. The default value is www.yahoo.com.
-+   virtual void SetWellKnownHost(const wxString& hostname,
-+                                 int portno = 80);
-+   /** Sets the commands to start up the network and to hang up
-+       again. Used by the Unix implementations only.
-+   */
-+   virtual void SetConnectCommand(const wxString &command, const wxString &hupcmd)
-+      { m_ConnectCommand = command; m_HangUpCommand = hupcmd; }
-+
-+private:
-+   /// -1: don´t know, 0 = no, 1 = yes
-+   int m_IsOnline;
-+   
-+   ///  Can we use ifconfig to list active devices?
-+   int m_CanUseIfconfig;
-+   /// The path to ifconfig
-+   wxString m_IfconfigPath;
-+
-+   /// beacon host:
-+   wxString m_BeaconHost;
-+   /// beacon host portnumber for connect:
-+   int m_BeaconPort;
-+
-+   /// command to connect to network
-+   wxString m_ConnectCommand;
-+   /// command to hang up
-+   wxString m_HangUpCommand;
-+   /// name of ISP
-+   wxString m_ISPname;
-+   /// a timer for regular testing
-+   class AutoCheckTimer *m_timer;
-+
-+   friend class AutoCheckTimer;
-+   /// determine status
-+   void CheckStatus(void) const;
-+
-+   /// real status check
-+   void CheckStatusInternal(void);
-+};
-+
-+
-+class AutoCheckTimer : public wxTimer
-+{
-+public:
-+   AutoCheckTimer(wxDialUpManagerImpl *dupman)
-+      {
-+         m_dupman = dupman;
-+         m_started = FALSE;
-+      }
-+
-+   virtual bool Start( int millisecs = -1 )
-+      { m_started = TRUE; return wxTimer::Start(millisecs, FALSE); }
-+
-+   virtual void Notify()
-+      { wxLogTrace("Checking dial up network status."); m_dupman->CheckStatus(); }
-+
-+   virtual void Stop()
-+      { if ( m_started ) wxTimer::Stop(); }
-+public:
-+   bool m_started;
-+   wxDialUpManagerImpl *m_dupman;
-+};
-+
-+bool
-+wxDialUpManagerImpl::Dial(const wxString &isp,
-+                          const wxString & WXUNUSED(username),
-+                          const wxString & WXUNUSED(password))
-+{
-+   if(m_IsOnline == 1)
-+      return FALSE;
-+   m_IsOnline = -1;
-+   m_ISPname = isp;
-+   wxString cmd;
-+   if(m_ConnectCommand.Find("%s"))
-+      cmd.Printf(m_ConnectCommand,m_ISPname.c_str());
-+   else
-+      cmd = m_ConnectCommand;
-+   return wxExecute(cmd, /* sync */ TRUE) == 0;
-+}
-+
-+bool
-+wxDialUpManagerImpl::HangUp(void)
-+{
-+   if(m_IsOnline == 0)
-+      return FALSE;
-+   m_IsOnline = -1;
-+   wxString cmd;
-+   if(m_HangUpCommand.Find("%s"))
-+      cmd.Printf(m_HangUpCommand,m_ISPname.c_str());
-+   else
-+      cmd = m_HangUpCommand;
-+   return wxExecute(cmd, /* sync */ TRUE) == 0;
-+}
-+
-+
-+bool
-+wxDialUpManagerImpl::EnableAutoCheckOnlineStatus(size_t nSeconds)
-+{
-+   wxASSERT(m_timer == NULL);
-+   m_timer = new AutoCheckTimer(this);
-+   bool rc = m_timer->Start(nSeconds*1000);
-+   if(! rc)
-+   {
-+      delete m_timer;
-+      m_timer = NULL;
-+   }
-+   return rc;
-+}
-+
-+void
-+wxDialUpManagerImpl::DisableAutoCheckOnlineStatus()
-+{
-+   wxASSERT(m_timer != NULL);
-+   m_timer->Stop();
-+   delete m_timer;
-+   m_timer = NULL;
-+}
-+
-+
-+void
-+wxDialUpManagerImpl::SetWellKnownHost(const wxString& hostname, int portno)
-+{
-+   /// does hostname contain a port number?
-+   wxString port = hostname.After(':');
-+   if(port.Length())
-+   {
-+      m_BeaconHost = hostname.Before(':');
-+      m_BeaconPort = atoi(port);
-+   }
-+   else
-+   {
-+      m_BeaconHost = hostname;
-+      m_BeaconPort = portno;
-+   }
-+}
-+
-+
-+void
-+wxDialUpManagerImpl::CheckStatus(void) const
-+{
-+   // This function calls the CheckStatusInternal() helper function
-+   // which is OS - specific and then sends the events.
-+
-+   int oldIsOnline = m_IsOnline;
-+   ( /* non-const */ (wxDialUpManagerImpl *)this)->CheckStatusInternal();
-+
-+   // now send the events as appropriate:
-+   if(m_IsOnline != oldIsOnline)
-+   {
-+      if(m_IsOnline)
-+         ; // send ev
-+      else
-+         ; // send ev
-+   }
-+}
-+
-+/*
-+  We have three methods that we can use:
-+
-+  1. test via /sbin/ifconfig and grep for "sl", "ppp", "pl"
-+     --> should be fast enough for regular polling
-+  2. test if we can reach the well known beacon host
-+     --> too slow for polling
-+  3. check /proc/net/dev on linux??
-+     This method should be preferred, if possible. Need to do more
-+     testing.
-+    
-+*/
-+
-+void
-+wxDialUpManagerImpl::CheckStatusInternal(void)
-+{
-+   m_IsOnline = -1;
-+
-+   // First time check for ifconfig location. We only use the variant
-+   // which does not take arguments, a la GNU.
-+   if(m_CanUseIfconfig == -1) // unknown
-+   {
-+      if(wxFileExists("/sbin/ifconfig"))
-+         m_IfconfigPath = "/sbin/ifconfig";
-+      else if(wxFileExists("/usr/sbin/ifconfig"))
-+         m_IfconfigPath = "/usr/sbin/ifconfig";
-+   }
-+
-+   wxLogNull ln; // suppress all error messages
-+   // Let´s try the ifconfig method first, should be fastest:
-+   if(m_CanUseIfconfig != 0) // unknown or yes
-+   {
-+      wxASSERT(m_IfconfigPath.length());
-+      
-+      wxString tmpfile = wxGetTempFileName("_wxdialuptest");
-+      wxString cmd = "/bin/sh -c \'";
-+      cmd << m_IfconfigPath << " >" << tmpfile <<  '\'';
-+      /* I tried to add an option to wxExecute() to not close stdout,
-+         so we could let ifconfig write directly to the tmpfile, but
-+         this does not work. That should be faster, as it doesn´t call 
-+         the shell first. I have no idea why. :-(  (KB) */
-+#if 0
-+      // temporarily redirect stdout/stderr:
-+      int
-+         new_stdout = dup(STDOUT_FILENO),
-+         new_stderr = dup(STDERR_FILENO);
-+      close(STDOUT_FILENO);
-+      close(STDERR_FILENO);
-+
-+      int
-+         // new stdout:
-+         output_fd = open(tmpfile, O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR),
-+         // new stderr:
-+         null_fd = open("/dev/null", O_CREAT, S_IRUSR|S_IWUSR);
-+      // verify well behaved unix behaviour:
-+      wxASSERT(output_fd == STDOUT_FILENO);
-+      wxASSERT(null_fd == STDERR_FILENO);
-+      int rc = wxExecute(m_IfconfigPath,TRUE /* sync */,NULL ,wxEXECUTE_DONT_CLOSE_FDS);
-+      close(null_fd); close(output_fd);
-+      // restore old stdout, stderr:
-+      int test;
-+      test = dup(new_stdout); close(new_stdout); wxASSERT(test == STDOUT_FILENO);
-+      test = dup(new_stderr); close(new_stderr); wxASSERT(test == STDERR_FILENO);
-+      if(rc == 0)
-+#endif
-+      if(wxExecute(cmd,TRUE /* sync */) == 0)
-+      {
-+         m_CanUseIfconfig = 1;
-+         wxFile file;
-+         if( file.Open(tmpfile) )
-+         {
-+            char *output = new char [file.Length()+1];
-+            output[file.Length()] = '\0';
-+            if(file.Read(output,file.Length()) == file.Length())
-+            {
-+               if(strstr(output,"ppp")   // ppp
-+                  || strstr(output,"sl") // slip
-+                  || strstr(output,"pl") // plip
-+                  )
-+                  m_IsOnline = 1;
-+               else
-+                  m_IsOnline = 0;
-+            }
-+            file.Close();
-+            delete [] output;
-+         }
-+         // else m_IsOnline remains -1 as we don't know for sure
-+      }
-+      else // could not run ifconfig correctly
-+         m_CanUseIfconfig = 0; // don´t try again
-+      (void) wxRemoveFile(tmpfile);
-+      if(m_IsOnline != -1) // we are done
-+         return;
-+   }
-+
-+   // second method: try to connect to well known host:
-+   // This can be used under Win 9x, too!
-+   struct hostent     *hp;
-+   struct sockaddr_in  serv_addr;
-+   int        sockfd;
-+
-+   m_IsOnline = 0; // assume false
-+   if((hp = gethostbyname(m_BeaconHost)) == NULL)
-+      return; // no DNS no net
-+   
-+   serv_addr.sin_family               = hp->h_addrtype;
-+   memcpy(&serv_addr.sin_addr,hp->h_addr, hp->h_length);
-+   serv_addr.sin_port         = htons(m_BeaconPort);
-+   if( ( sockfd = socket(hp->h_addrtype, SOCK_STREAM, 0)) < 0) 
-+   {  
-+      //  sys_error("cannot create socket for gw");
-+      return;
-+   }
-+   if( connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0)
-+   {  
-+      //sys_error("cannot connect to server");
-+      return;
-+   }
-+   //connected!
-+   close(sockfd);
-+}
-+
-+
-+/* static */
-+wxDialUpManager *
-+wxDialUpManager::wxDialUpManager::Create(void)
-+{
-+   return new wxDialUpManagerImpl;
-+}
-+
-+#endif // wxUSE_DIALUP_MANAGER
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/unix/stackwalk.cpp wxWidgets-2006-12-17/src/unix/stackwalk.cpp
---- wxWidgets-2.8.0/src/unix/stackwalk.cpp     2006-12-11 22:50:37.000000000 +0100
-+++ wxWidgets-2006-12-17/src/unix/stackwalk.cpp        2006-12-17 05:57:55.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Vadim Zeitlin
- // Modified by:
- // Created:     2005-01-18
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2005 Vadim Zeitlin <vadim@wxwindows.org>
- // Licence:     wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
-@@ -254,7 +254,8 @@
-         }
-         else
-         {
--            wxLogDebug(_T("cannot read addr2line output for %u-th stack frame!"), unsigned(i));
-+            wxLogDebug(_T("cannot read addr2line output for stack frame #%lu"),
-+                       (unsigned long)i);
-             return false;
-         }
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/wxWindows.xcodeproj/project.pbxproj wxWidgets-2006-12-17/src/wxWindows.xcodeproj/project.pbxproj
---- wxWidgets-2.8.0/src/wxWindows.xcodeproj/project.pbxproj    2006-12-11 22:51:07.000000000 +0100
-+++ wxWidgets-2006-12-17/src/wxWindows.xcodeproj/project.pbxproj       2006-12-17 05:58:12.000000000 +0100
-@@ -136,6 +136,8 @@
-               407C6AE50A899E260056252A /* floatpane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 407C6ADA0A899E260056252A /* floatpane.cpp */; };
-               407C6AE60A899E260056252A /* framemanager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 407C6ADB0A899E260056252A /* framemanager.cpp */; };
-               407C6AE70A899E260056252A /* tabmdi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 407C6ADC0A899E260056252A /* tabmdi.cpp */; };
-+              408443F10B3274EF00485940 /* srchcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 408443F00B3274EF00485940 /* srchcmn.cpp */; };
-+              408443F20B3274EF00485940 /* srchcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 408443F00B3274EF00485940 /* srchcmn.cpp */; };
-               4086C745063AB2FF00D4CD53 /* setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5FD822102CCECE601000133 /* setup.h */; };
-               4086C747063AB2FF00D4CD53 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A8600801FA022B0175ACA7 /* file.cpp */; };
-               4086C748063AB2FF00D4CD53 /* appcmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5A85FDF01FA022B0175ACA7 /* appcmn.cpp */; };
-@@ -406,7 +408,6 @@
-               4086C859063AB2FF00D4CD53 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863DB01FA022D0175ACA7 /* pngwrite.c */; };
-               4086C85A063AB2FF00D4CD53 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863DA01FA022D0175ACA7 /* pngwio.c */; };
-               4086C85B063AB2FF00D4CD53 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D901FA022D0175ACA7 /* pngtrans.c */; };
--              4086C85C063AB2FF00D4CD53 /* pngtest.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D801FA022D0175ACA7 /* pngtest.c */; };
-               4086C85D063AB2FF00D4CD53 /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D701FA022D0175ACA7 /* pngset.c */; };
-               4086C85E063AB2FF00D4CD53 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D601FA022D0175ACA7 /* pngrutil.c */; };
-               4086C85F063AB2FF00D4CD53 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D501FA022D0175ACA7 /* pngrtran.c */; };
-@@ -780,7 +781,6 @@
-               4086CB6C063AB30000D4CD53 /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863DB01FA022D0175ACA7 /* pngwrite.c */; };
-               4086CB6D063AB30000D4CD53 /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863DA01FA022D0175ACA7 /* pngwio.c */; };
-               4086CB6E063AB30000D4CD53 /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D901FA022D0175ACA7 /* pngtrans.c */; };
--              4086CB6F063AB30000D4CD53 /* pngtest.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D801FA022D0175ACA7 /* pngtest.c */; };
-               4086CB70063AB30000D4CD53 /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D701FA022D0175ACA7 /* pngset.c */; };
-               4086CB71063AB30000D4CD53 /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D601FA022D0175ACA7 /* pngrutil.c */; };
-               4086CB72063AB30000D4CD53 /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = F5A863D501FA022D0175ACA7 /* pngrtran.c */; };
-@@ -1112,6 +1112,15 @@
-               43DFF5BB09926F7B0033000B /* helpwnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43DFF5B909926F7B0033000B /* helpwnd.cpp */; };
-               43DFF5BC09926F7B0033000B /* helpdlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43DFF5B809926F7B0033000B /* helpdlg.cpp */; };
-               43DFF5BD09926F7B0033000B /* helpwnd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43DFF5B909926F7B0033000B /* helpwnd.cpp */; };
-+              61048A650B2756CB009C253D /* srchctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61048A640B2756CB009C253D /* srchctrl.cpp */; };
-+              61048A660B2756CB009C253D /* srchctrl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61048A640B2756CB009C253D /* srchctrl.cpp */; };
-+              61048A740B277DE5009C253D /* mactext.h in Headers */ = {isa = PBXBuildFile; fileRef = 61048A6E0B277DE5009C253D /* mactext.h */; };
-+              61048A750B277DE5009C253D /* overlay.h in Headers */ = {isa = PBXBuildFile; fileRef = 61048A6F0B277DE5009C253D /* overlay.h */; };
-+              61048A760B277DE5009C253D /* print.h in Headers */ = {isa = PBXBuildFile; fileRef = 61048A700B277DE5009C253D /* print.h */; };
-+              61048AE20B278C9A009C253D /* srchctrl.h in Headers */ = {isa = PBXBuildFile; fileRef = 61048AE10B278C9A009C253D /* srchctrl.h */; };
-+              61048AE30B278C9A009C253D /* srchctrl.h in Headers */ = {isa = PBXBuildFile; fileRef = 61048AE10B278C9A009C253D /* srchctrl.h */; };
-+              61048BE90B27B7D0009C253D /* srchctlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61048BE80B27B7D0009C253D /* srchctlg.cpp */; };
-+              61048BEA0B27B7D0009C253D /* srchctlg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61048BE80B27B7D0009C253D /* srchctlg.cpp */; };
- /* End PBXBuildFile section */
- /* Begin PBXBuildRule section */
-@@ -1125,23 +1134,6 @@
-               };
- /* End PBXBuildRule section */
--/* Begin PBXBuildStyle section */
--              402AB2150AFF45A400C0D0C9 /* Development */ = {
--                      isa = PBXBuildStyle;
--                      buildSettings = {
--                              COPY_PHASE_STRIP = NO;
--                      };
--                      name = Development;
--              };
--              402AB2160AFF45A400C0D0C9 /* Deployment */ = {
--                      isa = PBXBuildStyle;
--                      buildSettings = {
--                              COPY_PHASE_STRIP = YES;
--                      };
--                      name = Deployment;
--              };
--/* End PBXBuildStyle section */
--
- /* Begin PBXContainerItemProxy section */
-               4086D202063BC05E00D4CD53 /* PBXContainerItemProxy */ = {
-                       isa = PBXContainerItemProxy;
-@@ -1159,18 +1151,6 @@
-               };
- /* End PBXContainerItemProxy section */
--/* Begin PBXCopyFilesBuildPhase section */
--              409E9DD5065140690091DE7E /* CopyFiles */ = {
--                      isa = PBXCopyFilesBuildPhase;
--                      buildActionMask = 2147483647;
--                      dstPath = "";
--                      dstSubfolderSpec = 7;
--                      files = (
--                      );
--                      runOnlyForDeploymentPostprocessing = 0;
--              };
--/* End PBXCopyFilesBuildPhase section */
--
- /* Begin PBXFileReference section */
-               08FB77AAFE841565C02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
-               0A98CB6A07146A06007B4289 /* statbar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = statbar.cpp; sourceTree = "<group>"; };
-@@ -1229,6 +1209,7 @@
-               407C6ADA0A899E260056252A /* floatpane.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = floatpane.cpp; sourceTree = "<group>"; };
-               407C6ADB0A899E260056252A /* framemanager.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = framemanager.cpp; sourceTree = "<group>"; };
-               407C6ADC0A899E260056252A /* tabmdi.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = tabmdi.cpp; sourceTree = "<group>"; };
-+              408443F00B3274EF00485940 /* srchcmn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = srchcmn.cpp; sourceTree = "<group>"; };
-               4086C3A2063A454900D4CD53 /* sound.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = sound.cpp; sourceTree = "<group>"; };
-               4086C59F063AA5C700D4CD53 /* glcanvas.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = glcanvas.cpp; sourceTree = "<group>"; };
-               4086C638063AAD4A00D4CD53 /* regcomp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = regcomp.c; sourceTree = "<group>"; };
-@@ -1352,6 +1333,12 @@
-               43DFF59C09926B080033000B /* helpwnd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = helpwnd.h; sourceTree = "<group>"; };
-               43DFF5B809926F7B0033000B /* helpdlg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = helpdlg.cpp; sourceTree = "<group>"; };
-               43DFF5B909926F7B0033000B /* helpwnd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = helpwnd.cpp; sourceTree = "<group>"; };
-+              61048A640B2756CB009C253D /* srchctrl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = srchctrl.cpp; sourceTree = "<group>"; };
-+              61048A6E0B277DE5009C253D /* mactext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = mactext.h; path = private/mactext.h; sourceTree = "<group>"; };
-+              61048A6F0B277DE5009C253D /* overlay.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = overlay.h; path = private/overlay.h; sourceTree = "<group>"; };
-+              61048A700B277DE5009C253D /* print.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = print.h; path = private/print.h; sourceTree = "<group>"; };
-+              61048AE10B278C9A009C253D /* srchctrl.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = srchctrl.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
-+              61048BE80B27B7D0009C253D /* srchctlg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = srchctlg.cpp; sourceTree = "<group>"; };
-               CA0CB57B0450773900000102 /* accesscmn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = accesscmn.cpp; sourceTree = "<group>"; };
-               CA0CB57C0450773900000102 /* datacmn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = datacmn.cpp; sourceTree = "<group>"; };
-               CA0CB57D0450773900000102 /* dpycmn.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = dpycmn.cpp; sourceTree = "<group>"; };
-@@ -2017,7 +2004,7 @@
-               F5A861FB01FA022C0175ACA7 /* statlmac.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = statlmac.cpp; sourceTree = "<group>"; };
-               F5A861FC01FA022C0175ACA7 /* stattext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = stattext.cpp; sourceTree = "<group>"; };
-               F5A861FD01FA022C0175ACA7 /* tabctrl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = tabctrl.cpp; sourceTree = "<group>"; };
--              F5A861FF01FA022C0175ACA7 /* textctrl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = textctrl.cpp; sourceTree = "<group>"; };
-+              F5A861FF01FA022C0175ACA7 /* textctrl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = textctrl.cpp; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
-               F5A8620101FA022C0175ACA7 /* timer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = timer.cpp; sourceTree = "<group>"; };
-               F5A8620201FA022C0175ACA7 /* toolbar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = toolbar.cpp; sourceTree = "<group>"; };
-               F5A8620301FA022C0175ACA7 /* tooltip.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = tooltip.cpp; sourceTree = "<group>"; };
-@@ -2036,7 +2023,6 @@
-               F5A863D501FA022D0175ACA7 /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngrtran.c; sourceTree = "<group>"; };
-               F5A863D601FA022D0175ACA7 /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngrutil.c; sourceTree = "<group>"; };
-               F5A863D701FA022D0175ACA7 /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngset.c; sourceTree = "<group>"; };
--              F5A863D801FA022D0175ACA7 /* pngtest.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngtest.c; sourceTree = "<group>"; };
-               F5A863D901FA022D0175ACA7 /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngtrans.c; sourceTree = "<group>"; };
-               F5A863DA01FA022D0175ACA7 /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngwio.c; sourceTree = "<group>"; };
-               F5A863DB01FA022D0175ACA7 /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = pngwrite.c; sourceTree = "<group>"; };
-@@ -2287,6 +2273,16 @@
-                       path = richtext;
-                       sourceTree = "<group>";
-               };
-+              61048A6D0B277DC2009C253D /* private */ = {
-+                      isa = PBXGroup;
-+                      children = (
-+                              61048A6E0B277DE5009C253D /* mactext.h */,
-+                              61048A6F0B277DE5009C253D /* overlay.h */,
-+                              61048A700B277DE5009C253D /* print.h */,
-+                      );
-+                      name = private;
-+                      sourceTree = "<group>";
-+              };
-               CADEF54203C8C0A800000133 /* morefilex */ = {
-                       isa = PBXGroup;
-                       children = (
-@@ -2483,6 +2479,7 @@
-                               F5A85F2801FA022B0175ACA7 /* spinctrl.h */,
-                               F5A85F2901FA022B0175ACA7 /* splash.h */,
-                               F5A85F2A01FA022B0175ACA7 /* splitter.h */,
-+                              61048AE10B278C9A009C253D /* srchctrl.h */,
-                               F5A85F2B01FA022B0175ACA7 /* stack.h */,
-                               F5A85F2C01FA022B0175ACA7 /* statbmp.h */,
-                               F5A85F2D01FA022B0175ACA7 /* statbox.h */,
-@@ -2611,6 +2608,7 @@
-               F5A85D3B01FA022B0175ACA7 /* mac/carbon */ = {
-                       isa = PBXGroup;
-                       children = (
-+                              61048A6D0B277DC2009C253D /* private */,
-                               F5A85D3C01FA022B0175ACA7 /* accel.h */,
-                               F5A85D3D01FA022B0175ACA7 /* aga.h */,
-                               F5A85D3E01FA022B0175ACA7 /* app.h */,
-@@ -2881,6 +2879,7 @@
-                               F5AC2EDE03803A3601000133 /* settcmn.cpp */,
-                               F5A8604A01FA022C0175ACA7 /* sizer.cpp */,
-                               F5A8604B01FA022C0175ACA7 /* socket.cpp */,
-+                              408443F00B3274EF00485940 /* srchcmn.cpp */,
-                               40670A9407377B1000F7C08C /* sstream.cpp */,
-                               0A98CB6A07146A06007B4289 /* statbar.cpp */,
-                               40670A9507377B1000F7C08C /* stdpbase.cpp */,
-@@ -2972,6 +2971,7 @@
-                               CA60176D04D43CAA00000080 /* selstore.cpp */,
-                               F5A8609701FA022C0175ACA7 /* splash.cpp */,
-                               F5A8609801FA022C0175ACA7 /* splitter.cpp */,
-+                              61048BE80B27B7D0009C253D /* srchctlg.cpp */,
-                               F5A8609A01FA022C0175ACA7 /* statusbr.cpp */,
-                               F5A8609B01FA022C0175ACA7 /* tabg.cpp */,
-                               F5A8609D01FA022C0175ACA7 /* textdlgg.cpp */,
-@@ -3148,6 +3148,7 @@
-                               4086C3A2063A454900D4CD53 /* sound.cpp */,
-                               F5A861F501FA022C0175ACA7 /* spinbutt.cpp */,
-                               407A90F6065742ED00F01665 /* spinctrl.cpp */,
-+                              61048A640B2756CB009C253D /* srchctrl.cpp */,
-                               F5A861F701FA022C0175ACA7 /* statbmp.cpp */,
-                               F5A861F801FA022C0175ACA7 /* statbox.cpp */,
-                               F5A861F901FA022C0175ACA7 /* statbrma.cpp */,
-@@ -3199,7 +3200,6 @@
-                               F5A863D501FA022D0175ACA7 /* pngrtran.c */,
-                               F5A863D601FA022D0175ACA7 /* pngrutil.c */,
-                               F5A863D701FA022D0175ACA7 /* pngset.c */,
--                              F5A863D801FA022D0175ACA7 /* pngtest.c */,
-                               F5A863D901FA022D0175ACA7 /* pngtrans.c */,
-                               F5A863DA01FA022D0175ACA7 /* pngwio.c */,
-                               F5A863DB01FA022D0175ACA7 /* pngwrite.c */,
-@@ -3275,6 +3275,7 @@
-                               40011F3D0897D8DF00E4DE95 /* setup0.h in Headers */,
-                               43DFF59D09926B080033000B /* helpdlg.h in Headers */,
-                               43DFF59E09926B080033000B /* helpwnd.h in Headers */,
-+                              61048AE20B278C9A009C253D /* srchctrl.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-@@ -3286,6 +3287,10 @@
-                               40011F3C0897D8DF00E4DE95 /* setup0.h in Headers */,
-                               43DFF59F09926B080033000B /* helpdlg.h in Headers */,
-                               43DFF5A009926B080033000B /* helpwnd.h in Headers */,
-+                              61048A740B277DE5009C253D /* mactext.h in Headers */,
-+                              61048A750B277DE5009C253D /* overlay.h in Headers */,
-+                              61048A760B277DE5009C253D /* print.h in Headers */,
-+                              61048AE30B278C9A009C253D /* srchctrl.h in Headers */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-@@ -3296,8 +3301,6 @@
-                       isa = PBXNativeTarget;
-                       buildConfigurationList = 18B5B98A08564B5D002803C9 /* Build configuration list for PBXNativeTarget "static" */;
-                       buildPhases = (
--                              4086C743063AB2FF00D4CD53 /* ShellScript */,
--                              409E9DD5065140690091DE7E /* CopyFiles */,
-                               4086C744063AB2FF00D4CD53 /* Headers */,
-                               4086C746063AB2FF00D4CD53 /* Sources */,
-                               4086C8C8063AB2FF00D4CD53 /* Frameworks */,
-@@ -3338,12 +3341,6 @@
-               0867D690FE84028FC02AAC07 /* Project object */ = {
-                       isa = PBXProject;
-                       buildConfigurationList = 18B5B99E08564B5D002803C9 /* Build configuration list for PBXProject "wxWindows" */;
--                      buildSettings = {
--                      };
--                      buildStyles = (
--                              402AB2150AFF45A400C0D0C9 /* Development */,
--                              402AB2160AFF45A400C0D0C9 /* Deployment */,
--                      );
-                       hasScannedForEncodings = 1;
-                       mainGroup = 0867D691FE84028FC02AAC07 /* wxWindows */;
-                       productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
-@@ -3374,15 +3371,6 @@
- /* End PBXRezBuildPhase section */
- /* Begin PBXShellScriptBuildPhase section */
--              4086C743063AB2FF00D4CD53 /* ShellScript */ = {
--                      isa = PBXShellScriptBuildPhase;
--                      buildActionMask = 2147483647;
--                      files = (
--                      );
--                      runOnlyForDeploymentPostprocessing = 0;
--                      shellPath = /bin/sh;
--                      shellScript = "$SRCROOT/../distrib/mac/pbsetup-sh \"${SRCROOT}\" \"${SYMROOT}\"";
--              };
-               4086CA56063AB30000D4CD53 /* ShellScript */ = {
-                       isa = PBXShellScriptBuildPhase;
-                       buildActionMask = 2147483647;
-@@ -3668,7 +3656,6 @@
-                               4086C859063AB2FF00D4CD53 /* pngwrite.c in Sources */,
-                               4086C85A063AB2FF00D4CD53 /* pngwio.c in Sources */,
-                               4086C85B063AB2FF00D4CD53 /* pngtrans.c in Sources */,
--                              4086C85C063AB2FF00D4CD53 /* pngtest.c in Sources */,
-                               4086C85D063AB2FF00D4CD53 /* pngset.c in Sources */,
-                               4086C85E063AB2FF00D4CD53 /* pngrutil.c in Sources */,
-                               4086C85F063AB2FF00D4CD53 /* pngrtran.c in Sources */,
-@@ -3933,6 +3920,9 @@
-                               402AB2810AFF567600C0D0C9 /* xh_collpane.cpp in Sources */,
-                               402AB2820AFF567600C0D0C9 /* xh_htmllbox.cpp in Sources */,
-                               402AB42C0AFF574600C0D0C9 /* imagtga.cpp in Sources */,
-+                              61048A650B2756CB009C253D /* srchctrl.cpp in Sources */,
-+                              61048BE90B27B7D0009C253D /* srchctlg.cpp in Sources */,
-+                              408443F20B3274EF00485940 /* srchcmn.cpp in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-@@ -4209,7 +4199,6 @@
-                               4086CB6C063AB30000D4CD53 /* pngwrite.c in Sources */,
-                               4086CB6D063AB30000D4CD53 /* pngwio.c in Sources */,
-                               4086CB6E063AB30000D4CD53 /* pngtrans.c in Sources */,
--                              4086CB6F063AB30000D4CD53 /* pngtest.c in Sources */,
-                               4086CB70063AB30000D4CD53 /* pngset.c in Sources */,
-                               4086CB71063AB30000D4CD53 /* pngrutil.c in Sources */,
-                               4086CB72063AB30000D4CD53 /* pngrtran.c in Sources */,
-@@ -4474,6 +4463,9 @@
-                               402AB27E0AFF567600C0D0C9 /* xh_collpane.cpp in Sources */,
-                               402AB27F0AFF567600C0D0C9 /* xh_htmllbox.cpp in Sources */,
-                               402AB42B0AFF574600C0D0C9 /* imagtga.cpp in Sources */,
-+                              61048A660B2756CB009C253D /* srchctrl.cpp in Sources */,
-+                              61048BEA0B27B7D0009C253D /* srchctlg.cpp in Sources */,
-+                              408443F10B3274EF00485940 /* srchcmn.cpp in Sources */,
-                       );
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-@@ -4582,10 +4574,7 @@
-                       isa = XCBuildConfiguration;
-                       buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
--                              ARCHS = (
--                                      i386,
--                                      ppc,
--                              );
-+                              ARCHS = "$(NATIVE_ARCH)";
-                               DEBUG_INFORMATION_FORMAT = stabs;
-                               DYLIB_COMPATIBILITY_VERSION = 2.6;
-                               DYLIB_CURRENT_VERSION = 2.6.0;
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/x11/evtloop.cpp wxWidgets-2006-12-17/src/x11/evtloop.cpp
---- wxWidgets-2.8.0/src/x11/evtloop.cpp        2006-12-11 22:51:06.000000000 +0100
-+++ wxWidgets-2006-12-17/src/x11/evtloop.cpp   2006-12-17 05:58:11.000000000 +0100
-@@ -4,7 +4,7 @@
- // Author:      Julian Smart
- // Modified by:
- // Created:     01.06.01
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2002 Julian Smart
- // License:     wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
-@@ -30,7 +30,7 @@
-     #include "wx/module.h"
- #endif
--#include "wx/tooltip.h"
-+#include "wx/private/socketevtdispatch.h"
- #include "wx/unix/private.h"
- #include "wx/x11/private.h"
- #include "X11/Xlib.h"
-@@ -46,218 +46,6 @@
- #   include <sys/select.h>
- #endif
--#if wxUSE_SOCKETS
--// ----------------------------------------------------------------------------
--// wxSocketTable
--// ----------------------------------------------------------------------------
--
--typedef void (*wxSocketCallback) (int fd, void* data);
--
--class wxSocketTableEntry: public wxObject
--{
--  public:
--    wxSocketTableEntry()
--    {
--        m_fdInput = -1; m_fdOutput = -1;
--        m_callbackInput = NULL; m_callbackOutput = NULL;
--        m_dataInput = NULL; m_dataOutput = NULL;
--    }
--
--    int m_fdInput;
--    int m_fdOutput;
--    wxSocketCallback m_callbackInput;
--    wxSocketCallback m_callbackOutput;
--    void* m_dataInput;
--    void* m_dataOutput;
--};
--
--typedef enum
--{ wxSocketTableInput, wxSocketTableOutput } wxSocketTableType ;
--
--class wxSocketTable: public wxHashTable
--{
--  public:
--    wxSocketTable(): wxHashTable(wxKEY_INTEGER)
--    {
--    }
--    virtual ~wxSocketTable()
--    {
--        WX_CLEAR_HASH_TABLE(*this)
--    }
--
--    wxSocketTableEntry* FindEntry(int fd);
--
--    void RegisterCallback(int fd, wxSocketTableType socketType, wxSocketCallback callback, void* data);
--
--    void UnregisterCallback(int fd, wxSocketTableType socketType);
--
--    bool CallCallback(int fd, wxSocketTableType socketType);
--
--    void FillSets(fd_set* readset, fd_set* writeset, int* highest);
--
--    void ProcessEvents(fd_set* readset, fd_set* writeset);
--};
--
--wxSocketTableEntry* wxSocketTable::FindEntry(int fd)
--{
--    wxSocketTableEntry* entry = (wxSocketTableEntry*) Get(fd);
--    return entry;
--}
--
--void wxSocketTable::RegisterCallback(int fd, wxSocketTableType socketType, wxSocketCallback callback, void* data)
--{
--    wxSocketTableEntry* entry = FindEntry(fd);
--    if (!entry)
--    {
--        entry = new wxSocketTableEntry();
--        Put(fd, entry);
--    }
--
--    if (socketType == wxSocketTableInput)
--    {
--        entry->m_fdInput = fd;
--        entry->m_dataInput = data;
--        entry->m_callbackInput = callback;
--    }
--    else
--    {
--        entry->m_fdOutput = fd;
--        entry->m_dataOutput = data;
--        entry->m_callbackOutput = callback;
--    }
--}
--
--void wxSocketTable::UnregisterCallback(int fd, wxSocketTableType socketType)
--{
--    wxSocketTableEntry* entry = FindEntry(fd);
--    if (entry)
--    {
--        if (socketType == wxSocketTableInput)
--        {
--            entry->m_fdInput = -1;
--            entry->m_dataInput = NULL;
--            entry->m_callbackInput = NULL;
--        }
--        else
--        {
--            entry->m_fdOutput = -1;
--            entry->m_dataOutput = NULL;
--            entry->m_callbackOutput = NULL;
--        }
--        if (entry->m_fdInput == -1 && entry->m_fdOutput == -1)
--        {
--            Delete(fd);
--            delete entry;
--        }
--    }
--}
--
--bool wxSocketTable::CallCallback(int fd, wxSocketTableType socketType)
--{
--    wxSocketTableEntry* entry = FindEntry(fd);
--    if (entry)
--    {
--        if (socketType == wxSocketTableInput)
--        {
--            if (entry->m_fdInput != -1 && entry->m_callbackInput)
--            {
--                (entry->m_callbackInput) (entry->m_fdInput, entry->m_dataInput);
--            }
--        }
--        else
--        {
--            if (entry->m_fdOutput != -1 && entry->m_callbackOutput)
--            {
--                (entry->m_callbackOutput) (entry->m_fdOutput, entry->m_dataOutput);
--            }
--        }
--        return true;
--    }
--    else
--        return false;
--}
--
--void wxSocketTable::FillSets(fd_set* readset, fd_set* writeset, int* highest)
--{
--    BeginFind();
--    wxHashTable::compatibility_iterator node = Next();
--    while (node)
--    {
--        wxSocketTableEntry* entry = (wxSocketTableEntry*) node->GetData();
--
--        if (entry->m_fdInput != -1)
--        {
--            wxFD_SET(entry->m_fdInput, readset);
--            if (entry->m_fdInput > *highest)
--                * highest = entry->m_fdInput;
--        }
--
--        if (entry->m_fdOutput != -1)
--        {
--            wxFD_SET(entry->m_fdOutput, writeset);
--            if (entry->m_fdOutput > *highest)
--                * highest = entry->m_fdOutput;
--        }
--
--        node = Next();
--    }
--}
--
--void wxSocketTable::ProcessEvents(fd_set* readset, fd_set* writeset)
--{
--    BeginFind();
--    wxHashTable::compatibility_iterator node = Next();
--    while (node)
--    {
--        wxSocketTableEntry* entry = (wxSocketTableEntry*) node->GetData();
--
--        if (entry->m_fdInput != -1 && wxFD_ISSET(entry->m_fdInput, readset))
--        {
--            (entry->m_callbackInput) (entry->m_fdInput, entry->m_dataInput);
--        }
--
--        if (entry->m_fdOutput != -1 && wxFD_ISSET(entry->m_fdOutput, writeset))
--        {
--            (entry->m_callbackOutput) (entry->m_fdOutput, entry->m_dataOutput);
--        }
--
--        node = Next();
--    }
--}
--
--wxSocketTable* wxTheSocketTable = NULL;
--
--class wxSocketTableModule: public wxModule
--{
--DECLARE_DYNAMIC_CLASS(wxSocketTableModule)
--public:
--    wxSocketTableModule() {}
--    bool OnInit() { wxTheSocketTable = new wxSocketTable; return true; };
--    void OnExit() { delete wxTheSocketTable; wxTheSocketTable = NULL; };
--};
--
--IMPLEMENT_DYNAMIC_CLASS(wxSocketTableModule, wxModule)
--
--// Implement registration functions as C functions so they
--// can be called from gsock11.c
--
--extern "C" void wxRegisterSocketCallback(int fd, wxSocketTableType socketType, wxSocketCallback callback, void* data)
--{
--    if (wxTheSocketTable)
--    {
--        wxTheSocketTable->RegisterCallback(fd, socketType, callback, data);
--    }
--}
--
--extern "C" void wxUnregisterSocketCallback(int fd, wxSocketTableType socketType)
--{
--    if (wxTheSocketTable)
--    {
--        wxTheSocketTable->UnregisterCallback(fd, socketType);
--    }
--}
--#endif
--
- // ----------------------------------------------------------------------------
- // wxEventLoopImpl
- // ----------------------------------------------------------------------------
-@@ -456,35 +244,16 @@
-         fd_set readset;
-         fd_set writeset;
--        int highest = fd;
-         wxFD_ZERO(&readset);
-         wxFD_ZERO(&writeset);
--
-         wxFD_SET(fd, &readset);
--#if wxUSE_SOCKETS
--        if (wxTheSocketTable)
--            wxTheSocketTable->FillSets( &readset, &writeset, &highest );
--#endif
--
--        if (select( highest+1, &readset, &writeset, NULL, &tv ) == 0)
-+        if (select( fd+1, &readset, &writeset, NULL, &tv ) != 0)
-         {
--            // Timed out, so no event to process
--            return true;
--        }
--        else
--        {
--            // An X11 event was pending, so get it
-+            // An X11 event was pending, get it
-             if (wxFD_ISSET( fd, &readset ))
-                 XNextEvent( wxGlobalDisplay(), &event );
--
--#if wxUSE_SOCKETS
--            // Check if any socket events were pending,
--            // and if so, call their callbacks
--            if (wxTheSocketTable)
--                wxTheSocketTable->ProcessEvents( &readset, &writeset );
--#endif
--        }
-+        }    
- #endif
-     }
-     else
-@@ -492,6 +261,10 @@
-         XNextEvent( wxGlobalDisplay(), &event );
-     }
-+#if wxUSE_SOCKETS
-+    // handle any pending socket events:
-+    wxSocketEventDispatcher::Get().RunLoop();
-+#endif
-     (void) m_impl->ProcessEvent( &event );
-     return true;
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/src/x11/gsockx11.cpp wxWidgets-2006-12-17/src/x11/gsockx11.cpp
---- wxWidgets-2.8.0/src/x11/gsockx11.cpp       2006-12-11 22:51:06.000000000 +0100
-+++ wxWidgets-2006-12-17/src/x11/gsockx11.cpp  1970-01-01 01:00:00.000000000 +0100
-@@ -1,160 +0,0 @@
--/* -------------------------------------------------------------------------
-- * Project: GSocket (Generic Socket) for WX
-- * Name:    src/x11/gsockx11.cpp
-- * Purpose: GSocket: X11 part
-- * Licence: The wxWindows licence
-- * CVSID:   $Id$
-- * ------------------------------------------------------------------------- */
--
--// for compilers that support precompilation, includes "wx.h".
--#include "wx/wxprec.h"
--
--#if defined(__BORLANDC__)
--#pragma hdrstop
--#endif
--
--#if wxUSE_SOCKETS
--
--#include <stdlib.h>
--#include "wx/gsocket.h"
--#include "wx/unix/gsockunx.h"
--
--/*
-- * FIXME: have these in a common header instead of being repeated
-- * in evtloop.cpp and gsockx11.c
-- */
--
--typedef void (*wxSocketCallback) (int fd, void* data);
--
--typedef enum
--{ wxSocketTableInput, wxSocketTableOutput } wxSocketTableType ;
--
--extern "C" void wxRegisterSocketCallback(int fd, wxSocketTableType socketType, wxSocketCallback cback, void* data);
--extern "C" void wxUnregisterSocketCallback(int fd, wxSocketTableType socketType);
--
--
--static void _GSocket_X11_Input(int *fid, void* data)
--{
--  GSocket *socket = (GSocket *)data;
--
--  socket->Detected_Read();
--}
--
--static void _GSocket_X11_Output(int *fid, void* data)
--{
--  GSocket *socket = (GSocket *)data;
--
--  socket->Detected_Write();
--}
--
--bool GSocketGUIFunctionsTableConcrete::CanUseEventLoop()
--{   return true; }
--
--bool GSocketGUIFunctionsTableConcrete::OnInit(void)
--{
--    return 1;
--}
--
--void GSocketGUIFunctionsTableConcrete::OnExit(void)
--{
--}
--
--bool GSocketGUIFunctionsTableConcrete::Init_Socket(GSocket *socket)
--{
--  int *m_id;
--
--  socket->m_gui_dependent = (char *)malloc(sizeof(int)*2);
--  m_id = (int *)(socket->m_gui_dependent);
--
--  m_id[0] = -1;
--  m_id[1] = -1;
--
--  return true;
--}
--
--void GSocketGUIFunctionsTableConcrete::Destroy_Socket(GSocket *socket)
--{
--  free(socket->m_gui_dependent);
--}
--
--void GSocketGUIFunctionsTableConcrete::Install_Callback(GSocket *socket, GSocketEvent event)
--{
--  int *m_id = (int *)(socket->m_gui_dependent);
--  int c;
--
--  if (socket->m_fd == -1)
--    return;
--
--  switch (event)
--  {
--    case GSOCK_LOST:       /* fall-through */
--    case GSOCK_INPUT:      c = 0; break;
--    case GSOCK_OUTPUT:     c = 1; break;
--    case GSOCK_CONNECTION: c = ((socket->m_server) ? 0 : 1); break;
--    default: return;
--  }
--
--#if 0
--  if (m_id[c] != -1)
--      XtRemoveInput(m_id[c]);
--#endif /* 0 */
--
--  if (c == 0)
--  {
--      m_id[0] = socket->m_fd;
--
--      wxRegisterSocketCallback(socket->m_fd, wxSocketTableInput,
--                               (wxSocketCallback) _GSocket_X11_Input, (void*) socket);
--  }
--  else
--  {
--      m_id[1] = socket->m_fd;
--
--      wxRegisterSocketCallback(socket->m_fd, wxSocketTableOutput,
--                               (wxSocketCallback) _GSocket_X11_Output, (void*) socket);
--  }
--}
--
--void GSocketGUIFunctionsTableConcrete::Uninstall_Callback(GSocket *socket, GSocketEvent event)
--{
--  int *m_id = (int *)(socket->m_gui_dependent);
--  int c;
--
--  switch (event)
--  {
--    case GSOCK_LOST:       /* fall-through */
--    case GSOCK_INPUT:      c = 0; break;
--    case GSOCK_OUTPUT:     c = 1; break;
--    case GSOCK_CONNECTION: c = ((socket->m_server) ? 0 : 1); break;
--    default: return;
--  }
--
--  if (m_id[c] != -1)
--  {
--      if (c == 0)
--          wxUnregisterSocketCallback(m_id[c], wxSocketTableInput);
--      else
--          wxUnregisterSocketCallback(m_id[c], wxSocketTableOutput);
--  }
--
--  m_id[c] = -1;
--}
--
--void GSocketGUIFunctionsTableConcrete::Enable_Events(GSocket *socket)
--{
--  Install_Callback(socket, GSOCK_INPUT);
--  Install_Callback(socket, GSOCK_OUTPUT);
--}
--
--void GSocketGUIFunctionsTableConcrete::Disable_Events(GSocket *socket)
--{
--  Uninstall_Callback(socket, GSOCK_INPUT);
--  Uninstall_Callback(socket, GSOCK_OUTPUT);
--}
--
--#else /* !wxUSE_SOCKETS */
--
--/* some compilers don't like having empty source files */
--static int wxDummyGsockVar = 0;
--
--#endif /* wxUSE_SOCKETS/!wxUSE_SOCKETS */
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/tests/filename/filenametest.cpp wxWidgets-2006-12-17/tests/filename/filenametest.cpp
---- wxWidgets-2.8.0/tests/filename/filenametest.cpp    2006-12-11 22:50:12.000000000 +0100
-+++ wxWidgets-2006-12-17/tests/filename/filenametest.cpp       2006-12-17 05:57:43.000000000 +0100
-@@ -3,7 +3,7 @@
- // Purpose:     wxFileName unit test
- // Author:      Vadim Zeitlin
- // Created:     2004-07-25
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2004 Vadim Zeitlin
- ///////////////////////////////////////////////////////////////////////////////
-@@ -49,6 +49,11 @@
-     wxPathFormat format;
- } filenames[] =
- {
-+    // the empty string
-+    { _T(""), _(""), _(""), _(""), _(""), false, wxPATH_UNIX }, 
-+    { _T(""), _(""), _(""), _(""), _(""), false, wxPATH_DOS }, 
-+    { _T(""), _(""), _(""), _(""), _(""), false, wxPATH_VMS }, 
-+
-     // Unix file names
-     { _T("/usr/bin/ls"), _T(""), _T("/usr/bin"), _T("ls"), _T(""), true, wxPATH_UNIX },
-     { _T("/usr/bin/"), _T(""), _T("/usr/bin"), _T(""), _T(""), true, wxPATH_UNIX },
-@@ -167,6 +172,24 @@
-                                              fni.format), fn );
-         }
-     }
-+
-+    wxFileName fn;
-+
-+    // empty strings
-+    fn.AssignDir(wxEmptyString);
-+    CPPUNIT_ASSERT( !fn.IsOk() );
-+
-+    fn.Assign(wxEmptyString);
-+    CPPUNIT_ASSERT( !fn.IsOk() );
-+
-+    fn.Assign(wxEmptyString, wxEmptyString);
-+    CPPUNIT_ASSERT( !fn.IsOk() );
-+
-+    fn.Assign(wxEmptyString, wxEmptyString, wxEmptyString);
-+    CPPUNIT_ASSERT( !fn.IsOk() );
-+
-+    fn.Assign(wxEmptyString, wxEmptyString, wxEmptyString, wxEmptyString);
-+    CPPUNIT_ASSERT( !fn.IsOk() );
- }
- void FileNameTestCase::TestComparison()
-diff -urN --exclude CVS --exclude configure --exclude contrib wxWidgets-2.8.0/tests/streams/textstreamtest.cpp wxWidgets-2006-12-17/tests/streams/textstreamtest.cpp
---- wxWidgets-2.8.0/tests/streams/textstreamtest.cpp   2006-12-11 22:50:12.000000000 +0100
-+++ wxWidgets-2006-12-17/tests/streams/textstreamtest.cpp      2006-12-17 05:57:43.000000000 +0100
-@@ -3,7 +3,7 @@
- // Purpose:     wxTextXXXStream unit test
- // Author:      Ryan Norton, Vince Harron
- // Created:     2004-08-14
--// RCS-ID:      $Id$
-+// RCS-ID:      $Id$
- // Copyright:   (c) 2004 Ryan Norton, (c) 2006 Vince Harron
- ///////////////////////////////////////////////////////////////////////////////
-@@ -72,7 +72,7 @@
-     void TestEmbeddedZerosUTF16BEInput();
-     void TestEmbeddedZerosUTF32LEInput();
-     void TestEmbeddedZerosUTF32BEInput();
--    void TestInput(wxFontEncoding encoding,
-+    void TestInput(const wxMBConv& conv,
-                    const void* encodedText,
-                    size_t encodedSize );
- #endif // wxUSE_UNICODE
-@@ -222,34 +222,38 @@
- void TextStreamTestCase::TestUTF8Input()
- {
--    TestInput(wxFONTENCODING_UTF8, txtUtf8, sizeof(txtUtf8));
-+    TestInput(wxConvUTF8, txtUtf8, sizeof(txtUtf8));
-+    TestInput(wxCSConv(wxFONTENCODING_UTF8), txtUtf8, sizeof(txtUtf8));
- }
- void TextStreamTestCase::TestEmbeddedZerosUTF16LEInput()
- {
--    TestInput(wxFONTENCODING_UTF16LE, txtUtf16le, sizeof(txtUtf16le));
-+    TestInput(wxMBConvUTF16LE(), txtUtf16le, sizeof(txtUtf16le));
-+    TestInput(wxCSConv(wxFONTENCODING_UTF16LE), txtUtf16le, sizeof(txtUtf16le));
- }
- void TextStreamTestCase::TestEmbeddedZerosUTF16BEInput()
- {
--    TestInput(wxFONTENCODING_UTF16BE, txtUtf16be, sizeof(txtUtf16be));
-+    TestInput(wxMBConvUTF16BE(), txtUtf16be, sizeof(txtUtf16be));
-+    TestInput(wxCSConv(wxFONTENCODING_UTF16BE), txtUtf16be, sizeof(txtUtf16be));
- }
- void TextStreamTestCase::TestEmbeddedZerosUTF32LEInput()
- {
--    TestInput(wxFONTENCODING_UTF32LE, txtUtf32le, sizeof(txtUtf32le));
-+    TestInput(wxMBConvUTF32LE(), txtUtf32le, sizeof(txtUtf32le));
-+    TestInput(wxCSConv(wxFONTENCODING_UTF32LE), txtUtf32le, sizeof(txtUtf32le));
- }
- void TextStreamTestCase::TestEmbeddedZerosUTF32BEInput()
- {
--    TestInput(wxFONTENCODING_UTF32BE, txtUtf32be, sizeof(txtUtf32be));
-+    TestInput(wxMBConvUTF32BE(), txtUtf32be, sizeof(txtUtf32be));
-+    TestInput(wxCSConv(wxFONTENCODING_UTF32BE), txtUtf32be, sizeof(txtUtf32be));
- }
--void TextStreamTestCase::TestInput(wxFontEncoding encoding,
-+void TextStreamTestCase::TestInput(const wxMBConv& conv,
-                                    const void *encodedText,
-                                    size_t encodedSize)
- {
--    wxCSConv conv(encoding);
-     wxMemoryInputStream byteIn(encodedText, encodedSize);
-     wxTextInputStream textIn(byteIn, wxT("\n"), conv);
This page took 0.43882 seconds and 4 git commands to generate.