]> git.saurik.com Git - wxWidgets.git/commitdiff
Added context help stuff to wxPython
authorRobin Dunn <robin@alldunn.com>
Sun, 29 Jul 2001 03:06:02 +0000 (03:06 +0000)
committerRobin Dunn <robin@alldunn.com>
Sun, 29 Jul 2001 03:06:02 +0000 (03:06 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

19 files changed:
wxPython/CHANGES.txt
wxPython/demo/ContextHelp.py [new file with mode: 0644]
wxPython/demo/Main.py
wxPython/setup.py
wxPython/src/_defs.i
wxPython/src/_extras.py
wxPython/src/_helpextras.py [new file with mode: 0644]
wxPython/src/frames.i
wxPython/src/help.i [new file with mode: 0644]
wxPython/src/misc2.i
wxPython/src/msw/frames.cpp
wxPython/src/msw/frames.py
wxPython/src/msw/help.cpp [new file with mode: 0644]
wxPython/src/msw/help.py [new file with mode: 0644]
wxPython/src/msw/windows.cpp
wxPython/src/msw/windows.py
wxPython/src/msw/wx.cpp
wxPython/src/msw/wx.py
wxPython/src/windows.i

index c45c79d8e9de264ff5fd40faef2f347252bba16d..42b3fdd3e5566d808d29804eb087726d89e8b2bc 100644 (file)
@@ -2,6 +2,20 @@ CHANGES.txt for wxPython
 
 ----------------------------------------------------------------------
 
+?????
+-----
+Added EVT_HELP, EVT_HELP_RANGE, EVT_DETAILED_HELP,
+EVT_DETAILED_HELP_RANGE, EVT_CONTEXT_MENU, wxHelpEvent,
+wxContextMenuEvent, wxContextHelp, wxContextHelpButton, wxTipWindow,
+and a demo to show them in action.
+
+
+
+
+
+
+
+
 2.3.1
 -----
 Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the user
diff --git a/wxPython/demo/ContextHelp.py b/wxPython/demo/ContextHelp.py
new file mode 100644 (file)
index 0000000..6985790
--- /dev/null
@@ -0,0 +1,92 @@
+
+from wxPython.wx import *
+from wxPython.help import *
+
+#----------------------------------------------------------------------
+# We first have to set an application wide help provider.  Normally you
+# would do this in your app's OnInit or in other startup code...
+
+provider = wxSimpleHelpProvider()
+wxHelpProvider_Set(provider)
+
+
+class TestPanel(wxPanel):
+    def __init__(self, parent, log):
+        wxPanel.__init__(self, parent, -1)
+        self.log = log
+
+        self.SetHelpText("This is a wxPanel.")
+        sizer = wxBoxSizer(wxVERTICAL)
+
+        cBtn = wxContextHelpButton(self)
+        cBtn.SetHelpText("wxContextHelpButton")
+        cBtnText = wxStaticText(self, -1, "This is a wxContextHelpButton.  Clicking it puts the\n"
+                                          "app into context sensitive help mode.")
+        cBtnText.SetHelpText("Some helpful text...")
+
+        s = wxBoxSizer(wxHORIZONTAL)
+        s.Add(cBtn, 0, wxALL, 5)
+        s.Add(cBtnText, 0, wxALL, 5)
+        sizer.Add(20,20)
+        sizer.Add(s)
+
+        text = wxTextCtrl(self, -1, "Each sub-window can have its own help message",
+                          size=(240, 60), style = wxTE_MULTILINE)
+        text.SetHelpText("This is my very own help message.  This is a really long long long long long long long long long long long long long long long long long long long long message!")
+        sizer.Add(20,20)
+        sizer.Add(text)
+
+        text = wxTextCtrl(self, -1, "You can also intercept the help event if you like.  Watch the log window when you click here...",
+                          size=(240, 60), style = wxTE_MULTILINE)
+        text.SetHelpText("Yet another context help message.")
+        sizer.Add(20,20)
+        sizer.Add(text)
+        EVT_HELP(text, text.GetId(), self.OnCtxHelp)
+
+        text = wxTextCtrl(self, -1, "This one displays the tip itself...",
+                          size=(240, 60), style = wxTE_MULTILINE)
+        sizer.Add(20,20)
+        sizer.Add(text)
+        EVT_HELP(text, text.GetId(), self.OnCtxHelp2)
+
+
+        border = wxBoxSizer(wxVERTICAL)
+        border.Add(sizer, 0, wxALL, 25)
+
+        self.SetAutoLayout(true)
+        self.SetSizer(border)
+        self.Layout()
+
+
+    def OnCtxHelp(self, evt):
+        self.log.write("OnCtxHelp: %s" % evt)
+        evt.Skip()
+
+
+    def OnCtxHelp2(self, evt):
+         self.log.write("OnCtxHelp: %s" % evt)
+         tip = wxTipWindow(self, "This is a wxTipWindow")
+
+
+#----------------------------------------------------------------------
+
+def runTest(frame, nb, log):
+    win = TestPanel(nb, log)
+    return win
+
+
+#----------------------------------------------------------------------
+
+
+
+
+overview = """
+This demo shows how to encorporate Context Sensitive
+help into your applicaiton using the wxSimpleHelpProvider class.
+
+"""
+
+
+
+#----------------------------------------------------------------------
+
index 6f1c2b27870baf6b06cd2d7216e5dd40f45e0d5d..e1de6b0e692d68f1cece65d56bc91b963b8b9fa3 100644 (file)
@@ -22,7 +22,7 @@ import images
 
 
 _treeList = [
-    ('New since last release', ['wxTextCtrl', 'XML_Resource'
+    ('New since last release', ['ContextHelp',
                                 ]),
 
     ('Managed Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame']),
@@ -45,7 +45,7 @@ _treeList = [
                   'wxCalendarCtrl', 'wxToggleButton',
                   ]),
 
-    ('Window Layout', ['wxLayoutConstraints', 'LayoutAnchors', 'Sizers', ]),
+    ('Window Layout', ['wxLayoutConstraints', 'LayoutAnchors', 'Sizers', 'XML_Resource']),
 
     ('Miscellaneous', [ 'DragAndDrop', 'CustomDragAndDrop', 'FontEnumerator',
                         'wxTimer', 'wxValidator', 'wxGLCanvas', 'DialogUnits',
index e9e5779cf53dbe566c53c42faa325768eff0f2ca..ce3be79c2cb75f121d537ef4cc3c86378c8a252f 100755 (executable)
@@ -377,6 +377,20 @@ if not GL_ONLY:
     wxpExtensions.append(ext)
 
 
+    # Extension for the help module
+    swig_sources = run_swig(['help.i'], 'src', GENDIR, PKGDIR,
+                            USE_SWIG, swig_force, swig_args, swig_deps)
+    ext = Extension('helpc', swig_sources,
+                    include_dirs =  includes,
+                    define_macros = defines,
+                    library_dirs = libdirs,
+                    libraries = libs,
+                    extra_compile_args = cflags,
+                    extra_link_args = lflags,
+                    )
+    wxpExtensions.append(ext)
+
+
 #----------------------------------------------------------------------
 # Define the GLCanvas extension module
 #----------------------------------------------------------------------
index 4d4bc1d39605b5b3f8826d5c3ae3ff4f11c019e4..a5f364d7fb4bbdf535d43e99f98332b8dd7a9657 100644 (file)
@@ -220,7 +220,7 @@ enum {
     wxFRAME_FLOAT_ON_PARENT,
     wxFRAME_NO_WINDOW_MENU,
     wxFRAME_NO_TASKBAR,
-    wxFRAME_EX_CONTEXTHELP,
+
     wxED_CLIENT_MARGIN,
     wxED_BUTTONS_BOTTOM,
     wxED_BUTTONS_RIGHT,
@@ -409,7 +409,6 @@ enum {
     wxID_SETUP,
     wxID_MORE,
 
-
     wxOPEN,
     wxSAVE,
     wxHIDE_READONLY,
@@ -909,7 +908,6 @@ enum wxEventType {
  wxEVT_MENU_INIT,
  wxEVT_MENU_HIGHLIGHT,
  wxEVT_POPUP_MENU_INIT,
- wxEVT_CONTEXT_MENU,
  wxEVT_SYS_COLOUR_CHANGED,
  wxEVT_SETTING_CHANGED,
  wxEVT_QUERY_NEW_PALETTE,
@@ -923,8 +921,6 @@ enum wxEventType {
  wxEVT_MEASURE_ITEM,
  wxEVT_COMPARE_ITEM,
  wxEVT_INIT_DIALOG,
- wxEVT_HELP,
- wxEVT_DETAILED_HELP,
  wxEVT_IDLE,
  wxEVT_UPDATE_UI,
 
index ba7f0c2b3595e78192267a723e9d82495ddc908b..6551f91bceedb372815d5dc09c2720cade315f05 100644 (file)
@@ -643,6 +643,24 @@ def EVT_TOGGLEBUTTON(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, func)
 
 
+
+# Help events
+def EVT_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_HELP, func)
+
+def EVT_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_HELP, func)
+
+def EVT_DETAILED_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_DETAILED_HELP, func)
+
+def EVT_DETAILED_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_DETAILED_HELP, func)
+
+def EVT_CONTEXT_MENU(win, func):
+    win.Connect(-1, -1, wxEVT_CONTEXT_MENU, func)
+
+
 #----------------------------------------------------------------------
 
 class wxTimer(wxPyTimer):
diff --git a/wxPython/src/_helpextras.py b/wxPython/src/_helpextras.py
new file mode 100644 (file)
index 0000000..b925ee0
--- /dev/null
@@ -0,0 +1,4 @@
+# Stuff these names into the wx namespace so wxPyConstructObject can find them
+import wx
+wx.wxHelpEventPtr         = wxHelpEventPtr
+wx.wxContextMenuEventPtr  = wxContextMenuEventPtr
index 7758a36ebf759bc3e48ee27efdf3fb6057da6e87..69fc74db4e2543b4ebc3c4b6e338ef082175b4ac 100644 (file)
@@ -16,6 +16,7 @@
 %{
 #include "helpers.h"
 #include <wx/minifram.h>
+#include <wx/tipwin.h>
 %}
 
 //----------------------------------------------------------------------
@@ -105,6 +106,17 @@ public:
 
 //---------------------------------------------------------------------------
 
+class wxTipWindow : public wxFrame
+{
+public:
+    wxTipWindow(wxWindow *parent,
+                const wxString& text,
+                wxCoord maxLength = 100);
+};
+
+
+//---------------------------------------------------------------------------
+
 
 
 
diff --git a/wxPython/src/help.i b/wxPython/src/help.i
new file mode 100644 (file)
index 0000000..66d3bf8
--- /dev/null
@@ -0,0 +1,166 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        help.i
+// Purpose:     Context sensitive help classes, and etc.
+//
+// Author:      Robin Dunn
+//
+// Created:     28-July-2001
+// RCS-ID:      $Id$
+// Copyright:   (c) 2001 by Total Control Software
+// Licence:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+%module help
+
+%{
+#include "export.h"
+#include <wx/cshelp.h>
+%}
+
+//----------------------------------------------------------------------
+
+%include typemaps.i
+%include my_typemaps.i
+
+// Import some definitions of other classes, etc.
+%import _defs.i
+%import windows.i
+%import misc.i
+%import controls.i
+
+
+//----------------------------------------------------------------------
+
+enum {
+    wxFRAME_EX_CONTEXTHELP,
+    wxDIALOG_EX_CONTEXTHELP,
+    wxID_CONTEXT_HELP,
+    wxEVT_HELP,
+    wxEVT_DETAILED_HELP,
+    wxEVT_CONTEXT_MENU,
+};
+
+
+%pragma(python) code = "
+# Help events
+def EVT_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_HELP, func)
+
+def EVT_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_HELP, func)
+
+def EVT_DETAILED_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_DETAILED_HELP, func)
+
+def EVT_DETAILED_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_DETAILED_HELP, func)
+
+def EVT_CONTEXT_MENU(win, func):
+    win.Connect(-1, -1, wxEVT_CONTEXT_MENU, func)
+"
+
+//----------------------------------------------------------------------
+
+class wxHelpEvent : public wxCommandEvent
+{
+public:
+    wxHelpEvent(wxEventType type = wxEVT_NULL,
+                wxWindowID id = 0,
+                const wxPoint& pt = wxDefaultPosition);
+    const wxPoint& GetPosition();
+    void SetPosition(const wxPoint& pos);
+    const wxString& GetLink();
+    void SetLink(const wxString& link);
+    const wxString& GetTarget();
+    void SetTarget(const wxString& target);
+};
+
+//---------------------------------------------------------------------------
+
+
+class wxContextMenuEvent : public wxCommandEvent
+{
+public:
+    wxContextMenuEvent(wxEventType type = wxEVT_NULL,
+                       wxWindowID id = 0,
+                       const wxPoint& pt = wxDefaultPosition);
+    const wxPoint& GetPosition();
+    void SetPosition(const wxPoint& pos);
+};
+
+
+
+//----------------------------------------------------------------------
+
+class wxContextHelp : public wxObject {
+public:
+    wxContextHelp(wxWindow* window = NULL, bool doNow = TRUE);
+    ~wxContextHelp();
+
+    bool BeginContextHelp(wxWindow* window = NULL);
+    bool EndContextHelp();
+};
+
+
+//----------------------------------------------------------------------
+
+class wxContextHelpButton : public wxBitmapButton {
+public:
+    wxContextHelpButton(wxWindow* parent, wxWindowID id = wxID_CONTEXT_HELP,
+                        const wxPoint& pos = wxDefaultPosition,
+                        const wxSize& size = wxDefaultSize,
+                        long style = wxBU_AUTODRAW);
+};
+
+
+//----------------------------------------------------------------------
+
+class wxHelpProvider
+{
+public:
+    static wxHelpProvider *Set(wxHelpProvider *helpProvider);
+    static wxHelpProvider *Get();
+
+    // Virtuals...
+    wxString GetHelp(const wxWindow *window);
+    bool ShowHelp(wxWindowBase *window);
+    void AddHelp(wxWindowBase *window, const wxString& text);
+    %name(AddHelpById)void AddHelp(wxWindowID id, const wxString& text);
+
+    %addmethods { void Destroy() { delete self; } }
+
+};
+
+
+//----------------------------------------------------------------------
+
+class wxSimpleHelpProvider : public wxHelpProvider
+{
+public:
+    wxSimpleHelpProvider();
+};
+
+
+//----------------------------------------------------------------------
+
+// TODO: Add this once the wxHelpController is in wxPython...
+
+//  class WXDLLEXPORT wxHelpControllerHelpProvider : public wxSimpleHelpProvider
+//  {
+//  public:
+//      wxHelpControllerHelpProvider(wxHelpController* hc = NULL);
+//      void SetHelpController(wxHelpController* hc);
+//      wxHelpController* GetHelpController();
+//  };
+
+
+
+
+//----------------------------------------------------------------------
+//----------------------------------------------------------------------
+// This file gets appended to the shadow class file.
+//----------------------------------------------------------------------
+
+%pragma(python) include="_helpextras.py";
+
+//---------------------------------------------------------------------------
index 06fe54cb3bac54c47dd48f448788db51597c0009..df0df82579c92055dd7e0f1d30c5479365574c50 100644 (file)
@@ -877,6 +877,8 @@ public:
     }
 %}
 
+
+//----------------------------------------------------------------------
 //----------------------------------------------------------------------
 
 
index 09360b3ef7806dbdc208e157783237921de7100b..728925df272ec8ab17576685977d6d086661c815 100644 (file)
@@ -57,6 +57,7 @@ extern PyObject *SWIG_newvarlink(void);
 
 #include "helpers.h"
 #include <wx/minifram.h>
+#include <wx/tipwin.h>
 
 
 static PyObject* t_output_helper(PyObject* target, PyObject* o) {
@@ -1218,7 +1219,100 @@ static PyObject *_wrap_new_wxMiniFrame(PyObject *self, PyObject *args, PyObject
     return _resultobj;
 }
 
+static void *SwigwxTipWindowTowxFrame(void *ptr) {
+    wxTipWindow *src;
+    wxFrame *dest;
+    src = (wxTipWindow *) ptr;
+    dest = (wxFrame *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxTipWindowTowxWindow(void *ptr) {
+    wxTipWindow *src;
+    wxWindow *dest;
+    src = (wxTipWindow *) ptr;
+    dest = (wxWindow *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxTipWindowTowxEvtHandler(void *ptr) {
+    wxTipWindow *src;
+    wxEvtHandler *dest;
+    src = (wxTipWindow *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxTipWindowTowxObject(void *ptr) {
+    wxTipWindow *src;
+    wxObject *dest;
+    src = (wxTipWindow *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxTipWindow(_swigarg0,_swigarg1,_swigarg2) (new wxTipWindow(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxTipWindow(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxTipWindow * _result;
+    wxWindow * _arg0;
+    wxString * _arg1;
+    wxCoord  _arg2 = (wxCoord ) 100;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "parent","text","maxLength", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|i:new_wxTipWindow",_kwnames,&_argo0,&_obj1,&_arg2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxTipWindow. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxTipWindow *)new_wxTipWindow(_arg0,*_arg1,_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxTipWindow_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
 static PyMethodDef framescMethods[] = {
+        { "new_wxTipWindow", (PyCFunction) _wrap_new_wxTipWindow, METH_VARARGS | METH_KEYWORDS },
         { "new_wxMiniFrame", (PyCFunction) _wrap_new_wxMiniFrame, METH_VARARGS | METH_KEYWORDS },
         { "wxFrame_IsFullScreen", (PyCFunction) _wrap_wxFrame_IsFullScreen, METH_VARARGS | METH_KEYWORDS },
         { "wxFrame_ShowFullScreen", (PyCFunction) _wrap_wxFrame_ShowFullScreen, METH_VARARGS | METH_KEYWORDS },
@@ -1302,6 +1396,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_WXTYPE","_unsigned_short",0},
     { "_unsigned_short","_WXTYPE",0},
     { "_unsigned_short","_short",0},
+    { "_wxObject","_wxTipWindow",SwigwxTipWindowTowxObject},
     { "_wxObject","_wxMiniFrame",SwigwxMiniFrameTowxObject},
     { "_wxObject","_wxFrame",SwigwxFrameTowxObject},
     { "_signed_short","_WXTYPE",0},
@@ -1317,6 +1412,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_short","_WXTYPE",0},
     { "_short","_unsigned_short",0},
     { "_short","_signed_short",0},
+    { "_wxFrame","_wxTipWindow",SwigwxTipWindowTowxFrame},
     { "_wxFrame","_wxMiniFrame",SwigwxMiniFrameTowxFrame},
     { "_wxWindowID","_wxCoord",0},
     { "_wxWindowID","_wxPrintQuality",0},
@@ -1352,8 +1448,10 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
     { "_wxCoord","_size_t",0},
     { "_wxCoord","_time_t",0},
     { "_wxCoord","_wxPrintQuality",0},
+    { "_wxEvtHandler","_wxTipWindow",SwigwxTipWindowTowxEvtHandler},
     { "_wxEvtHandler","_wxMiniFrame",SwigwxMiniFrameTowxEvtHandler},
     { "_wxEvtHandler","_wxFrame",SwigwxFrameTowxEvtHandler},
+    { "_wxWindow","_wxTipWindow",SwigwxTipWindowTowxWindow},
     { "_wxWindow","_wxMiniFrame",SwigwxMiniFrameTowxWindow},
     { "_wxWindow","_wxFrame",SwigwxFrameTowxWindow},
 {0,0,0}};
index 8652452be89cee0d5d0b5399e5fb94dbb135d9c8..7a82522e7536cadd0c688a428a596838a72dbade 100644 (file)
@@ -128,6 +128,20 @@ class wxMiniFrame(wxMiniFramePtr):
 
 
 
+class wxTipWindowPtr(wxFramePtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __repr__(self):
+        return "<C wxTipWindow instance at %s>" % (self.this,)
+class wxTipWindow(wxTipWindowPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(framesc.new_wxTipWindow,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
 
 
 #-------------- FUNCTION WRAPPERS ------------------
diff --git a/wxPython/src/msw/help.cpp b/wxPython/src/msw/help.cpp
new file mode 100644 (file)
index 0000000..559de50
--- /dev/null
@@ -0,0 +1,1245 @@
+/*
+ * FILE : src/msw/help.cpp
+ * 
+ * This file was automatically generated by :
+ * Simplified Wrapper and Interface Generator (SWIG)
+ * Version 1.1 (Build 883)
+ * 
+ * Portions Copyright (c) 1995-1998
+ * The University of Utah and The Regents of the University of California.
+ * Permission is granted to distribute this file in any manner provided
+ * this notice remains intact.
+ * 
+ * Do not make changes to this file--changes will be lost!
+ *
+ */
+
+
+#define SWIGCODE
+/* Implementation : PYTHON */
+
+#define SWIGPYTHON
+#include <string.h>
+#include <stdlib.h>
+/* Definitions for Windows/Unix exporting */
+#if defined(__WIN32__)
+#   if defined(_MSC_VER)
+#      define SWIGEXPORT(a) __declspec(dllexport) a
+#   else
+#      if defined(__BORLANDC__)
+#          define SWIGEXPORT(a) a _export
+#      else
+#          define SWIGEXPORT(a) a
+#      endif
+#   endif
+#else
+#   define SWIGEXPORT(a) a
+#endif
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void SWIG_MakePtr(char *, void *, char *);
+extern void SWIG_RegisterMapping(char *, char *, void *(*)(void *));
+extern char *SWIG_GetPtr(char *, void **, char *);
+extern char *SWIG_GetPtrObj(PyObject *, void **, char *);
+extern void SWIG_addvarlink(PyObject *, char *, PyObject *(*)(void), int (*)(PyObject *));
+extern PyObject *SWIG_newvarlink(void);
+#ifdef __cplusplus
+}
+#endif
+#define SWIG_init    inithelpc
+
+#define SWIG_name    "helpc"
+
+#include "export.h"
+#include <wx/cshelp.h>
+
+
+static PyObject* t_output_helper(PyObject* target, PyObject* o) {
+    PyObject*   o2;
+    PyObject*   o3;
+
+    if (!target) {
+        target = o;
+    } else if (target == Py_None) {
+        Py_DECREF(Py_None);
+        target = o;
+    } else {
+        if (!PyTuple_Check(target)) {
+            o2 = target;
+            target = PyTuple_New(1);
+            PyTuple_SetItem(target, 0, o2);
+        }
+        o3 = PyTuple_New(1);
+        PyTuple_SetItem(o3, 0, o);
+
+        o2 = target;
+        target = PySequence_Concat(o2, o3);
+        Py_DECREF(o2);
+        Py_DECREF(o3);
+    }
+    return target;
+}
+
+#if PYTHON_API_VERSION >= 1009
+    static char* wxStringErrorMsg = "String or Unicode type required";
+#else
+    static char* wxStringErrorMsg = "string type is required for parameter";
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+static void *SwigwxHelpEventTowxCommandEvent(void *ptr) {
+    wxHelpEvent *src;
+    wxCommandEvent *dest;
+    src = (wxHelpEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxHelpEventTowxEvent(void *ptr) {
+    wxHelpEvent *src;
+    wxEvent *dest;
+    src = (wxHelpEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxHelpEventTowxObject(void *ptr) {
+    wxHelpEvent *src;
+    wxObject *dest;
+    src = (wxHelpEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxHelpEvent(_swigarg0,_swigarg1,_swigarg2) (new wxHelpEvent(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxHelpEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpEvent * _result;
+    wxEventType  _arg0 = (wxEventType ) wxEVT_NULL;
+    wxWindowID  _arg1 = (wxWindowID ) 0;
+    wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition;
+    wxPoint  temp;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "type","id","pt", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiO:new_wxHelpEvent",_kwnames,&_arg0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_obj2)
+{
+    _arg2 = &temp;
+    if (! wxPoint_helper(_obj2, &_arg2))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHelpEvent *)new_wxHelpEvent(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHelpEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHelpEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxHelpEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPoint * _result;
+    wxHelpEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHelpEvent_GetPosition",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpEvent_GetPosition. Expected _wxHelpEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxPoint & _result_ref = wxHelpEvent_GetPosition(_arg0);
+    _result = (wxPoint *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHelpEvent_SetPosition(_swigobj,_swigarg0)  (_swigobj->SetPosition(_swigarg0))
+static PyObject *_wrap_wxHelpEvent_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpEvent * _arg0;
+    wxPoint * _arg1;
+    PyObject * _argo0 = 0;
+    wxPoint  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHelpEvent_SetPosition",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpEvent_SetPosition. Expected _wxHelpEvent_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = &temp;
+    if (! wxPoint_helper(_obj1, &_arg1))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHelpEvent_SetPosition(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxHelpEvent_GetLink(_swigobj)  (_swigobj->GetLink())
+static PyObject *_wrap_wxHelpEvent_GetLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHelpEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHelpEvent_GetLink",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpEvent_GetLink. Expected _wxHelpEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxHelpEvent_GetLink(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxHelpEvent_SetLink(_swigobj,_swigarg0)  (_swigobj->SetLink(_swigarg0))
+static PyObject *_wrap_wxHelpEvent_SetLink(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpEvent * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","link", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHelpEvent_SetLink",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpEvent_SetLink. Expected _wxHelpEvent_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHelpEvent_SetLink(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+#define wxHelpEvent_GetTarget(_swigobj)  (_swigobj->GetTarget())
+static PyObject *_wrap_wxHelpEvent_GetTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHelpEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHelpEvent_GetTarget",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpEvent_GetTarget. Expected _wxHelpEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxString & _result_ref = wxHelpEvent_GetTarget(_arg0);
+    _result = (wxString *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+    return _resultobj;
+}
+
+#define wxHelpEvent_SetTarget(_swigobj,_swigarg0)  (_swigobj->SetTarget(_swigarg0))
+static PyObject *_wrap_wxHelpEvent_SetTarget(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpEvent * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","target", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHelpEvent_SetTarget",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpEvent_SetTarget. Expected _wxHelpEvent_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHelpEvent_SetTarget(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
+static void *SwigwxContextMenuEventTowxCommandEvent(void *ptr) {
+    wxContextMenuEvent *src;
+    wxCommandEvent *dest;
+    src = (wxContextMenuEvent *) ptr;
+    dest = (wxCommandEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextMenuEventTowxEvent(void *ptr) {
+    wxContextMenuEvent *src;
+    wxEvent *dest;
+    src = (wxContextMenuEvent *) ptr;
+    dest = (wxEvent *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextMenuEventTowxObject(void *ptr) {
+    wxContextMenuEvent *src;
+    wxObject *dest;
+    src = (wxContextMenuEvent *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxContextMenuEvent(_swigarg0,_swigarg1,_swigarg2) (new wxContextMenuEvent(_swigarg0,_swigarg1,_swigarg2))
+static PyObject *_wrap_new_wxContextMenuEvent(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextMenuEvent * _result;
+    wxEventType  _arg0 = (wxEventType ) wxEVT_NULL;
+    wxWindowID  _arg1 = (wxWindowID ) 0;
+    wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition;
+    wxPoint  temp;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "type","id","pt", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|iiO:new_wxContextMenuEvent",_kwnames,&_arg0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_obj2)
+{
+    _arg2 = &temp;
+    if (! wxPoint_helper(_obj2, &_arg2))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxContextMenuEvent *)new_wxContextMenuEvent(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxContextMenuEvent_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxContextMenuEvent_GetPosition(_swigobj)  (_swigobj->GetPosition())
+static PyObject *_wrap_wxContextMenuEvent_GetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxPoint * _result;
+    wxContextMenuEvent * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxContextMenuEvent_GetPosition",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextMenuEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxContextMenuEvent_GetPosition. Expected _wxContextMenuEvent_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        const wxPoint & _result_ref = wxContextMenuEvent_GetPosition(_arg0);
+    _result = (wxPoint *) &_result_ref;
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxPoint_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxContextMenuEvent_SetPosition(_swigobj,_swigarg0)  (_swigobj->SetPosition(_swigarg0))
+static PyObject *_wrap_wxContextMenuEvent_SetPosition(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextMenuEvent * _arg0;
+    wxPoint * _arg1;
+    PyObject * _argo0 = 0;
+    wxPoint  temp;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","pos", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxContextMenuEvent_SetPosition",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextMenuEvent_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxContextMenuEvent_SetPosition. Expected _wxContextMenuEvent_p.");
+        return NULL;
+        }
+    }
+{
+    _arg1 = &temp;
+    if (! wxPoint_helper(_obj1, &_arg1))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxContextMenuEvent_SetPosition(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxContextHelpTowxObject(void *ptr) {
+    wxContextHelp *src;
+    wxObject *dest;
+    src = (wxContextHelp *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxContextHelp(_swigarg0,_swigarg1) (new wxContextHelp(_swigarg0,_swigarg1))
+static PyObject *_wrap_new_wxContextHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextHelp * _result;
+    wxWindow * _arg0 = (wxWindow *) NULL;
+    bool  _arg1 = (bool ) TRUE;
+    PyObject * _argo0 = 0;
+    int tempbool1 = (int) TRUE;
+    char *_kwnames[] = { "window","doNow", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"|Oi:new_wxContextHelp",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxContextHelp. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxContextHelp *)new_wxContextHelp(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxContextHelp_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define delete_wxContextHelp(_swigobj) (delete _swigobj)
+static PyObject *_wrap_delete_wxContextHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextHelp * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:delete_wxContextHelp",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextHelp_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of delete_wxContextHelp. Expected _wxContextHelp_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        delete_wxContextHelp(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+#define wxContextHelp_BeginContextHelp(_swigobj,_swigarg0)  (_swigobj->BeginContextHelp(_swigarg0))
+static PyObject *_wrap_wxContextHelp_BeginContextHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxContextHelp * _arg0;
+    wxWindow * _arg1 = (wxWindow *) NULL;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","window", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|O:wxContextHelp_BeginContextHelp",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextHelp_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxContextHelp_BeginContextHelp. Expected _wxContextHelp_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxContextHelp_BeginContextHelp. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxContextHelp_BeginContextHelp(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxContextHelp_EndContextHelp(_swigobj)  (_swigobj->EndContextHelp())
+static PyObject *_wrap_wxContextHelp_EndContextHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxContextHelp * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxContextHelp_EndContextHelp",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxContextHelp_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxContextHelp_EndContextHelp. Expected _wxContextHelp_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxContextHelp_EndContextHelp(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+static void *SwigwxContextHelpButtonTowxBitmapButton(void *ptr) {
+    wxContextHelpButton *src;
+    wxBitmapButton *dest;
+    src = (wxContextHelpButton *) ptr;
+    dest = (wxBitmapButton *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextHelpButtonTowxButton(void *ptr) {
+    wxContextHelpButton *src;
+    wxButton *dest;
+    src = (wxContextHelpButton *) ptr;
+    dest = (wxButton *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextHelpButtonTowxControl(void *ptr) {
+    wxContextHelpButton *src;
+    wxControl *dest;
+    src = (wxContextHelpButton *) ptr;
+    dest = (wxControl *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextHelpButtonTowxWindow(void *ptr) {
+    wxContextHelpButton *src;
+    wxWindow *dest;
+    src = (wxContextHelpButton *) ptr;
+    dest = (wxWindow *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextHelpButtonTowxEvtHandler(void *ptr) {
+    wxContextHelpButton *src;
+    wxEvtHandler *dest;
+    src = (wxContextHelpButton *) ptr;
+    dest = (wxEvtHandler *) src;
+    return (void *) dest;
+}
+
+static void *SwigwxContextHelpButtonTowxObject(void *ptr) {
+    wxContextHelpButton *src;
+    wxObject *dest;
+    src = (wxContextHelpButton *) ptr;
+    dest = (wxObject *) src;
+    return (void *) dest;
+}
+
+#define new_wxContextHelpButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (new wxContextHelpButton(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4))
+static PyObject *_wrap_new_wxContextHelpButton(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxContextHelpButton * _result;
+    wxWindow * _arg0;
+    wxWindowID  _arg1 = (wxWindowID ) (wxID_CONTEXT_HELP);
+    wxPoint * _arg2 = (wxPoint *) &wxDefaultPosition;
+    wxSize * _arg3 = (wxSize *) &wxDefaultSize;
+    long  _arg4 = (long ) wxBU_AUTODRAW;
+    PyObject * _argo0 = 0;
+    wxPoint  temp;
+    PyObject * _obj2 = 0;
+    wxSize  temp0;
+    PyObject * _obj3 = 0;
+    char *_kwnames[] = { "parent","id","pos","size","style", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|iOOl:new_wxContextHelpButton",_kwnames,&_argo0,&_arg1,&_obj2,&_obj3,&_arg4)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxContextHelpButton. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+    if (_obj2)
+{
+    _arg2 = &temp;
+    if (! wxPoint_helper(_obj2, &_arg2))
+        return NULL;
+}
+    if (_obj3)
+{
+    _arg3 = &temp0;
+    if (! wxSize_helper(_obj3, &_arg3))
+        return NULL;
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxContextHelpButton *)new_wxContextHelpButton(_arg0,_arg1,*_arg2,*_arg3,_arg4);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxContextHelpButton_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxHelpProvider_Set(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpProvider * _result;
+    wxHelpProvider * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "helpProvider", NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHelpProvider_Set",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpProvider_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpProvider_Set. Expected _wxHelpProvider_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHelpProvider *)wxHelpProvider::Set(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHelpProvider_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyObject *_wrap_wxHelpProvider_Get(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpProvider * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxHelpProvider_Get",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxHelpProvider *)wxHelpProvider::Get();
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxHelpProvider_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+#define wxHelpProvider_GetHelp(_swigobj,_swigarg0)  (_swigobj->GetHelp(_swigarg0))
+static PyObject *_wrap_wxHelpProvider_GetHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxHelpProvider * _arg0;
+    wxWindow * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","window", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHelpProvider_GetHelp",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpProvider_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpProvider_GetHelp. Expected _wxHelpProvider_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_GetHelp. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxHelpProvider_GetHelp(_arg0,_arg1));
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxHelpProvider_ShowHelp(_swigobj,_swigarg0)  (_swigobj->ShowHelp(_swigarg0))
+static PyObject *_wrap_wxHelpProvider_ShowHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxHelpProvider * _arg0;
+    wxWindowBase * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    char *_kwnames[] = { "self","window", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxHelpProvider_ShowHelp",_kwnames,&_argo0,&_argo1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpProvider_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpProvider_ShowHelp. Expected _wxHelpProvider_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindowBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_ShowHelp. Expected _wxWindowBase_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (bool )wxHelpProvider_ShowHelp(_arg0,_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxHelpProvider_AddHelp(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AddHelp(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHelpProvider_AddHelp(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpProvider * _arg0;
+    wxWindowBase * _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _argo1 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","window","text", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxHelpProvider_AddHelp",_kwnames,&_argo0,&_argo1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpProvider_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpProvider_AddHelp. Expected _wxHelpProvider_p.");
+        return NULL;
+        }
+    }
+    if (_argo1) {
+        if (_argo1 == Py_None) { _arg1 = NULL; }
+        else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxWindowBase_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxHelpProvider_AddHelp. Expected _wxWindowBase_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHelpProvider_AddHelp(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+#define wxHelpProvider_AddHelpById(_swigobj,_swigarg0,_swigarg1)  (_swigobj->AddHelp(_swigarg0,_swigarg1))
+static PyObject *_wrap_wxHelpProvider_AddHelpById(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpProvider * _arg0;
+    wxWindowID  _arg1;
+    wxString * _arg2;
+    PyObject * _argo0 = 0;
+    PyObject * _obj2 = 0;
+    char *_kwnames[] = { "self","id","text", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiO:wxHelpProvider_AddHelpById",_kwnames,&_argo0,&_arg1,&_obj2)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpProvider_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpProvider_AddHelpById. Expected _wxHelpProvider_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj2) && !PyUnicode_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj2, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg2 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj2)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg2 = new wxString(PyString_AS_STRING(_obj2), PyString_GET_SIZE(_obj2));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHelpProvider_AddHelpById(_arg0,_arg1,*_arg2);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj2)
+        delete _arg2;
+}
+    return _resultobj;
+}
+
+static void  wxHelpProvider_Destroy(wxHelpProvider *self) { delete self; }
+static PyObject *_wrap_wxHelpProvider_Destroy(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxHelpProvider * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxHelpProvider_Destroy",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxHelpProvider_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxHelpProvider_Destroy. Expected _wxHelpProvider_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxHelpProvider_Destroy(_arg0);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
+static void *SwigwxSimpleHelpProviderTowxHelpProvider(void *ptr) {
+    wxSimpleHelpProvider *src;
+    wxHelpProvider *dest;
+    src = (wxSimpleHelpProvider *) ptr;
+    dest = (wxHelpProvider *) src;
+    return (void *) dest;
+}
+
+#define new_wxSimpleHelpProvider() (new wxSimpleHelpProvider())
+static PyObject *_wrap_new_wxSimpleHelpProvider(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxSimpleHelpProvider * _result;
+    char *_kwnames[] = {  NULL };
+    char _ptemp[128];
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxSimpleHelpProvider",_kwnames)) 
+        return NULL;
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = (wxSimpleHelpProvider *)new_wxSimpleHelpProvider();
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    if (_result) {
+        SWIG_MakePtr(_ptemp, (char *) _result,"_wxSimpleHelpProvider_p");
+        _resultobj = Py_BuildValue("s",_ptemp);
+    } else {
+        Py_INCREF(Py_None);
+        _resultobj = Py_None;
+    }
+    return _resultobj;
+}
+
+static PyMethodDef helpcMethods[] = {
+        { "new_wxSimpleHelpProvider", (PyCFunction) _wrap_new_wxSimpleHelpProvider, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_Destroy", (PyCFunction) _wrap_wxHelpProvider_Destroy, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_AddHelpById", (PyCFunction) _wrap_wxHelpProvider_AddHelpById, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_AddHelp", (PyCFunction) _wrap_wxHelpProvider_AddHelp, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_ShowHelp", (PyCFunction) _wrap_wxHelpProvider_ShowHelp, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_GetHelp", (PyCFunction) _wrap_wxHelpProvider_GetHelp, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_Get", (PyCFunction) _wrap_wxHelpProvider_Get, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpProvider_Set", (PyCFunction) _wrap_wxHelpProvider_Set, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxContextHelpButton", (PyCFunction) _wrap_new_wxContextHelpButton, METH_VARARGS | METH_KEYWORDS },
+        { "wxContextHelp_EndContextHelp", (PyCFunction) _wrap_wxContextHelp_EndContextHelp, METH_VARARGS | METH_KEYWORDS },
+        { "wxContextHelp_BeginContextHelp", (PyCFunction) _wrap_wxContextHelp_BeginContextHelp, METH_VARARGS | METH_KEYWORDS },
+        { "delete_wxContextHelp", (PyCFunction) _wrap_delete_wxContextHelp, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxContextHelp", (PyCFunction) _wrap_new_wxContextHelp, METH_VARARGS | METH_KEYWORDS },
+        { "wxContextMenuEvent_SetPosition", (PyCFunction) _wrap_wxContextMenuEvent_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxContextMenuEvent_GetPosition", (PyCFunction) _wrap_wxContextMenuEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxContextMenuEvent", (PyCFunction) _wrap_new_wxContextMenuEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpEvent_SetTarget", (PyCFunction) _wrap_wxHelpEvent_SetTarget, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpEvent_GetTarget", (PyCFunction) _wrap_wxHelpEvent_GetTarget, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpEvent_SetLink", (PyCFunction) _wrap_wxHelpEvent_SetLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpEvent_GetLink", (PyCFunction) _wrap_wxHelpEvent_GetLink, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpEvent_SetPosition", (PyCFunction) _wrap_wxHelpEvent_SetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "wxHelpEvent_GetPosition", (PyCFunction) _wrap_wxHelpEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
+        { "new_wxHelpEvent", (PyCFunction) _wrap_new_wxHelpEvent, METH_VARARGS | METH_KEYWORDS },
+        { NULL, NULL }
+};
+#ifdef __cplusplus
+}
+#endif
+/*
+ * This table is used by the pointer type-checker
+ */
+static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
+    { "_wxEvent","_wxContextMenuEvent",SwigwxContextMenuEventTowxEvent},
+    { "_wxEvent","_wxHelpEvent",SwigwxHelpEventTowxEvent},
+    { "_signed_long","_long",0},
+    { "_wxPrintQuality","_wxCoord",0},
+    { "_wxPrintQuality","_int",0},
+    { "_wxPrintQuality","_signed_int",0},
+    { "_wxPrintQuality","_unsigned_int",0},
+    { "_wxPrintQuality","_wxWindowID",0},
+    { "_wxPrintQuality","_uint",0},
+    { "_wxPrintQuality","_EBool",0},
+    { "_wxPrintQuality","_size_t",0},
+    { "_wxPrintQuality","_time_t",0},
+    { "_byte","_unsigned_char",0},
+    { "_long","_unsigned_long",0},
+    { "_long","_signed_long",0},
+    { "_wxBitmapButton","_wxContextHelpButton",SwigwxContextHelpButtonTowxBitmapButton},
+    { "_size_t","_wxCoord",0},
+    { "_size_t","_wxPrintQuality",0},
+    { "_size_t","_time_t",0},
+    { "_size_t","_unsigned_int",0},
+    { "_size_t","_int",0},
+    { "_size_t","_wxWindowID",0},
+    { "_size_t","_uint",0},
+    { "_uint","_wxCoord",0},
+    { "_uint","_wxPrintQuality",0},
+    { "_uint","_time_t",0},
+    { "_uint","_size_t",0},
+    { "_uint","_unsigned_int",0},
+    { "_uint","_int",0},
+    { "_uint","_wxWindowID",0},
+    { "_wxChar","_char",0},
+    { "_wxCommandEvent","_wxContextMenuEvent",SwigwxContextMenuEventTowxCommandEvent},
+    { "_wxCommandEvent","_wxHelpEvent",SwigwxHelpEventTowxCommandEvent},
+    { "_char","_wxChar",0},
+    { "_wxHelpProvider","_wxSimpleHelpProvider",SwigwxSimpleHelpProviderTowxHelpProvider},
+    { "_EBool","_wxCoord",0},
+    { "_EBool","_wxPrintQuality",0},
+    { "_EBool","_signed_int",0},
+    { "_EBool","_int",0},
+    { "_EBool","_wxWindowID",0},
+    { "_unsigned_long","_long",0},
+    { "_signed_int","_wxCoord",0},
+    { "_signed_int","_wxPrintQuality",0},
+    { "_signed_int","_EBool",0},
+    { "_signed_int","_wxWindowID",0},
+    { "_signed_int","_int",0},
+    { "_WXTYPE","_short",0},
+    { "_WXTYPE","_signed_short",0},
+    { "_WXTYPE","_unsigned_short",0},
+    { "_unsigned_short","_WXTYPE",0},
+    { "_unsigned_short","_short",0},
+    { "_wxObject","_wxContextHelpButton",SwigwxContextHelpButtonTowxObject},
+    { "_wxObject","_wxContextHelp",SwigwxContextHelpTowxObject},
+    { "_wxObject","_wxContextMenuEvent",SwigwxContextMenuEventTowxObject},
+    { "_wxObject","_wxHelpEvent",SwigwxHelpEventTowxObject},
+    { "_signed_short","_WXTYPE",0},
+    { "_signed_short","_short",0},
+    { "_unsigned_char","_byte",0},
+    { "_wxControl","_wxContextHelpButton",SwigwxContextHelpButtonTowxControl},
+    { "_unsigned_int","_wxCoord",0},
+    { "_unsigned_int","_wxPrintQuality",0},
+    { "_unsigned_int","_time_t",0},
+    { "_unsigned_int","_size_t",0},
+    { "_unsigned_int","_uint",0},
+    { "_unsigned_int","_wxWindowID",0},
+    { "_unsigned_int","_int",0},
+    { "_short","_WXTYPE",0},
+    { "_short","_unsigned_short",0},
+    { "_short","_signed_short",0},
+    { "_wxWindowID","_wxCoord",0},
+    { "_wxWindowID","_wxPrintQuality",0},
+    { "_wxWindowID","_time_t",0},
+    { "_wxWindowID","_size_t",0},
+    { "_wxWindowID","_EBool",0},
+    { "_wxWindowID","_uint",0},
+    { "_wxWindowID","_int",0},
+    { "_wxWindowID","_signed_int",0},
+    { "_wxWindowID","_unsigned_int",0},
+    { "_int","_wxCoord",0},
+    { "_int","_wxPrintQuality",0},
+    { "_int","_time_t",0},
+    { "_int","_size_t",0},
+    { "_int","_EBool",0},
+    { "_int","_uint",0},
+    { "_int","_wxWindowID",0},
+    { "_int","_unsigned_int",0},
+    { "_int","_signed_int",0},
+    { "_time_t","_wxCoord",0},
+    { "_time_t","_wxPrintQuality",0},
+    { "_time_t","_unsigned_int",0},
+    { "_time_t","_int",0},
+    { "_time_t","_wxWindowID",0},
+    { "_time_t","_uint",0},
+    { "_time_t","_size_t",0},
+    { "_wxButton","_wxContextHelpButton",SwigwxContextHelpButtonTowxButton},
+    { "_wxCoord","_int",0},
+    { "_wxCoord","_signed_int",0},
+    { "_wxCoord","_unsigned_int",0},
+    { "_wxCoord","_wxWindowID",0},
+    { "_wxCoord","_uint",0},
+    { "_wxCoord","_EBool",0},
+    { "_wxCoord","_size_t",0},
+    { "_wxCoord","_time_t",0},
+    { "_wxCoord","_wxPrintQuality",0},
+    { "_wxEvtHandler","_wxContextHelpButton",SwigwxContextHelpButtonTowxEvtHandler},
+    { "_wxWindow","_wxContextHelpButton",SwigwxContextHelpButtonTowxWindow},
+{0,0,0}};
+
+static PyObject *SWIG_globals;
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT(void) inithelpc() {
+        PyObject *m, *d;
+        SWIG_globals = SWIG_newvarlink();
+        m = Py_InitModule("helpc", helpcMethods);
+        d = PyModule_GetDict(m);
+        PyDict_SetItemString(d,"wxFRAME_EX_CONTEXTHELP", PyInt_FromLong((long) wxFRAME_EX_CONTEXTHELP));
+        PyDict_SetItemString(d,"wxDIALOG_EX_CONTEXTHELP", PyInt_FromLong((long) wxDIALOG_EX_CONTEXTHELP));
+        PyDict_SetItemString(d,"wxID_CONTEXT_HELP", PyInt_FromLong((long) wxID_CONTEXT_HELP));
+        PyDict_SetItemString(d,"wxEVT_HELP", PyInt_FromLong((long) wxEVT_HELP));
+        PyDict_SetItemString(d,"wxEVT_DETAILED_HELP", PyInt_FromLong((long) wxEVT_DETAILED_HELP));
+        PyDict_SetItemString(d,"wxEVT_CONTEXT_MENU", PyInt_FromLong((long) wxEVT_CONTEXT_MENU));
+{
+   int i;
+   for (i = 0; _swig_mapping[i].n1; i++)
+        SWIG_RegisterMapping(_swig_mapping[i].n1,_swig_mapping[i].n2,_swig_mapping[i].pcnv);
+}
+}
diff --git a/wxPython/src/msw/help.py b/wxPython/src/msw/help.py
new file mode 100644 (file)
index 0000000..7f7f764
--- /dev/null
@@ -0,0 +1,196 @@
+# This file was created automatically by SWIG.
+import helpc
+
+from windows import *
+
+from misc import *
+
+from gdi import *
+
+from clip_dnd import *
+
+from controls import *
+
+from events import *
+
+# Help events
+def EVT_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_HELP, func)
+
+def EVT_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_HELP, func)
+
+def EVT_DETAILED_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_DETAILED_HELP, func)
+
+def EVT_DETAILED_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_DETAILED_HELP, func)
+
+def EVT_CONTEXT_MENU(win, func):
+    win.Connect(-1, -1, wxEVT_CONTEXT_MENU, func)
+
+class wxHelpEventPtr(wxCommandEventPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetPosition(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpEvent_GetPosition,(self,) + _args, _kwargs)
+        if val: val = wxPointPtr(val) 
+        return val
+    def SetPosition(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpEvent_SetPosition,(self,) + _args, _kwargs)
+        return val
+    def GetLink(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpEvent_GetLink,(self,) + _args, _kwargs)
+        return val
+    def SetLink(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpEvent_SetLink,(self,) + _args, _kwargs)
+        return val
+    def GetTarget(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpEvent_GetTarget,(self,) + _args, _kwargs)
+        return val
+    def SetTarget(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpEvent_SetTarget,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHelpEvent instance at %s>" % (self.this,)
+class wxHelpEvent(wxHelpEventPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(helpc.new_wxHelpEvent,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxContextMenuEventPtr(wxCommandEventPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetPosition(self, *_args, **_kwargs):
+        val = apply(helpc.wxContextMenuEvent_GetPosition,(self,) + _args, _kwargs)
+        if val: val = wxPointPtr(val) 
+        return val
+    def SetPosition(self, *_args, **_kwargs):
+        val = apply(helpc.wxContextMenuEvent_SetPosition,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxContextMenuEvent instance at %s>" % (self.this,)
+class wxContextMenuEvent(wxContextMenuEventPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(helpc.new_wxContextMenuEvent,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxContextHelpPtr(wxObjectPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __del__(self,helpc=helpc):
+        if self.thisown == 1 :
+            helpc.delete_wxContextHelp(self)
+    def BeginContextHelp(self, *_args, **_kwargs):
+        val = apply(helpc.wxContextHelp_BeginContextHelp,(self,) + _args, _kwargs)
+        return val
+    def EndContextHelp(self, *_args, **_kwargs):
+        val = apply(helpc.wxContextHelp_EndContextHelp,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxContextHelp instance at %s>" % (self.this,)
+class wxContextHelp(wxContextHelpPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(helpc.new_wxContextHelp,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxContextHelpButtonPtr(wxBitmapButtonPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __repr__(self):
+        return "<C wxContextHelpButton instance at %s>" % (self.this,)
+class wxContextHelpButton(wxContextHelpButtonPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(helpc.new_wxContextHelpButton,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+class wxHelpProviderPtr :
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def GetHelp(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpProvider_GetHelp,(self,) + _args, _kwargs)
+        return val
+    def ShowHelp(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpProvider_ShowHelp,(self,) + _args, _kwargs)
+        return val
+    def AddHelp(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpProvider_AddHelp,(self,) + _args, _kwargs)
+        return val
+    def AddHelpById(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpProvider_AddHelpById,(self,) + _args, _kwargs)
+        return val
+    def Destroy(self, *_args, **_kwargs):
+        val = apply(helpc.wxHelpProvider_Destroy,(self,) + _args, _kwargs)
+        return val
+    def __repr__(self):
+        return "<C wxHelpProvider instance at %s>" % (self.this,)
+class wxHelpProvider(wxHelpProviderPtr):
+    def __init__(self,this):
+        self.this = this
+
+
+
+
+class wxSimpleHelpProviderPtr(wxHelpProviderPtr):
+    def __init__(self,this):
+        self.this = this
+        self.thisown = 0
+    def __repr__(self):
+        return "<C wxSimpleHelpProvider instance at %s>" % (self.this,)
+class wxSimpleHelpProvider(wxSimpleHelpProviderPtr):
+    def __init__(self,*_args,**_kwargs):
+        self.this = apply(helpc.new_wxSimpleHelpProvider,_args,_kwargs)
+        self.thisown = 1
+
+
+
+
+
+
+#-------------- FUNCTION WRAPPERS ------------------
+
+def wxHelpProvider_Set(*_args, **_kwargs):
+    val = apply(helpc.wxHelpProvider_Set,_args,_kwargs)
+    if val: val = wxHelpProviderPtr(val)
+    return val
+
+def wxHelpProvider_Get(*_args, **_kwargs):
+    val = apply(helpc.wxHelpProvider_Get,_args,_kwargs)
+    if val: val = wxHelpProviderPtr(val)
+    return val
+
+
+
+#-------------- VARIABLE WRAPPERS ------------------
+
+wxFRAME_EX_CONTEXTHELP = helpc.wxFRAME_EX_CONTEXTHELP
+wxDIALOG_EX_CONTEXTHELP = helpc.wxDIALOG_EX_CONTEXTHELP
+wxID_CONTEXT_HELP = helpc.wxID_CONTEXT_HELP
+wxEVT_HELP = helpc.wxEVT_HELP
+wxEVT_DETAILED_HELP = helpc.wxEVT_DETAILED_HELP
+wxEVT_CONTEXT_MENU = helpc.wxEVT_CONTEXT_MENU
+
+
+#-------------- USER INCLUDE -----------------------
+
+# Stuff these names into the wx namespace so wxPyConstructObject can find them
+import wx
+wx.wxHelpEventPtr         = wxHelpEventPtr
+wx.wxContextMenuEventPtr  = wxContextMenuEventPtr
index cfa2280b145a643dc3f64be89666ce03d511c583..879fd55b6dd9622c0f683399480b70103cc34019 100644 (file)
@@ -5326,6 +5326,91 @@ static PyObject *_wrap_wxWindow_Thaw(PyObject *self, PyObject *args, PyObject *k
     return _resultobj;
 }
 
+#define wxWindow_GetHelpText(_swigobj)  (_swigobj->GetHelpText())
+static PyObject *_wrap_wxWindow_GetHelpText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxString * _result;
+    wxWindow * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxWindow_GetHelpText",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_GetHelpText. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        _result = new wxString (wxWindow_GetHelpText(_arg0));
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}{
+    _resultobj = PyString_FromStringAndSize(_result->c_str(), _result->Len());
+}
+{
+    delete _result;
+}
+    return _resultobj;
+}
+
+#define wxWindow_SetHelpText(_swigobj,_swigarg0)  (_swigobj->SetHelpText(_swigarg0))
+static PyObject *_wrap_wxWindow_SetHelpText(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxWindow * _arg0;
+    wxString * _arg1;
+    PyObject * _argo0 = 0;
+    PyObject * _obj1 = 0;
+    char *_kwnames[] = { "self","helpText", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxWindow_SetHelpText",_kwnames,&_argo0,&_obj1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxWindow_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxWindow_SetHelpText. Expected _wxWindow_p.");
+        return NULL;
+        }
+    }
+{
+#if PYTHON_API_VERSION >= 1009
+    char* tmpPtr; int tmpSize;
+    if (!PyString_Check(_obj1) && !PyUnicode_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    if (PyString_AsStringAndSize(_obj1, &tmpPtr, &tmpSize) == -1)
+        return NULL;
+    _arg1 = new wxString(tmpPtr, tmpSize);
+#else
+    if (!PyString_Check(_obj1)) {
+        PyErr_SetString(PyExc_TypeError, wxStringErrorMsg);
+        return NULL;
+    }
+    _arg1 = new wxString(PyString_AS_STRING(_obj1), PyString_GET_SIZE(_obj1));
+#endif
+}
+{
+    wxPy_BEGIN_ALLOW_THREADS;
+        wxWindow_SetHelpText(_arg0,*_arg1);
+
+    wxPy_END_ALLOW_THREADS;
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+{
+    if (_obj1)
+        delete _arg1;
+}
+    return _resultobj;
+}
+
 static void *SwigwxPanelTowxWindow(void *ptr) {
     wxPanel *src;
     wxWindow *dest;
@@ -10526,6 +10611,8 @@ static PyMethodDef windowscMethods[] = {
         { "wxPanel_GetDefaultItem", (PyCFunction) _wrap_wxPanel_GetDefaultItem, METH_VARARGS | METH_KEYWORDS },
         { "wxPanel_InitDialog", (PyCFunction) _wrap_wxPanel_InitDialog, METH_VARARGS | METH_KEYWORDS },
         { "new_wxPanel", (PyCFunction) _wrap_new_wxPanel, METH_VARARGS | METH_KEYWORDS },
+        { "wxWindow_SetHelpText", (PyCFunction) _wrap_wxWindow_SetHelpText, METH_VARARGS | METH_KEYWORDS },
+        { "wxWindow_GetHelpText", (PyCFunction) _wrap_wxWindow_GetHelpText, METH_VARARGS | METH_KEYWORDS },
         { "wxWindow_Thaw", (PyCFunction) _wrap_wxWindow_Thaw, METH_VARARGS | METH_KEYWORDS },
         { "wxWindow_Freeze", (PyCFunction) _wrap_wxWindow_Freeze, METH_VARARGS | METH_KEYWORDS },
         { "wxWindow_GetCaret", (PyCFunction) _wrap_wxWindow_GetCaret, METH_VARARGS | METH_KEYWORDS },
index ca42379c8f08a84d973b6117e2e56e5a8b384413..62b262461d9e5596a8db2350076bb3cefa7ff2ef 100644 (file)
@@ -514,6 +514,12 @@ class wxWindowPtr(wxEvtHandlerPtr):
     def Thaw(self, *_args, **_kwargs):
         val = apply(windowsc.wxWindow_Thaw,(self,) + _args, _kwargs)
         return val
+    def GetHelpText(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_GetHelpText,(self,) + _args, _kwargs)
+        return val
+    def SetHelpText(self, *_args, **_kwargs):
+        val = apply(windowsc.wxWindow_SetHelpText,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxWindow instance at %s>" % (self.this,)
     # replaces broken shadow method
index 1e1cf721ea592248ca2250216590e10c5371b1bd..143020886faebe2d7fe3a684d6f624696518b615 100644 (file)
@@ -1938,7 +1938,6 @@ SWIGEXPORT(void) initwxc() {
         PyDict_SetItemString(d,"wxFRAME_FLOAT_ON_PARENT", PyInt_FromLong((long) wxFRAME_FLOAT_ON_PARENT));
         PyDict_SetItemString(d,"wxFRAME_NO_WINDOW_MENU", PyInt_FromLong((long) wxFRAME_NO_WINDOW_MENU));
         PyDict_SetItemString(d,"wxFRAME_NO_TASKBAR", PyInt_FromLong((long) wxFRAME_NO_TASKBAR));
-        PyDict_SetItemString(d,"wxFRAME_EX_CONTEXTHELP", PyInt_FromLong((long) wxFRAME_EX_CONTEXTHELP));
         PyDict_SetItemString(d,"wxED_CLIENT_MARGIN", PyInt_FromLong((long) wxED_CLIENT_MARGIN));
         PyDict_SetItemString(d,"wxED_BUTTONS_BOTTOM", PyInt_FromLong((long) wxED_BUTTONS_BOTTOM));
         PyDict_SetItemString(d,"wxED_BUTTONS_RIGHT", PyInt_FromLong((long) wxED_BUTTONS_RIGHT));
@@ -2522,7 +2521,6 @@ SWIGEXPORT(void) initwxc() {
         PyDict_SetItemString(d,"wxEVT_MENU_INIT", PyInt_FromLong((long) wxEVT_MENU_INIT));
         PyDict_SetItemString(d,"wxEVT_MENU_HIGHLIGHT", PyInt_FromLong((long) wxEVT_MENU_HIGHLIGHT));
         PyDict_SetItemString(d,"wxEVT_POPUP_MENU_INIT", PyInt_FromLong((long) wxEVT_POPUP_MENU_INIT));
-        PyDict_SetItemString(d,"wxEVT_CONTEXT_MENU", PyInt_FromLong((long) wxEVT_CONTEXT_MENU));
         PyDict_SetItemString(d,"wxEVT_SYS_COLOUR_CHANGED", PyInt_FromLong((long) wxEVT_SYS_COLOUR_CHANGED));
         PyDict_SetItemString(d,"wxEVT_SETTING_CHANGED", PyInt_FromLong((long) wxEVT_SETTING_CHANGED));
         PyDict_SetItemString(d,"wxEVT_QUERY_NEW_PALETTE", PyInt_FromLong((long) wxEVT_QUERY_NEW_PALETTE));
@@ -2536,8 +2534,6 @@ SWIGEXPORT(void) initwxc() {
         PyDict_SetItemString(d,"wxEVT_MEASURE_ITEM", PyInt_FromLong((long) wxEVT_MEASURE_ITEM));
         PyDict_SetItemString(d,"wxEVT_COMPARE_ITEM", PyInt_FromLong((long) wxEVT_COMPARE_ITEM));
         PyDict_SetItemString(d,"wxEVT_INIT_DIALOG", PyInt_FromLong((long) wxEVT_INIT_DIALOG));
-        PyDict_SetItemString(d,"wxEVT_HELP", PyInt_FromLong((long) wxEVT_HELP));
-        PyDict_SetItemString(d,"wxEVT_DETAILED_HELP", PyInt_FromLong((long) wxEVT_DETAILED_HELP));
         PyDict_SetItemString(d,"wxEVT_IDLE", PyInt_FromLong((long) wxEVT_IDLE));
         PyDict_SetItemString(d,"wxEVT_UPDATE_UI", PyInt_FromLong((long) wxEVT_UPDATE_UI));
         PyDict_SetItemString(d,"wxEVT_COMMAND_LEFT_CLICK", PyInt_FromLong((long) wxEVT_COMMAND_LEFT_CLICK));
index 4754ce37a9fff2947297f5e33185b2d0f7508d25..6161bcc35eaa5f06b4f1997fc2730043bb55d2a2 100644 (file)
@@ -206,7 +206,6 @@ wxFRAME_TOOL_WINDOW = wxc.wxFRAME_TOOL_WINDOW
 wxFRAME_FLOAT_ON_PARENT = wxc.wxFRAME_FLOAT_ON_PARENT
 wxFRAME_NO_WINDOW_MENU = wxc.wxFRAME_NO_WINDOW_MENU
 wxFRAME_NO_TASKBAR = wxc.wxFRAME_NO_TASKBAR
-wxFRAME_EX_CONTEXTHELP = wxc.wxFRAME_EX_CONTEXTHELP
 wxED_CLIENT_MARGIN = wxc.wxED_CLIENT_MARGIN
 wxED_BUTTONS_BOTTOM = wxc.wxED_BUTTONS_BOTTOM
 wxED_BUTTONS_RIGHT = wxc.wxED_BUTTONS_RIGHT
@@ -790,7 +789,6 @@ wxEVT_MENU_CHAR = wxc.wxEVT_MENU_CHAR
 wxEVT_MENU_INIT = wxc.wxEVT_MENU_INIT
 wxEVT_MENU_HIGHLIGHT = wxc.wxEVT_MENU_HIGHLIGHT
 wxEVT_POPUP_MENU_INIT = wxc.wxEVT_POPUP_MENU_INIT
-wxEVT_CONTEXT_MENU = wxc.wxEVT_CONTEXT_MENU
 wxEVT_SYS_COLOUR_CHANGED = wxc.wxEVT_SYS_COLOUR_CHANGED
 wxEVT_SETTING_CHANGED = wxc.wxEVT_SETTING_CHANGED
 wxEVT_QUERY_NEW_PALETTE = wxc.wxEVT_QUERY_NEW_PALETTE
@@ -804,8 +802,6 @@ wxEVT_DRAW_ITEM = wxc.wxEVT_DRAW_ITEM
 wxEVT_MEASURE_ITEM = wxc.wxEVT_MEASURE_ITEM
 wxEVT_COMPARE_ITEM = wxc.wxEVT_COMPARE_ITEM
 wxEVT_INIT_DIALOG = wxc.wxEVT_INIT_DIALOG
-wxEVT_HELP = wxc.wxEVT_HELP
-wxEVT_DETAILED_HELP = wxc.wxEVT_DETAILED_HELP
 wxEVT_IDLE = wxc.wxEVT_IDLE
 wxEVT_UPDATE_UI = wxc.wxEVT_UPDATE_UI
 wxEVT_COMMAND_LEFT_CLICK = wxc.wxEVT_COMMAND_LEFT_CLICK
@@ -1470,6 +1466,24 @@ def EVT_TOGGLEBUTTON(win, id, func):
     win.Connect(id, -1, wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, func)
 
 
+
+# Help events
+def EVT_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_HELP, func)
+
+def EVT_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_HELP, func)
+
+def EVT_DETAILED_HELP(win, id, func):
+    win.Connect(id, -1, wxEVT_DETAILED_HELP, func)
+
+def EVT_DETAILED_HELP_RANGE(win, id, id2, func):
+    win.Connect(id, id2, wxEVT_DETAILED_HELP, func)
+
+def EVT_CONTEXT_MENU(win, func):
+    win.Connect(-1, -1, wxEVT_CONTEXT_MENU, func)
+
+
 #----------------------------------------------------------------------
 
 class wxTimer(wxPyTimer):
index 94a77bef2ea40e383c98a2ce40c81305dec15ce0..aaa636182dfc7b1f0ac360c9b095db0c500d03e6 100644 (file)
@@ -386,6 +386,9 @@ public:
     void Freeze();
     void Thaw();
 
+    wxString GetHelpText();
+    void SetHelpText(const wxString& helpText);
+
 
 //      // Properties list
 //      %pragma(python) addtoclass = "