Added wxLog and friends to wxPython

Various odds and ends


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2000-06-24 00:28:54 +00:00
parent 46f2e76b49
commit 1ac341e016
24 changed files with 1828 additions and 126 deletions

View File

@@ -2,6 +2,15 @@ CHANGES.txt for wxPython
----------------------------------------------------------------------
New in 2.2.0
------------
Added wxLog and friends.
New in 2.1.16
-------------

View File

@@ -29,9 +29,8 @@ if wxPlatform == '__WXMSW__':
#----------------------------------------------------------------------
class TestPanel(wxPanel):
def __init__(self, parent, log):
def __init__(self, parent):
wxPanel.__init__(self, parent, -1)
self.log = log
self.pdf = None
sizer = wxBoxSizer(wxVERTICAL)
@@ -95,7 +94,7 @@ class TestPanel(wxPanel):
def runTest(frame, nb, log):
if wxPlatform == '__WXMSW__':
win = TestPanel(nb, log)
win = TestPanel(nb)
return win
else:
dlg = wxMessageDialog(frame, 'This demo only works on MSW.',

View File

@@ -27,6 +27,7 @@ class NewEnterHandlingGrid(wxGrid):
evt.Skip()
return
self.DisableCellEditControl()
success = self.MoveCursorRight(evt.ShiftDown())
if not success:
newRow = self.GetGridCursorRow() + 1

View File

@@ -39,7 +39,7 @@ class MyCustomRenderer(wxPyGridCellRenderer):
def Clone(self):
return MyCustomRenderer
return MyCustomRenderer()
#---------------------------------------------------------------------------

View File

@@ -32,8 +32,7 @@ class MyParentFrame(wxMDIParentFrame):
def OnNewWindow(self, evt):
self.winCount = self.winCount + 1
win = wxMDIChildFrame(self, -1, "Child Window: %d" % self.winCount)
cs = win.GetClientSize()
canvas = MyCanvas(win, size=cs)
canvas = MyCanvas(win)
win.Show(true)

View File

@@ -18,8 +18,6 @@ from wxPython.html import wxHtmlWindow
#---------------------------------------------------------------------------
_useSplitter = true
_useNestedSplitter = true
_treeList = [
('New since last release', ['wxDragImage', 'wxCalendarCtrl', 'wxSpinCtrl',
@@ -84,22 +82,8 @@ class wxPythonDemo(wxFrame):
self.Centre(wxBOTH)
self.CreateStatusBar(1, wxST_SIZEGRIP)
if _useSplitter:
splitter = wxSplitterWindow(self, -1, style=wxNO_3D|wxSP_3D)
if _useNestedSplitter:
splitter2 = wxSplitterWindow(splitter, -1, style=wxNO_3D|wxSP_3D)
logParent = nbParent = splitter2
else:
nbParent = splitter
logParent = wxFrame(self, -1, "wxPython Demo: log window",
(0,0), (500, 150))
logParent.Show(true)
else:
nbParent = self
logParent = wxFrame(self, -1, "wxPython Demo: log window",
(0,0), (500, 150))
logParent.Show(true)
# Prevent TreeCtrl from displaying all items after destruction
@@ -140,7 +124,6 @@ class wxPythonDemo(wxFrame):
# Create a TreeCtrl
if _useSplitter:
tID = wxNewId()
self.treeMap = {}
self.tree = wxTreeCtrl(splitter, tID,
@@ -166,7 +149,7 @@ class wxPythonDemo(wxFrame):
EVT_LEFT_DOWN (self.tree, self.OnTreeLeftDown)
# Create a Notebook
self.nb = wxNotebook(nbParent, -1)
self.nb = wxNotebook(splitter2, -1)
# Set up a TextCtrl on the Overview Notebook page
self.ovr = wxHtmlWindow(self.nb, -1)
@@ -181,34 +164,27 @@ class wxPythonDemo(wxFrame):
# Set up a log on the View Log Notebook page
self.log = wxTextCtrl(logParent, -1,
self.log = wxTextCtrl(splitter2, -1,
style = wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL)
(w, self.charHeight) = self.log.GetTextExtent('X')
self.WriteText('wxPython Demo Log:\n')
# Set the wxWindows log target to be this textctrl
wxLog_SetActiveTarget(wxLogTextCtrl(self.log))
self.Show(true)
# add the windows to the splitter and split it.
if _useSplitter:
if _useNestedSplitter:
splitter2.SplitHorizontally(self.nb, self.log)
splitter2.SetSashPosition(450, true)
splitter2.SetMinimumPaneSize(20)
splitter.SplitVertically(self.tree, splitter2)
else:
splitter.SplitVertically(self.tree, self.nb)
splitter.SetSashPosition(180, true)
splitter.SetMinimumPaneSize(20)
# make our log window be stdout
#sys.stdout = self
# select initial items
self.nb.SetSelection(0)
if _useSplitter:
self.tree.SelectItem(root)
if len(sys.argv) == 2:
@@ -216,24 +192,20 @@ class wxPythonDemo(wxFrame):
selectedDemo = self.treeMap[sys.argv[1]]
except:
selectedDemo = None
if selectedDemo and _useSplitter:
if selectedDemo:
self.tree.SelectItem(selectedDemo)
self.tree.EnsureVisible(selectedDemo)
self.WriteText('window handle: %s\n' % self.GetHandle())
wxLogMessage('window handle: %s' % self.GetHandle())
#---------------------------------------------
def WriteText(self, text):
self.log.WriteText(text)
w, h = self.log.GetClientSizeTuple()
numLines = h/self.charHeight
x, y = self.log.PositionToXY(self.log.GetLastPosition())
if y > numLines:
self.log.ShowPosition(self.log.XYToPosition(x, y-numLines))
##self.log.ShowPosition(self.log.GetLastPosition())
self.log.SetInsertionPointEnd()
if text[-1:] == '\n':
text = text[:-1]
wxLogMessage(text)
def write(self, txt):
self.WriteText(txt)
@@ -241,12 +213,12 @@ class wxPythonDemo(wxFrame):
#---------------------------------------------
def OnItemExpanded(self, event):
item = event.GetItem()
self.log.WriteText("OnItemExpanded: %s\n" % self.tree.GetItemText(item))
wxLogMessage("OnItemExpanded: %s" % self.tree.GetItemText(item))
#---------------------------------------------
def OnItemCollapsed(self, event):
item = event.GetItem()
self.log.WriteText("OnItemCollapsed: %s\n" % self.tree.GetItemText(item))
wxLogMessage("OnItemCollapsed: %s" % self.tree.GetItemText(item))
#---------------------------------------------
@@ -285,6 +257,7 @@ class wxPythonDemo(wxFrame):
else:
if os.path.exists(itemText + '.py'):
wxBeginBusyCursor()
wxLogMessage("Running demo %s.py..." % itemText)
try:
self.GetDemoFile(itemText + '.py')
module = __import__(itemText, globals())
@@ -296,7 +269,7 @@ class wxPythonDemo(wxFrame):
self.nb.Refresh();
wxYield()
self.window = module.runTest(self, self.nb, self)
self.window = module.runTest(self, self.nb, self) ###
if self.window:
self.nb.AddPage(self.window, 'Demo')
wxYield()
@@ -313,14 +286,11 @@ class wxPythonDemo(wxFrame):
# Get the Demo files
def GetDemoFile(self, filename):
self.txt.Clear()
#if not self.txt.LoadFile(filename):
# self.txt.WriteText("Cannot open %s file." % filename)
try:
self.txt.SetValue(open(filename).read())
except IOError:
self.txt.WriteText("Cannot open %s file." % filename)
self.txt.SetInsertionPoint(0)
self.txt.ShowPosition(0)
@@ -328,7 +298,7 @@ class wxPythonDemo(wxFrame):
def SetOverview(self, name, text):
self.curOverview = text
lead = text[:6]
if lead != '<html>' and lead != '<HTML':
if lead != '<html>' and lead != '<HTML>':
text = string.join(string.split(text, '\n'), '<br>')
#text = '<font size="-1"><pre>' + text + '</pre></font>'
self.ovr.SetPage(text)
@@ -341,13 +311,6 @@ class wxPythonDemo(wxFrame):
def OnHelpAbout(self, event):
#about = wxMessageDialog(self,
# "wxPython is a Python extension module that\n"
# "encapsulates the wxWindows GUI classes.\n\n"
# "This demo shows off some of the capabilities\n"
# "of wxPython.\n\n"
# " Developed by Robin Dunn",
# "About wxPython", wxOK)
from About import MyAboutBox
about = MyAboutBox(self)
about.ShowModal()
@@ -370,7 +333,6 @@ class wxPythonDemo(wxFrame):
#---------------------------------------------
def OnDemoMenu(self, event):
if _useSplitter:
try:
selectedDemo = self.treeMap[self.mainmenu.GetLabel(event.GetId())]
except:
@@ -378,17 +340,13 @@ class wxPythonDemo(wxFrame):
if selectedDemo:
self.tree.SelectItem(selectedDemo)
self.tree.EnsureVisible(selectedDemo)
else:
self.RunDemo(self.mainmenu.GetLabel(event.GetId()))
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
class MyApp(wxApp):
def OnInit(self):
wxImage_AddHandler(wxJPEGHandler())
wxImage_AddHandler(wxPNGHandler())
wxImage_AddHandler(wxGIFHandler())
wxInitAllImageHandlers()
self.splash = SplashScreen(None, bitmapfile='bitmaps/splash.gif',
duration=4000, callback=self.AfterSplash)

View File

@@ -59,29 +59,42 @@ overview = """\
<html><body>
<h2>wxGrid</h2>
This demo shows various ways of using the <b><i>new and improved</i></b> wxGrid class.
Unfortunatly it has not been documented yet, and while it is somewhat backwards compatible,
if you try to go by the current wxGrid documentation you will probably just confuse yourself.
This demo shows various ways of using the <b><i>new and
improved</i></b> wxGrid class. Unfortunatly it has not been
documented yet, and while it is somewhat backwards compatible, if you
try to go by the current wxGrid documentation you will probably just
confuse yourself.
<p>
You can look at the sources for these samples to learn a lot about how the new classes work.
You can look at the sources for these samples to learn a lot about how
the new classes work.
<p><ol>
<li><a href="GridSimple.py">GridSimple.py</a> A simple grid that shows how to catch all the
various events.
<li><a href="GridSimple.py">GridSimple.py</a> A simple grid that shows
how to catch all the various events.
<p>
<li><a href="GridStdEdRend.py">GridStdEdRend.py</a> A grid that uses non-default Cell Editors
and Cell Renderers.
<li><a href="GridStdEdRend.py">GridStdEdRend.py</a> A grid that
uses non-default Cell Editors and Cell Renderers.
<p>
<li><a href="GridHugeTable.py">GridHugeTable.py</a> A grid that uses a non-default Grid Table.
This table is read-only and simply generates on the fly a unique string for each cell.
<li><a href="GridHugeTable.py">GridHugeTable.py</a> A grid that
uses a non-default Grid Table. This table is read-only and simply
generates on the fly a unique string for each cell.
<p>
<li><a href="GridCustTable.py">GridCustTable.py</a> This grid shows how to deal with tables
that have non-string data, and how Cell Editors and Cell Renderers are automatically chosen
based on the data type.
<li><a href="GridCustTable.py">GridCustTable.py</a> This grid
shows how to deal with tables that have non-string data, and how Cell
Editors and Cell Renderers are automatically chosen based on the data
type.
<p>
<li><a href="GridEnterHandler.py">GridEnterHandler.py</a>This one
changes how the ENTER key works, moving the current cell left to right
and wrapping around to the next row when needed.
</ol>
<p>
You can also look at the <a href="data/grid.i">SWIG interface file</a> used to generate
the grid module for a lot more clues as to how things work.
You can also look at the <a href="data/grid.i">SWIG interface
file</a> used to generate the grid module for a lot more clues as to
how things work.
"""

View File

@@ -53,8 +53,6 @@ class PythonSTC(wxStyledTextCtrl):
self.SetEdgeMode(wxSTC_EDGE_BACKGROUND)
self.SetEdgeColumn(78)
self.SetCaretForeground("red")
# Setup a margin to hold fold markers
#self.SetFoldFlags(16) ### WHAT IS THIS VALUE? WHAT ARE THE OTHER FLAGS? DOES IT MATTER?
self.SetMarginType(2, wxSTC_MARGIN_SYMBOL)

View File

@@ -0,0 +1,20 @@
This zip file contains versions of the wxWindows and wxPython binaries
that have been compiled with __WXDEBUG__ defined. This adds code to
wxWindows that is a bit more agressive about checking parameter
values, return values, and etc. When the debugging library senses
something is wrong it will popup a message dialog telling you so.
Unfortunately the message is specific to the C++ code but it might
give you a hint about what went wrong and how to fix it.
Another debugging feature is when the wxPython program exits, it will
print to stdout information about any wxWindows C++ objects that
havn't been properly cleaned up.
This archive contains a new wxWindows DLL named wx[version]d.dll that
should be copied to the windows system directory or some other
directory on the PATH.You will also find replacements for all of
wxPython's *.pyd files that are linked to use this DLL. Until I put
together a new installer, you'll need to copy things manually.
Robin

View File

@@ -3,11 +3,12 @@ rem Builds a zip containing debugging versions of wxWindows and wxPython
rem that could be unziped over a wxPython installation.
mkdir wxPython
copy %WXWIN%\lib\wx*_d.dll wxPython
copy %WXWIN%\utils\wxPython\*.pyd wxPython
mkdir wxPython-dbg
copy README.dbg.txt wxPython-dbg
copy %WXWIN%\lib\wx*d.dll wxPython-dbg
copy %WXWIN%\wxPython\wxPython\*.pyd wxPython-dbg
zip -r wxPython-dbg-%1.zip wxPython
zip -r wxPython-dbg-%1.zip wxPython-dbg
del /sx wxPython
del /sx wxPython-dbg

Binary file not shown.

View File

@@ -169,6 +169,9 @@ public:
bool ShiftDown();
long KeyCode();
long GetKeyCode();
bool HasModifiers();
long GetX();
long GetY();
wxPoint GetPosition();

View File

@@ -713,6 +713,7 @@ public:
int GetImageCount();
bool Remove(int index);
bool RemoveAll();
void GetSize(int index, int& OUTPUT, int& OUTPUT);
};

View File

@@ -451,6 +451,8 @@ class wxGridCellRenderer
{
public:
void SetParameters(const wxString& params);
void IncRef();
void DecRef();
virtual void Draw(wxGrid& grid,
wxGridCellAttr& attr,
@@ -600,6 +602,8 @@ public:
void SetControl(wxControl* control);
void SetParameters(const wxString& params);
void IncRef();
void DecRef();
virtual void Create(wxWindow* parent,
wxWindowID id,
@@ -612,6 +616,7 @@ public:
virtual void SetSize(const wxRect& rect);
virtual void Show(bool show, wxGridCellAttr *attr = NULL);
virtual void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr);
virtual bool IsAcceptedKey(wxKeyEvent& event);
virtual void StartingKey(wxKeyEvent& event);
virtual void StartingClick();
virtual void HandleReturn(wxKeyEvent& event);
@@ -715,6 +720,7 @@ public:
DEC_PYCALLBACK___pure(Reset);
DEC_PYCALLBACK__constany(SetSize, wxRect);
DEC_PYCALLBACK_bool_any(IsAcceptedKey, wxKeyEvent);
DEC_PYCALLBACK__any(StartingKey, wxKeyEvent);
DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent);
DEC_PYCALLBACK__(StartingClick);
@@ -728,6 +734,7 @@ public:
IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters);
IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset);
IMP_PYCALLBACK__constany(wxPyGridCellEditor, wxGridCellEditor, SetSize, wxRect);
IMP_PYCALLBACK_bool_any(wxPyGridCellEditor, wxGridCellEditor, IsAcceptedKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, StartingKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent);
IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, StartingClick);

View File

@@ -1016,6 +1016,29 @@ public:
//---------------------------------------------------------------------------
#define DEC_PYCALLBACK_bool_any(CBNAME, Type) \
bool CBNAME(Type& a); \
bool base_##CBNAME(Type& a);
#define IMP_PYCALLBACK_bool_any(CLASS, PCLASS, CBNAME, Type) \
bool CLASS::CBNAME(Type& a) { \
bool rv; \
bool doSave = wxPyRestoreThread(); \
if (m_myInst.findCallback(#CBNAME)) \
rv = m_myInst.callCallback(Py_BuildValue("(O)", \
wxPyConstructObject(&a, #Type))); \
else \
rv = PCLASS::CBNAME(a); \
wxPySaveThread(doSave); \
return rv; \
} \
bool CLASS::base_##CBNAME(Type& a) { \
return PCLASS::CBNAME(a); \
}
//---------------------------------------------------------------------------
#endif

View File

@@ -490,3 +490,113 @@ public:
//----------------------------------------------------------------------
//----------------------------------------------------------------------
enum
{
wxLOG_FatalError, // program can't continue, abort immediately
wxLOG_Error, // a serious error, user must be informed about it
wxLOG_Warning, // user is normally informed about it but may be ignored
wxLOG_Message, // normal message (i.e. normal output of a non GUI app)
wxLOG_Info, // informational message (a.k.a. 'Verbose')
wxLOG_Status, // informational: might go to the status line of GUI app
wxLOG_Debug, // never shown to the user, disabled in release mode
wxLOG_Trace, // trace messages are also only enabled in debug mode
wxLOG_Progress, // used for progress indicator (not yet)
wxLOG_User = 100 // user defined levels start here
};
class wxLog
{
public:
wxLog();
static bool IsEnabled();
static bool EnableLogging(bool doIt = TRUE);
static void OnLog(wxLogLevel level, const char *szString, int t=0);
virtual void Flush();
bool HasPendingMessages() const;
static void FlushActive();
static wxLog *GetActiveTarget();
static wxLog *SetActiveTarget(wxLog *pLogger);
static void Suspend();
static void Resume();
void SetVerbose(bool bVerbose = TRUE);
static void DontCreateOnDemand();
static void SetTraceMask(wxTraceMask ulMask);
static void AddTraceMask(const wxString& str);
static void RemoveTraceMask(const wxString& str);
bool GetVerbose() const { return m_bVerbose; }
static wxTraceMask GetTraceMask();
static bool IsAllowedTraceMask(const char *mask);
};
class wxLogStderr : public wxLog
{
public:
wxLogStderr(/* TODO: FILE *fp = (FILE *) NULL*/);
};
class wxLogTextCtrl : public wxLog
{
public:
wxLogTextCtrl(wxTextCtrl *pTextCtrl);
};
class wxLogGui : public wxLog
{
public:
wxLogGui();
};
class wxLogWindow : public wxLog
{
public:
wxLogWindow(wxFrame *pParent, // the parent frame (can be NULL)
const char *szTitle, // the title of the frame
bool bShow = TRUE, // show window immediately?
bool bPassToOld = TRUE); // pass log messages to the old target?
void Show(bool bShow = TRUE);
wxFrame *GetFrame() const;
wxLog *GetOldLog() const;
bool IsPassingMessages() const;
void PassMessages(bool bDoPass) { m_bPassMessages = bDoPass; }
};
class wxLogNull
{
public:
wxLogNull();
~wxLogNull();
};
unsigned long wxSysErrorCode();
const char* wxSysErrorMsg(unsigned long nErrCode = 0);
void wxLogFatalError(const char *szFormat);
void wxLogError(const char *szFormat);
void wxLogWarning(const char *szFormat);
void wxLogMessage(const char *szFormat);
void wxLogInfo(const char *szFormat);
void wxLogVerbose(const char *szFormat);
void wxLogStatus(const char *szFormat);
%name(wxLogStatusFrame)void wxLogStatus(wxFrame *pFrame, const char *szFormat);
void wxLogSysError(const char *szFormat);
//----------------------------------------------------------------------
//----------------------------------------------------------------------

View File

@@ -2345,6 +2345,60 @@ static PyObject *_wrap_wxKeyEvent_KeyCode(PyObject *self, PyObject *args, PyObje
return _resultobj;
}
#define wxKeyEvent_GetKeyCode(_swigobj) (_swigobj->GetKeyCode())
static PyObject *_wrap_wxKeyEvent_GetKeyCode(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
long _result;
wxKeyEvent * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_GetKeyCode",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_GetKeyCode. Expected _wxKeyEvent_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
_result = (long )wxKeyEvent_GetKeyCode(_arg0);
wxPy_END_ALLOW_THREADS;
} _resultobj = Py_BuildValue("l",_result);
return _resultobj;
}
#define wxKeyEvent_HasModifiers(_swigobj) (_swigobj->HasModifiers())
static PyObject *_wrap_wxKeyEvent_HasModifiers(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _result;
wxKeyEvent * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxKeyEvent_HasModifiers",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxKeyEvent_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxKeyEvent_HasModifiers. Expected _wxKeyEvent_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
_result = (bool )wxKeyEvent_HasModifiers(_arg0);
wxPy_END_ALLOW_THREADS;
} _resultobj = Py_BuildValue("i",_result);
return _resultobj;
}
#define wxKeyEvent_GetX(_swigobj) (_swigobj->GetX())
static PyObject *_wrap_wxKeyEvent_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
@@ -5105,6 +5159,8 @@ static PyMethodDef eventscMethods[] = {
{ "wxKeyEvent_GetPosition", (PyCFunction) _wrap_wxKeyEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_GetY", (PyCFunction) _wrap_wxKeyEvent_GetY, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_GetX", (PyCFunction) _wrap_wxKeyEvent_GetX, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_HasModifiers", (PyCFunction) _wrap_wxKeyEvent_HasModifiers, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_GetKeyCode", (PyCFunction) _wrap_wxKeyEvent_GetKeyCode, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_KeyCode", (PyCFunction) _wrap_wxKeyEvent_KeyCode, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_ShiftDown", (PyCFunction) _wrap_wxKeyEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_AltDown", (PyCFunction) _wrap_wxKeyEvent_AltDown, METH_VARARGS | METH_KEYWORDS },

View File

@@ -324,6 +324,12 @@ class wxKeyEventPtr(wxEventPtr):
def KeyCode(self, *_args, **_kwargs):
val = apply(eventsc.wxKeyEvent_KeyCode,(self,) + _args, _kwargs)
return val
def GetKeyCode(self, *_args, **_kwargs):
val = apply(eventsc.wxKeyEvent_GetKeyCode,(self,) + _args, _kwargs)
return val
def HasModifiers(self, *_args, **_kwargs):
val = apply(eventsc.wxKeyEvent_HasModifiers,(self,) + _args, _kwargs)
return val
def GetX(self, *_args, **_kwargs):
val = apply(eventsc.wxKeyEvent_GetX,(self,) + _args, _kwargs)
return val

View File

@@ -8090,7 +8090,56 @@ static PyObject *_wrap_wxImageList_RemoveAll(PyObject *self, PyObject *args, PyO
return _resultobj;
}
#define wxImageList_GetSize(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->GetSize(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxImageList_GetSize(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxImageList * _arg0;
int _arg1;
int * _arg2;
int temp;
int * _arg3;
int temp0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self","index", NULL };
self = self;
{
_arg2 = &temp;
}
{
_arg3 = &temp0;
}
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxImageList_GetSize",_kwnames,&_argo0,&_arg1))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageList_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImageList_GetSize. Expected _wxImageList_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
wxImageList_GetSize(_arg0,_arg1,*_arg2,*_arg3);
wxPy_END_ALLOW_THREADS;
} Py_INCREF(Py_None);
_resultobj = Py_None;
{
PyObject *o;
o = PyInt_FromLong((long) (*_arg2));
_resultobj = t_output_helper(_resultobj, o);
}
{
PyObject *o;
o = PyInt_FromLong((long) (*_arg3));
_resultobj = t_output_helper(_resultobj, o);
}
return _resultobj;
}
static PyMethodDef gdicMethods[] = {
{ "wxImageList_GetSize", (PyCFunction) _wrap_wxImageList_GetSize, METH_VARARGS | METH_KEYWORDS },
{ "wxImageList_RemoveAll", (PyCFunction) _wrap_wxImageList_RemoveAll, METH_VARARGS | METH_KEYWORDS },
{ "wxImageList_Remove", (PyCFunction) _wrap_wxImageList_Remove, METH_VARARGS | METH_KEYWORDS },
{ "wxImageList_GetImageCount", (PyCFunction) _wrap_wxImageList_GetImageCount, METH_VARARGS | METH_KEYWORDS },

View File

@@ -867,6 +867,9 @@ class wxImageListPtr :
def RemoveAll(self, *_args, **_kwargs):
val = apply(gdic.wxImageList_RemoveAll,(self,) + _args, _kwargs)
return val
def GetSize(self, *_args, **_kwargs):
val = apply(gdic.wxImageList_GetSize,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxImageList instance at %s>" % (self.this,)
class wxImageList(wxImageListPtr):

View File

@@ -646,6 +646,7 @@ public:
DEC_PYCALLBACK___pure(Reset);
DEC_PYCALLBACK__constany(SetSize, wxRect);
DEC_PYCALLBACK_bool_any(IsAcceptedKey, wxKeyEvent);
DEC_PYCALLBACK__any(StartingKey, wxKeyEvent);
DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent);
DEC_PYCALLBACK__(StartingClick);
@@ -659,6 +660,7 @@ public:
IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters);
IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset);
IMP_PYCALLBACK__constany(wxPyGridCellEditor, wxGridCellEditor, SetSize, wxRect);
IMP_PYCALLBACK_bool_any(wxPyGridCellEditor, wxGridCellEditor, IsAcceptedKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, StartingKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent);
IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, StartingClick);
@@ -898,6 +900,60 @@ static PyObject *_wrap_wxGridCellRenderer_SetParameters(PyObject *self, PyObject
return _resultobj;
}
#define wxGridCellRenderer_IncRef(_swigobj) (_swigobj->IncRef())
static PyObject *_wrap_wxGridCellRenderer_IncRef(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxGridCellRenderer * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellRenderer_IncRef",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_IncRef. Expected _wxGridCellRenderer_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
wxGridCellRenderer_IncRef(_arg0);
wxPy_END_ALLOW_THREADS;
} Py_INCREF(Py_None);
_resultobj = Py_None;
return _resultobj;
}
#define wxGridCellRenderer_DecRef(_swigobj) (_swigobj->DecRef())
static PyObject *_wrap_wxGridCellRenderer_DecRef(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxGridCellRenderer * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellRenderer_DecRef",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellRenderer_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellRenderer_DecRef. Expected _wxGridCellRenderer_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
wxGridCellRenderer_DecRef(_arg0);
wxPy_END_ALLOW_THREADS;
} Py_INCREF(Py_None);
_resultobj = Py_None;
return _resultobj;
}
#define wxGridCellRenderer_Draw(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6) (_swigobj->Draw(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4,_swigarg5,_swigarg6))
static PyObject *_wrap_wxGridCellRenderer_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
@@ -1564,6 +1620,60 @@ static PyObject *_wrap_wxGridCellEditor_SetParameters(PyObject *self, PyObject *
return _resultobj;
}
#define wxGridCellEditor_IncRef(_swigobj) (_swigobj->IncRef())
static PyObject *_wrap_wxGridCellEditor_IncRef(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxGridCellEditor * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_IncRef",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_IncRef. Expected _wxGridCellEditor_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
wxGridCellEditor_IncRef(_arg0);
wxPy_END_ALLOW_THREADS;
} Py_INCREF(Py_None);
_resultobj = Py_None;
return _resultobj;
}
#define wxGridCellEditor_DecRef(_swigobj) (_swigobj->DecRef())
static PyObject *_wrap_wxGridCellEditor_DecRef(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxGridCellEditor * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxGridCellEditor_DecRef",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_DecRef. Expected _wxGridCellEditor_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
wxGridCellEditor_DecRef(_arg0);
wxPy_END_ALLOW_THREADS;
} Py_INCREF(Py_None);
_resultobj = Py_None;
return _resultobj;
}
#define wxGridCellEditor_Create(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Create(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellEditor_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
@@ -1865,6 +1975,42 @@ static PyObject *_wrap_wxGridCellEditor_PaintBackground(PyObject *self, PyObject
return _resultobj;
}
#define wxGridCellEditor_IsAcceptedKey(_swigobj,_swigarg0) (_swigobj->IsAcceptedKey(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_IsAcceptedKey(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _result;
wxGridCellEditor * _arg0;
wxKeyEvent * _arg1;
PyObject * _argo0 = 0;
PyObject * _argo1 = 0;
char *_kwnames[] = { "self","event", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxGridCellEditor_IsAcceptedKey",_kwnames,&_argo0,&_argo1))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxGridCellEditor_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxGridCellEditor_IsAcceptedKey. Expected _wxGridCellEditor_p.");
return NULL;
}
}
if (_argo1) {
if (_argo1 == Py_None) { _arg1 = NULL; }
else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxKeyEvent_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxGridCellEditor_IsAcceptedKey. Expected _wxKeyEvent_p.");
return NULL;
}
}
{
wxPy_BEGIN_ALLOW_THREADS;
_result = (bool )wxGridCellEditor_IsAcceptedKey(_arg0,*_arg1);
wxPy_END_ALLOW_THREADS;
} _resultobj = Py_BuildValue("i",_result);
return _resultobj;
}
#define wxGridCellEditor_StartingKey(_swigobj,_swigarg0) (_swigobj->StartingKey(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_StartingKey(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
@@ -12603,6 +12749,7 @@ static PyMethodDef gridcMethods[] = {
{ "wxGridCellEditor_HandleReturn", (PyCFunction) _wrap_wxGridCellEditor_HandleReturn, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_StartingClick", (PyCFunction) _wrap_wxGridCellEditor_StartingClick, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_StartingKey", (PyCFunction) _wrap_wxGridCellEditor_StartingKey, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_IsAcceptedKey", (PyCFunction) _wrap_wxGridCellEditor_IsAcceptedKey, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_PaintBackground", (PyCFunction) _wrap_wxGridCellEditor_PaintBackground, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_Show", (PyCFunction) _wrap_wxGridCellEditor_Show, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_SetSize", (PyCFunction) _wrap_wxGridCellEditor_SetSize, METH_VARARGS | METH_KEYWORDS },
@@ -12611,6 +12758,8 @@ static PyMethodDef gridcMethods[] = {
{ "wxGridCellEditor_EndEdit", (PyCFunction) _wrap_wxGridCellEditor_EndEdit, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_BeginEdit", (PyCFunction) _wrap_wxGridCellEditor_BeginEdit, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_Create", (PyCFunction) _wrap_wxGridCellEditor_Create, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_DecRef", (PyCFunction) _wrap_wxGridCellEditor_DecRef, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_IncRef", (PyCFunction) _wrap_wxGridCellEditor_IncRef, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_SetParameters", (PyCFunction) _wrap_wxGridCellEditor_SetParameters, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_SetControl", (PyCFunction) _wrap_wxGridCellEditor_SetControl, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_GetControl", (PyCFunction) _wrap_wxGridCellEditor_GetControl, METH_VARARGS | METH_KEYWORDS },
@@ -12629,6 +12778,8 @@ static PyMethodDef gridcMethods[] = {
{ "wxGridCellRenderer_Clone", (PyCFunction) _wrap_wxGridCellRenderer_Clone, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellRenderer_GetBestSize", (PyCFunction) _wrap_wxGridCellRenderer_GetBestSize, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellRenderer_Draw", (PyCFunction) _wrap_wxGridCellRenderer_Draw, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellRenderer_DecRef", (PyCFunction) _wrap_wxGridCellRenderer_DecRef, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellRenderer_IncRef", (PyCFunction) _wrap_wxGridCellRenderer_IncRef, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellRenderer_SetParameters", (PyCFunction) _wrap_wxGridCellRenderer_SetParameters, METH_VARARGS | METH_KEYWORDS },
{ NULL, NULL }
};

View File

@@ -67,6 +67,12 @@ class wxGridCellRendererPtr :
def SetParameters(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellRenderer_SetParameters,(self,) + _args, _kwargs)
return val
def IncRef(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellRenderer_IncRef,(self,) + _args, _kwargs)
return val
def DecRef(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellRenderer_DecRef,(self,) + _args, _kwargs)
return val
def Draw(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellRenderer_Draw,(self,) + _args, _kwargs)
return val
@@ -193,6 +199,12 @@ class wxGridCellEditorPtr :
def SetParameters(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_SetParameters,(self,) + _args, _kwargs)
return val
def IncRef(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_IncRef,(self,) + _args, _kwargs)
return val
def DecRef(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_DecRef,(self,) + _args, _kwargs)
return val
def Create(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_Create,(self,) + _args, _kwargs)
return val
@@ -218,6 +230,9 @@ class wxGridCellEditorPtr :
def PaintBackground(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_PaintBackground,(self,) + _args, _kwargs)
return val
def IsAcceptedKey(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_IsAcceptedKey,(self,) + _args, _kwargs)
return val
def StartingKey(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_StartingKey,(self,) + _args, _kwargs)
return val

File diff suppressed because it is too large Load Diff

View File

@@ -256,6 +256,122 @@ class wxPyTimer(wxPyTimerPtr):
class wxLogPtr :
def __init__(self,this):
self.this = this
self.thisown = 0
def Flush(self, *_args, **_kwargs):
val = apply(misc2c.wxLog_Flush,(self,) + _args, _kwargs)
return val
def HasPendingMessages(self, *_args, **_kwargs):
val = apply(misc2c.wxLog_HasPendingMessages,(self,) + _args, _kwargs)
return val
def SetVerbose(self, *_args, **_kwargs):
val = apply(misc2c.wxLog_SetVerbose,(self,) + _args, _kwargs)
return val
def GetVerbose(self, *_args, **_kwargs):
val = apply(misc2c.wxLog_GetVerbose,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxLog instance at %s>" % (self.this,)
class wxLog(wxLogPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(misc2c.new_wxLog,_args,_kwargs)
self.thisown = 1
class wxLogStderrPtr(wxLogPtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def __repr__(self):
return "<C wxLogStderr instance at %s>" % (self.this,)
class wxLogStderr(wxLogStderrPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(misc2c.new_wxLogStderr,_args,_kwargs)
self.thisown = 1
class wxLogTextCtrlPtr(wxLogPtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def __repr__(self):
return "<C wxLogTextCtrl instance at %s>" % (self.this,)
class wxLogTextCtrl(wxLogTextCtrlPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(misc2c.new_wxLogTextCtrl,_args,_kwargs)
self.thisown = 1
class wxLogGuiPtr(wxLogPtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def __repr__(self):
return "<C wxLogGui instance at %s>" % (self.this,)
class wxLogGui(wxLogGuiPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(misc2c.new_wxLogGui,_args,_kwargs)
self.thisown = 1
class wxLogWindowPtr(wxLogPtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def Show(self, *_args, **_kwargs):
val = apply(misc2c.wxLogWindow_Show,(self,) + _args, _kwargs)
return val
def GetFrame(self, *_args, **_kwargs):
val = apply(misc2c.wxLogWindow_GetFrame,(self,) + _args, _kwargs)
if val: val = wxFramePtr(val)
return val
def GetOldLog(self, *_args, **_kwargs):
val = apply(misc2c.wxLogWindow_GetOldLog,(self,) + _args, _kwargs)
if val: val = wxLogPtr(val)
return val
def IsPassingMessages(self, *_args, **_kwargs):
val = apply(misc2c.wxLogWindow_IsPassingMessages,(self,) + _args, _kwargs)
return val
def PassMessages(self, *_args, **_kwargs):
val = apply(misc2c.wxLogWindow_PassMessages,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxLogWindow instance at %s>" % (self.this,)
class wxLogWindow(wxLogWindowPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(misc2c.new_wxLogWindow,_args,_kwargs)
self.thisown = 1
class wxLogNullPtr :
def __init__(self,this):
self.this = this
self.thisown = 0
def __del__(self,misc2c=misc2c):
if self.thisown == 1 :
misc2c.delete_wxLogNull(self)
def __repr__(self):
return "<C wxLogNull instance at %s>" % (self.this,)
class wxLogNull(wxLogNullPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(misc2c.new_wxLogNull,_args,_kwargs)
self.thisown = 1
#-------------- FUNCTION WRAPPERS ------------------
@@ -373,6 +489,62 @@ def wxDragListItem(*_args, **_kwargs):
if val: val = wxDragImagePtr(val); val.thisown = 1
return val
wxSysErrorCode = misc2c.wxSysErrorCode
wxSysErrorMsg = misc2c.wxSysErrorMsg
wxLogFatalError = misc2c.wxLogFatalError
wxLogError = misc2c.wxLogError
wxLogWarning = misc2c.wxLogWarning
wxLogMessage = misc2c.wxLogMessage
wxLogInfo = misc2c.wxLogInfo
wxLogVerbose = misc2c.wxLogVerbose
wxLogStatus = misc2c.wxLogStatus
wxLogStatusFrame = misc2c.wxLogStatusFrame
wxLogSysError = misc2c.wxLogSysError
wxLog_IsEnabled = misc2c.wxLog_IsEnabled
wxLog_EnableLogging = misc2c.wxLog_EnableLogging
wxLog_OnLog = misc2c.wxLog_OnLog
wxLog_FlushActive = misc2c.wxLog_FlushActive
def wxLog_GetActiveTarget(*_args, **_kwargs):
val = apply(misc2c.wxLog_GetActiveTarget,_args,_kwargs)
if val: val = wxLogPtr(val)
return val
def wxLog_SetActiveTarget(*_args, **_kwargs):
val = apply(misc2c.wxLog_SetActiveTarget,_args,_kwargs)
if val: val = wxLogPtr(val)
return val
wxLog_Suspend = misc2c.wxLog_Suspend
wxLog_Resume = misc2c.wxLog_Resume
wxLog_DontCreateOnDemand = misc2c.wxLog_DontCreateOnDemand
wxLog_SetTraceMask = misc2c.wxLog_SetTraceMask
wxLog_AddTraceMask = misc2c.wxLog_AddTraceMask
wxLog_RemoveTraceMask = misc2c.wxLog_RemoveTraceMask
wxLog_GetTraceMask = misc2c.wxLog_GetTraceMask
wxLog_IsAllowedTraceMask = misc2c.wxLog_IsAllowedTraceMask
#-------------- VARIABLE WRAPPERS ------------------
@@ -463,3 +635,13 @@ wxSYS_NETWORK_PRESENT = misc2c.wxSYS_NETWORK_PRESENT
wxSYS_PENWINDOWS_PRESENT = misc2c.wxSYS_PENWINDOWS_PRESENT
wxSYS_SHOW_SOUNDS = misc2c.wxSYS_SHOW_SOUNDS
wxSYS_SWAP_BUTTONS = misc2c.wxSYS_SWAP_BUTTONS
wxLOG_FatalError = misc2c.wxLOG_FatalError
wxLOG_Error = misc2c.wxLOG_Error
wxLOG_Warning = misc2c.wxLOG_Warning
wxLOG_Message = misc2c.wxLOG_Message
wxLOG_Info = misc2c.wxLOG_Info
wxLOG_Status = misc2c.wxLOG_Status
wxLOG_Debug = misc2c.wxLOG_Debug
wxLOG_Trace = misc2c.wxLOG_Trace
wxLOG_Progress = misc2c.wxLOG_Progress
wxLOG_User = misc2c.wxLOG_User