forked from commontk/PythonQt
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
merged contributions from commontk/PythonQt@svn-mirror...patched
changed polymorphichandler char** to const char** git-svn-id: https://pythonqt.svn.sourceforge.net/svnroot/pythonqt/trunk@202 ea8d5007-eb21-0410-b261-ccb3ea6e24a9
- Loading branch information
florianlink
committed
Nov 14, 2011
1 parent
8846431
commit d3f2147
Showing
10 changed files
with
245 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -59,3 +59,4 @@ class PYTHONQT_EXPORT PythonQtCppWrapperFactory | |
}; | ||
|
||
#endif | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -73,3 +73,4 @@ class PythonQtImportFileInterface { | |
}; | ||
|
||
#endif | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* | ||
* | ||
* Copyright (C) 2011 MeVis Medical Solutions AG All Rights Reserved. | ||
* | ||
* This library is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 of the License, or (at your option) any later version. | ||
* | ||
* This library is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* Further, this software is distributed without any warranty that it is | ||
* free of the rightful claim of any third person regarding infringement | ||
* or the like. Any license provided herein, whether implied or | ||
* otherwise, applies only to this software file. Patent licenses, if | ||
* any, provided herein do not apply to combinations of this program with | ||
* other software, or any other product whatsoever. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with this library; if not, write to the Free Software | ||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
* | ||
* Contact information: MeVis Medical Solutions AG, Universitaetsallee 29, | ||
* 28359 Bremen, Germany or: | ||
* | ||
* http://www.mevis.de | ||
* | ||
*/ | ||
|
||
#ifndef __PythonQtPythonInclude_h | ||
#define __PythonQtPythonInclude_h | ||
|
||
// Undefine macros that Python.h defines to avoid redefinition warning. | ||
#undef _POSIX_C_SOURCE | ||
#undef _POSIX_THREADS | ||
#undef _XOPEN_SOURCE | ||
|
||
// If PYTHONQT_USE_RELEASE_PYTHON_FALLBACK is enabled, try to link | ||
// release Python DLL if it is available by undefining _DEBUG while | ||
// including Python.h | ||
#if defined(PYTHONQT_USE_RELEASE_PYTHON_FALLBACK) && defined(_DEBUG) | ||
#undef _DEBUG | ||
#if defined(_MSC_VER) && _MSC_VER >= 1400 | ||
#define _CRT_NOFORCE_MANIFEST 1 | ||
#endif | ||
#include <Python.h> | ||
#define _DEBUG | ||
#else | ||
#include <Python.h> | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
/* | ||
* | ||
* Copyright (C) 2011 MeVis Medical Solutions AG All Rights Reserved. | ||
* | ||
* This library is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 of the License, or (at your option) any later version. | ||
* | ||
* This library is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* Further, this software is distributed without any warranty that it is | ||
* free of the rightful claim of any third person regarding infringement | ||
* or the like. Any license provided herein, whether implied or | ||
* otherwise, applies only to this software file. Patent licenses, if | ||
* any, provided herein do not apply to combinations of this program with | ||
* other software, or any other product whatsoever. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with this library; if not, write to the Free Software | ||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
* | ||
* Contact information: MeVis Medical Solutions AG, Universitaetsallee 29, | ||
* 28359 Bremen, Germany or: | ||
* | ||
* http://www.mevis.de | ||
* | ||
*/ | ||
|
||
//---------------------------------------------------------------------------------- | ||
/*! | ||
// \file PythonQtStdIn.cpp | ||
// \author Jean-Christophe Fillion-Robin | ||
// \author Last changed by $Author: jcfr $ | ||
// \date 2011 | ||
*/ | ||
//---------------------------------------------------------------------------------- | ||
|
||
#include "PythonQtStdIn.h" | ||
|
||
static PyObject *PythonQtStdInRedirect_new(PyTypeObject *type, PyObject * /*args*/, PyObject * /*kwds*/) | ||
{ | ||
PythonQtStdInRedirect *self; | ||
self = (PythonQtStdInRedirect *)type->tp_alloc(type, 0); | ||
self->_cb = NULL; | ||
self->_callData = NULL; | ||
|
||
return (PyObject *)self; | ||
} | ||
|
||
static PyObject *PythonQtStdInRedirect_readline(PyObject * self, PyObject * args) | ||
{ | ||
PythonQtStdInRedirect* s = (PythonQtStdInRedirect*)self; | ||
QString string; | ||
if (s->_cb) { | ||
string = (*s->_cb)(s->_callData); | ||
} | ||
return Py_BuildValue(const_cast<char*>("s"), const_cast<char*>(string.toAscii().data())); | ||
} | ||
|
||
static PyMethodDef PythonQtStdInRedirect_methods[] = { | ||
{"readline", (PyCFunction)PythonQtStdInRedirect_readline, METH_VARARGS, | ||
"read input line"}, | ||
{NULL, NULL, 0 , NULL} /* sentinel */ | ||
}; | ||
|
||
static PyMemberDef PythonQtStdInRedirect_members[] = { | ||
{NULL} /* Sentinel */ | ||
}; | ||
|
||
PyTypeObject PythonQtStdInRedirectType = { | ||
PyObject_HEAD_INIT(NULL) | ||
0, /*ob_size*/ | ||
"PythonQtStdInRedirect", /*tp_name*/ | ||
sizeof(PythonQtStdInRedirect), /*tp_basicsize*/ | ||
0, /*tp_itemsize*/ | ||
0, /*tp_dealloc*/ | ||
0, /*tp_print*/ | ||
0, /*tp_getattr*/ | ||
0, /*tp_setattr*/ | ||
0, /*tp_compare*/ | ||
0, /*tp_repr*/ | ||
0, /*tp_as_number*/ | ||
0, /*tp_as_sequence*/ | ||
0, /*tp_as_mapping*/ | ||
0, /*tp_hash */ | ||
0, /*tp_call*/ | ||
0, /*tp_str*/ | ||
0, /*tp_getattro*/ | ||
0, /*tp_setattro*/ | ||
0, /*tp_as_buffer*/ | ||
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/ | ||
"PythonQtStdInRedirect", /* tp_doc */ | ||
0, /* tp_traverse */ | ||
0, /* tp_clear */ | ||
0, /* tp_richcompare */ | ||
0, /* tp_weaklistoffset */ | ||
0, /* tp_iter */ | ||
0, /* tp_iternext */ | ||
PythonQtStdInRedirect_methods, /* tp_methods */ | ||
PythonQtStdInRedirect_members, /* tp_members */ | ||
0, /* tp_getset */ | ||
0, /* tp_base */ | ||
0, /* tp_dict */ | ||
0, /* tp_descr_get */ | ||
0, /* tp_descr_set */ | ||
0, /* tp_dictoffset */ | ||
0, /* tp_init */ | ||
0, /* tp_alloc */ | ||
PythonQtStdInRedirect_new, /* tp_new */ | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#ifndef _PYTHONQTSTDIN_H | ||
#define _PYTHONQTSTDIN_H | ||
|
||
/* | ||
* | ||
* Copyright (C) 2011 MeVis Medical Solutions AG All Rights Reserved. | ||
* | ||
* This library is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 of the License, or (at your option) any later version. | ||
* | ||
* This library is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* Further, this software is distributed without any warranty that it is | ||
* free of the rightful claim of any third person regarding infringement | ||
* or the like. Any license provided herein, whether implied or | ||
* otherwise, applies only to this software file. Patent licenses, if | ||
* any, provided herein do not apply to combinations of this program with | ||
* other software, or any other product whatsoever. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with this library; if not, write to the Free Software | ||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
* | ||
* Contact information: MeVis Medical Solutions AG, Universitaetsallee 29, | ||
* 28359 Bremen, Germany or: | ||
* | ||
* http://www.mevis.de | ||
* | ||
*/ | ||
|
||
//---------------------------------------------------------------------------------- | ||
/*! | ||
// \file PythonQtStdIn.h | ||
// \author Jean-Christophe Fillion-Robin | ||
// \author Last changed by $Author: jcfr $ | ||
// \date 2011 | ||
*/ | ||
//---------------------------------------------------------------------------------- | ||
|
||
|
||
#include "PythonQtPythonInclude.h" | ||
#include "structmember.h" | ||
#include <QString> | ||
|
||
//! declares the type of the stdout redirection class | ||
extern PyTypeObject PythonQtStdInRedirectType; | ||
|
||
//! declares the callback that is called from the write() function | ||
typedef QString PythonQtInputChangedCB(void* callData); | ||
|
||
//! declares the stdin redirection class | ||
typedef struct { | ||
PyObject_HEAD | ||
PythonQtInputChangedCB* _cb; | ||
void * _callData; | ||
} PythonQtStdInRedirect; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters