Updated the build docs a bit, added wxMetafileDataObject, and some

cleanup and fixes here and there.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14038 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2002-02-06 21:03:27 +00:00
parent f2a139adfd
commit f54a35fe22
11 changed files with 185 additions and 27 deletions

View File

@@ -51,10 +51,10 @@ get things from various CVS repositories as needed.
ln -s ../wxPython . ln -s ../wxPython .
8. Now just navigate in the Finder to the demo directory and double 8. Now just navigate in the Finder to the demo directory and double
click demo.py, or simple.py, or whatever you want to run. click demo.py, or simple.py, or whatever you want to run. Or from
(Unfortunately it can't be done from the commandline in a terminal a command line you can run it this way:
window. You can open the Console app to see any tracebacks or
other output.) open -a Python demo.py
9. Figure out what's wrong, figure out how to fix it, and then send 9. Figure out what's wrong, figure out how to fix it, and then send
the patches to me. <wink> the patches to me. <wink>

View File

@@ -124,6 +124,22 @@ D. If using the sources (either from the tarball or from CVS) then
To make a static library and not make a shared library, use the To make a static library and not make a shared library, use the
--disable-shared and --enable-static flags. --disable-shared and --enable-static flags.
NOTE: It has been discovered that some pre-built distributions of
Python are built with options that can cause incompatibilities
between wxPython and wxGTK. Typically these are things like large
file support on the platforms that have it. This causes some basic
types, like off_t, to be typedef'd differently causing the C++
method signatures to be incompatible and giving link errors. The
way to fix this is to activate these same settings in the wxGTK
build, usually by looking at the flags and options used in
compiling wxPython that are different from the options used on
wxGTK compiles. For example, on SuSE doing the following before
running wxGTK's configure seems to take care of it:
export CFLAGS="-D_FILE_OFFSET_BITS=64 -DHAVE_LARGEFILE_SUPPORT"
export CXXFLAGS=$CFLAGS
E. Now just compile and install. You need to use GNU make, so if your E. Now just compile and install. You need to use GNU make, so if your
system has something else get GNU make and build and install it and system has something else get GNU make and build and install it and
use it instead of your system's default make command. use it instead of your system's default make command.
@@ -162,7 +178,7 @@ B. As mentioned previouslly, wxPython is built with the standard
it doesn't, there doesn't seem to be a way to override the values it doesn't, there doesn't seem to be a way to override the values
that Distutils uses without hacking either Distutils itself, or that Distutils uses without hacking either Distutils itself, or
Python's Makefile. (Complain to the distutils-sig about this Python's Makefile. (Complain to the distutils-sig about this
please.) For example, on my Solaris system I had to edit please.) For example, on a Solaris system I had to edit
/usr/local/lib/python1.5/config/Makefile and replace /usr/local/lib/python1.5/config/Makefile and replace
LDSHARED=ld -G LDSHARED=ld -G
@@ -184,9 +200,9 @@ B. As mentioned previouslly, wxPython is built with the standard
In my case on Solaris wxPython applications would core dump on In my case on Solaris wxPython applications would core dump on
exit. The core file indicated that the fault happened after exit. The core file indicated that the fault happened after
_exit() was called and the run-time was trying to execute cleanup _exit() was called and the run-time library was trying to execute
code. After relinking the Python executable the problem went away. cleanup code. After relinking the Python executable the problem
To build Python to link with the C++ linker do this: went away. To build Python to link with the C++ linker do this:
cd Python-2.0 # wherever the root of the source tree is cd Python-2.0 # wherever the root of the source tree is
rm python # in case it's still there from an old build rm python # in case it's still there from an old build

View File

@@ -322,14 +322,6 @@ bool wxGLCanvas::Create(wxWindow *parent,
msflags |= WS_BORDER; msflags |= WS_BORDER;
} }
// calculate the value to return from WM_GETDLGCODE handler
if ( GetWindowStyleFlag() & wxWANTS_CHARS )
{
// want everything: i.e. all keys and WM_CHAR message
m_lDlgCode = DLGC_WANTARROWS | DLGC_WANTCHARS |
DLGC_WANTTAB | DLGC_WANTMESSAGE;
}
return MSWCreate(wxGLCanvasClassName, NULL, pos, size, msflags, exStyle); return MSWCreate(wxGLCanvasClassName, NULL, pos, size, msflags, exStyle);
} }
@@ -354,11 +346,11 @@ static void AdjustPFDForAttributes(PIXELFORMATDESCRIPTOR& pfd, int *attribList)
case WX_GL_LEVEL: case WX_GL_LEVEL:
// this member looks like it may be obsolete // this member looks like it may be obsolete
if (attribList[arg] > 0) { if (attribList[arg] > 0) {
pfd.iLayerType = PFD_OVERLAY_PLANE; pfd.iLayerType = (BYTE)PFD_OVERLAY_PLANE;
} else if (attribList[arg] < 0) { } else if (attribList[arg] < 0) {
pfd.iLayerType = PFD_UNDERLAY_PLANE; pfd.iLayerType = (BYTE)PFD_UNDERLAY_PLANE;
} else { } else {
pfd.iLayerType = PFD_MAIN_PLANE; pfd.iLayerType = (BYTE)PFD_MAIN_PLANE;
} }
arg++; arg++;
break; break;

View File

@@ -1336,7 +1336,6 @@ SWIGEXPORT(void) initxrcc() {
wxClassInfo::CleanUpClasses(); wxClassInfo::CleanUpClasses();
wxClassInfo::InitializeClasses(); wxClassInfo::InitializeClasses();
wxXmlInitXmlModule();
wxXmlInitResourceModule(); wxXmlInitResourceModule();
wxXmlResource::Get()->InitAllHandlers(); wxXmlResource::Get()->InitAllHandlers();

View File

@@ -32,6 +32,7 @@ class SimpleGrid(wxGrid): ##, wxGridAutoEditMixin):
self.SetCellValue(5, 0, "123") self.SetCellValue(5, 0, "123")
self.SetCellEditor(6, 0, wxGridCellFloatEditor()) self.SetCellEditor(6, 0, wxGridCellFloatEditor())
self.SetCellValue(6, 0, "123.34") self.SetCellValue(6, 0, "123.34")
self.SetCellEditor(7, 0, wxGridCellNumberEditor())
self.SetCellValue(6, 3, "You can veto editing this cell") self.SetCellValue(6, 3, "You can veto editing this cell")

View File

@@ -1,2 +1,2 @@
golf.pdf *.pdf
showTips showTips

View File

@@ -731,13 +731,8 @@ if not GL_ONLY and BUILD_XRC:
'%s/xh_unkwn.cpp' % XMLLOC, '%s/xh_unkwn.cpp' % XMLLOC,
'%s/xml.cpp' % XMLLOC, '%s/xml.cpp' % XMLLOC,
'%s/xmlbin.cpp' % XMLLOC,
'%s/xmlbinz.cpp' % XMLLOC,
'%s/xmlexpat.cpp' % XMLLOC,
'%s/xmlres.cpp' % XMLLOC, '%s/xmlres.cpp' % XMLLOC,
'%s/xmlrsall.cpp' % XMLLOC, '%s/xmlrsall.cpp' % XMLLOC,
'%s/xmlwrite.cpp' % XMLLOC,
] + swig_sources, ] + swig_sources,

View File

@@ -367,6 +367,25 @@ public:
void SetURL(const wxString& url); void SetURL(const wxString& url);
}; };
//----------------------------------------------------------------------
#ifndef __WXGTK__
%{
#include <wx/metafile.h>
%}
class wxMetafileDataObject : public wxDataObjectSimple
{
public:
wxMetafileDataObject();
void SetMetafile(const wxMetafile& metafile);
wxMetafile GetMetafile() const;
};
#endif
//---------------------------------------------------------------------- //----------------------------------------------------------------------
//---------------------------------------------------------------------- //----------------------------------------------------------------------
//---------------------------------------------------------------------- //----------------------------------------------------------------------

View File

@@ -1148,7 +1148,7 @@ public:
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
#ifdef __WXMSW__ #ifndef __WXGTK__
%{ %{
#include <wx/metafile.h> #include <wx/metafile.h>

View File

@@ -200,6 +200,8 @@ void wxPyBitmapDataObject::SetBitmap(const wxBitmap& bitmap) {
wxPyEndBlockThreads(); wxPyEndBlockThreads();
} }
#include <wx/metafile.h>
// See below in the init function... // See below in the init function...
wxClipboard* wxPyTheClipboard; wxClipboard* wxPyTheClipboard;
@@ -2103,6 +2105,115 @@ static PyObject *_wrap_wxURLDataObject_SetURL(PyObject *self, PyObject *args, Py
return _resultobj; return _resultobj;
} }
static void *SwigwxMetafileDataObjectTowxDataObjectSimple(void *ptr) {
wxMetafileDataObject *src;
wxDataObjectSimple *dest;
src = (wxMetafileDataObject *) ptr;
dest = (wxDataObjectSimple *) src;
return (void *) dest;
}
static void *SwigwxMetafileDataObjectTowxDataObject(void *ptr) {
wxMetafileDataObject *src;
wxDataObject *dest;
src = (wxMetafileDataObject *) ptr;
dest = (wxDataObject *) src;
return (void *) dest;
}
#define new_wxMetafileDataObject() (new wxMetafileDataObject())
static PyObject *_wrap_new_wxMetafileDataObject(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxMetafileDataObject * _result;
char *_kwnames[] = { NULL };
char _ptemp[128];
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":new_wxMetafileDataObject",_kwnames))
return NULL;
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
_result = (wxMetafileDataObject *)new_wxMetafileDataObject();
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;
} if (_result) {
SWIG_MakePtr(_ptemp, (char *) _result,"_wxMetafileDataObject_p");
_resultobj = Py_BuildValue("s",_ptemp);
} else {
Py_INCREF(Py_None);
_resultobj = Py_None;
}
return _resultobj;
}
#define wxMetafileDataObject_SetMetafile(_swigobj,_swigarg0) (_swigobj->SetMetafile(_swigarg0))
static PyObject *_wrap_wxMetafileDataObject_SetMetafile(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxMetafileDataObject * _arg0;
wxMetafile * _arg1;
PyObject * _argo0 = 0;
PyObject * _argo1 = 0;
char *_kwnames[] = { "self","metafile", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxMetafileDataObject_SetMetafile",_kwnames,&_argo0,&_argo1))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMetafileDataObject_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMetafileDataObject_SetMetafile. Expected _wxMetafileDataObject_p.");
return NULL;
}
}
if (_argo1) {
if (_argo1 == Py_None) { _arg1 = NULL; }
else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxMetafile_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxMetafileDataObject_SetMetafile. Expected _wxMetafile_p.");
return NULL;
}
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
wxMetafileDataObject_SetMetafile(_arg0,*_arg1);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;
} Py_INCREF(Py_None);
_resultobj = Py_None;
return _resultobj;
}
#define wxMetafileDataObject_GetMetafile(_swigobj) (_swigobj->GetMetafile())
static PyObject *_wrap_wxMetafileDataObject_GetMetafile(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
wxMetafile * _result;
wxMetafileDataObject * _arg0;
PyObject * _argo0 = 0;
char *_kwnames[] = { "self", NULL };
char _ptemp[128];
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxMetafileDataObject_GetMetafile",_kwnames,&_argo0))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxMetafileDataObject_p")) {
PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxMetafileDataObject_GetMetafile. Expected _wxMetafileDataObject_p.");
return NULL;
}
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
_result = new wxMetafile (wxMetafileDataObject_GetMetafile(_arg0));
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;
} SWIG_MakePtr(_ptemp, (void *) _result,"_wxMetafile_p");
_resultobj = Py_BuildValue("s",_ptemp);
return _resultobj;
}
static void *SwigwxClipboardTowxObject(void *ptr) { static void *SwigwxClipboardTowxObject(void *ptr) {
wxClipboard *src; wxClipboard *src;
wxObject *dest; wxObject *dest;
@@ -3586,6 +3697,9 @@ static PyMethodDef clip_dndcMethods[] = {
{ "wxClipboard_Close", (PyCFunction) _wrap_wxClipboard_Close, METH_VARARGS | METH_KEYWORDS }, { "wxClipboard_Close", (PyCFunction) _wrap_wxClipboard_Close, METH_VARARGS | METH_KEYWORDS },
{ "wxClipboard_Open", (PyCFunction) _wrap_wxClipboard_Open, METH_VARARGS | METH_KEYWORDS }, { "wxClipboard_Open", (PyCFunction) _wrap_wxClipboard_Open, METH_VARARGS | METH_KEYWORDS },
{ "new_wxClipboard", (PyCFunction) _wrap_new_wxClipboard, METH_VARARGS | METH_KEYWORDS }, { "new_wxClipboard", (PyCFunction) _wrap_new_wxClipboard, METH_VARARGS | METH_KEYWORDS },
{ "wxMetafileDataObject_GetMetafile", (PyCFunction) _wrap_wxMetafileDataObject_GetMetafile, METH_VARARGS | METH_KEYWORDS },
{ "wxMetafileDataObject_SetMetafile", (PyCFunction) _wrap_wxMetafileDataObject_SetMetafile, METH_VARARGS | METH_KEYWORDS },
{ "new_wxMetafileDataObject", (PyCFunction) _wrap_new_wxMetafileDataObject, METH_VARARGS | METH_KEYWORDS },
{ "wxURLDataObject_SetURL", (PyCFunction) _wrap_wxURLDataObject_SetURL, METH_VARARGS | METH_KEYWORDS }, { "wxURLDataObject_SetURL", (PyCFunction) _wrap_wxURLDataObject_SetURL, METH_VARARGS | METH_KEYWORDS },
{ "wxURLDataObject_GetURL", (PyCFunction) _wrap_wxURLDataObject_GetURL, METH_VARARGS | METH_KEYWORDS }, { "wxURLDataObject_GetURL", (PyCFunction) _wrap_wxURLDataObject_GetURL, METH_VARARGS | METH_KEYWORDS },
{ "new_wxURLDataObject", (PyCFunction) _wrap_new_wxURLDataObject, METH_VARARGS | METH_KEYWORDS }, { "new_wxURLDataObject", (PyCFunction) _wrap_new_wxURLDataObject, METH_VARARGS | METH_KEYWORDS },
@@ -3652,6 +3766,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
{ "_wxPrintQuality","_size_t",0}, { "_wxPrintQuality","_size_t",0},
{ "_wxPrintQuality","_time_t",0}, { "_wxPrintQuality","_time_t",0},
{ "_byte","_unsigned_char",0}, { "_byte","_unsigned_char",0},
{ "_wxDataObject","_wxMetafileDataObject",SwigwxMetafileDataObjectTowxDataObject},
{ "_wxDataObject","_wxURLDataObject",SwigwxURLDataObjectTowxDataObject}, { "_wxDataObject","_wxURLDataObject",SwigwxURLDataObjectTowxDataObject},
{ "_wxDataObject","_wxCustomDataObject",SwigwxCustomDataObjectTowxDataObject}, { "_wxDataObject","_wxCustomDataObject",SwigwxCustomDataObjectTowxDataObject},
{ "_wxDataObject","_wxFileDataObject",SwigwxFileDataObjectTowxDataObject}, { "_wxDataObject","_wxFileDataObject",SwigwxFileDataObjectTowxDataObject},
@@ -3664,6 +3779,7 @@ static struct { char *n1; char *n2; void *(*pcnv)(void *); } _swig_mapping[] = {
{ "_wxDataObject","_wxDataObjectSimple",SwigwxDataObjectSimpleTowxDataObject}, { "_wxDataObject","_wxDataObjectSimple",SwigwxDataObjectSimpleTowxDataObject},
{ "_long","_unsigned_long",0}, { "_long","_unsigned_long",0},
{ "_long","_signed_long",0}, { "_long","_signed_long",0},
{ "_wxDataObjectSimple","_wxMetafileDataObject",SwigwxMetafileDataObjectTowxDataObjectSimple},
{ "_wxDataObjectSimple","_wxCustomDataObject",SwigwxCustomDataObjectTowxDataObjectSimple}, { "_wxDataObjectSimple","_wxCustomDataObject",SwigwxCustomDataObjectTowxDataObjectSimple},
{ "_wxDataObjectSimple","_wxFileDataObject",SwigwxFileDataObjectTowxDataObjectSimple}, { "_wxDataObjectSimple","_wxFileDataObject",SwigwxFileDataObjectTowxDataObjectSimple},
{ "_wxDataObjectSimple","_wxPyBitmapDataObject",SwigwxPyBitmapDataObjectTowxDataObjectSimple}, { "_wxDataObjectSimple","_wxPyBitmapDataObject",SwigwxPyBitmapDataObjectTowxDataObjectSimple},

View File

@@ -278,6 +278,26 @@ class wxURLDataObject(wxURLDataObjectPtr):
class wxMetafileDataObjectPtr(wxDataObjectSimplePtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def SetMetafile(self, *_args, **_kwargs):
val = apply(clip_dndc.wxMetafileDataObject_SetMetafile,(self,) + _args, _kwargs)
return val
def GetMetafile(self, *_args, **_kwargs):
val = apply(clip_dndc.wxMetafileDataObject_GetMetafile,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxMetafileDataObject instance at %s>" % (self.this,)
class wxMetafileDataObject(wxMetafileDataObjectPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(clip_dndc.new_wxMetafileDataObject,_args,_kwargs)
self.thisown = 1
class wxClipboardPtr(wxObjectPtr): class wxClipboardPtr(wxObjectPtr):
def __init__(self,this): def __init__(self,this):
self.this = this self.this = this