New SWIG runtime files and api updates for the move to SWIG 1.3.22

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-09-09 18:48:25 +00:00
parent 414863fd52
commit 0190c47234
9 changed files with 436 additions and 137 deletions

View File

@ -1292,6 +1292,19 @@ success flag and rgb values.</docstring>
<param name="startB" type="byte" default="0"/>
</paramlist>
</method>
<method name="ConvertAlphaToMask" type="bool" overloaded="no">
<autodoc>ConvertAlphaToMask(self, byte threshold=128) -&gt; bool</autodoc>
<docstring>If the image has alpha channel, this method converts it to mask. All pixels
with alpha value less than ``threshold`` are replaced with mask colour and the
alpha channel is removed. Mask colour is chosen automatically using
`FindFirstUnusedColour`.
If the image image doesn't have alpha channel, ConvertAlphaToMask does
nothing.</docstring>
<paramlist>
<param name="threshold" type="byte" default="128"/>
</paramlist>
</method>
<method name="SetMaskFromImage" type="bool" overloaded="no">
<autodoc>SetMaskFromImage(self, Image mask, byte mr, byte mg, byte mb) -&gt; bool</autodoc>
<paramlist>
@ -5213,6 +5226,34 @@ not be used at all.</docstring>
<docstring>Returns the foreground colour of the window. The interpretation of
foreground colour is dependent on the window class; it may be the text
colour or other colour, or it may not be used at all.</docstring>
</method>
<method name="SetBackgroundStyle" type="bool" overloaded="no">
<autodoc>SetBackgroundStyle(self, int style) -&gt; bool</autodoc>
<docstring>Returns the background style of the window. The background style
indicates how the background of the window is drawn.
====================== ========================================
wx.BG_STYLE_SYSTEM The background colour or pattern should
be determined by the system
wx.BG_STYLE_COLOUR The background should be a solid colour
wx.BG_STYLE_CUSTOM The background will be implemented by the
application.
====================== ========================================
On GTK+, use of wx.BG_STYLE_CUSTOM allows the flicker-free drawing of
a custom background, such as a tiled bitmap. Currently the style has
no effect on other platforms.
:see: `GetBackgroundStyle`, `SetBackgroundColour`</docstring>
<paramlist>
<param name="style" type="wxBackgroundStyle" default=""/>
</paramlist>
</method>
<method name="GetBackgroundStyle" type="wxBackgroundStyle" overloaded="no">
<autodoc>GetBackgroundStyle(self) -&gt; int</autodoc>
<docstring>Returns the background style of the window.
:see: `SetBackgroundStyle`</docstring>
</method>
<method name="SetCursor" type="bool" overloaded="no">
<autodoc>SetCursor(self, Cursor cursor) -&gt; bool</autodoc>
@ -8438,16 +8479,16 @@ __wxPyPtrTypeMap['wxStatusBar95'] = 'wxStatusBar'
#----------------------------------------------------------------------------
# Load version numbers from __version__... Ensure that major and minor
# versions are the same for both wxPython and wxWindows.
# versions are the same for both wxPython and wxWidgets.
from __version__ import *
__version__ = VERSION_STRING
assert MAJOR_VERSION == _core_.MAJOR_VERSION, "wxPython/wxWindows version mismatch"
assert MINOR_VERSION == _core_.MINOR_VERSION, "wxPython/wxWindows version mismatch"
assert MAJOR_VERSION == _core_.MAJOR_VERSION, "wxPython/wxWidgets version mismatch"
assert MINOR_VERSION == _core_.MINOR_VERSION, "wxPython/wxWidgets version mismatch"
if RELEASE_VERSION != _core_.RELEASE_VERSION:
import warnings
warnings.warn("wxPython/wxWindows release number mismatch")
warnings.warn("wxPython/wxWidgets release number mismatch")
#----------------------------------------------------------------------------
@ -12481,6 +12522,7 @@ output. Default is 720ppi.</docstring>
<autodoc>Create(self, Window parent, int id=-1, Point pos=DefaultPosition,
Size size=DefaultSize, long style=wxTAB_TRAVERSAL|wxNO_BORDER,
String name=PanelNameStr) -&gt; bool</autodoc>
<docstring>Create the GUI part of the Window for 2-phase creation mode.</docstring>
<paramlist>
<param name="parent" type="Window" default=""/>
<param name="id" type="int" default="-1"/>
@ -12537,6 +12579,7 @@ this.</docstring>
<autodoc>Create(self, Window parent, int id=-1, Point pos=DefaultPosition,
Size size=DefaultSize, long style=wxHSCROLL|wxVSCROLL,
String name=PanelNameStr) -&gt; bool</autodoc>
<docstring>Create the GUI part of the Window for 2-phase creation mode.</docstring>
<paramlist>
<param name="parent" type="Window" default=""/>
<param name="id" type="int" default="-1"/>
@ -14063,6 +14106,10 @@ EVT_SPLITTER_DCLICK = EVT_SPLITTER_DOUBLECLICKED
</method>
<method name="ScrollLines" type="bool" overloaded="no">
<autodoc>ScrollLines(self, int lines) -&gt; bool</autodoc>
<docstring>If the platform and window class supports it, scrolls the window by
the given number of lines down, if lines is positive, or up if lines
is negative. Returns True if the window was scrolled, False if it was
already on top/bottom and nothing was done.</docstring>
<paramlist>
<param name="lines" type="int" default=""/>
</paramlist>
@ -16818,12 +16865,12 @@ indeed almost any other window.
Window Styles
-------------
============== ==========================================
wx.BU_LEFT Left-justifies the label. WIN32 only.
wx.BU_LEFT Left-justifies the label. Windows and GTK+ only.
wx.BU_TOP Aligns the label to the top of the button.
WIN32 only.
wx.BU_RIGHT Right-justifies the bitmap label. WIN32 only.
Windows and GTK+ only.
wx.BU_RIGHT Right-justifies the bitmap label. Windows and GTK+ only.
wx.BU_BOTTOM Aligns the label to the bottom of the button.
WIN32 only.
Windows and GTK+ only.
wx.BU_EXACTFIT Creates the button as small as possible
instead of making it of the standard size
(which is the default behaviour.)
@ -16843,7 +16890,67 @@ Events
Point pos=DefaultPosition, Size size=DefaultSize,
long style=0, Validator validator=DefaultValidator,
String name=ButtonNameStr) -&gt; Button</autodoc>
<docstring>Create and show a button.</docstring>
<docstring>Create and show a button. The preferred way to create standard
buttons is to use a standard ID and an empty label. In this case
wxWigets will automatically use a stock label that coresponds to the
ID given. In additon, the button will be decorated with stock icons
under GTK+ 2.
The stock IDs and coresponding labels are
================== ====================
wx.ID_ADD 'Add'
wx.ID_APPLY '\\&amp;Apply'
wx.ID_BOLD '\\&amp;Bold'
wx.ID_CANCEL '\\&amp;Cancel'
wx.ID_CLEAR '\\&amp;Clear'
wx.ID_CLOSE '\\&amp;Close'
wx.ID_COPY '\\&amp;Copy'
wx.ID_CUT 'Cu\\&amp;t'
wx.ID_DELETE '\\&amp;Delete'
wx.ID_FIND '\\&amp;Find'
wx.ID_REPLACE 'Find and rep\\&amp;lace'
wx.ID_BACKWARD '\\&amp;Back'
wx.ID_DOWN '\\&amp;Down'
wx.ID_FORWARD '\\&amp;Forward'
wx.ID_UP '\\&amp;Up'
wx.ID_HELP '\\&amp;Help'
wx.ID_HOME '\\&amp;Home'
wx.ID_INDENT 'Indent'
wx.ID_INDEX '\\&amp;Index'
wx.ID_ITALIC '\\&amp;Italic'
wx.ID_JUSTIFY_CENTER 'Centered'
wx.ID_JUSTIFY_FILL 'Justified'
wx.ID_JUSTIFY_LEFT 'Align Left'
wx.ID_JUSTIFY_RIGHT 'Align Right'
wx.ID_NEW '\\&amp;New'
wx.ID_NO '\\&amp;No'
wx.ID_OK '\\&amp;OK'
wx.ID_OPEN '\\&amp;Open'
wx.ID_PASTE '\\&amp;Paste'
wx.ID_PREFERENCES '\\&amp;Preferences'
wx.ID_PRINT '\\&amp;Print'
wx.ID_PREVIEW 'Print previe\\&amp;w'
wx.ID_PROPERTIES '\\&amp;Properties'
wx.ID_EXIT '\\&amp;Quit'
wx.ID_REDO '\\&amp;Redo'
wx.ID_REFRESH 'Refresh'
wx.ID_REMOVE 'Remove'
wx.ID_REVERT_TO_SAVED 'Revert to Saved'
wx.ID_SAVE '\\&amp;Save'
wx.ID_SAVEAS 'Save \\&amp;As...'
wx.ID_STOP '\\&amp;Stop'
wx.ID_UNDELETE 'Undelete'
wx.ID_UNDERLINE '\\&amp;Underline'
wx.ID_UNDO '\\&amp;Undo'
wx.ID_UNINDENT '\\&amp;Unindent'
wx.ID_YES '\\&amp;Yes'
wx.ID_ZOOM_100 '\\&amp;Actual Size'
wx.ID_ZOOM_FIT 'Zoom to \\&amp;Fit'
wx.ID_ZOOM_IN 'Zoom \\&amp;In'
wx.ID_ZOOM_OUT 'Zoom \\&amp;Out'
================== ====================
</docstring>
<paramlist>
<param name="parent" type="Window" default=""/>
<param name="id" type="int" default="-1"/>
@ -22823,9 +22930,10 @@ toggle keys. On some platforms those may be the only keys that work.
<class name="FileHistory" oldname="wxFileHistory" module="_misc">
<baseclass name="Object"/>
<constructor name="FileHistory" overloaded="no">
<autodoc>__init__(self, int maxFiles=9) -&gt; FileHistory</autodoc>
<autodoc>__init__(self, int maxFiles=9, int idBase=ID_FILE1) -&gt; FileHistory</autodoc>
<paramlist>
<param name="maxFiles" type="int" default="9"/>
<param name="idBase" type="int" default="wxID_FILE1"/>
</paramlist>
</constructor>
<destructor name="~wxFileHistory" overloaded="no">
@ -24045,8 +24153,21 @@ Identifying art resources
-------------------------
Every bitmap is known to wx.ArtProvider under an unique ID that is
used when requesting a resource from it. The IDs can have one of these
predefined values:
used when requesting a resource from it. The IDs can have one of the
following predefined values. Additionally, any string recognized by
custom art providers registered using `PushProvider` may be used.
GTK+ Note
---------
When running under GTK+ 2, GTK+ stock item IDs (e.g. 'gtk-cdrom') may be used
as well. Additionally, if wxGTK was compiled against GTK+ &gt;= 2.4, then it is
also possible to load icons from current icon theme by specifying their name
without the extension and directory components. Icon themes recognized by GTK+
follow the freedesktop.org Icon Themes specification. Note that themes are
not guaranteed to contain all icons, so wx.ArtProvider may return wx.NullBitmap
or wx.NullIcon. The default theme is typically installed in /usr/share/icons/hicolor.
* wx.ART_ADD_BOOKMARK
* wx.ART_DEL_BOOKMARK
@ -24085,7 +24206,7 @@ Clients
-------
The Client is the entity that calls wx.ArtProvider's `GetBitmap` or
`GetIcon` function. Client IDs server as a hint to wx.ArtProvider
`GetIcon` function. Client IDs serve as a hint to wx.ArtProvider
that is supposed to help it to choose the best looking bitmap. For
example it is often desirable to use slightly different icons in menus
and toolbars even though they represent the same action (e.g.
@ -24099,6 +24220,7 @@ identical bitmap for different client values!
* wx.ART_CMN_DIALOG
* wx.ART_HELP_BROWSER
* wx.ART_MESSAGE_BOX
* wx.ART_BUTTON
* wx.ART_OTHER (used for all requests that don't fit into any
of the categories above)
</docstring>
@ -24126,8 +24248,21 @@ Identifying art resources
-------------------------
Every bitmap is known to wx.ArtProvider under an unique ID that is
used when requesting a resource from it. The IDs can have one of these
predefined values:
used when requesting a resource from it. The IDs can have one of the
following predefined values. Additionally, any string recognized by
custom art providers registered using `PushProvider` may be used.
GTK+ Note
---------
When running under GTK+ 2, GTK+ stock item IDs (e.g. 'gtk-cdrom') may be used
as well. Additionally, if wxGTK was compiled against GTK+ &gt;= 2.4, then it is
also possible to load icons from current icon theme by specifying their name
without the extension and directory components. Icon themes recognized by GTK+
follow the freedesktop.org Icon Themes specification. Note that themes are
not guaranteed to contain all icons, so wx.ArtProvider may return wx.NullBitmap
or wx.NullIcon. The default theme is typically installed in /usr/share/icons/hicolor.
* wx.ART_ADD_BOOKMARK
* wx.ART_DEL_BOOKMARK
@ -24166,7 +24301,7 @@ Clients
-------
The Client is the entity that calls wx.ArtProvider's `GetBitmap` or
`GetIcon` function. Client IDs server as a hint to wx.ArtProvider
`GetIcon` function. Client IDs serve as a hint to wx.ArtProvider
that is supposed to help it to choose the best looking bitmap. For
example it is often desirable to use slightly different icons in menus
and toolbars even though they represent the same action (e.g.
@ -24180,6 +24315,7 @@ identical bitmap for different client values!
* wx.ART_CMN_DIALOG
* wx.ART_HELP_BROWSER
* wx.ART_MESSAGE_BOX
* wx.ART_BUTTON
* wx.ART_OTHER (used for all requests that don't fit into any
of the categories above)
</docstring>
@ -28879,6 +29015,18 @@ this.</docstring>
<method name="CanDragGridSize" type="bool" overloaded="no">
<autodoc>CanDragGridSize(self) -&gt; bool</autodoc>
</method>
<method name="EnableDragCell" type="" overloaded="no">
<autodoc>EnableDragCell(self, bool enable=True)</autodoc>
<paramlist>
<param name="enable" type="bool" default="True"/>
</paramlist>
</method>
<method name="DisableDragCell" type="" overloaded="no">
<autodoc>DisableDragCell(self)</autodoc>
</method>
<method name="CanDragCell" type="bool" overloaded="no">
<autodoc>CanDragCell(self) -&gt; bool</autodoc>
</method>
<method name="SetAttr" type="" overloaded="no">
<autodoc>SetAttr(self, int row, int col, GridCellAttr attr)</autodoc>
<paramlist>
@ -29648,6 +29796,7 @@ EVT_GRID_SELECT_CELL = wx.PyEventBinder( wxEVT_GRID_SELECT_CELL )
EVT_GRID_EDITOR_SHOWN = wx.PyEventBinder( wxEVT_GRID_EDITOR_SHOWN )
EVT_GRID_EDITOR_HIDDEN = wx.PyEventBinder( wxEVT_GRID_EDITOR_HIDDEN )
EVT_GRID_EDITOR_CREATED = wx.PyEventBinder( wxEVT_GRID_EDITOR_CREATED )
EVT_GRID_CELL_BEGIN_DRAG = wx.PyEventBinder( wxEVT_GRID_CELL_BEGIN_DRAG )
# The same as above but with the ability to specify an identifier
@ -29667,6 +29816,8 @@ EVT_GRID_CMD_SELECT_CELL = wx.PyEventBinder( wxEVT_GRID_SELECT_CELL,
EVT_GRID_CMD_EDITOR_SHOWN = wx.PyEventBinder( wxEVT_GRID_EDITOR_SHOWN, 1 )
EVT_GRID_CMD_EDITOR_HIDDEN = wx.PyEventBinder( wxEVT_GRID_EDITOR_HIDDEN, 1 )
EVT_GRID_CMD_EDITOR_CREATED = wx.PyEventBinder( wxEVT_GRID_EDITOR_CREATED, 1 )
EVT_GRID_CMD_CELL_BEGIN_DRAG = wx.PyEventBinder( wxEVT_GRID_CELL_BEGIN_DRAG, 1 )
</pythoncode>
</module>
<module name="html">
@ -40625,8 +40776,8 @@ EVT_DYNAMIC_SASH_UNIFY = wx.PyEventBinder( wxEVT_DYNAMIC_SASH_UNIFY, 1 )
<method name="GetStrings" type="PyObject" overloaded="no">
<autodoc>GetStrings(self) -&gt; PyObject</autodoc>
</method>
<method name="GetListCtrl" type="wxListCtrl" overloaded="no">
<autodoc>GetListCtrl(self) -&gt; wxListCtrl</autodoc>
<method name="GetListCtrl" type="ListCtrl" overloaded="no">
<autodoc>GetListCtrl(self) -&gt; ListCtrl</autodoc>
</method>
<method name="GetDelButton" type="BitmapButton" overloaded="no">
<autodoc>GetDelButton(self) -&gt; BitmapButton</autodoc>

View File

@ -338,6 +338,7 @@ typedef swig_type_info* (*p_SWIG_Python_TypeCheck_t)(char *c, swig_type_info *);
typedef void* (*p_SWIG_Python_TypeCast_t)(swig_type_info *, void *);
typedef swig_type_info* (*p_SWIG_Python_TypeDynamicCast_t)(swig_type_info *, void **);
typedef const char* (*p_SWIG_Python_TypeName_t)(const swig_type_info *);
typedef const char * (*p_SWIG_Python_TypePrettyName_t)(const swig_type_info *);
typedef swig_type_info* (*p_SWIG_Python_TypeQuery_t)(const char *);
typedef void (*p_SWIG_Python_TypeClientData_t)(swig_type_info *, void *);
typedef PyObject* (*p_SWIG_Python_newvarlink_t)(void);
@ -359,6 +360,7 @@ struct wxPyCoreAPI {
p_SWIG_Python_TypeCast_t p_SWIG_Python_TypeCast;
p_SWIG_Python_TypeDynamicCast_t p_SWIG_Python_TypeDynamicCast;
p_SWIG_Python_TypeName_t p_SWIG_Python_TypeName;
p_SWIG_Python_TypePrettyName_t p_SWIG_Python_TypePrettyName;
p_SWIG_Python_TypeQuery_t p_SWIG_Python_TypeQuery;
p_SWIG_Python_TypeClientData_t p_SWIG_Python_TypeClientData;
p_SWIG_Python_newvarlink_t p_SWIG_Python_newvarlink;

View File

@ -137,6 +137,7 @@ static wxPyCoreAPI API = {
(p_SWIG_Python_TypeCast_t)SWIG_Python_TypeCast,
(p_SWIG_Python_TypeDynamicCast_t)SWIG_Python_TypeDynamicCast,
(p_SWIG_Python_TypeName_t)SWIG_Python_TypeName,
(p_SWIG_Python_TypePrettyName_t)SWIG_Python_TypePrettyName,
(p_SWIG_Python_TypeQuery_t)SWIG_Python_TypeQuery,
(p_SWIG_Python_TypeClientData_t)SWIG_Python_TypeClientData,
(p_SWIG_Python_newvarlink_t)SWIG_Python_newvarlink,

View File

@ -62,6 +62,7 @@ SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *);
SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *);
SWIGIMPORT(const char *) SWIG_TypePrettyName(const swig_type_info *);
SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *);
SWIGIMPORT(char *) SWIG_PackData(char *, void *, int);
@ -71,3 +72,4 @@ SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int);
#ifdef __cplusplus
}
#endif

View File

@ -28,6 +28,7 @@
#define SWIG_TypeCast SWIG_Python_TypeCast
#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
#define SWIG_TypeName SWIG_Python_TypeName
#define SWIG_TypePrettyName SWIG_Python_TypePrettyName
#define SWIG_TypeQuery SWIG_Python_TypeQuery
#define SWIG_TypeClientData SWIG_Python_TypeClientData
#define SWIG_PackData SWIG_Python_PackData
@ -104,6 +105,7 @@ SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *);
SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *);
SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **);
SWIGIMPORT(const char *) SWIG_TypeName(const swig_type_info *);
SWIGIMPORT(const char *) SWIG_TypePrettyName(const swig_type_info *);
SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *);
SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *);
SWIGIMPORT(char *) SWIG_PackData(char *, void *, int);
@ -112,13 +114,14 @@ SWIGIMPORT(char *) SWIG_UnpackData(char *, void *, int);
#else
static swig_type_info *swig_type_list = 0;
static swig_type_info **swig_type_list_handle = &swig_type_list;
/* Register a type mapping with the type-checking */
SWIGRUNTIME(swig_type_info *)
SWIG_TypeRegister(swig_type_info *ti) {
swig_type_info *tc, *head, *ret, *next;
/* Check to see if this type has already been registered */
tc = swig_type_list;
tc = *swig_type_list_handle;
while (tc) {
if (strcmp(tc->name, ti->name) == 0) {
/* Already exists in the table. Just add additional types to the list */
@ -133,8 +136,8 @@ SWIG_TypeRegister(swig_type_info *ti) {
next = 0;
/* Place in list */
ti->prev = swig_type_list;
swig_type_list = ti;
ti->prev = *swig_type_list_handle;
*swig_type_list_handle = ti;
/* Build linked lists */
l1:
@ -203,6 +206,26 @@ SWIG_TypeName(const swig_type_info *ty) {
return ty->name;
}
/* Return the pretty name associated with this type,
that is an unmangled type name in a form presentable to the user.
*/
SWIGRUNTIME(const char *)
SWIG_TypePrettyName(const swig_type_info *type) {
/* The "str" field contains the equivalent pretty names of the
type, separated by vertical-bar characters. We choose
to print the last name, as it is often (?) the most
specific. */
if (type->str != NULL) {
const char *last_name = type->str;
const char *s;
for (s = type->str; *s; s++)
if (*s == '|') last_name = s+1;
return last_name;
}
else
return type->name;
}
/*
Compare two type names skipping the space characters, therefore
"char*" == "char *" and "Class<int>" == "Class<int >", etc.
@ -243,7 +266,7 @@ SWIG_TypeEquiv(const char *nb, const char *tb) {
/* Search for a swig_type_info structure */
SWIGRUNTIME(swig_type_info *)
SWIG_TypeQuery(const char *name) {
swig_type_info *ty = swig_type_list;
swig_type_info *ty = *swig_type_list_handle;
while (ty) {
if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty;
if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
@ -261,7 +284,7 @@ SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
equiv = ti->next;
while (equiv) {
if (!equiv->converter) {
tc = swig_type_list;
tc = *swig_type_list_handle;
while (tc) {
if ((strcmp(tc->name, equiv->name) == 0))
SWIG_TypeClientData(tc,clientdata);
@ -276,10 +299,10 @@ SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
SWIGRUNTIME(char *)
SWIG_PackData(char *c, void *ptr, int sz) {
static char hex[17] = "0123456789abcdef";
int i;
unsigned char *u = (unsigned char *) ptr;
const unsigned char *eu = u + sz;
register unsigned char uu;
for (i = 0; i < sz; i++,u++) {
for (; u != eu; ++u) {
uu = *u;
*(c++) = hex[(uu & 0xf0) >> 4];
*(c++) = hex[uu & 0xf];
@ -293,8 +316,8 @@ SWIG_UnpackData(char *c, void *ptr, int sz) {
register unsigned char uu = 0;
register int d;
unsigned char *u = (unsigned char *) ptr;
int i;
for (i = 0; i < sz; i++, u++) {
const unsigned char *eu = u + sz;
for (; u != eu; ++u) {
d = *(c++);
if ((d >= '0') && (d <= '9'))
uu = ((d - '0') << 4);
@ -317,7 +340,7 @@ SWIG_UnpackData(char *c, void *ptr, int sz) {
#endif
/***********************************************************************
* python.swg
* pyrun.swg
*
* This file contains the runtime support for Python modules
* and includes code for managing global variables and pointer
@ -326,8 +349,6 @@ SWIG_UnpackData(char *c, void *ptr, int sz) {
* Author : David Beazley (beazley@cs.uchicago.edu)
************************************************************************/
#include "Python.h"
#ifdef __cplusplus
extern "C" {
#endif
@ -481,6 +502,7 @@ statichere PyTypeObject varlinktype = {
0, /* tp_clear */
0, /* tp_richcompare */
0, /* tp_weaklistoffset */
#if PY_VERSION_HEX >= 0x02020000
0, /* tp_iter */
0, /* tp_iternext */
0, /* tp_methods */
@ -501,6 +523,17 @@ statichere PyTypeObject varlinktype = {
0, /* tp_cache */
0, /* tp_subclasses */
0, /* tp_weaklist */
#endif
#if PY_VERSION_HEX >= 0x02030200
0, /* tp_del */
#endif
#ifdef COUNT_ALLOCS
/* these must be last */
0, /* tp_alloc */
0, /* tp_free */
0, /* tp_maxalloc */
0, /* tp_next */
#endif
};
/* Create a variable linking object for use later */
@ -574,7 +607,7 @@ SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags)
goto type_error;
}
}
c = PyString_AsString(obj);
c = PyString_AS_STRING(obj);
/* Pointer values must start with leading underscore */
if (*c != '_') {
*ptr = (void *) 0;
@ -602,19 +635,17 @@ cobject:
}
if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {
PyObject *zero = PyInt_FromLong(0);
PyObject_SetAttrString(pyobj,(char*)"thisown",zero);
Py_DECREF(zero);
PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False);
}
return 0;
type_error:
PyErr_Clear();
if (flags & SWIG_POINTER_EXCEPTION) {
if (ty && c) {
PyObject *err =
PyString_FromFormat("Type error. Got %s, expected %s",c,ty->name);
PyErr_SetObject(PyExc_TypeError, err);
Py_DECREF(err);
PyErr_Format(PyExc_TypeError,
"Type error. Got %s, expected %s",
c, ty->name);
} else {
PyErr_SetString(PyExc_TypeError,"Expected a pointer");
}
@ -637,7 +668,7 @@ SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, int sz, swig_type_info *ty,
char *c = 0;
if ((!obj) || (!PyString_Check(obj))) goto type_error;
c = PyString_AsString(obj);
c = PyString_AS_STRING(obj);
/* Pointer values must start with leading underscore */
if (*c != '_') goto type_error;
c++;
@ -652,10 +683,9 @@ type_error:
if (flags) {
if (ty && c) {
PyObject *err =
PyString_FromFormat("Type error. Got %s, expected %s",c,ty->name);
PyErr_SetObject(PyExc_TypeError, err);
Py_DECREF(err);
PyErr_Format(PyExc_TypeError,
"Type error. Got %s, expected %s",
c, ty->name);
} else {
PyErr_SetString(PyExc_TypeError,"Expected a pointer");
}
@ -692,9 +722,7 @@ SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) {
Py_DECREF(args);
if (inst) {
if (own) {
PyObject *n = PyInt_FromLong(1);
PyObject_SetAttrString(inst,(char*)"thisown",n);
Py_DECREF(n);
PyObject_SetAttrString(inst,(char*)"thisown",Py_True);
}
robj = inst;
}
@ -769,61 +797,74 @@ static swig_type_info *swig_types[2];
/* -------- TYPES TABLE (END) -------- */
#define SWIG_init initswigrun
/*-----------------------------------------------
@(target):= _swigrun.so
------------------------------------------------*/
#define SWIG_init init_swigrun
#define SWIG_name "swigrun"
#define SWIG_name "_swigrun"
/* Auxiliar swig macros that appear in the header */
/* Auxiliar swig macros */
#define SWIG_OLDOBJ 1
#define SWIG_NEWOBJ SWIG_OLDOBJ + 1
#define SWIG_PYSTR SWIG_NEWOBJ + 1
#ifdef __cplusplus
#define SWIGSTATICINLINE(a) static inline a
#define SWIGSTATIC(a) static a
#define swig_new_array(type, size) (new type[(size)])
#define swig_new_array(size,Type) (new Type[(size)])
#define swig_delete(cptr) delete cptr
#define swig_delete_array(cptr) delete[] cptr
#define swig_const_cast(type,a) const_cast<type>(a)
#define swig_static_cast(type,a) static_cast<type>(a)
#define swig_reinterpret_cast(type,a) reinterpret_cast<type>(a)
#ifdef HAVE_NUMERIC_CAST
#define swig_numeric_cast(type,a) numeric_cast<type>(a)
#else
#define swig_numeric_cast(type,a) static_cast<type>(a)
#endif
#define swig_const_cast(a,Type) const_cast<Type >(a)
#define swig_static_cast(a,Type) static_cast<Type >(a)
#define swig_reinterpret_cast(a,Type) reinterpret_cast<Type >(a)
#define swig_new_copy(ptr,Type) (new Type(*ptr))
#define swig_numeric_cast(a,Type) static_cast<Type >(a)
#else /* C case */
#define SWIGSTATICINLINE(a) static a
#define SWIGSTATIC(a) static a
#define swig_new_array(type, size) ((type*) malloc((size)*sizeof(type)))
#define swig_new_array(size,Type) ((Type*) malloc((size)*sizeof(Type)))
#define swig_delete(cptr) free((char*)cptr)
#define swig_delete_array(cptr) free((char*)cptr)
#define swig_const_cast(type,a) (type)(a)
#define swig_static_cast(type,a) (type)(a)
#define swig_reinterpret_cast(type,a) (type)(a)
#define swig_numeric_cast(type,a) (type)(a)
#define swig_const_cast(a,Type) (Type)(a)
#define swig_static_cast(a,Type) (Type)(a)
#define swig_reinterpret_cast(a,Type) (Type)(a)
#define swig_numeric_cast(a,Type) (Type)(a)
#define swig_new_copy(ptr,Type) ((Type*)memcpy(malloc(sizeof(Type)),ptr,sizeof(Type)))
#endif /* __cplusplus */
#define SWIG_FromSignedChar PyInt_FromLong
#define SWIG_FromUnsignedChar PyInt_FromLong
#define SWIG_FromShort PyInt_FromLong
#define SWIG_FromUnsignedShort PyInt_FromLong
#define SWIG_FromInt PyInt_FromLong
#define SWIG_FromLong PyInt_FromLong
#define SWIG_FromFloat PyFloat_FromDouble
#define SWIG_FromDouble PyFloat_FromDouble
#define SWIG_FromFloat PyFloat_FromDouble
#define SWIG_FromDouble PyFloat_FromDouble
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_signed_SS_char PyInt_FromLong
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_unsigned_SS_char PyInt_FromLong
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_short PyInt_FromLong
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_unsigned_SS_short PyInt_FromLong
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_int PyInt_FromLong
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_long PyInt_FromLong
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_float PyFloat_FromDouble
/*@@*/
/*@/opt/swig/share/swig/1.3.22/python/pymacros.swg,63,SWIG_define@*/
#define SWIG_From_double PyFloat_FromDouble
/*@@*/
#ifdef __cplusplus
extern "C" {
#endif
static PyMethodDef SwigMethods[] = {
{ NULL, NULL }
{ NULL, NULL, 0, NULL }
};
@ -840,7 +881,7 @@ _swigt__p_char,
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
static swig_const_info swig_const_table[] = {
{0}};
{0, 0, 0, 0.0, 0, 0}};
#ifdef __cplusplus
}

View File

@ -0,0 +1,69 @@
// These fragments are inserted in modules that need to convert PyObjects to
// integer values, my versions allow any numeric type to be used, as long as
// it can be converted to a PyInt. (Specifically, I allow floats where the
// default SWIG_AsVal_long would just raise an exception.
//
// NOTE: This file has to be %included very early in the SWIGging process as
// it no longer allows existing fragments to be replaced with one of the same
// name. So to make this work I had to bring a copy of python.swg into this
// project and do the %include there before most other of the standard swiglib
// files are %included. This may change in 1.3.23, so adjust accordingly then.
%fragment(SWIG_AsVal_frag(long), "header") {
// See my_fragments.i
SWIGSTATICINLINE(int)
SWIG_AsVal(long)(PyObject* obj, long* val)
{
if (PyNumber_Check(obj)) {
if (val) *val = PyInt_AsLong(obj);
return 1;
}
else {
PyObject* errmsg = PyString_FromFormat("Expected number, got %s",
obj->ob_type->tp_name);
PyErr_SetObject(PyExc_TypeError, errmsg);
Py_DECREF(errmsg);
}
return 0;
}
}
%fragment(SWIG_AsVal_frag(unsigned long), "header",
fragment=SWIG_AsVal_frag(long)) {
// See my_fragments.i
SWIGSTATICINLINE(int)
SWIG_AsVal(unsigned long)(PyObject* obj, unsigned long* val)
{
long v = 0;
if (SWIG_AsVal_long(obj, &v) && v < 0) {
PyErr_SetString(PyExc_TypeError, "negative value received for unsigned type");
return 0;
}
else if (val)
*val = (unsigned long)v;
return 1;
}
}
%fragment(SWIG_AsVal_frag(double), "header") {
// See my_fragments.i
SWIGSTATICINLINE(int)
SWIG_AsVal(double)(PyObject *obj, double* val)
{
if (PyNumber_Check(obj)) {
if (val) *val = PyFloat_AsDouble(obj);
return 1;
}
else {
PyObject* errmsg = PyString_FromFormat("Expected number, got %s",
obj->ob_type->tp_name);
PyErr_SetObject(PyExc_TypeError, errmsg);
Py_DECREF(errmsg);
}
return 0;
}
}

View File

@ -283,62 +283,6 @@ MAKE_INT_ARRAY_TYPEMAPS(styles, styles_field)
}
// These fragments are iserted in modules that need to convert PyObjects to
// integer values, my versions allow any numeric type to be used, as long as
// it can be converted to a PyInt. (Specifically, I allow floats where the
// default SWIG_AsLong would raise an obsucre exception from within
// PyLong_AsLong.)
%fragment("SWIG_AsLong","header") %{
SWIGSTATICINLINE(long)
SWIG_AsLong(PyObject * obj)
{
if (PyNumber_Check(obj))
return PyInt_AsLong(obj);
else {
PyObject* errmsg = PyString_FromFormat("Expected number, got %s",
obj->ob_type->tp_name);
PyErr_SetObject(PyExc_TypeError, errmsg);
Py_DECREF(errmsg);
return 0;
}
}
%}
%fragment("SWIG_AsUnsignedLong","header", fragment="SWIG_AsLong") %{
SWIGSTATICINLINE(unsigned long)
SWIG_AsUnsignedLong(PyObject * obj)
{
if (PyLong_Check(obj)) {
return PyLong_AsUnsignedLong(obj);
} else {
long i = SWIG_AsLong(obj);
if ( !PyErr_Occurred() && (i < 0)) {
PyErr_SetString(PyExc_TypeError, "negative value received for unsigned type");
}
return i;
}
}
%}
%fragment("SWIG_AsDouble","header") %{
SWIGSTATICINLINE(double)
SWIG_AsDouble(PyObject *obj)
{
if (PyNumber_Check(obj))
return PyFloat_AsDouble(obj);
else {
PyObject* errmsg = PyString_FromFormat("Expected number, got %s",
obj->ob_type->tp_name);
PyErr_SetObject(PyExc_TypeError, errmsg);
Py_DECREF(errmsg);
return 0;
}
}
%}
//---------------------------------------------------------------------------
// Typemap for when GDI objects are returned by reference. This will cause a
// copy to be made instead of returning a reference to the same instance. The

View File

@ -8,8 +8,6 @@
*
************************************************************************/
#include "Python.h"
#ifdef __cplusplus
extern "C" {
#endif
@ -77,3 +75,4 @@ SWIGIMPORT(void) SWIG_Python_InstallConstants(PyObject *d, swig_con
#ifdef __cplusplus
}
#endif

90
wxPython/src/python.swg Normal file
View File

@ -0,0 +1,90 @@
/* -----------------------------------------------------------------------------
* python.swg
*
* Python configuration module.
* ----------------------------------------------------------------------------- */
/* Python.h has to appear first */
%insert(runtime) %{
#include "Python.h"
%}
%insert(runtime) "precommon.swg";
%insert(runtime) "common.swg"; /* Common type-checking code */
%insert(runtime) "pyrun.swg"; /* Python run-time code */
/* Special directive for shadow code */
#define %shadow %insert("shadow")
#define %pythoncode %insert("python")
%include "pymacros.swg"
/* -----------------------------------------------------------------------------
* SWIGTYPE typemaps
* ----------------------------------------------------------------------------- */
%include "pyswigtype.swg"
/* -----------------------------------------------------------------------------
* Check for local fragment defintions
* ----------------------------------------------------------------------------- */
%include "my_fragments.i"
/* -----------------------------------------------------------------------------
* Typemap specializations
* ----------------------------------------------------------------------------- */
%include "pyinout.swg"
%include "pyvoid.swg"
%include "pyobject.swg"
%include "pystrbase.swg"
%include "pystrings.swg"
%include "pyvaltypes.swg"
%include "pyptrtypes.swg"
%include "pyprimtypes.swg"
%include "pymisctypes.swg"
%include "pyenum.swg"
/* ------------------------------------------------------------
* Overloaded operator support
* ------------------------------------------------------------ */
%include "pyopers.swg"
/* ------------------------------------------------------------
* Warnings for Python keywords
* ------------------------------------------------------------ */
%include "pythonkw.swg"
/* ------------------------------------------------------------
* The start of the Python initialization function
* ------------------------------------------------------------ */
%init %{
#ifdef __cplusplus
extern "C"
#endif
SWIGEXPORT(void) SWIG_init(void) {
static PyObject *SWIG_globals = 0;
static int typeinit = 0;
PyObject *m, *d;
int i;
if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
m = Py_InitModule((char *) SWIG_name, SwigMethods);
d = PyModule_GetDict(m);
if (!typeinit) {
for (i = 0; swig_types_initial[i]; i++) {
swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
}
typeinit = 1;
}
SWIG_InstallConstants(d,swig_const_table);
%}