##// END OF EJS Templates
updated doxygen...
updated doxygen git-svn-id: svn://svn.code.sf.net/p/pythonqt/code/trunk@228 ea8d5007-eb21-0410-b261-ccb3ea6e24a9

File last commit:

r161:87322f2ddb44
r188:30f5d6807989
Show More
PythonQtInstanceWrapper.h
101 lines | 3.4 KiB | text/x-c | CLexer
/ src / PythonQtInstanceWrapper.h
florianlink
renamed guards...
r17 #ifndef _PYTHONQTINSTANCEWRAPPER_H
#define _PYTHONQTINSTANCEWRAPPER_H
ezust
reorganized SVN tree into branches, tags and trunk...
r0
/*
*
florianlink
updated old license information and current date...
r133 * Copyright (C) 2010 MeVis Medical Solutions AG All Rights Reserved.
ezust
reorganized SVN tree into branches, tags and trunk...
r0 *
* 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
*
florianlink
updated old license information and current date...
r133 * Contact information: MeVis Medical Solutions AG, Universitaetsallee 29,
ezust
reorganized SVN tree into branches, tags and trunk...
r0 * 28359 Bremen, Germany or:
*
* http://www.mevis.de
*
*/
//----------------------------------------------------------------------------------
/*!
florianlink
code cleanup and rename of PythonQtWrapper to PythonQtInstanceWrapper and PythonQtMetaObjectWrapper to PythonQtClassWrapper, since these names match much better what these classes wrap, regarding that we are wrapping CPP objects as well...
r16 // \file PythonQtInstanceWrapper.h
ezust
reorganized SVN tree into branches, tags and trunk...
r0 // \author Florian Link
// \author Last changed by $Author: florian $
// \date 2006-05
*/
//----------------------------------------------------------------------------------
florianlink
merged contributions from https://github.com/commontk/PythonQt/compare/svn-mirror...patched...
r161 #include "PythonQtPythonInclude.h"
ezust
reorganized SVN tree into branches, tags and trunk...
r0
#include "PythonQtSystem.h"
florianlink
merged in features from the MeVisLab repository...
r4 #include <QPointer>
ezust
reorganized SVN tree into branches, tags and trunk...
r0
#include "structmember.h"
#include "methodobject.h"
#include "compile.h"
#include "eval.h"
class PythonQtClassInfo;
class QObject;
florianlink
code cleanup and rename of PythonQtWrapper to PythonQtInstanceWrapper and PythonQtMetaObjectWrapper to PythonQtClassWrapper, since these names match much better what these classes wrap, regarding that we are wrapping CPP objects as well...
r16 extern PYTHONQT_EXPORT PyTypeObject PythonQtInstanceWrapper_Type;
ezust
reorganized SVN tree into branches, tags and trunk...
r0
//---------------------------------------------------------------
//! a Python wrapper object for Qt objects and C++ objects (that are themselves wrapped by wrapper QObjects)
florianlink
named the struct and implemented classInfo() as a member of the struct and not the typedef (this seems to be a GCC issue, it worked well on MSVC8)...
r21 typedef struct PythonQtInstanceWrapperStruct {
ezust
reorganized SVN tree into branches, tags and trunk...
r0 PyObject_HEAD
florianlink
- wrapped instances are now wrapped by class specific subtypes to facilitate future deriving from python...
r18 //! the class information, this is set even if the _obj or _wrappedPtr is NULL to support typed NULL pointers
PythonQtClassInfo* classInfo();
florianlink
merged in features from the MeVisLab repository...
r4 //! set the QObject pointer
void setQObject(QObject* object) {
_obj = object;
_objPointerCopy = object;
}
ezust
reorganized SVN tree into branches, tags and trunk...
r0 //! pointer to the wrapped Qt object or if _wrappedPtr is set, the Qt object that wraps the C++ Ptr
florianlink
merged in features from the MeVisLab repository...
r4 QPointer<QObject> _obj;
//! a copy of the _obj pointer, which is required because the wrapper needs to
//! deregister itself via the _obj pointer, even when the QPointer<QObject> object was destroyed
void* _objPointerCopy;
ezust
reorganized SVN tree into branches, tags and trunk...
r0 //! optional C++ object Ptr that is wrapped by the above _obj
void* _wrappedPtr;
florianlink
- added support for deriving CPP classes in Python and to override all public and protected virtual functions from PythonQt...
r24 // TODO xxx: put booleans into int that holds flags
ezust
reorganized SVN tree into branches, tags and trunk...
r0 //! flag that stores if the object is owned by pythonQt
bool _ownedByPythonQt;
florianlink
syncing with my current work, updating to 1.2, see changelog...
r10 //! stores that the owned object should be destroyed using QMetaType::destroy()
bool _useQMetaTypeDestroy;
florianlink
- added support for deriving CPP classes in Python and to override all public and protected virtual functions from PythonQt...
r24
//! stores if the object is a shell instance
bool _isShellInstance;
florianlink
updated to upstream state in MeVisLab repository...
r157
florianlink
code cleanup and rename of PythonQtWrapper to PythonQtInstanceWrapper and PythonQtMetaObjectWrapper to PythonQtClassWrapper, since these names match much better what these classes wrap, regarding that we are wrapping CPP objects as well...
r16 } PythonQtInstanceWrapper;
ezust
reorganized SVN tree into branches, tags and trunk...
r0
florianlink
changed implementation to allow deriving python classes from PythonQt classes...
r22 int PythonQtInstanceWrapper_init(PythonQtInstanceWrapper * self, PyObject * args, PyObject * kwds);
ezust
reorganized SVN tree into branches, tags and trunk...
r0
florianlink
updated to upstream state in MeVisLab repository...
r157 PyObject *PythonQtInstanceWrapper_delete(PythonQtInstanceWrapper * self);
#endif
florianlink
merged contributions from https://github.com/commontk/PythonQt/compare/svn-mirror...patched...
r161