Path: blob/devel/ElmerGUI/PythonQt/src/PythonQtMetaObjectWrapper.h
3206 views
#ifndef _PYTHONQTMETAOBJECTWRAPPER_H1#define _PYTHONQTMETAOBJECTWRAPPER_H23/*4*5* Copyright (C) 2006 MeVis Research GmbH All Rights Reserved.6*7* This library is free software; you can redistribute it and/or8* modify it under the terms of the GNU Lesser General Public9* License as published by the Free Software Foundation; either10* version 2.1 of the License, or (at your option) any later version.11*12* This library is distributed in the hope that it will be useful,13* but WITHOUT ANY WARRANTY; without even the implied warranty of14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU15* Lesser General Public License for more details.16*17* Further, this software is distributed without any warranty that it is18* free of the rightful claim of any third person regarding infringement19* or the like. Any license provided herein, whether implied or20* otherwise, applies only to this software file. Patent licenses, if21* any, provided herein do not apply to combinations of this program with22* other software, or any other product whatsoever.23*24* You should have received a copy of the GNU Lesser General Public25* License along with this library; if not, write to the Free Software26* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA27*28* Contact information: MeVis Research GmbH, Universitaetsallee 29,29* 28359 Bremen, Germany or:30*31* http://www.mevis.de32*33*/3435//----------------------------------------------------------------------------------36/*!37// \file PythonQtMetaObjectWrapper.h38// \author Florian Link39// \author Last changed by $Author: florian $40// \date 2006-0541*/42//----------------------------------------------------------------------------------4344#include <Python.h>4546#include "structmember.h"47#include "methodobject.h"48#include "compile.h"49#include "eval.h"50#include <QString>5152class PythonQtClassInfo;53class QObject;54struct QMetaObject;5556extern PyTypeObject PythonQtMetaObjectWrapper_Type;5758//---------------------------------------------------------------59//! a Python wrapper object for Qt meta objects60typedef struct {61PyObject_HEAD6263//! the class information (which contains the meta object as well)64PythonQtClassInfo* _info;6566} PythonQtMetaObjectWrapper;6768//---------------------------------------------------------------69// an abstract class for handling construction of objects70class PythonQtConstructorHandler {71public:72virtual QObject* create(const QMetaObject* meta, PyObject *args, PyObject *kw, QString& error) = 0;73};7475#endif767778