Added context help stuff to wxPython

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2001-07-29 03:06:02 +00:00
parent d32cad2cce
commit 4f3449b432
19 changed files with 1992 additions and 15 deletions

View 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

View File

@@ -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.
"""
#----------------------------------------------------------------------

View 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',

View File

@@ -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
#----------------------------------------------------------------------

View 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,

View 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):

View File

@@ -0,0 +1,4 @@
# Stuff these names into the wx namespace so wxPyConstructObject can find them
import wx
wx.wxHelpEventPtr = wxHelpEventPtr
wx.wxContextMenuEventPtr = wxContextMenuEventPtr

View 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);
};
//---------------------------------------------------------------------------

166
wxPython/src/help.i Normal file
View File

@@ -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";
//---------------------------------------------------------------------------

View File

@@ -877,6 +877,8 @@ public:
}
%}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

View 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}};

View 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 ------------------

1245
wxPython/src/msw/help.cpp Normal file

File diff suppressed because it is too large Load Diff

196
wxPython/src/msw/help.py Normal file
View File

@@ -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

View 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 },

View 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

View 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));

View 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):

View File

@@ -386,6 +386,9 @@ public:
void Freeze();
void Thaw();
wxString GetHelpText();
void SetHelpText(const wxString& helpText);
// // Properties list
// %pragma(python) addtoclass = "