summaryrefslogtreecommitdiffstats
path: root/src/modeling/qmodelingobject.h
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-09-02 22:02:41 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-09-03 03:04:37 +0200
commita143fe8c5451493b128b4c6f0750f02b58af8666 (patch)
tree4b74787f6ece9256db04dc65002cae749f6936b3 /src/modeling/qmodelingobject.h
parent2bfe659e4d30b449747585e18eeb84bfc5d73f43 (diff)
Add initial version of new UML metamodel implementation
Change-Id: Ic29a04dc49fac075d9c736237573b7f4e3da85ef Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src/modeling/qmodelingobject.h')
-rw-r--r--src/modeling/qmodelingobject.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/modeling/qmodelingobject.h b/src/modeling/qmodelingobject.h
index fca7d302..fba397e1 100644
--- a/src/modeling/qmodelingobject.h
+++ b/src/modeling/qmodelingobject.h
@@ -38,12 +38,16 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QMODELINGOBJECT_H
-#define QMODELINGOBJECT_H
+#ifndef QMODELINGBASE_H
+#define QMODELINGBASE_H
#include <QtModeling/QtModelingGlobal>
-#include <QtCore/QVariant>
+#include <QtCore/QSet>
+#include <QtCore/QList>
+#include <QtCore/QString>
+#include <QtCore/QPointer>
+#include <QtCore/QMetaType>
QT_BEGIN_HEADER
@@ -51,27 +55,24 @@ QT_BEGIN_NAMESPACE
QT_MODULE(QtModeling)
-#define QM_D(Class) Class##Private *d = dynamic_cast<Class##Private *>(d_ptr);
-#define QM_Q(Class) Class *q = dynamic_cast<Class *>(q_ptr);
-
class QObject;
-class QModelingObjectPrivate;
class Q_MODELING_EXPORT QModelingObject
{
public:
- QModelingObject();
- virtual ~QModelingObject();
-
- QObject *asQObject() const;
+ virtual ~QModelingObject() {}
+ inline QObject *asQObject() { return _qObject; }
+ bool deletingFromQObject;
protected:
- QModelingObject(QModelingObjectPrivate *dd);
- QModelingObjectPrivate *d_ptr;
+ QModelingObject() : deletingFromQObject(false), _qObject(0) {}
+ QPointer<QObject> _qObject;
};
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QModelingObject) *)
+
QT_END_HEADER
-#endif // QMODELINGOBJECT_H
+#endif // QMODELINGBASE_H