annotate include/qtd_core.h @ 301:4d8481385c71 signals

windows fix
author eldar
date Tue, 08 Dec 2009 21:13:24 +0000
parents adae77fdc1ea
children 98b211f3ee34
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>
e78566595089 initial import
mandel
parents:
diff changeset
16
e78566595089 initial import
mandel
parents:
diff changeset
17 #if defined WIN32
e78566595089 initial import
mandel
parents:
diff changeset
18 #define DLL_PUBLIC __declspec(dllexport)
e78566595089 initial import
mandel
parents:
diff changeset
19 #else
e78566595089 initial import
mandel
parents:
diff changeset
20 #define DLL_PUBLIC
e78566595089 initial import
mandel
parents:
diff changeset
21 #endif
e78566595089 initial import
mandel
parents:
diff changeset
22
e78566595089 initial import
mandel
parents:
diff changeset
23 #ifdef CPP_SHARED
254
maxter
parents: 252
diff changeset
24 #define QTD_EXPORT(TYPE, NAME, ARGS) \
1
e78566595089 initial import
mandel
parents:
diff changeset
25 extern "C" typedef TYPE (*pf_##NAME)ARGS; \
e78566595089 initial import
mandel
parents:
diff changeset
26 extern "C" pf_##NAME qtd_get_##NAME();
e78566595089 initial import
mandel
parents:
diff changeset
27 #define QTD_EXPORT_VAR(NAME) \
e78566595089 initial import
mandel
parents:
diff changeset
28 pf_##NAME m_##NAME; \
e78566595089 initial import
mandel
parents:
diff changeset
29 extern "C" DLL_PUBLIC pf_##NAME qtd_get_##NAME() { return m_##NAME; }
254
maxter
parents: 252
diff changeset
30 #define QTD_EXPORT_VAR_SET(NAME, VALUE) \
1
e78566595089 initial import
mandel
parents:
diff changeset
31 m_##NAME = (pf_##NAME) VALUE
e78566595089 initial import
mandel
parents:
diff changeset
32 #else
254
maxter
parents: 252
diff changeset
33 #define QTD_EXPORT(TYPE, NAME, ARGS) \
1
e78566595089 initial import
mandel
parents:
diff changeset
34 extern "C" TYPE NAME ARGS;
e78566595089 initial import
mandel
parents:
diff changeset
35 #endif
e78566595089 initial import
mandel
parents:
diff changeset
36
e78566595089 initial import
mandel
parents:
diff changeset
37 struct QModelIndexAccessor {
e78566595089 initial import
mandel
parents:
diff changeset
38 int row;
e78566595089 initial import
mandel
parents:
diff changeset
39 int col;
e78566595089 initial import
mandel
parents:
diff changeset
40 void *ptr;
e78566595089 initial import
mandel
parents:
diff changeset
41 QAbstractItemModel *model;
e78566595089 initial import
mandel
parents:
diff changeset
42 };
e78566595089 initial import
mandel
parents:
diff changeset
43
e78566595089 initial import
mandel
parents:
diff changeset
44 struct DArray {
e78566595089 initial import
mandel
parents:
diff changeset
45 size_t length;
e78566595089 initial import
mandel
parents:
diff changeset
46 void* ptr;
e78566595089 initial import
mandel
parents:
diff changeset
47 };
e78566595089 initial import
mandel
parents:
diff changeset
48
254
maxter
parents: 252
diff changeset
49 enum QtdObjectFlags
maxter
parents: 252
diff changeset
50 {
maxter
parents: 252
diff changeset
51 qNone,
maxter
parents: 252
diff changeset
52 qNativeOwnership = 0x01,
maxter
parents: 252
diff changeset
53 qDOwnership = 0x02
maxter
parents: 252
diff changeset
54 //gcManaged = 0x04
maxter
parents: 252
diff changeset
55 };
maxter
parents: 252
diff changeset
56
maxter
parents: 252
diff changeset
57 class QtD_Entity
maxter
parents: 252
diff changeset
58 {
maxter
parents: 252
diff changeset
59 public:
maxter
parents: 252
diff changeset
60 void* dId;
maxter
parents: 252
diff changeset
61
maxter
parents: 252
diff changeset
62 QtD_Entity(void* id) : dId(id)
maxter
parents: 252
diff changeset
63 {
maxter
parents: 252
diff changeset
64 }
maxter
parents: 252
diff changeset
65 };
105
3aa118a9ae71 each QObject now has associated child QObject for handling signals. fixes #15
eldar
parents: 35
diff changeset
66
33
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
67 #define Array DArray
cf8a415f3f32 gui package is fully wrapped now. lots of fixes in the generator
eldar
parents: 1
diff changeset
68
1
e78566595089 initial import
mandel
parents:
diff changeset
69 #ifdef CPP_SHARED
e78566595089 initial import
mandel
parents:
diff changeset
70 typedef void (*pfunc_abstr)();
e78566595089 initial import
mandel
parents:
diff changeset
71 #endif
e78566595089 initial import
mandel
parents:
diff changeset
72
254
maxter
parents: 252
diff changeset
73 QTD_EXPORT(void, qtd_toUtf8, (const unsigned short* arr, uint size, void* str))
maxter
parents: 252
diff changeset
74 QTD_EXPORT(void, qtd_dummy, ())
1
e78566595089 initial import
mandel
parents:
diff changeset
75
e78566595089 initial import
mandel
parents:
diff changeset
76 #ifdef CPP_SHARED
254
maxter
parents: 252
diff changeset
77 #define qtd_toUtf8 qtd_get_qtd_toUtf8()
maxter
parents: 252
diff changeset
78 #define qtd_dummy qtd_get_qtd_dummy()
1
e78566595089 initial import
mandel
parents:
diff changeset
79 #endif
e78566595089 initial import
mandel
parents:
diff changeset
80
e78566595089 initial import
mandel
parents:
diff changeset
81 extern "C" QModelIndex qtd_to_QModelIndex(QModelIndexAccessor mia);
e78566595089 initial import
mandel
parents:
diff changeset
82 extern "C" QModelIndexAccessor qtd_from_QModelIndex(const QModelIndex &index);
e78566595089 initial import
mandel
parents:
diff changeset
83
301
4d8481385c71 windows fix
eldar
parents: 298
diff changeset
84 extern "C" typedef void (*EmitCallback)(void*, void**);
4d8481385c71 windows fix
eldar
parents: 298
diff changeset
85 extern "C" typedef int (*QtMetacallCallback)(void *d_entity, QMetaObject::Call _c, int _id, void **_a);
4d8481385c71 windows fix
eldar
parents: 298
diff changeset
86
298
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
87 template <class T>
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
88 void call_destructor(T *a)
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
89 {
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
90 a->~T();
adae77fdc1ea Native QList implementation is now used throughout QtD
eldar
parents: 254
diff changeset
91 }
1
e78566595089 initial import
mandel
parents:
diff changeset
92 #endif // QTD_CORE_H