annotate include/qtd_core.h @ 257:17b5e13364b7 lifetime

(none)
author maxter
date Wed, 16 Sep 2009 13:56:02 +0000
parents 34a37904ff77
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /**
e78566595089 initial import
mandel
parents:
diff changeset
2 *
e78566595089 initial import
mandel
parents:
diff changeset
3 * Copyright: Copyright QtD Team, 2008-2009
e78566595089 initial import
mandel
parents:
diff changeset
4 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>
e78566595089 initial import
mandel
parents:
diff changeset
5 *
e78566595089 initial import
mandel
parents:
diff changeset
6 * Copyright QtD Team, 2008-2009
e78566595089 initial import
mandel
parents:
diff changeset
7 * Distributed under the Boost Software License, Version 1.0.
e78566595089 initial import
mandel
parents:
diff changeset
8 * (See accompanying file boost-license-1.0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
e78566595089 initial import
mandel
parents:
diff changeset
9 *
e78566595089 initial import
mandel
parents:
diff changeset
10 */
e78566595089 initial import
mandel
parents:
diff changeset
11
e78566595089 initial import
mandel
parents:
diff changeset
12 #ifndef QTD_CORE_H
e78566595089 initial import
mandel
parents:
diff changeset
13 #define QTD_CORE_H
e78566595089 initial import
mandel
parents:
diff changeset
14
e78566595089 initial import
mandel
parents:
diff changeset
15 #include <QAbstractItemModel>
257
maxter
parents: 254
diff changeset
16 #include <QObject>
1
e78566595089 initial import
mandel
parents:
diff changeset
17
e78566595089 initial import
mandel
parents:
diff changeset
18 #if defined WIN32
e78566595089 initial import
mandel
parents:
diff changeset
19 #define DLL_PUBLIC __declspec(dllexport)
e78566595089 initial import
mandel
parents:
diff changeset
20 #else
e78566595089 initial import
mandel
parents:
diff changeset
21 #define DLL_PUBLIC
e78566595089 initial import
mandel
parents:
diff changeset
22 #endif
e78566595089 initial import
mandel
parents:
diff changeset
23
e78566595089 initial import
mandel
parents:
diff changeset
24 #ifdef CPP_SHARED
254
maxter
parents: 252
diff changeset
25 #define QTD_EXPORT(TYPE, NAME, ARGS) \
1
e78566595089 initial import
mandel
parents:
diff changeset
26 extern "C" typedef TYPE (*pf_##NAME)ARGS; \
e78566595089 initial import
mandel
parents:
diff changeset
27 extern "C" pf_##NAME qtd_get_##NAME();
e78566595089 initial import
mandel
parents:
diff changeset
28 #define QTD_EXPORT_VAR(NAME) \
e78566595089 initial import
mandel
parents:
diff changeset
29 pf_##NAME m_##NAME; \
e78566595089 initial import
mandel
parents:
diff changeset
30 extern "C" DLL_PUBLIC pf_##NAME qtd_get_##NAME() { return m_##NAME; }
254
maxter
parents: 252
diff changeset
31 #define QTD_EXPORT_VAR_SET(NAME, VALUE) \
1
e78566595089 initial import
mandel
parents:
diff changeset
32 m_##NAME = (pf_##NAME) VALUE
e78566595089 initial import
mandel
parents:
diff changeset
33 #else
254
maxter
parents: 252
diff changeset
34 #define QTD_EXPORT(TYPE, NAME, ARGS) \
1
e78566595089 initial import
mandel
parents:
diff changeset
35 extern "C" TYPE NAME ARGS;
e78566595089 initial import
mandel
parents:
diff changeset
36 #endif
e78566595089 initial import
mandel
parents:
diff changeset
37
257
maxter
parents: 254
diff changeset
38
maxter
parents: 254
diff changeset
39 //TODO: user data ID must be registered with QObject::registerUserData;
maxter
parents: 254
diff changeset
40 #define userDataId 0
maxter
parents: 254
diff changeset
41
1
e78566595089 initial import
mandel
parents:
diff changeset
42 struct QModelIndexAccessor {
e78566595089 initial import
mandel
parents:
diff changeset
43 int row;
e78566595089 initial import
mandel
parents:
diff changeset
44 int col;
e78566595089 initial import
mandel
parents:
diff changeset
45 void *ptr;
e78566595089 initial import
mandel
parents:
diff changeset
46 QAbstractItemModel *model;
e78566595089 initial import
mandel
parents:
diff changeset
47 };
e78566595089 initial import
mandel
parents:
diff changeset
48
e78566595089 initial import
mandel
parents:
diff changeset
49 struct DArray {
e78566595089 initial import
mandel
parents:
diff changeset
50 size_t length;
e78566595089 initial import
mandel
parents:
diff changeset
51 void* ptr;
e78566595089 initial import
mandel
parents:
diff changeset
52 };
e78566595089 initial import
mandel
parents:
diff changeset
53
254
maxter
parents: 252
diff changeset
54 class QtD_Entity
maxter
parents: 252
diff changeset
55 {
maxter
parents: 252
diff changeset
56 public:
maxter
parents: 252
diff changeset
57 void* dId;
maxter
parents: 252
diff changeset
58
maxter
parents: 252
diff changeset
59 QtD_Entity(void* id) : dId(id)
maxter
parents: 252
diff changeset
60 {
maxter
parents: 252
diff changeset
61 }
maxter
parents: 252
diff changeset
62 };
105
3aa118a9ae71 each QObject now has associated child QObject for handling signals. fixes #15
eldar
parents: 35
diff changeset
63
257
maxter
parents: 254
diff changeset
64 class QtD_QObjectEntity : public QtD_Entity, public QObjectUserData
maxter
parents: 254
diff changeset
65 {
maxter
parents: 254
diff changeset
66 public:
maxter
parents: 254
diff changeset
67 QtD_QObjectEntity(QObject *qObject, void *dId);
maxter
parents: 254
diff changeset
68 virtual ~QtD_QObjectEntity();
maxter
parents: 254
diff changeset
69 void destroyEntity(QObject *qObject = NULL);
maxter
parents: 254
diff changeset
70 static QtD_QObjectEntity* getQObjectEntity(const QObject *qObject);
maxter
parents: 254
diff changeset
71 };
maxter
parents: 254
diff changeset
72
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
73 #define Array DArray
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
74
1
e78566595089 initial import
mandel
parents:
diff changeset
75 #ifdef CPP_SHARED
e78566595089 initial import
mandel
parents:
diff changeset
76 typedef void (*pfunc_abstr)();
e78566595089 initial import
mandel
parents:
diff changeset
77 #endif
e78566595089 initial import
mandel
parents:
diff changeset
78
254
maxter
parents: 252
diff changeset
79 QTD_EXPORT(void, qtd_toUtf8, (const unsigned short* arr, uint size, void* str))
maxter
parents: 252
diff changeset
80 QTD_EXPORT(void, qtd_dummy, ())
257
maxter
parents: 254
diff changeset
81 QTD_EXPORT(void, qtd_delete_d_object, (void* dPtr))
1
e78566595089 initial import
mandel
parents:
diff changeset
82
e78566595089 initial import
mandel
parents:
diff changeset
83 #ifdef CPP_SHARED
254
maxter
parents: 252
diff changeset
84 #define qtd_toUtf8 qtd_get_qtd_toUtf8()
maxter
parents: 252
diff changeset
85 #define qtd_dummy qtd_get_qtd_dummy()
257
maxter
parents: 254
diff changeset
86 #define qtd_delete_d_object qtd_get_qtd_delete_d_object()
1
e78566595089 initial import
mandel
parents:
diff changeset
87 #endif
e78566595089 initial import
mandel
parents:
diff changeset
88
e78566595089 initial import
mandel
parents:
diff changeset
89 extern "C" QModelIndex qtd_to_QModelIndex(QModelIndexAccessor mia);
e78566595089 initial import
mandel
parents:
diff changeset
90 extern "C" QModelIndexAccessor qtd_from_QModelIndex(const QModelIndex &index);
e78566595089 initial import
mandel
parents:
diff changeset
91
254
maxter
parents: 252
diff changeset
92
maxter
parents: 252
diff changeset
93
1
e78566595089 initial import
mandel
parents:
diff changeset
94 #endif // QTD_CORE_H