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 New in 2.1.16
------------- -------------

View File

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

View File

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

View File

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

View File

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

View File

@@ -18,8 +18,6 @@ from wxPython.html import wxHtmlWindow
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
_useSplitter = true
_useNestedSplitter = true
_treeList = [ _treeList = [
('New since last release', ['wxDragImage', 'wxCalendarCtrl', 'wxSpinCtrl', ('New since last release', ['wxDragImage', 'wxCalendarCtrl', 'wxSpinCtrl',
@@ -84,22 +82,8 @@ class wxPythonDemo(wxFrame):
self.Centre(wxBOTH) self.Centre(wxBOTH)
self.CreateStatusBar(1, wxST_SIZEGRIP) self.CreateStatusBar(1, wxST_SIZEGRIP)
if _useSplitter: splitter = wxSplitterWindow(self, -1, style=wxNO_3D|wxSP_3D)
splitter = wxSplitterWindow(self, -1, style=wxNO_3D|wxSP_3D) splitter2 = wxSplitterWindow(splitter, -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 # Prevent TreeCtrl from displaying all items after destruction
@@ -140,33 +124,32 @@ class wxPythonDemo(wxFrame):
# Create a TreeCtrl # Create a TreeCtrl
if _useSplitter: tID = wxNewId()
tID = wxNewId() self.treeMap = {}
self.treeMap = {} self.tree = wxTreeCtrl(splitter, tID,
self.tree = wxTreeCtrl(splitter, tID, style=wxTR_HAS_BUTTONS |
style=wxTR_HAS_BUTTONS | wxTR_EDIT_LABELS |
wxTR_EDIT_LABELS | wxTR_HAS_VARIABLE_ROW_HEIGHT |
wxTR_HAS_VARIABLE_ROW_HEIGHT | wxSUNKEN_BORDER)
wxSUNKEN_BORDER) #self.tree.SetBackgroundColour(wxNamedColour("Pink"))
#self.tree.SetBackgroundColour(wxNamedColour("Pink")) root = self.tree.AddRoot("Overview")
root = self.tree.AddRoot("Overview") firstChild = None
firstChild = None for item in _treeList:
for item in _treeList: child = self.tree.AppendItem(root, item[0])
child = self.tree.AppendItem(root, item[0]) if not firstChild: firstChild = child
if not firstChild: firstChild = child for childItem in item[1]:
for childItem in item[1]: theDemo = self.tree.AppendItem(child, childItem)
theDemo = self.tree.AppendItem(child, childItem) self.treeMap[childItem] = theDemo
self.treeMap[childItem] = theDemo
self.tree.Expand(root) self.tree.Expand(root)
self.tree.Expand(firstChild) self.tree.Expand(firstChild)
EVT_TREE_ITEM_EXPANDED (self.tree, tID, self.OnItemExpanded) EVT_TREE_ITEM_EXPANDED (self.tree, tID, self.OnItemExpanded)
EVT_TREE_ITEM_COLLAPSED (self.tree, tID, self.OnItemCollapsed) EVT_TREE_ITEM_COLLAPSED (self.tree, tID, self.OnItemCollapsed)
EVT_TREE_SEL_CHANGED (self.tree, tID, self.OnSelChanged) EVT_TREE_SEL_CHANGED (self.tree, tID, self.OnSelChanged)
EVT_LEFT_DOWN (self.tree, self.OnTreeLeftDown) EVT_LEFT_DOWN (self.tree, self.OnTreeLeftDown)
# Create a Notebook # Create a Notebook
self.nb = wxNotebook(nbParent, -1) self.nb = wxNotebook(splitter2, -1)
# Set up a TextCtrl on the Overview Notebook page # Set up a TextCtrl on the Overview Notebook page
self.ovr = wxHtmlWindow(self.nb, -1) self.ovr = wxHtmlWindow(self.nb, -1)
@@ -181,59 +164,48 @@ class wxPythonDemo(wxFrame):
# Set up a log on the View Log Notebook page # 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) style = wxTE_MULTILINE|wxTE_READONLY|wxHSCROLL)
(w, self.charHeight) = self.log.GetTextExtent('X') # Set the wxWindows log target to be this textctrl
self.WriteText('wxPython Demo Log:\n') wxLog_SetActiveTarget(wxLogTextCtrl(self.log))
self.Show(true) self.Show(true)
# add the windows to the splitter and split it. # add the windows to the splitter and split it.
if _useSplitter: splitter2.SplitHorizontally(self.nb, self.log)
if _useNestedSplitter: splitter2.SetSashPosition(450, true)
splitter2.SplitHorizontally(self.nb, self.log) splitter2.SetMinimumPaneSize(20)
splitter2.SetSashPosition(450, true)
splitter2.SetMinimumPaneSize(20)
splitter.SplitVertically(self.tree, splitter2) splitter.SplitVertically(self.tree, splitter2)
else: splitter.SetSashPosition(180, true)
splitter.SplitVertically(self.tree, self.nb) splitter.SetMinimumPaneSize(20)
splitter.SetSashPosition(180, true)
splitter.SetMinimumPaneSize(20)
# make our log window be stdout
#sys.stdout = self
# select initial items # select initial items
self.nb.SetSelection(0) self.nb.SetSelection(0)
if _useSplitter: self.tree.SelectItem(root)
self.tree.SelectItem(root)
if len(sys.argv) == 2: if len(sys.argv) == 2:
try: try:
selectedDemo = self.treeMap[sys.argv[1]] selectedDemo = self.treeMap[sys.argv[1]]
except: except:
selectedDemo = None selectedDemo = None
if selectedDemo and _useSplitter: if selectedDemo:
self.tree.SelectItem(selectedDemo) self.tree.SelectItem(selectedDemo)
self.tree.EnsureVisible(selectedDemo) self.tree.EnsureVisible(selectedDemo)
self.WriteText('window handle: %s\n' % self.GetHandle()) wxLogMessage('window handle: %s' % self.GetHandle())
#--------------------------------------------- #---------------------------------------------
def WriteText(self, text): def WriteText(self, text):
self.log.WriteText(text) if text[-1:] == '\n':
w, h = self.log.GetClientSizeTuple() text = text[:-1]
numLines = h/self.charHeight wxLogMessage(text)
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()
def write(self, txt): def write(self, txt):
self.WriteText(txt) self.WriteText(txt)
@@ -241,12 +213,12 @@ class wxPythonDemo(wxFrame):
#--------------------------------------------- #---------------------------------------------
def OnItemExpanded(self, event): def OnItemExpanded(self, event):
item = event.GetItem() item = event.GetItem()
self.log.WriteText("OnItemExpanded: %s\n" % self.tree.GetItemText(item)) wxLogMessage("OnItemExpanded: %s" % self.tree.GetItemText(item))
#--------------------------------------------- #---------------------------------------------
def OnItemCollapsed(self, event): def OnItemCollapsed(self, event):
item = event.GetItem() 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: else:
if os.path.exists(itemText + '.py'): if os.path.exists(itemText + '.py'):
wxBeginBusyCursor() wxBeginBusyCursor()
wxLogMessage("Running demo %s.py..." % itemText)
try: try:
self.GetDemoFile(itemText + '.py') self.GetDemoFile(itemText + '.py')
module = __import__(itemText, globals()) module = __import__(itemText, globals())
@@ -296,7 +269,7 @@ class wxPythonDemo(wxFrame):
self.nb.Refresh(); self.nb.Refresh();
wxYield() wxYield()
self.window = module.runTest(self, self.nb, self) self.window = module.runTest(self, self.nb, self) ###
if self.window: if self.window:
self.nb.AddPage(self.window, 'Demo') self.nb.AddPage(self.window, 'Demo')
wxYield() wxYield()
@@ -313,14 +286,11 @@ class wxPythonDemo(wxFrame):
# Get the Demo files # Get the Demo files
def GetDemoFile(self, filename): def GetDemoFile(self, filename):
self.txt.Clear() self.txt.Clear()
#if not self.txt.LoadFile(filename):
# self.txt.WriteText("Cannot open %s file." % filename)
try: try:
self.txt.SetValue(open(filename).read()) self.txt.SetValue(open(filename).read())
except IOError: except IOError:
self.txt.WriteText("Cannot open %s file." % filename) self.txt.WriteText("Cannot open %s file." % filename)
self.txt.SetInsertionPoint(0) self.txt.SetInsertionPoint(0)
self.txt.ShowPosition(0) self.txt.ShowPosition(0)
@@ -328,7 +298,7 @@ class wxPythonDemo(wxFrame):
def SetOverview(self, name, text): def SetOverview(self, name, text):
self.curOverview = text self.curOverview = text
lead = text[:6] lead = text[:6]
if lead != '<html>' and lead != '<HTML': if lead != '<html>' and lead != '<HTML>':
text = string.join(string.split(text, '\n'), '<br>') text = string.join(string.split(text, '\n'), '<br>')
#text = '<font size="-1"><pre>' + text + '</pre></font>' #text = '<font size="-1"><pre>' + text + '</pre></font>'
self.ovr.SetPage(text) self.ovr.SetPage(text)
@@ -341,13 +311,6 @@ class wxPythonDemo(wxFrame):
def OnHelpAbout(self, event): 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 from About import MyAboutBox
about = MyAboutBox(self) about = MyAboutBox(self)
about.ShowModal() about.ShowModal()
@@ -370,25 +333,20 @@ class wxPythonDemo(wxFrame):
#--------------------------------------------- #---------------------------------------------
def OnDemoMenu(self, event): def OnDemoMenu(self, event):
if _useSplitter: try:
try: selectedDemo = self.treeMap[self.mainmenu.GetLabel(event.GetId())]
selectedDemo = self.treeMap[self.mainmenu.GetLabel(event.GetId())] except:
except: selectedDemo = None
selectedDemo = None if selectedDemo:
if selectedDemo: self.tree.SelectItem(selectedDemo)
self.tree.SelectItem(selectedDemo) self.tree.EnsureVisible(selectedDemo)
self.tree.EnsureVisible(selectedDemo)
else:
self.RunDemo(self.mainmenu.GetLabel(event.GetId()))
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
class MyApp(wxApp): class MyApp(wxApp):
def OnInit(self): def OnInit(self):
wxImage_AddHandler(wxJPEGHandler()) wxInitAllImageHandlers()
wxImage_AddHandler(wxPNGHandler())
wxImage_AddHandler(wxGIFHandler())
self.splash = SplashScreen(None, bitmapfile='bitmaps/splash.gif', self.splash = SplashScreen(None, bitmapfile='bitmaps/splash.gif',
duration=4000, callback=self.AfterSplash) duration=4000, callback=self.AfterSplash)

View File

@@ -59,29 +59,42 @@ overview = """\
<html><body> <html><body>
<h2>wxGrid</h2> <h2>wxGrid</h2>
This demo shows various ways of using the <b><i>new and improved</i></b> wxGrid class. This demo shows various ways of using the <b><i>new and
Unfortunatly it has not been documented yet, and while it is somewhat backwards compatible, improved</i></b> wxGrid class. Unfortunatly it has not been
if you try to go by the current wxGrid documentation you will probably just confuse yourself. 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> <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> <p><ol>
<li><a href="GridSimple.py">GridSimple.py</a> A simple grid that shows how to catch all the <li><a href="GridSimple.py">GridSimple.py</a> A simple grid that shows
various events. how to catch all the various events.
<p> <p>
<li><a href="GridStdEdRend.py">GridStdEdRend.py</a> A grid that uses non-default Cell Editors <li><a href="GridStdEdRend.py">GridStdEdRend.py</a> A grid that
and Cell Renderers. uses non-default Cell Editors and Cell Renderers.
<p> <p>
<li><a href="GridHugeTable.py">GridHugeTable.py</a> A grid that uses a non-default Grid Table. <li><a href="GridHugeTable.py">GridHugeTable.py</a> A grid that
This table is read-only and simply generates on the fly a unique string for each cell. uses a non-default Grid Table. This table is read-only and simply
generates on the fly a unique string for each cell.
<p> <p>
<li><a href="GridCustTable.py">GridCustTable.py</a> This grid shows how to deal with tables <li><a href="GridCustTable.py">GridCustTable.py</a> This grid
that have non-string data, and how Cell Editors and Cell Renderers are automatically chosen shows how to deal with tables that have non-string data, and how Cell
based on the data type. Editors and Cell Renderers are automatically chosen based on the data
type.
<p> <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> </ol>
<p> <p>
You can also look at the <a href="data/grid.i">SWIG interface file</a> used to generate You can also look at the <a href="data/grid.i">SWIG interface
the grid module for a lot more clues as to how things work. 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.SetEdgeMode(wxSTC_EDGE_BACKGROUND)
self.SetEdgeColumn(78) self.SetEdgeColumn(78)
self.SetCaretForeground("red")
# Setup a margin to hold fold markers # Setup a margin to hold fold markers
#self.SetFoldFlags(16) ### WHAT IS THIS VALUE? WHAT ARE THE OTHER FLAGS? DOES IT MATTER? #self.SetFoldFlags(16) ### WHAT IS THIS VALUE? WHAT ARE THE OTHER FLAGS? DOES IT MATTER?
self.SetMarginType(2, wxSTC_MARGIN_SYMBOL) 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. rem that could be unziped over a wxPython installation.
mkdir wxPython mkdir wxPython-dbg
copy %WXWIN%\lib\wx*_d.dll wxPython copy README.dbg.txt wxPython-dbg
copy %WXWIN%\utils\wxPython\*.pyd wxPython 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(); bool ShiftDown();
long KeyCode(); long KeyCode();
long GetKeyCode();
bool HasModifiers();
long GetX(); long GetX();
long GetY(); long GetY();
wxPoint GetPosition(); wxPoint GetPosition();

View File

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

View File

@@ -451,6 +451,8 @@ class wxGridCellRenderer
{ {
public: public:
void SetParameters(const wxString& params); void SetParameters(const wxString& params);
void IncRef();
void DecRef();
virtual void Draw(wxGrid& grid, virtual void Draw(wxGrid& grid,
wxGridCellAttr& attr, wxGridCellAttr& attr,
@@ -600,6 +602,8 @@ public:
void SetControl(wxControl* control); void SetControl(wxControl* control);
void SetParameters(const wxString& params); void SetParameters(const wxString& params);
void IncRef();
void DecRef();
virtual void Create(wxWindow* parent, virtual void Create(wxWindow* parent,
wxWindowID id, wxWindowID id,
@@ -612,6 +616,7 @@ public:
virtual void SetSize(const wxRect& rect); virtual void SetSize(const wxRect& rect);
virtual void Show(bool show, wxGridCellAttr *attr = NULL); virtual void Show(bool show, wxGridCellAttr *attr = NULL);
virtual void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr); virtual void PaintBackground(const wxRect& rectCell, wxGridCellAttr *attr);
virtual bool IsAcceptedKey(wxKeyEvent& event);
virtual void StartingKey(wxKeyEvent& event); virtual void StartingKey(wxKeyEvent& event);
virtual void StartingClick(); virtual void StartingClick();
virtual void HandleReturn(wxKeyEvent& event); virtual void HandleReturn(wxKeyEvent& event);
@@ -715,6 +720,7 @@ public:
DEC_PYCALLBACK___pure(Reset); DEC_PYCALLBACK___pure(Reset);
DEC_PYCALLBACK__constany(SetSize, wxRect); DEC_PYCALLBACK__constany(SetSize, wxRect);
DEC_PYCALLBACK_bool_any(IsAcceptedKey, wxKeyEvent);
DEC_PYCALLBACK__any(StartingKey, wxKeyEvent); DEC_PYCALLBACK__any(StartingKey, wxKeyEvent);
DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent); DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent);
DEC_PYCALLBACK__(StartingClick); DEC_PYCALLBACK__(StartingClick);
@@ -728,6 +734,7 @@ public:
IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters); IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters);
IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset); IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset);
IMP_PYCALLBACK__constany(wxPyGridCellEditor, wxGridCellEditor, SetSize, wxRect); 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, StartingKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent); IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent);
IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, StartingClick); 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 #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; 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()) #define wxKeyEvent_GetX(_swigobj) (_swigobj->GetX())
static PyObject *_wrap_wxKeyEvent_GetX(PyObject *self, PyObject *args, PyObject *kwargs) { static PyObject *_wrap_wxKeyEvent_GetX(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj; PyObject * _resultobj;
@@ -5105,6 +5159,8 @@ static PyMethodDef eventscMethods[] = {
{ "wxKeyEvent_GetPosition", (PyCFunction) _wrap_wxKeyEvent_GetPosition, METH_VARARGS | METH_KEYWORDS }, { "wxKeyEvent_GetPosition", (PyCFunction) _wrap_wxKeyEvent_GetPosition, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_GetY", (PyCFunction) _wrap_wxKeyEvent_GetY, 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_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_KeyCode", (PyCFunction) _wrap_wxKeyEvent_KeyCode, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_ShiftDown", (PyCFunction) _wrap_wxKeyEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS }, { "wxKeyEvent_ShiftDown", (PyCFunction) _wrap_wxKeyEvent_ShiftDown, METH_VARARGS | METH_KEYWORDS },
{ "wxKeyEvent_AltDown", (PyCFunction) _wrap_wxKeyEvent_AltDown, 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): def KeyCode(self, *_args, **_kwargs):
val = apply(eventsc.wxKeyEvent_KeyCode,(self,) + _args, _kwargs) val = apply(eventsc.wxKeyEvent_KeyCode,(self,) + _args, _kwargs)
return val 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): def GetX(self, *_args, **_kwargs):
val = apply(eventsc.wxKeyEvent_GetX,(self,) + _args, _kwargs) val = apply(eventsc.wxKeyEvent_GetX,(self,) + _args, _kwargs)
return val return val

View File

@@ -8090,7 +8090,56 @@ static PyObject *_wrap_wxImageList_RemoveAll(PyObject *self, PyObject *args, PyO
return _resultobj; 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[] = { static PyMethodDef gdicMethods[] = {
{ "wxImageList_GetSize", (PyCFunction) _wrap_wxImageList_GetSize, METH_VARARGS | METH_KEYWORDS },
{ "wxImageList_RemoveAll", (PyCFunction) _wrap_wxImageList_RemoveAll, 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_Remove", (PyCFunction) _wrap_wxImageList_Remove, METH_VARARGS | METH_KEYWORDS },
{ "wxImageList_GetImageCount", (PyCFunction) _wrap_wxImageList_GetImageCount, 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): def RemoveAll(self, *_args, **_kwargs):
val = apply(gdic.wxImageList_RemoveAll,(self,) + _args, _kwargs) val = apply(gdic.wxImageList_RemoveAll,(self,) + _args, _kwargs)
return val return val
def GetSize(self, *_args, **_kwargs):
val = apply(gdic.wxImageList_GetSize,(self,) + _args, _kwargs)
return val
def __repr__(self): def __repr__(self):
return "<C wxImageList instance at %s>" % (self.this,) return "<C wxImageList instance at %s>" % (self.this,)
class wxImageList(wxImageListPtr): class wxImageList(wxImageListPtr):

View File

@@ -646,6 +646,7 @@ public:
DEC_PYCALLBACK___pure(Reset); DEC_PYCALLBACK___pure(Reset);
DEC_PYCALLBACK__constany(SetSize, wxRect); DEC_PYCALLBACK__constany(SetSize, wxRect);
DEC_PYCALLBACK_bool_any(IsAcceptedKey, wxKeyEvent);
DEC_PYCALLBACK__any(StartingKey, wxKeyEvent); DEC_PYCALLBACK__any(StartingKey, wxKeyEvent);
DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent); DEC_PYCALLBACK__any(HandleReturn, wxKeyEvent);
DEC_PYCALLBACK__(StartingClick); DEC_PYCALLBACK__(StartingClick);
@@ -659,6 +660,7 @@ public:
IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters); IMP_PYCALLBACK__STRING( wxPyGridCellEditor, wxGridCellEditor, SetParameters);
IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset); IMP_PYCALLBACK___pure(wxPyGridCellEditor, wxGridCellEditor, Reset);
IMP_PYCALLBACK__constany(wxPyGridCellEditor, wxGridCellEditor, SetSize, wxRect); 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, StartingKey, wxKeyEvent);
IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent); IMP_PYCALLBACK__any(wxPyGridCellEditor, wxGridCellEditor, HandleReturn, wxKeyEvent);
IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, StartingClick); IMP_PYCALLBACK__(wxPyGridCellEditor, wxGridCellEditor, StartingClick);
@@ -898,6 +900,60 @@ static PyObject *_wrap_wxGridCellRenderer_SetParameters(PyObject *self, PyObject
return _resultobj; 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)) #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) { static PyObject *_wrap_wxGridCellRenderer_Draw(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj; PyObject * _resultobj;
@@ -1564,6 +1620,60 @@ static PyObject *_wrap_wxGridCellEditor_SetParameters(PyObject *self, PyObject *
return _resultobj; 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)) #define wxGridCellEditor_Create(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Create(_swigarg0,_swigarg1,_swigarg2))
static PyObject *_wrap_wxGridCellEditor_Create(PyObject *self, PyObject *args, PyObject *kwargs) { static PyObject *_wrap_wxGridCellEditor_Create(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj; PyObject * _resultobj;
@@ -1865,6 +1975,42 @@ static PyObject *_wrap_wxGridCellEditor_PaintBackground(PyObject *self, PyObject
return _resultobj; 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)) #define wxGridCellEditor_StartingKey(_swigobj,_swigarg0) (_swigobj->StartingKey(_swigarg0))
static PyObject *_wrap_wxGridCellEditor_StartingKey(PyObject *self, PyObject *args, PyObject *kwargs) { static PyObject *_wrap_wxGridCellEditor_StartingKey(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj; PyObject * _resultobj;
@@ -12603,6 +12749,7 @@ static PyMethodDef gridcMethods[] = {
{ "wxGridCellEditor_HandleReturn", (PyCFunction) _wrap_wxGridCellEditor_HandleReturn, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellEditor_HandleReturn", (PyCFunction) _wrap_wxGridCellEditor_HandleReturn, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_StartingClick", (PyCFunction) _wrap_wxGridCellEditor_StartingClick, 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_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_PaintBackground", (PyCFunction) _wrap_wxGridCellEditor_PaintBackground, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_Show", (PyCFunction) _wrap_wxGridCellEditor_Show, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellEditor_Show", (PyCFunction) _wrap_wxGridCellEditor_Show, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_SetSize", (PyCFunction) _wrap_wxGridCellEditor_SetSize, 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_EndEdit", (PyCFunction) _wrap_wxGridCellEditor_EndEdit, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_BeginEdit", (PyCFunction) _wrap_wxGridCellEditor_BeginEdit, 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_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_SetParameters", (PyCFunction) _wrap_wxGridCellEditor_SetParameters, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_SetControl", (PyCFunction) _wrap_wxGridCellEditor_SetControl, METH_VARARGS | METH_KEYWORDS }, { "wxGridCellEditor_SetControl", (PyCFunction) _wrap_wxGridCellEditor_SetControl, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellEditor_GetControl", (PyCFunction) _wrap_wxGridCellEditor_GetControl, 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_Clone", (PyCFunction) _wrap_wxGridCellRenderer_Clone, METH_VARARGS | METH_KEYWORDS },
{ "wxGridCellRenderer_GetBestSize", (PyCFunction) _wrap_wxGridCellRenderer_GetBestSize, 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_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 }, { "wxGridCellRenderer_SetParameters", (PyCFunction) _wrap_wxGridCellRenderer_SetParameters, METH_VARARGS | METH_KEYWORDS },
{ NULL, NULL } { NULL, NULL }
}; };

View File

@@ -67,6 +67,12 @@ class wxGridCellRendererPtr :
def SetParameters(self, *_args, **_kwargs): def SetParameters(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellRenderer_SetParameters,(self,) + _args, _kwargs) val = apply(gridc.wxGridCellRenderer_SetParameters,(self,) + _args, _kwargs)
return val 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): def Draw(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellRenderer_Draw,(self,) + _args, _kwargs) val = apply(gridc.wxGridCellRenderer_Draw,(self,) + _args, _kwargs)
return val return val
@@ -193,6 +199,12 @@ class wxGridCellEditorPtr :
def SetParameters(self, *_args, **_kwargs): def SetParameters(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_SetParameters,(self,) + _args, _kwargs) val = apply(gridc.wxGridCellEditor_SetParameters,(self,) + _args, _kwargs)
return val 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): def Create(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_Create,(self,) + _args, _kwargs) val = apply(gridc.wxGridCellEditor_Create,(self,) + _args, _kwargs)
return val return val
@@ -218,6 +230,9 @@ class wxGridCellEditorPtr :
def PaintBackground(self, *_args, **_kwargs): def PaintBackground(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_PaintBackground,(self,) + _args, _kwargs) val = apply(gridc.wxGridCellEditor_PaintBackground,(self,) + _args, _kwargs)
return val return val
def IsAcceptedKey(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_IsAcceptedKey,(self,) + _args, _kwargs)
return val
def StartingKey(self, *_args, **_kwargs): def StartingKey(self, *_args, **_kwargs):
val = apply(gridc.wxGridCellEditor_StartingKey,(self,) + _args, _kwargs) val = apply(gridc.wxGridCellEditor_StartingKey,(self,) + _args, _kwargs)
return val 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 ------------------ #-------------- FUNCTION WRAPPERS ------------------
@@ -373,6 +489,62 @@ def wxDragListItem(*_args, **_kwargs):
if val: val = wxDragImagePtr(val); val.thisown = 1 if val: val = wxDragImagePtr(val); val.thisown = 1
return val 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 ------------------ #-------------- VARIABLE WRAPPERS ------------------
@@ -463,3 +635,13 @@ wxSYS_NETWORK_PRESENT = misc2c.wxSYS_NETWORK_PRESENT
wxSYS_PENWINDOWS_PRESENT = misc2c.wxSYS_PENWINDOWS_PRESENT wxSYS_PENWINDOWS_PRESENT = misc2c.wxSYS_PENWINDOWS_PRESENT
wxSYS_SHOW_SOUNDS = misc2c.wxSYS_SHOW_SOUNDS wxSYS_SHOW_SOUNDS = misc2c.wxSYS_SHOW_SOUNDS
wxSYS_SWAP_BUTTONS = misc2c.wxSYS_SWAP_BUTTONS 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