From c127177f8dc31dbe99764852b8dbcc047d3ad826 Mon Sep 17 00:00:00 2001
From: Robin Dunn <robin@alldunn.com>
Date: Sun, 2 May 1999 02:06:43 +0000
Subject: [PATCH] More for wxPython 2.0b9 (hopefully the last...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 utils/wxPython/README.txt                  |  88 +++------
 utils/wxPython/demo/Main.py                |   2 +-
 utils/wxPython/demo/demo.py                |   1 +
 utils/wxPython/demo/wxScrolledWindow.py    |  10 +-
 utils/wxPython/distrib/SelfInst-README.txt | 189 -------------------
 utils/wxPython/distrib/wxPython.wse        |   2 +-
 utils/wxPython/distrib/wxPython.wsm        | Bin 5796 -> 6382 bytes
 utils/wxPython/src/_defs.i                 |   6 +-
 utils/wxPython/src/controls2.i             |  18 ++
 utils/wxPython/src/makefile.vc             |   2 +-
 utils/wxPython/src/msw/cmndlgs.cpp         |   8 +
 utils/wxPython/src/msw/controls.cpp        | 210 +++++++++++++++++++++
 utils/wxPython/src/msw/controls.py         |  21 +++
 utils/wxPython/src/msw/controls2.cpp       |  16 +-
 utils/wxPython/src/msw/controls2.py        |  13 ++
 utils/wxPython/src/msw/events.cpp          |   8 +
 utils/wxPython/src/msw/frames.cpp          |   8 +
 utils/wxPython/src/msw/gdi.cpp             |   8 +
 utils/wxPython/src/msw/glcanvas.cpp        |  37 +++-
 utils/wxPython/src/msw/glcanvas.py         |   9 +-
 utils/wxPython/src/msw/image.cpp           |   8 +
 utils/wxPython/src/msw/mdi.cpp             |   8 +
 utils/wxPython/src/msw/misc.cpp            |   8 +
 utils/wxPython/src/msw/stattool.cpp        |   8 +
 utils/wxPython/src/msw/utils.cpp           |   2 +-
 utils/wxPython/src/msw/windows.cpp         |   8 +
 utils/wxPython/src/msw/windows2.cpp        |   8 +
 utils/wxPython/src/msw/windows3.cpp        |   8 +
 utils/wxPython/src/msw/wx.cpp              |  13 +-
 utils/wxPython/src/msw/wx.py               |   6 +-
 utils/wxPython/tests/.cvsignore            |   5 +
 31 files changed, 459 insertions(+), 279 deletions(-)
 delete mode 100644 utils/wxPython/distrib/SelfInst-README.txt

diff --git a/utils/wxPython/README.txt b/utils/wxPython/README.txt
index 8ce531403e..1aef53e893 100644
--- a/utils/wxPython/README.txt
+++ b/utils/wxPython/README.txt
@@ -1,44 +1,21 @@
 wxPython README
 ---------------
 
-Introduction
-------------
-The code in this subtree is a Python Extension Module that enables the
-use of wxWindows from the Python language.  So what is Python?  Go to
-http://www.python.org to learn more but in a nutshell, it's an
-extremly cool object oriented language.  It's easier than Perl and
-nearly as powerful.  It runs on more platforms than Java, and by some
-reports, is even faster than Java with a JIT compiler!
-
-So why would you want to use wxPython over just C++ and wxWindows?
-Personally I prefer using Python for everything.  I only use C++ when
-I absolutly have to eek more performance out of an algorithm, and even
-then I ususally code it as an extension module and leave the majority
-of the program in Python.  Another good thing to use wxPython for is
-quick prototyping of your wxWindows apps.  With C++ you have to
-continuously go though the edit-compile-link-run cycle, which can be
-quite time comsuming.  With Python it is only an edit-run cycle.  You
-can easily build an application in a few hours with Python that would
-normally take a few days with C++.  Converting a wxPython app to a
-C++/wxWindows app should be a straight forward task.
-
-This extension module attempts to mirror the class heiarchy of
-wxWindows as closely as possble.  This means that there is a wxFrame
-class in wxPython that looks, smells, tastes and acts almost the same
-as the wxFrame class in the C++ version.  Unfortunatly, I wasn't able
-to match things exactly because of differences in the languages, but
-the differences should be easy to absorb because they are natural to
-Python.  For example, some methods that return mutliple values via
-argument pointers in C++ will return a tuple of values in Python.
-These differences have not been documented yet so if something isn't
-working the same as described in the wxWindows documents the best
-thing to do is to scan through the wxPython sources, especially the .i
-files, as that is where the interfaces for wxPython are defined.
-
-I have reports of successfully embedding wxPython within a wxWindows
-C++ app on GTK.  It hasn't yet been attempted on MSW (to my knowledge)
-so I don't know how successful such an attempt would be.  However it
-is certainly possible.
+Welcome to the wonderful world of wxPython!
+
+Now that you have installed the Win32 extension module, you can try it
+out by going to the [install dir]\wxPython\demo directory and typing:
+
+    python demo.py
+
+There are also some other sample files there for you to play with and
+learn from.
+
+If you selected to install the documentation then point your browser
+to [install dir]\wxPython\docs\index.htm and you will then be looking
+at the docs for wxWindows.  For the most part you can use the C++ docs
+as most classes and methods are used identically.  Where there are
+differences they are documented with a "wxPython Note."
 
 
 
@@ -58,7 +35,6 @@ Or you can send mail directly to the list using this address:
        wxpython-users@starship.python.net
 
 
-
 What's new in 2.0b9
 -------------------
 Bug fix for ListCtrl in test4.py (Was a missing file...  DSM!)
@@ -89,6 +65,9 @@ wxGIFHandler and wxBMPHandler.
 
 Added new methods to wxTextCtrl.
 
+Fixed some problems with how SWIG was wrapping some wxTreeCtrl
+methods.
+
 
 
 What's new in 2.0b8
@@ -125,7 +104,7 @@ with the 2.0 version of wxWindows.
 
 I have finally started documenting wxPython.  There are several pages
 in the wxWindows documentation tree specifically about wxPython, and I
-have added notes within the class references about where wxPython
+have added notes within the class references about where and how wxPython
 diverges from wxWindows.
 
 Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
@@ -205,6 +184,7 @@ version segfault shortly after starting up.
 
 
 
+
 Build Instructions
 ------------------
 I used SWIG (http://www.swig.org) to create the source code for the
@@ -218,8 +198,8 @@ I added a few minor features to SWIG to control some of the code
 generation.  If you want to playaround with this the patches are in
 wxPython/SWIG.patches and they should be applied to the 1.1p5 version
 of SWIG.  These new patches are documented at
-http://starship.skyport.net/crew/robind/python/#swig, and they should
-also end up in the 1.2 version of SWIG.
+http://starship.skyport.net/crew/robind/#swig, and they should also
+end up in the 1.2 version of SWIG.
 
 wxPython is organized as a Python package.  This means that the
 directory containing the results of the build process should be a
@@ -250,17 +230,15 @@ above.
 5. If it builds successfully, congratulations!  Move on to the next
 step.  If not then you can try mailing me for help.  Also, I will
 always have a pre-built win32 version of this extension module at
-http://starship.skyport.net/crew/robind/python.
+http://alldunn.com/wxPython/.
 
-6. Change to the $(WXWIN)/utils/wxPython/tests directory.
+6. Change to the $(WXWIN)/utils/wxPython/demo directory.
 
-7. Try executing the test programs.  Note that some of these print
-diagnositc or test info to standard output, so they will require the
-console version of python.  For example:
+7. Try executing the demo program.  For example:
 
-    python test1.py
+    python demo.py
 
-To run them without requiring a console, you can use the pythonw.exe
+To run it without requiring a console, you can use the pythonw.exe
 version of Python either from the command line or from a shortcut.
 
 
@@ -285,17 +263,13 @@ module:
     make install
 
 
-5. Change to the $(WXWIN)/utils/wxPython/tests directory.
-
-6. Try executing the test programs.  For example:
-
-    python test1.py
-
+5. Change to the $(WXWIN)/utils/wxPython/demo directory.
 
+6. Try executing the demo program.  For example:
 
-------------------------
-10/20/1998
+    python demo.py
 
+----------------
 Robin Dunn
 robin@alldunn.com
 
diff --git a/utils/wxPython/demo/Main.py b/utils/wxPython/demo/Main.py
index e88d3395c7..9b8b451988 100644
--- a/utils/wxPython/demo/Main.py
+++ b/utils/wxPython/demo/Main.py
@@ -133,7 +133,7 @@ class wxPythonDemo(wxFrame):
         splitter2.SetMinimumPaneSize(20)
 
         # make our log window be stdout
-        sys.stdout = self
+        #sys.stdout = self
 
     #---------------------------------------------
     def WriteText(self, text):
diff --git a/utils/wxPython/demo/demo.py b/utils/wxPython/demo/demo.py
index 94eee26481..2e2d4ebec4 100755
--- a/utils/wxPython/demo/demo.py
+++ b/utils/wxPython/demo/demo.py
@@ -1,4 +1,5 @@
 #!/bin/env python
 
+
 import Main
 Main.main()
diff --git a/utils/wxPython/demo/wxScrolledWindow.py b/utils/wxPython/demo/wxScrolledWindow.py
index 7012e38f9a..9586cd1bc0 100644
--- a/utils/wxPython/demo/wxScrolledWindow.py
+++ b/utils/wxPython/demo/wxScrolledWindow.py
@@ -15,8 +15,8 @@ class MyCanvas(wxScrolledWindow):
         self.Connect(-1, -1, wxEVT_MOTION,    self.OnLeftButtonEvent)
 
         self.SetCursor(wxStockCursor(wxCURSOR_PENCIL))
-        bmp = wxBitmap('bitmaps/test2.bmp', wxBITMAP_TYPE_BMP)
-        self.bmp = bmp
+        #bmp = wxBitmap('bitmaps/image.bmp', wxBITMAP_TYPE_BMP)
+        #self.bmp = bmp
 
         self.SetScrollbars(20, 20, 50, 50)
 
@@ -54,9 +54,9 @@ class MyCanvas(wxScrolledWindow):
         dc.SetPen(wxGREEN_PEN)
         dc.DrawSpline(lst+[(100,100)])
 
-        dc.DrawBitmap(self.bmp, 200, 20)
-        dc.SetTextForeground(wxColour(0, 0xFF, 0x80))
-        dc.DrawText("a bitmap", 200, 80)
+        #dc.DrawBitmap(self.bmp, 200, 20)
+        #dc.SetTextForeground(wxColour(0, 0xFF, 0x80))
+        #dc.DrawText("a bitmap", 200, 80)
 
         self.DrawSavedLines(dc)
         dc.EndDrawing()
diff --git a/utils/wxPython/distrib/SelfInst-README.txt b/utils/wxPython/distrib/SelfInst-README.txt
deleted file mode 100644
index c7db765bd9..0000000000
--- a/utils/wxPython/distrib/SelfInst-README.txt
+++ /dev/null
@@ -1,189 +0,0 @@
-wxPython README
----------------
-
-Welcome to the wonderful world of wxPython!
-
-Now that you have installed the Win32 extension module, you can try it
-out by going to the [install dir]\wxPython\demo directory and typing:
-
-    python test1.py
-
-There are also some other sample files there for you to play with and
-learn from.
-
-If you selected to install the documentation then point your browser
-to [install dir]\wxPython\docs\index.htm and you will then be looking
-at the docs for wxWindows.  For the most part you can use the C++ docs
-as most classes and methods are used identically.  Where there are
-differences they are documented with a "wxPython Note."
-
-
-
-Getting Help
-------------
-
-Since wxPython is a blending of multiple technologies, help comes from
-multiple sources.  See the http://alldunn.com/wxPython for details on
-various sources of help, but probably the best source is the
-wxPython-users mail list.  You can view the archive or subscribe by
-going to
-
-       http://starship.python.net/mailman/listinfo/wxpython-users
-
-Or you can send mail directly to the list using this address:
-
-       wxpython-users@starship.python.net
-
-
-What's new in 2.0b9
--------------------
-Bug fix for ListCtrl in test4.py (Was a missing file...  DSM!)
-
-Bug fix for occassional GPF on Win32 systems upon termination of a
-wxPython application.
-
-Added wxListBox.GetSelections returning selections as a Tuple.
-
-Added a wxTreeItemData that is able to hold any Python object and be
-associated with items in a wxTreeCtrl.  Added test pytree.py to show
-this feature off.
-
-Added wxSafeYield function.
-
-OpenGL Canvas can be optionally compiled in to wxPython.
-
-Awesome new Demo Framework for showing off wxPython and for learning
-how it all works.
-
-The pre-built Win32 version is no longer distributing the wxWindows
-DLL.  It is statically linked with the wxWindows library instead.
-
-Added a couple missing items from the docs.
-
-Added wxImage, wxImageHandler, wxPNGHandler, wxJPEGHandler,
-wxGIFHandler and wxBMPHandler.
-
-Added new methods to wxTextCtrl.
-
-
-
-What's new in 2.0b8
--------------------
-Support for using Python threads in wxPython apps.
-
-Several missing methods from various classes.
-
-Various bug fixes.
-
-
-
-What's new in 2.0b7
--------------------
-Added DLG_PNT and DLG_SZE convienience methods to wxWindow class.
-
-Added missing constructor and other methods for wxMenuItem.
-
-
-
-What's new in 2.0b6
--------------------
-Just a quickie update to fix the self-installer to be compatible with
-Python 1.5.2b2's Registry settings.
-
-
-What's new in 2.0b5
--------------------
-Well obviously the numbering scheme has changed.  I did this to
-reflect the fact that this truly is the second major revision of
-wxPython, (well the third actually if you count the one I did for
-wxWindows 1.68 and then threw away...) and also that it is associated
-with the 2.0 version of wxWindows.
-
-I have finally started documenting wxPython.  There are several pages
-in the wxWindows documentation tree specifically about wxPython, and I
-have added notes within the class references about where and how wxPython
-diverges from wxWindows.
-
-Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
-window handle.  If you can get the window handle into the python code,
-it should just work...  More news on this later.
-
-Added wxImageList, wxToolTip.
-
-Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
-wxRegConfig class.
-
-As usual, some bug fixes, tweaks, etc.
-
-
-
-What's new in 0.5.3
--------------------
-Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
-
-Various cleanup, tweaks, minor additions, etc. to maintain
-compatibility with the current wxWindows.
-
-
-
-What's new in 0.5.0
--------------------
-Changed the import semantics from "from wxPython import *" to "from
-wxPython.wx import *"  This is for people who are worried about
-namespace pollution, they can use "from wxPython import wx" and then
-prefix all the wxPython identifiers with "wx."
-
-Added wxTaskbarIcon for wxMSW.
-
-Made the events work for wxGrid.
-
-Added wxConfig.
-
-Added wxMiniFrame for wxGTK.
-
-Changed many of the args and return values that were pointers to gdi
-objects to references to reflect changes in the wxWindows API.
-
-Other assorted fixes and additions.
-
-
-
-
-What's new in 0.4.2
--------------------
-
-wxPython on wxGTK works!!!  Both dynamic and static on Linux and
-static on Solaris have been tested.  Many thanks go to Harm
-<H.v.d.Heijden@phys.tue.nl> for his astute detective work on tracking
-down a nasty DECREF bug.  Okay so I have to confess that it was just a
-DSM (Dumb Stupid Mistake) on my part but it was nasty none the less
-because the behavior was so different on different platforms.
-
-
-The dynamicly loaded module on Solaris is still segfaulting, so it
-must have been a different issue all along...
-
-
-
-What's New in 0.4
------------------
-
-1. Worked on wxGTK compatibility.  It is partially working.  On a
-Solaris/Sparc box wxPython is working but only when it is statically
-linked with the Python interpreter.  When built as a dyamically loaded
-extension module, things start acting weirdly and it soon seg-faults.
-And on Linux both the statically linked and the dynamically linked
-version segfault shortly after starting up.
-
-2. Added Toolbar, StatusBar and SplitterWindow classes.
-
-3. Varioius bug fixes, enhancements, etc.
-
-
-
-----------------
-Robin Dunn
-robin@alldunn.com
-
-
-
diff --git a/utils/wxPython/distrib/wxPython.wse b/utils/wxPython/distrib/wxPython.wse
index 7ac423f6ba..cee54bf0c4 100644
--- a/utils/wxPython/distrib/wxPython.wse
+++ b/utils/wxPython/distrib/wxPython.wse
@@ -994,7 +994,7 @@ item: Install File
   Flags=0000000010000010
 end
 item: Install File
-  Source=e:\Projects\wx\utils\wxPython\distrib\SelfInst-README.txt
+  Source=e:\Projects\wx\utils\wxPython\README.txt
   Destination=%MAINDIR%\wxPython\README.txt
   Description=README file
   Flags=0000000010000010
diff --git a/utils/wxPython/distrib/wxPython.wsm b/utils/wxPython/distrib/wxPython.wsm
index 06af71fce4ac046d37a808bee2ba93fda922d730..ed0b49ba6521de2f7ef0d58152ecae140ec9f963 100644
GIT binary patch
literal 6382
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

literal 5796
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
Dg!eRz

diff --git a/utils/wxPython/src/_defs.i b/utils/wxPython/src/_defs.i
index cadfc92b56..56899adb0c 100644
--- a/utils/wxPython/src/_defs.i
+++ b/utils/wxPython/src/_defs.i
@@ -151,7 +151,7 @@ typedef short int       WXTYPE;
 typedef int             wxWindowID;
 typedef unsigned int    uint;
 typedef signed   int    EBool;
-
+typedef unsigned int    size_t
 
 //---------------------------------------------------------------------------
 
@@ -829,7 +829,11 @@ enum wxEventType {
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.14  1999/05/02 02:06:15  RD
+// More for wxPython 2.0b9 (hopefully the last...)
+//
 // Revision 1.13  1999/04/30 03:29:18  RD
+//
 // wxPython 2.0b9, first phase (win32)
 // Added gobs of stuff, see wxPython/README.txt for details
 //
diff --git a/utils/wxPython/src/controls2.i b/utils/wxPython/src/controls2.i
index 4e85f0fe10..75c05a2902 100644
--- a/utils/wxPython/src/controls2.i
+++ b/utils/wxPython/src/controls2.i
@@ -420,6 +420,20 @@ public:
     void SetItemBold(const wxTreeItemId& item, bool bold = TRUE);
     bool IsBold(const wxTreeItemId& item) const;
     wxTreeItemId HitTest(const wxPoint& point);
+
+%pragma(python) addtoclass = "
+    # Redefine a couple methods that SWIG gets a bit confused on...
+    def GetFirstChild(self,arg0,arg1):
+        val1, val2 = controls2c.wxTreeCtrl_GetFirstChild(self.this,arg0.this,arg1)
+        val1 = wxTreeItemIdPtr(val1)
+        val1.thisown = 1
+        return (val1,val2)
+    def GetNextChild(self,arg0,arg1):
+        val1, val2 = controls2c.wxTreeCtrl_GetFirstChild(self.this,arg0.this,arg1)
+        val1 = wxTreeItemIdPtr(val1)
+        val1.thisown = 1
+        return (val1,val2)
+"
 };
 
 
@@ -483,7 +497,11 @@ public:
 /////////////////////////////////////////////////////////////////////////////
 //
 // $Log$
+// Revision 1.18  1999/05/02 02:06:15  RD
+// More for wxPython 2.0b9 (hopefully the last...)
+//
 // Revision 1.17  1999/04/30 03:29:18  RD
+//
 // wxPython 2.0b9, first phase (win32)
 // Added gobs of stuff, see wxPython/README.txt for details
 //
diff --git a/utils/wxPython/src/makefile.vc b/utils/wxPython/src/makefile.vc
index 4692888290..cd397e21c0 100644
--- a/utils/wxPython/src/makefile.vc
+++ b/utils/wxPython/src/makefile.vc
@@ -83,7 +83,7 @@ TARGET = wxc
 OBJECTS = wx.obj         helpers.obj    windows.obj    events.obj     \
 	  misc.obj       gdi.obj        mdi.obj        controls.obj   \
 	  controls2.obj  windows2.obj   cmndlgs.obj    stattool.obj   \
-	  frames.obj     windows3.obj   image.obj \
+	  frames.obj     windows3.obj   image.obj  \
 !if "$(SEPARATE)" == "0"
 	  utils.obj \
 !if "$(WITH_GLCANVAS)" == "1"
diff --git a/utils/wxPython/src/msw/cmndlgs.cpp b/utils/wxPython/src/msw/cmndlgs.cpp
index 909af27153..b0d1f88eda 100644
--- a/utils/wxPython/src/msw/cmndlgs.cpp
+++ b/utils/wxPython/src/msw/cmndlgs.cpp
@@ -4178,6 +4178,10 @@ SWIGEXPORT(void,initcmndlgsc)() {
 	 SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_class_wxSingleChoiceDialog","_wxSingleChoiceDialog",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -4224,6 +4228,7 @@ SWIGEXPORT(void,initcmndlgsc)() {
 	 SWIG_RegisterMapping("_class_wxDialog","_wxDialog",0);
 	 SWIG_RegisterMapping("_wxPageSetupDialog","_class_wxPageSetupDialog",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -4321,6 +4326,7 @@ SWIGEXPORT(void,initcmndlgsc)() {
 	 SWIG_RegisterMapping("_unsigned_char","_byte",0);
 	 SWIG_RegisterMapping("_class_wxMetaFileDC","_wxMetaFileDC",0);
 	 SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -4351,11 +4357,13 @@ SWIGEXPORT(void,initcmndlgsc)() {
 	 SWIG_RegisterMapping("_short","_unsigned_short",0);
 	 SWIG_RegisterMapping("_short","_signed_short",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/controls.cpp b/utils/wxPython/src/msw/controls.cpp
index 9f81dceccd..2154930724 100644
--- a/utils/wxPython/src/msw/controls.cpp
+++ b/utils/wxPython/src/msw/controls.cpp
@@ -4174,6 +4174,201 @@ static PyObject *_wrap_wxTextCtrl_XYToPosition(PyObject *self, PyObject *args) {
     return _resultobj;
 }
 
+#define wxTextCtrl_CanCopy(_swigobj)  (_swigobj->CanCopy())
+static PyObject *_wrap_wxTextCtrl_CanCopy(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_CanCopy",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanCopy. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanCopy(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanCut(_swigobj)  (_swigobj->CanCut())
+static PyObject *_wrap_wxTextCtrl_CanCut(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_CanCut",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanCut. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanCut(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanPaste(_swigobj)  (_swigobj->CanPaste())
+static PyObject *_wrap_wxTextCtrl_CanPaste(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_CanPaste",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanPaste. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanPaste(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanRedo(_swigobj)  (_swigobj->CanRedo())
+static PyObject *_wrap_wxTextCtrl_CanRedo(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_CanRedo",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanRedo. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanRedo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_CanUndo(_swigobj)  (_swigobj->CanUndo())
+static PyObject *_wrap_wxTextCtrl_CanUndo(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_CanUndo",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_CanUndo. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_CanUndo(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxTextCtrl_GetSelection(_swigobj,_swigarg0,_swigarg1)  (_swigobj->GetSelection(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxTextCtrl_GetSelection(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    wxTextCtrl * _arg0;
+    long * _arg1;
+    long  temp;
+    long * _arg2;
+    long  temp0;
+    char * _argc0 = 0;
+
+    self = self;
+{
+  _arg1 = &temp;
+}
+{
+  _arg2 = &temp0;
+}
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_GetSelection",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_GetSelection. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxTextCtrl_GetSelection(_arg0,_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg1));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+{
+    PyObject *o;
+    o = PyInt_FromLong((long) (*_arg2));
+    _resultobj = t_output_helper(_resultobj, o);
+}
+    return _resultobj;
+}
+
+#define wxTextCtrl_IsEditable(_swigobj)  (_swigobj->IsEditable())
+static PyObject *_wrap_wxTextCtrl_IsEditable(PyObject *self, PyObject *args) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxTextCtrl * _arg0;
+    char * _argc0 = 0;
+
+    self = self;
+    if(!PyArg_ParseTuple(args,"s:wxTextCtrl_IsEditable",&_argc0)) 
+        return NULL;
+    if (_argc0) {
+        if (SWIG_GetPtr(_argc0,(void **) &_arg0,"_wxTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxTextCtrl_IsEditable. Expected _wxTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxTextCtrl_IsEditable(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
 static void *SwigwxScrollBarTowxControl(void *ptr) {
     wxScrollBar *src;
     wxControl *dest;
@@ -6092,6 +6287,13 @@ static PyMethodDef controlscMethods[] = {
 	 { "wxScrollBar_GetPageSize", _wrap_wxScrollBar_GetPageSize, 1 },
 	 { "wxScrollBar_GetRange", _wrap_wxScrollBar_GetRange, 1 },
 	 { "new_wxScrollBar", _wrap_new_wxScrollBar, 1 },
+	 { "wxTextCtrl_IsEditable", _wrap_wxTextCtrl_IsEditable, 1 },
+	 { "wxTextCtrl_GetSelection", _wrap_wxTextCtrl_GetSelection, 1 },
+	 { "wxTextCtrl_CanUndo", _wrap_wxTextCtrl_CanUndo, 1 },
+	 { "wxTextCtrl_CanRedo", _wrap_wxTextCtrl_CanRedo, 1 },
+	 { "wxTextCtrl_CanPaste", _wrap_wxTextCtrl_CanPaste, 1 },
+	 { "wxTextCtrl_CanCut", _wrap_wxTextCtrl_CanCut, 1 },
+	 { "wxTextCtrl_CanCopy", _wrap_wxTextCtrl_CanCopy, 1 },
 	 { "wxTextCtrl_XYToPosition", _wrap_wxTextCtrl_XYToPosition, 1 },
 	 { "wxTextCtrl_AppendText", _wrap_wxTextCtrl_AppendText, 1 },
 	 { "wxTextCtrl_WriteText", _wrap_wxTextCtrl_WriteText, 1 },
@@ -6286,6 +6488,10 @@ SWIGEXPORT(void,initcontrolsc)() {
 	 SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -6305,6 +6511,7 @@ SWIGEXPORT(void,initcontrolsc)() {
 	 SWIG_RegisterMapping("_class_wxUpdateUIEvent","_wxUpdateUIEvent",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -6464,6 +6671,7 @@ SWIGEXPORT(void,initcontrolsc)() {
 	 SWIG_RegisterMapping("_class_wxListBox","_class_wxCheckListBox",SwigwxCheckListBoxTowxListBox);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxCheckListBox",SwigwxCheckListBoxTowxListBox);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -6481,11 +6689,13 @@ SWIGEXPORT(void,initcontrolsc)() {
 	 SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
 	 SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/controls.py b/utils/wxPython/src/msw/controls.py
index 0da356ff9a..21dc6fc93e 100644
--- a/utils/wxPython/src/msw/controls.py
+++ b/utils/wxPython/src/msw/controls.py
@@ -545,6 +545,27 @@ class wxTextCtrlPtr(wxControlPtr):
     def XYToPosition(self,arg0,arg1):
         val = controlsc.wxTextCtrl_XYToPosition(self.this,arg0,arg1)
         return val
+    def CanCopy(self):
+        val = controlsc.wxTextCtrl_CanCopy(self.this)
+        return val
+    def CanCut(self):
+        val = controlsc.wxTextCtrl_CanCut(self.this)
+        return val
+    def CanPaste(self):
+        val = controlsc.wxTextCtrl_CanPaste(self.this)
+        return val
+    def CanRedo(self):
+        val = controlsc.wxTextCtrl_CanRedo(self.this)
+        return val
+    def CanUndo(self):
+        val = controlsc.wxTextCtrl_CanUndo(self.this)
+        return val
+    def GetSelection(self):
+        val = controlsc.wxTextCtrl_GetSelection(self.this)
+        return val
+    def IsEditable(self):
+        val = controlsc.wxTextCtrl_IsEditable(self.this)
+        return val
     def __repr__(self):
         return "<C wxTextCtrl instance>"
 class wxTextCtrl(wxTextCtrlPtr):
diff --git a/utils/wxPython/src/msw/controls2.cpp b/utils/wxPython/src/msw/controls2.cpp
index 2a717346f7..cae9e6ef4c 100644
--- a/utils/wxPython/src/msw/controls2.cpp
+++ b/utils/wxPython/src/msw/controls2.cpp
@@ -3178,10 +3178,9 @@ static PyObject *_wrap_new_wxTreeCtrl(PyObject *self, PyObject *args) {
 #define wxTreeCtrl_GetCount(_swigobj)  (_swigobj->GetCount())
 static PyObject *_wrap_wxTreeCtrl_GetCount(PyObject *self, PyObject *args) {
     PyObject * _resultobj;
-    size_t * _result;
+    size_t  _result;
     wxTreeCtrl * _arg0;
     char * _argc0 = 0;
-    char _ptemp[128];
 
     self = self;
     if(!PyArg_ParseTuple(args,"s:wxTreeCtrl_GetCount",&_argc0)) 
@@ -3194,11 +3193,10 @@ static PyObject *_wrap_wxTreeCtrl_GetCount(PyObject *self, PyObject *args) {
     }
 {
     wxPy_BEGIN_ALLOW_THREADS;
-        _result = new size_t (wxTreeCtrl_GetCount(_arg0));
+        _result = (size_t )wxTreeCtrl_GetCount(_arg0);
 
     wxPy_END_ALLOW_THREADS;
-}    SWIG_MakePtr(_ptemp, (void *) _result,"_size_t_p");
-    _resultobj = Py_BuildValue("s",_ptemp);
+}    _resultobj = Py_BuildValue("i",_result);
     return _resultobj;
 }
 
@@ -5316,6 +5314,10 @@ SWIGEXPORT(void,initcontrols2c)() {
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxListEvent","_class_wxListEvent",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -5335,6 +5337,7 @@ SWIGEXPORT(void,initcontrols2c)() {
 	 SWIG_RegisterMapping("_class_wxUpdateUIEvent","_wxUpdateUIEvent",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -5438,6 +5441,7 @@ SWIGEXPORT(void,initcontrols2c)() {
 	 SWIG_RegisterMapping("_wxControl","_wxListCtrl",SwigwxListCtrlTowxControl);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -5456,11 +5460,13 @@ SWIGEXPORT(void,initcontrols2c)() {
 	 SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
 	 SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/controls2.py b/utils/wxPython/src/msw/controls2.py
index d0c4d448b3..7df4455454 100644
--- a/utils/wxPython/src/msw/controls2.py
+++ b/utils/wxPython/src/msw/controls2.py
@@ -612,6 +612,19 @@ class wxTreeCtrlPtr(wxControlPtr):
         return val
     def __repr__(self):
         return "<C wxTreeCtrl instance>"
+    
+    # Redefine a couple methods that SWIG gets a bit confused on...
+    def GetFirstChild(self,arg0,arg1):
+        val1, val2 = controls2c.wxTreeCtrl_GetFirstChild(self.this,arg0.this,arg1)
+        val1 = wxTreeItemIdPtr(val1)
+        val1.thisown = 1
+        return (val1,val2)
+    def GetNextChild(self,arg0,arg1):
+        val1, val2 = controls2c.wxTreeCtrl_GetFirstChild(self.this,arg0.this,arg1)
+        val1 = wxTreeItemIdPtr(val1)
+        val1.thisown = 1
+        return (val1,val2)
+
 class wxTreeCtrl(wxTreeCtrlPtr):
     def __init__(self,arg0,*args) :
         argl = map(None,args)
diff --git a/utils/wxPython/src/msw/events.cpp b/utils/wxPython/src/msw/events.cpp
index 328ab2e09c..4825c2f504 100644
--- a/utils/wxPython/src/msw/events.cpp
+++ b/utils/wxPython/src/msw/events.cpp
@@ -3180,6 +3180,10 @@ SWIGEXPORT(void,initeventsc)() {
 	 SWIG_RegisterMapping("_wxDropFilesEvent","_class_wxDropFilesEvent",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_class_wxPaintEvent","_wxPaintEvent",0);
 	 SWIG_RegisterMapping("_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0);
@@ -3190,6 +3194,7 @@ SWIGEXPORT(void,initeventsc)() {
 	 SWIG_RegisterMapping("_wxIdleEvent","_class_wxIdleEvent",0);
 	 SWIG_RegisterMapping("_class_wxUpdateUIEvent","_wxUpdateUIEvent",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -3290,6 +3295,7 @@ SWIGEXPORT(void,initeventsc)() {
 	 SWIG_RegisterMapping("_class_wxMaximizeEvent","_wxMaximizeEvent",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
 	 SWIG_RegisterMapping("_unsigned_char","_byte",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -3300,11 +3306,13 @@ SWIGEXPORT(void,initeventsc)() {
 	 SWIG_RegisterMapping("_class_wxScrollEvent","_wxSpinEvent",SwigwxSpinEventTowxScrollEvent);
 	 SWIG_RegisterMapping("_class_wxScrollEvent","_wxScrollEvent",0);
 	 SWIG_RegisterMapping("_wxJoystickEvent","_class_wxJoystickEvent",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/frames.cpp b/utils/wxPython/src/msw/frames.cpp
index 47b013bc4f..5b12e362a5 100644
--- a/utils/wxPython/src/msw/frames.cpp
+++ b/utils/wxPython/src/msw/frames.cpp
@@ -936,6 +936,10 @@ SWIGEXPORT(void,initframesc)() {
 	 SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -958,6 +962,7 @@ SWIGEXPORT(void,initframesc)() {
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
 	 SWIG_RegisterMapping("_wxMiniFrame","_class_wxMiniFrame",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -1049,6 +1054,7 @@ SWIGEXPORT(void,initframesc)() {
 	 SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -1069,11 +1075,13 @@ SWIGEXPORT(void,initframesc)() {
 	 SWIG_RegisterMapping("_wxFrame","_class_wxMiniFrame",SwigwxMiniFrameTowxFrame);
 	 SWIG_RegisterMapping("_wxFrame","_wxMiniFrame",SwigwxMiniFrameTowxFrame);
 	 SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/gdi.cpp b/utils/wxPython/src/msw/gdi.cpp
index d98b2f5faf..cd932832d0 100644
--- a/utils/wxPython/src/msw/gdi.cpp
+++ b/utils/wxPython/src/msw/gdi.cpp
@@ -6537,12 +6537,17 @@ SWIGEXPORT(void,initgdic)() {
 	 SWIG_RegisterMapping("_wxDC","_class_wxMemoryDC",SwigwxMemoryDCTowxDC);
 	 SWIG_RegisterMapping("_wxDC","_wxMemoryDC",SwigwxMemoryDCTowxDC);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0);
 	 SWIG_RegisterMapping("_class_wxMask","_wxMask",0);
 	 SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -6606,6 +6611,7 @@ SWIGEXPORT(void,initgdic)() {
 	 SWIG_RegisterMapping("_class_wxCursor","_wxCursor",0);
 	 SWIG_RegisterMapping("_unsigned_char","_byte",0);
 	 SWIG_RegisterMapping("_class_wxMetaFileDC","_wxMetaFileDC",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -6615,11 +6621,13 @@ SWIGEXPORT(void,initgdic)() {
 	 SWIG_RegisterMapping("_short","_unsigned_short",0);
 	 SWIG_RegisterMapping("_short","_signed_short",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/glcanvas.cpp b/utils/wxPython/src/msw/glcanvas.cpp
index 9e31f8ddfd..51f05beca5 100644
--- a/utils/wxPython/src/msw/glcanvas.cpp
+++ b/utils/wxPython/src/msw/glcanvas.cpp
@@ -8955,7 +8955,6 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 PyDict_SetItemString(d,"GL_FOG_HINT", PyInt_FromLong((long) GL_FOG_HINT));
 	 PyDict_SetItemString(d,"GL_FOG_INDEX", PyInt_FromLong((long) GL_FOG_INDEX));
 	 PyDict_SetItemString(d,"GL_FOG_MODE", PyInt_FromLong((long) GL_FOG_MODE));
-	 PyDict_SetItemString(d,"GL_FOG_SPECULAR_TEXTURE_WIN", PyInt_FromLong((long) GL_FOG_SPECULAR_TEXTURE_WIN));
 	 PyDict_SetItemString(d,"GL_FOG_START", PyInt_FromLong((long) GL_FOG_START));
 	 PyDict_SetItemString(d,"GL_FRONT", PyInt_FromLong((long) GL_FRONT));
 	 PyDict_SetItemString(d,"GL_FRONT_AND_BACK", PyInt_FromLong((long) GL_FRONT_AND_BACK));
@@ -9079,8 +9078,6 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 PyDict_SetItemString(d,"GL_MAX_ATTRIB_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_ATTRIB_STACK_DEPTH));
 	 PyDict_SetItemString(d,"GL_MAX_CLIENT_ATTRIB_STACK_DEPTH", PyInt_FromLong((long) GL_MAX_CLIENT_ATTRIB_STACK_DEPTH));
 	 PyDict_SetItemString(d,"GL_MAX_CLIP_PLANES", PyInt_FromLong((long) GL_MAX_CLIP_PLANES));
-	 PyDict_SetItemString(d,"GL_MAX_ELEMENTS_INDICES_WIN", PyInt_FromLong((long) GL_MAX_ELEMENTS_INDICES_WIN));
-	 PyDict_SetItemString(d,"GL_MAX_ELEMENTS_VERTICES_WIN", PyInt_FromLong((long) GL_MAX_ELEMENTS_VERTICES_WIN));
 	 PyDict_SetItemString(d,"GL_MAX_EVAL_ORDER", PyInt_FromLong((long) GL_MAX_EVAL_ORDER));
 	 PyDict_SetItemString(d,"GL_MAX_LIGHTS", PyInt_FromLong((long) GL_MAX_LIGHTS));
 	 PyDict_SetItemString(d,"GL_MAX_LIST_NESTING", PyInt_FromLong((long) GL_MAX_LIST_NESTING));
@@ -9139,8 +9136,6 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 PyDict_SetItemString(d,"GL_PACK_SWAP_BYTES", PyInt_FromLong((long) GL_PACK_SWAP_BYTES));
 	 PyDict_SetItemString(d,"GL_PASS_THROUGH_TOKEN", PyInt_FromLong((long) GL_PASS_THROUGH_TOKEN));
 	 PyDict_SetItemString(d,"GL_PERSPECTIVE_CORRECTION_HINT", PyInt_FromLong((long) GL_PERSPECTIVE_CORRECTION_HINT));
-	 PyDict_SetItemString(d,"GL_PHONG_HINT_WIN", PyInt_FromLong((long) GL_PHONG_HINT_WIN));
-	 PyDict_SetItemString(d,"GL_PHONG_WIN", PyInt_FromLong((long) GL_PHONG_WIN));
 	 PyDict_SetItemString(d,"GL_PIXEL_MAP_A_TO_A", PyInt_FromLong((long) GL_PIXEL_MAP_A_TO_A));
 	 PyDict_SetItemString(d,"GL_PIXEL_MAP_A_TO_A_SIZE", PyInt_FromLong((long) GL_PIXEL_MAP_A_TO_A_SIZE));
 	 PyDict_SetItemString(d,"GL_PIXEL_MAP_B_TO_B", PyInt_FromLong((long) GL_PIXEL_MAP_B_TO_B));
@@ -9345,8 +9340,6 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 PyDict_SetItemString(d,"GL_VERTEX_ARRAY_TYPE_EXT", PyInt_FromLong((long) GL_VERTEX_ARRAY_TYPE_EXT));
 	 PyDict_SetItemString(d,"GL_VIEWPORT", PyInt_FromLong((long) GL_VIEWPORT));
 	 PyDict_SetItemString(d,"GL_VIEWPORT_BIT", PyInt_FromLong((long) GL_VIEWPORT_BIT));
-	 PyDict_SetItemString(d,"GL_WIN_draw_range_elements", PyInt_FromLong((long) GL_WIN_draw_range_elements));
-	 PyDict_SetItemString(d,"GL_WIN_swap_hint", PyInt_FromLong((long) GL_WIN_swap_hint));
 	 PyDict_SetItemString(d,"GL_XOR", PyInt_FromLong((long) GL_XOR));
 	 PyDict_SetItemString(d,"GL_ZERO", PyInt_FromLong((long) GL_ZERO));
 	 PyDict_SetItemString(d,"GL_ZOOM_X", PyInt_FromLong((long) GL_ZOOM_X));
@@ -9362,6 +9355,9 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_GLfloat","_float",0);
 	 SWIG_RegisterMapping("_signed_long","_long",0);
 	 SWIG_RegisterMapping("_wxMenuEvent","_class_wxMenuEvent",0);
+	 SWIG_RegisterMapping("_class_wxJPEGHandler","_wxJPEGHandler",0);
+	 SWIG_RegisterMapping("_wxBMPHandler","_class_wxBMPHandler",0);
+	 SWIG_RegisterMapping("_wxImage","_class_wxImage",0);
 	 SWIG_RegisterMapping("_double","_GLclampd",0);
 	 SWIG_RegisterMapping("_double","_GLdouble",0);
 	 SWIG_RegisterMapping("_wxFontData","_class_wxFontData",0);
@@ -9372,8 +9368,10 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_class_wxEvtHandler","_wxGLCanvas",SwigwxGLCanvasTowxEvtHandler);
 	 SWIG_RegisterMapping("_class_wxEvtHandler","_wxEvtHandler",0);
 	 SWIG_RegisterMapping("_wxPaintEvent","_class_wxPaintEvent",0);
+	 SWIG_RegisterMapping("_wxGIFHandler","_class_wxGIFHandler",0);
 	 SWIG_RegisterMapping("_wxIndividualLayoutConstraint","_class_wxIndividualLayoutConstraint",0);
 	 SWIG_RegisterMapping("_wxCursor","_class_wxCursor",0);
+	 SWIG_RegisterMapping("_wxImageHandler","_class_wxImageHandler",0);
 	 SWIG_RegisterMapping("_GLsizei","_GLuint",0);
 	 SWIG_RegisterMapping("_GLsizei","_int",0);
 	 SWIG_RegisterMapping("_GLsizei","_signed_int",0);
@@ -9381,6 +9379,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_GLsizei","_wxWindowID",0);
 	 SWIG_RegisterMapping("_GLsizei","_uint",0);
 	 SWIG_RegisterMapping("_GLsizei","_EBool",0);
+	 SWIG_RegisterMapping("_GLsizei","_size_t",0);
 	 SWIG_RegisterMapping("_GLsizei","_GLenum",0);
 	 SWIG_RegisterMapping("_GLsizei","_GLbitfield",0);
 	 SWIG_RegisterMapping("_GLsizei","_GLint",0);
@@ -9388,6 +9387,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_wxToolTip","_class_wxToolTip",0);
 	 SWIG_RegisterMapping("_wxMask","_class_wxMask",0);
 	 SWIG_RegisterMapping("_wxGrid","_class_wxGrid",0);
+	 SWIG_RegisterMapping("_wxPNGHandler","_class_wxPNGHandler",0);
 	 SWIG_RegisterMapping("_wxPyMenu","_class_wxPyMenu",0);
 	 SWIG_RegisterMapping("_class_wxColourData","_wxColourData",0);
 	 SWIG_RegisterMapping("_class_wxPageSetupDialogData","_wxPageSetupDialogData",0);
@@ -9416,6 +9416,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_GLenum","_int",0);
 	 SWIG_RegisterMapping("_GLenum","_wxWindowID",0);
 	 SWIG_RegisterMapping("_GLenum","_uint",0);
+	 SWIG_RegisterMapping("_GLenum","_size_t",0);
 	 SWIG_RegisterMapping("_class_wxPrintDialogData","_wxPrintDialogData",0);
 	 SWIG_RegisterMapping("_wxGLContext","_class_wxGLContext",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
@@ -9426,14 +9427,25 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxListEvent","_class_wxListEvent",0);
 	 SWIG_RegisterMapping("_class_wxSingleChoiceDialog","_wxSingleChoiceDialog",0);
+	 SWIG_RegisterMapping("_class_wxBMPHandler","_wxBMPHandler",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
 	 SWIG_RegisterMapping("_wxSashLayoutWindow","_class_wxSashLayoutWindow",0);
+	 SWIG_RegisterMapping("_size_t","_GLuint",0);
+	 SWIG_RegisterMapping("_size_t","_GLsizei",0);
+	 SWIG_RegisterMapping("_size_t","_GLint",0);
+	 SWIG_RegisterMapping("_size_t","_GLbitfield",0);
+	 SWIG_RegisterMapping("_size_t","_GLenum",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
 	 SWIG_RegisterMapping("_class_wxPaintEvent","_wxPaintEvent",0);
 	 SWIG_RegisterMapping("_wxSysColourChangedEvent","_class_wxSysColourChangedEvent",0);
 	 SWIG_RegisterMapping("_class_wxStatusBar","_wxStatusBar",0);
+	 SWIG_RegisterMapping("_class_wxGIFHandler","_wxGIFHandler",0);
 	 SWIG_RegisterMapping("_wxPanel","_class_wxPanel",0);
 	 SWIG_RegisterMapping("_wxInitDialogEvent","_class_wxInitDialogEvent",0);
 	 SWIG_RegisterMapping("_wxCheckBox","_class_wxCheckBox",0);
@@ -9444,6 +9456,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_class_wxMask","_wxMask",0);
 	 SWIG_RegisterMapping("_class_wxKeyEvent","_wxKeyEvent",0);
 	 SWIG_RegisterMapping("_class_wxGrid","_wxGrid",0);
+	 SWIG_RegisterMapping("_class_wxPNGHandler","_wxPNGHandler",0);
 	 SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
 	 SWIG_RegisterMapping("_class_wxDialog","_wxDialog",0);
 	 SWIG_RegisterMapping("_wxPageSetupDialog","_class_wxPageSetupDialog",0);
@@ -9459,6 +9472,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_GLuint","_int",0);
 	 SWIG_RegisterMapping("_GLuint","_wxWindowID",0);
 	 SWIG_RegisterMapping("_GLuint","_uint",0);
+	 SWIG_RegisterMapping("_GLuint","_size_t",0);
 	 SWIG_RegisterMapping("_GLuint","_GLenum",0);
 	 SWIG_RegisterMapping("_GLuint","_GLbitfield",0);
 	 SWIG_RegisterMapping("_GLuint","_GLint",0);
@@ -9469,6 +9483,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_uint","_GLint",0);
 	 SWIG_RegisterMapping("_uint","_GLbitfield",0);
 	 SWIG_RegisterMapping("_uint","_GLenum",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -9478,6 +9493,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_wxRect","_class_wxRect",0);
 	 SWIG_RegisterMapping("_wxCommandEvent","_class_wxCommandEvent",0);
 	 SWIG_RegisterMapping("_wxSizeEvent","_class_wxSizeEvent",0);
+	 SWIG_RegisterMapping("_class_wxImage","_wxImage",0);
 	 SWIG_RegisterMapping("_GLclampd","_double",0);
 	 SWIG_RegisterMapping("_GLclampd","_GLdouble",0);
 	 SWIG_RegisterMapping("_wxPoint","_class_wxPoint",0);
@@ -9505,6 +9521,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_GLbitfield","_int",0);
 	 SWIG_RegisterMapping("_GLbitfield","_wxWindowID",0);
 	 SWIG_RegisterMapping("_GLbitfield","_uint",0);
+	 SWIG_RegisterMapping("_GLbitfield","_size_t",0);
 	 SWIG_RegisterMapping("_GLbitfield","_GLenum",0);
 	 SWIG_RegisterMapping("_class_wxPyEvent","_wxPyEvent",0);
 	 SWIG_RegisterMapping("_wxTextEntryDialog","_class_wxTextEntryDialog",0);
@@ -9614,6 +9631,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_class_wxToolBarTool","_wxToolBarTool",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
 	 SWIG_RegisterMapping("_class_wxCursor","_wxCursor",0);
+	 SWIG_RegisterMapping("_class_wxImageHandler","_wxImageHandler",0);
 	 SWIG_RegisterMapping("_wxScrolledWindow","_class_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow);
 	 SWIG_RegisterMapping("_wxScrolledWindow","_wxGLCanvas",SwigwxGLCanvasTowxScrolledWindow);
 	 SWIG_RegisterMapping("_wxScrolledWindow","_class_wxScrolledWindow",0);
@@ -9630,6 +9648,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_unsigned_int","_GLint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_GLbitfield",0);
 	 SWIG_RegisterMapping("_unsigned_int","_GLenum",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -9659,11 +9678,13 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0);
 	 SWIG_RegisterMapping("_class_wxGLContext","_wxGLContext",0);
 	 SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0);
+	 SWIG_RegisterMapping("_wxJPEGHandler","_class_wxJPEGHandler",0);
 	 SWIG_RegisterMapping("_wxWindowID","_GLuint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_GLsizei",0);
 	 SWIG_RegisterMapping("_wxWindowID","_GLint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_GLbitfield",0);
 	 SWIG_RegisterMapping("_wxWindowID","_GLenum",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
@@ -9674,6 +9695,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_int","_GLint",0);
 	 SWIG_RegisterMapping("_int","_GLbitfield",0);
 	 SWIG_RegisterMapping("_int","_GLenum",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
@@ -9721,6 +9743,7 @@ SWIGEXPORT(void,initglcanvasc)() {
 	 SWIG_RegisterMapping("_GLint","_wxWindowID",0);
 	 SWIG_RegisterMapping("_GLint","_uint",0);
 	 SWIG_RegisterMapping("_GLint","_EBool",0);
+	 SWIG_RegisterMapping("_GLint","_size_t",0);
 	 SWIG_RegisterMapping("_GLint","_GLenum",0);
 	 SWIG_RegisterMapping("_GLint","_GLbitfield",0);
 	 SWIG_RegisterMapping("_wxActivateEvent","_class_wxActivateEvent",0);
diff --git a/utils/wxPython/src/msw/glcanvas.py b/utils/wxPython/src/msw/glcanvas.py
index d88c340366..b701f81977 100644
--- a/utils/wxPython/src/msw/glcanvas.py
+++ b/utils/wxPython/src/msw/glcanvas.py
@@ -24,6 +24,8 @@ from windows2 import *
 from cmndlgs import *
 
 from windows3 import *
+
+from image import *
 import wx
 class wxGLContextPtr :
     def __init__(self,this):
@@ -1025,7 +1027,6 @@ GL_FOG_END = glcanvasc.GL_FOG_END
 GL_FOG_HINT = glcanvasc.GL_FOG_HINT
 GL_FOG_INDEX = glcanvasc.GL_FOG_INDEX
 GL_FOG_MODE = glcanvasc.GL_FOG_MODE
-GL_FOG_SPECULAR_TEXTURE_WIN = glcanvasc.GL_FOG_SPECULAR_TEXTURE_WIN
 GL_FOG_START = glcanvasc.GL_FOG_START
 GL_FRONT = glcanvasc.GL_FRONT
 GL_FRONT_AND_BACK = glcanvasc.GL_FRONT_AND_BACK
@@ -1149,8 +1150,6 @@ GL_MATRIX_MODE = glcanvasc.GL_MATRIX_MODE
 GL_MAX_ATTRIB_STACK_DEPTH = glcanvasc.GL_MAX_ATTRIB_STACK_DEPTH
 GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = glcanvasc.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH
 GL_MAX_CLIP_PLANES = glcanvasc.GL_MAX_CLIP_PLANES
-GL_MAX_ELEMENTS_INDICES_WIN = glcanvasc.GL_MAX_ELEMENTS_INDICES_WIN
-GL_MAX_ELEMENTS_VERTICES_WIN = glcanvasc.GL_MAX_ELEMENTS_VERTICES_WIN
 GL_MAX_EVAL_ORDER = glcanvasc.GL_MAX_EVAL_ORDER
 GL_MAX_LIGHTS = glcanvasc.GL_MAX_LIGHTS
 GL_MAX_LIST_NESTING = glcanvasc.GL_MAX_LIST_NESTING
@@ -1209,8 +1208,6 @@ GL_PACK_SKIP_ROWS = glcanvasc.GL_PACK_SKIP_ROWS
 GL_PACK_SWAP_BYTES = glcanvasc.GL_PACK_SWAP_BYTES
 GL_PASS_THROUGH_TOKEN = glcanvasc.GL_PASS_THROUGH_TOKEN
 GL_PERSPECTIVE_CORRECTION_HINT = glcanvasc.GL_PERSPECTIVE_CORRECTION_HINT
-GL_PHONG_HINT_WIN = glcanvasc.GL_PHONG_HINT_WIN
-GL_PHONG_WIN = glcanvasc.GL_PHONG_WIN
 GL_PIXEL_MAP_A_TO_A = glcanvasc.GL_PIXEL_MAP_A_TO_A
 GL_PIXEL_MAP_A_TO_A_SIZE = glcanvasc.GL_PIXEL_MAP_A_TO_A_SIZE
 GL_PIXEL_MAP_B_TO_B = glcanvasc.GL_PIXEL_MAP_B_TO_B
@@ -1415,8 +1412,6 @@ GL_VERTEX_ARRAY_TYPE = glcanvasc.GL_VERTEX_ARRAY_TYPE
 GL_VERTEX_ARRAY_TYPE_EXT = glcanvasc.GL_VERTEX_ARRAY_TYPE_EXT
 GL_VIEWPORT = glcanvasc.GL_VIEWPORT
 GL_VIEWPORT_BIT = glcanvasc.GL_VIEWPORT_BIT
-GL_WIN_draw_range_elements = glcanvasc.GL_WIN_draw_range_elements
-GL_WIN_swap_hint = glcanvasc.GL_WIN_swap_hint
 GL_XOR = glcanvasc.GL_XOR
 GL_ZERO = glcanvasc.GL_ZERO
 GL_ZOOM_X = glcanvasc.GL_ZOOM_X
diff --git a/utils/wxPython/src/msw/image.cpp b/utils/wxPython/src/msw/image.cpp
index e3bde142dd..5609152eb5 100644
--- a/utils/wxPython/src/msw/image.cpp
+++ b/utils/wxPython/src/msw/image.cpp
@@ -1485,6 +1485,10 @@ SWIGEXPORT(void,initimagec)() {
 	 SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_class_wxBMPHandler","_wxBMPHandler",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxGIFHandler","_wxGIFHandler",0);
@@ -1493,6 +1497,7 @@ SWIGEXPORT(void,initimagec)() {
 	 SWIG_RegisterMapping("_class_wxPNGHandler","_wxPNGHandler",0);
 	 SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -1548,6 +1553,7 @@ SWIGEXPORT(void,initimagec)() {
 	 SWIG_RegisterMapping("_class_wxImageHandler","_wxImageHandler",0);
 	 SWIG_RegisterMapping("_unsigned_char","_byte",0);
 	 SWIG_RegisterMapping("_class_wxMetaFileDC","_wxMetaFileDC",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -1558,11 +1564,13 @@ SWIGEXPORT(void,initimagec)() {
 	 SWIG_RegisterMapping("_short","_signed_short",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
 	 SWIG_RegisterMapping("_wxJPEGHandler","_class_wxJPEGHandler",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/mdi.cpp b/utils/wxPython/src/msw/mdi.cpp
index 3bd74f15cc..66866f01ae 100644
--- a/utils/wxPython/src/msw/mdi.cpp
+++ b/utils/wxPython/src/msw/mdi.cpp
@@ -704,6 +704,10 @@ SWIGEXPORT(void,initmdic)() {
 	 SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -726,6 +730,7 @@ SWIGEXPORT(void,initmdic)() {
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
 	 SWIG_RegisterMapping("_wxMiniFrame","_class_wxMiniFrame",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -823,6 +828,7 @@ SWIGEXPORT(void,initmdic)() {
 	 SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -845,11 +851,13 @@ SWIGEXPORT(void,initmdic)() {
 	 SWIG_RegisterMapping("_wxFrame","_class_wxMDIParentFrame",SwigwxMDIParentFrameTowxFrame);
 	 SWIG_RegisterMapping("_wxFrame","_wxMDIParentFrame",SwigwxMDIParentFrameTowxFrame);
 	 SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/misc.cpp b/utils/wxPython/src/msw/misc.cpp
index 7e35be3d42..0d9bec1f4d 100644
--- a/utils/wxPython/src/msw/misc.cpp
+++ b/utils/wxPython/src/msw/misc.cpp
@@ -4343,8 +4343,13 @@ SWIGEXPORT(void,initmiscc)() {
 	 SWIG_RegisterMapping("_long","_unsigned_long",0);
 	 SWIG_RegisterMapping("_long","_signed_long",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_class_wxToolTip","_wxToolTip",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -4375,17 +4380,20 @@ SWIGEXPORT(void,initmiscc)() {
 	 SWIG_RegisterMapping("_signed_short","_short",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorEntry","_wxAcceleratorEntry",0);
 	 SWIG_RegisterMapping("_unsigned_char","_byte",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
 	 SWIG_RegisterMapping("_short","_WXTYPE",0);
 	 SWIG_RegisterMapping("_short","_unsigned_short",0);
 	 SWIG_RegisterMapping("_short","_signed_short",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/stattool.cpp b/utils/wxPython/src/msw/stattool.cpp
index ff8fd6c6ae..428dd3a2ac 100644
--- a/utils/wxPython/src/msw/stattool.cpp
+++ b/utils/wxPython/src/msw/stattool.cpp
@@ -2396,6 +2396,10 @@ SWIGEXPORT(void,initstattoolc)() {
 	 SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -2417,6 +2421,7 @@ SWIGEXPORT(void,initstattoolc)() {
 	 SWIG_RegisterMapping("_wxToolBar","_class_wxToolBar",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -2510,6 +2515,7 @@ SWIGEXPORT(void,initstattoolc)() {
 	 SWIG_RegisterMapping("_wxControl","_wxToolBar",SwigwxToolBarTowxControl);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -2527,11 +2533,13 @@ SWIGEXPORT(void,initstattoolc)() {
 	 SWIG_RegisterMapping("_class_wxSlider","_wxSlider",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
 	 SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/utils.cpp b/utils/wxPython/src/msw/utils.cpp
index 4f60365a5c..be01d09440 100644
--- a/utils/wxPython/src/msw/utils.cpp
+++ b/utils/wxPython/src/msw/utils.cpp
@@ -116,7 +116,7 @@ extern wxAcceleratorEntry* wxAcceleratorEntry_LIST_helper(PyObject* source);
 static char* wxStringErrorMsg = "string type is required for parameter";
 
 #ifdef SEPARATE
-    static wxString wxPyEmptyStr("");
+    wxString wxPyEmptyStr("");
 #endif
 
     static PyObject* __EnumerationHelper(bool flag, wxString& str, long index) {
diff --git a/utils/wxPython/src/msw/windows.cpp b/utils/wxPython/src/msw/windows.cpp
index e4ca7301a8..3491b5b589 100644
--- a/utils/wxPython/src/msw/windows.cpp
+++ b/utils/wxPython/src/msw/windows.cpp
@@ -6123,6 +6123,10 @@ SWIGEXPORT(void,initwindowsc)() {
 	 SWIG_RegisterMapping("_wxImageList","_class_wxImageList",0);
 	 SWIG_RegisterMapping("_class_wxAcceleratorTable","_wxAcceleratorTable",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -6134,6 +6138,7 @@ SWIGEXPORT(void,initwindowsc)() {
 	 SWIG_RegisterMapping("_wxColour","_class_wxColour",0);
 	 SWIG_RegisterMapping("_class_wxDialog","_wxDialog",0);
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -6196,6 +6201,7 @@ SWIGEXPORT(void,initwindowsc)() {
 	 SWIG_RegisterMapping("_class_wxMenu","_class_wxPyMenu",SwigwxPyMenuTowxMenu);
 	 SWIG_RegisterMapping("_class_wxMenu","_wxPyMenu",SwigwxPyMenuTowxMenu);
 	 SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -6207,11 +6213,13 @@ SWIGEXPORT(void,initwindowsc)() {
 	 SWIG_RegisterMapping("_short","_unsigned_short",0);
 	 SWIG_RegisterMapping("_short","_signed_short",0);
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/windows2.cpp b/utils/wxPython/src/msw/windows2.cpp
index 42ea82fd16..1ba1abeb9b 100644
--- a/utils/wxPython/src/msw/windows2.cpp
+++ b/utils/wxPython/src/msw/windows2.cpp
@@ -4443,6 +4443,10 @@ SWIGEXPORT(void,initwindows2c)() {
 	 SWIG_RegisterMapping("_class_wxGauge","_wxGauge",0);
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -4466,6 +4470,7 @@ SWIGEXPORT(void,initwindows2c)() {
 	 SWIG_RegisterMapping("_wxBrush","_class_wxBrush",0);
 	 SWIG_RegisterMapping("_class_wxNotebookEvent","_wxNotebookEvent",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -4571,6 +4576,7 @@ SWIGEXPORT(void,initwindows2c)() {
 	 SWIG_RegisterMapping("_wxControl","_wxNotebook",SwigwxNotebookTowxControl);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -4589,11 +4595,13 @@ SWIGEXPORT(void,initwindows2c)() {
 	 SWIG_RegisterMapping("_class_wxImageList","_wxImageList",0);
 	 SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
 	 SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/windows3.cpp b/utils/wxPython/src/msw/windows3.cpp
index c2ba858405..7beae7a312 100644
--- a/utils/wxPython/src/msw/windows3.cpp
+++ b/utils/wxPython/src/msw/windows3.cpp
@@ -1690,6 +1690,10 @@ SWIGEXPORT(void,initwindows3c)() {
 	 SWIG_RegisterMapping("_wxDC","_class_wxDC",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
 	 SWIG_RegisterMapping("_wxSashLayoutWindow","_class_wxSashLayoutWindow",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -1718,6 +1722,7 @@ SWIGEXPORT(void,initwindows3c)() {
 	 SWIG_RegisterMapping("_class_wxSashWindow","_wxSashLayoutWindow",SwigwxSashLayoutWindowTowxSashWindow);
 	 SWIG_RegisterMapping("_class_wxSashWindow","_wxSashWindow",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -1830,6 +1835,7 @@ SWIGEXPORT(void,initwindows3c)() {
 	 SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -1852,11 +1858,13 @@ SWIGEXPORT(void,initwindows3c)() {
 	 SWIG_RegisterMapping("_class_wxBitmapButton","_wxBitmapButton",0);
 	 SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0);
 	 SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/wx.cpp b/utils/wxPython/src/msw/wx.cpp
index 1f97b113f7..08dd75253e 100644
--- a/utils/wxPython/src/msw/wx.cpp
+++ b/utils/wxPython/src/msw/wx.cpp
@@ -33,9 +33,8 @@
  * and things like that.
  *
  * $Log$
- * Revision 1.9  1999/04/30 03:29:48  RD
- * wxPython 2.0b9, first phase (win32)
- * Added gobs of stuff, see wxPython/README.txt for details
+ * Revision 1.10  1999/05/02 02:06:37  RD
+ * More for wxPython 2.0b9 (hopefully the last...)
  *
  ************************************************************************/
 
@@ -1992,6 +1991,10 @@ SWIGEXPORT(void,initwxc)() {
 	 SWIG_RegisterMapping("_class_wxBMPHandler","_wxBMPHandler",0);
 	 SWIG_RegisterMapping("_wxSpinEvent","_class_wxSpinEvent",0);
 	 SWIG_RegisterMapping("_wxSashLayoutWindow","_class_wxSashLayoutWindow",0);
+	 SWIG_RegisterMapping("_size_t","_unsigned_int",0);
+	 SWIG_RegisterMapping("_size_t","_int",0);
+	 SWIG_RegisterMapping("_size_t","_wxWindowID",0);
+	 SWIG_RegisterMapping("_size_t","_uint",0);
 	 SWIG_RegisterMapping("_class_wxRealPoint","_wxRealPoint",0);
 	 SWIG_RegisterMapping("_wxPrinterDC","_class_wxPrinterDC",0);
 	 SWIG_RegisterMapping("_class_wxMenuItem","_wxMenuItem",0);
@@ -2021,6 +2024,7 @@ SWIGEXPORT(void,initwxc)() {
 	 SWIG_RegisterMapping("_class_wxNotebookEvent","_wxNotebookEvent",0);
 	 SWIG_RegisterMapping("_class_wxSashWindow","_wxSashWindow",0);
 	 SWIG_RegisterMapping("_wxShowEvent","_class_wxShowEvent",0);
+	 SWIG_RegisterMapping("_uint","_size_t",0);
 	 SWIG_RegisterMapping("_uint","_unsigned_int",0);
 	 SWIG_RegisterMapping("_uint","_int",0);
 	 SWIG_RegisterMapping("_uint","_wxWindowID",0);
@@ -2139,6 +2143,7 @@ SWIGEXPORT(void,initwxc)() {
 	 SWIG_RegisterMapping("_class_wxMenu","_wxMenu",0);
 	 SWIG_RegisterMapping("_wxControl","_class_wxControl",0);
 	 SWIG_RegisterMapping("_class_wxListBox","_wxListBox",0);
+	 SWIG_RegisterMapping("_unsigned_int","_size_t",0);
 	 SWIG_RegisterMapping("_unsigned_int","_uint",0);
 	 SWIG_RegisterMapping("_unsigned_int","_wxWindowID",0);
 	 SWIG_RegisterMapping("_unsigned_int","_int",0);
@@ -2164,11 +2169,13 @@ SWIGEXPORT(void,initwxc)() {
 	 SWIG_RegisterMapping("_wxFrame","_class_wxFrame",0);
 	 SWIG_RegisterMapping("_class_wxNotebook","_wxNotebook",0);
 	 SWIG_RegisterMapping("_wxJPEGHandler","_class_wxJPEGHandler",0);
+	 SWIG_RegisterMapping("_wxWindowID","_size_t",0);
 	 SWIG_RegisterMapping("_wxWindowID","_EBool",0);
 	 SWIG_RegisterMapping("_wxWindowID","_uint",0);
 	 SWIG_RegisterMapping("_wxWindowID","_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_signed_int",0);
 	 SWIG_RegisterMapping("_wxWindowID","_unsigned_int",0);
+	 SWIG_RegisterMapping("_int","_size_t",0);
 	 SWIG_RegisterMapping("_int","_EBool",0);
 	 SWIG_RegisterMapping("_int","_uint",0);
 	 SWIG_RegisterMapping("_int","_wxWindowID",0);
diff --git a/utils/wxPython/src/msw/wx.py b/utils/wxPython/src/msw/wx.py
index 9910e29cbf..104df7325a 100644
--- a/utils/wxPython/src/msw/wx.py
+++ b/utils/wxPython/src/msw/wx.py
@@ -1330,7 +1330,11 @@ class wxApp(wxPyApp):
 #----------------------------------------------------------------------------
 #
 # $Log$
-# Revision 1.9  1999/04/30 03:29:48  RD
+# Revision 1.10  1999/05/02 02:06:37  RD
+# More for wxPython 2.0b9 (hopefully the last...)
+#
+# Revision 1.12  1999/04/30 03:29:18  RD
+#
 # wxPython 2.0b9, first phase (win32)
 # Added gobs of stuff, see wxPython/README.txt for details
 #
diff --git a/utils/wxPython/tests/.cvsignore b/utils/wxPython/tests/.cvsignore
index d45cdf767d..d75b7dec7d 100644
--- a/utils/wxPython/tests/.cvsignore
+++ b/utils/wxPython/tests/.cvsignore
@@ -1,2 +1,7 @@
 hh_test.py
+setup.bat
+test1.pyc
+test4.pyc
+test6.pyc
+test8.pyc
 th_test.py
-- 
2.45.2