are initialized. They are now created as a wrapper object that initializes itself on first use (when an attribute of the object is requested.) This was needed because of similar delayed initialization functionality that was implemented in wxWidgets, but the end result is cleaner for wxPython as well, and allowed me to remove some ugly code under the covers. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
123 lines
3.1 KiB
OpenEdge ABL
123 lines
3.1 KiB
OpenEdge ABL
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: core.i
|
|
// Purpose: SWIG interface file for the CORE wxPython classes and stuff.
|
|
//
|
|
// Author: Robin Dunn
|
|
//
|
|
// Created: 22-May-1998
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 1998 by Total Control Software
|
|
// Licence: wxWindows license
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
%module(package="wx") _core
|
|
|
|
%{
|
|
#include "wx/wxPython/wxPython_int.h"
|
|
#include "wx/wxPython/pyclasses.h"
|
|
%}
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
#ifndef SWIGXML
|
|
%include typemaps.i
|
|
%include my_typemaps.i
|
|
|
|
%include _core_api.i
|
|
%include __core_rename.i
|
|
|
|
%native(_wxPySetDictionary) __wxPySetDictionary;
|
|
|
|
|
|
%pythoncode {
|
|
%#// Give a reference to the dictionary of this module to the C++ extension
|
|
%#// code.
|
|
_core_._wxPySetDictionary(vars())
|
|
|
|
%#// A little trick to make 'wx' be a reference to this module so wx.Names can
|
|
%#// be used here.
|
|
import sys as _sys
|
|
wx = _sys.modules[__name__]
|
|
|
|
}
|
|
#endif
|
|
|
|
|
|
%pythoncode {
|
|
%#----------------------------------------------------------------------------
|
|
|
|
def _deprecated(callable, msg=None):
|
|
"""
|
|
Create a wrapper function that will raise a DeprecationWarning
|
|
before calling the callable.
|
|
"""
|
|
if msg is None:
|
|
msg = "%s is deprecated" % callable
|
|
def deprecatedWrapper(*args, **kwargs):
|
|
import warnings
|
|
warnings.warn(msg, DeprecationWarning, stacklevel=2)
|
|
return callable(*args, **kwargs)
|
|
deprecatedWrapper.__doc__ = msg
|
|
return deprecatedWrapper
|
|
|
|
|
|
%#----------------------------------------------------------------------------
|
|
}
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// Include all the files that make up the core module
|
|
|
|
// wxObject, functions and other base stuff
|
|
%include _defs.i
|
|
|
|
MAKE_CONST_WXSTRING(EmptyString);
|
|
|
|
%include _swigtype.i
|
|
|
|
%include _obj.i
|
|
%include _gdicmn.i
|
|
%include _streams.i
|
|
%include _filesys.i
|
|
%include _image.i
|
|
|
|
|
|
// Events, event handlers, base Windows and such
|
|
%include _evthandler.i
|
|
%include _event.i
|
|
%include _app.i
|
|
%include _evtloop.i
|
|
%include _accel.i
|
|
%include _window.i
|
|
%include _validator.i
|
|
%include _menu.i
|
|
%include _control.i
|
|
|
|
|
|
// Layout
|
|
%include _sizers.i
|
|
%include _gbsizer.i
|
|
%include _constraints.i
|
|
|
|
|
|
%pythoncode "_core_ex.py"
|
|
|
|
//---------------------------------------------------------------------------
|
|
// This code gets added to the module initialization function
|
|
|
|
%init %{
|
|
// Initialize threading, some globals and such
|
|
__wxPyPreStart(d);
|
|
|
|
|
|
// Although these are defined in __version__ they need to be here too so
|
|
// that an assert can be done to ensure that the wxPython and the wxWindows
|
|
// versions match.
|
|
PyDict_SetItemString(d,"MAJOR_VERSION", PyInt_FromLong((long)wxMAJOR_VERSION ));
|
|
PyDict_SetItemString(d,"MINOR_VERSION", PyInt_FromLong((long)wxMINOR_VERSION ));
|
|
PyDict_SetItemString(d,"RELEASE_VERSION", PyInt_FromLong((long)wxRELEASE_NUMBER ));
|
|
%}
|
|
|
|
//---------------------------------------------------------------------------
|