PythonQtMetaObjectWrapper.h
78 lines
| 2.6 KiB
| text/x-c
|
CLexer
/ src / PythonQtMetaObjectWrapper.h
ezust
|
r0 | #ifndef _PYTHONQTMETAOBJECTWRAPPER_H | |
#define _PYTHONQTMETAOBJECTWRAPPER_H | |||
/* | |||
* | |||
* Copyright (C) 2006 MeVis Research GmbH 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 Research GmbH, Universitaetsallee 29, | |||
* 28359 Bremen, Germany or: | |||
* | |||
* http://www.mevis.de | |||
* | |||
*/ | |||
//---------------------------------------------------------------------------------- | |||
/*! | |||
// \file PythonQtMetaObjectWrapper.h | |||
// \author Florian Link | |||
// \author Last changed by $Author: florian $ | |||
// \date 2006-05 | |||
*/ | |||
//---------------------------------------------------------------------------------- | |||
#include <Python.h> | |||
#include "structmember.h" | |||
#include "methodobject.h" | |||
#include "compile.h" | |||
#include "eval.h" | |||
#include <QString> | |||
class PythonQtClassInfo; | |||
class QObject; | |||
struct QMetaObject; | |||
extern PyTypeObject PythonQtMetaObjectWrapper_Type; | |||
//--------------------------------------------------------------- | |||
//! a Python wrapper object for Qt meta objects | |||
typedef struct { | |||
PyObject_HEAD | |||
//! the class information (which contains the meta object as well) | |||
PythonQtClassInfo* _info; | |||
} PythonQtMetaObjectWrapper; | |||
//--------------------------------------------------------------- | |||
// an abstact class for handling construction of objects | |||
class PythonQtConstructorHandler { | |||
public: | |||
florianlink
|
r8 | //! get rid of warnings | |
virtual ~PythonQtConstructorHandler() {} | |||
ezust
|
r0 | virtual QObject* create(const QMetaObject* meta, PyObject *args, PyObject *kw, QString& error) = 0; | |
}; | |||
#endif |