Path: blob/devel/ElmerGUI/PythonQt/src/PythonQtWrapper.h
3206 views
#ifndef _PYTHONQTWRAPPER_H1#define _PYTHONQTWRAPPER_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 PythonQtWrapper.h38// \author Florian Link39// \author Last changed by $Author: florian $40// \date 2006-0541*/42//----------------------------------------------------------------------------------4344#include <Python.h>4546#include "PythonQtSystem.h"4748#include "structmember.h"49#include "methodobject.h"50#include "compile.h"51#include "eval.h"5253class PythonQtClassInfo;54class QObject;5556extern PYTHONQT_EXPORT PyTypeObject PythonQtWrapper_Type;5758//---------------------------------------------------------------59//! a Python wrapper object for Qt objects and C++ objects (that are themselves wrapped by wrapper QObjects)60typedef struct {61PyObject_HEAD6263//! pointer to the wrapped Qt object or if _wrappedPtr is set, the Qt object that wraps the C++ Ptr64QObject* _obj;65//! optional C++ object Ptr that is wrapped by the above _obj66void* _wrappedPtr;6768//! the class information, this is set even if the _obj or _wrappedPtr is NULL to support typed NULL pointers69PythonQtClassInfo* _info;7071//! flag that stores if the object is owned by pythonQt72bool _ownedByPythonQt;7374} PythonQtWrapper;757677#endif787980