238 Commits

Author SHA1 Message Date
Filippo Cucchetto
6e45393004 Enforced the __cdecl calling convention on windows 2016-04-12 23:59:52 +02:00
Filippo Cucchetto
0e1ab9e5ad Fixed crashes on signal emittion
This is caused by two bugs:
1) QMetaObject::activate first argument must be the return value
2) The next arguments should be void* to the actual datatype contained inside the QVariants
   and not QVariant*. In other words given "a" of type QVariant we should use a.constData()
   and not &a
2016-04-10 14:40:01 +02:00
Filippo Cucchetto
49c571ecaa Added parameters names for signals
In this way a user can access the signal argument as "arg0", "arg1" etc.
2016-04-10 14:40:01 +02:00
Filippo Cucchetto
ff3734a2f3 Fixed compilation with meson 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
3a8c6e0126 Removed spaces 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
12e19be48e Fixed return type for connect/disconnect 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
ada750679e Formatted code through astyle 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
a3372a66a9 Added typedefs for giving semantic to void* 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
a846ad2a3d Fixed mismatch between declarations and definitions 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
c4884c43fe Removed void** because they're ugly 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
bcbe9e5315 Fixed wrong signal emittion in QAbstractListModelWrapper 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
e7dfc7c8b0 Move DosQObjectWrapper to header file and added DosQdeclarative module 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
c271423009 Possible Fix 2 by swapping the qobject 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
7f1f91a71e Given a pass of astyle 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
b2f0c64d15 Removed useless typedefs 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
6d109dd6f5 Fixed warning because override was missing 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
53563cf716 Moved the responsability of allocating and copying to the binding side 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
ef0ed26f7c Added API for QModelIndex copy constructor 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
9fac298369 Added API for assigning two QModelIndex 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
ac7f43a044 Removed QAIM delete and fixed casting to void* 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
529219d345 Fixed signal arguments 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
ead6f000ef Fixed typo 2016-04-10 14:40:01 +02:00
Filippo Cucchetto
5e9cf4cf4a Little refactor in template definitions 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
10cee8d739 Added support for qmlRegisterSingletonType 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
eda7720869 Little fixes 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
f02d1e965a Fixed passing slot, signals and properties structs by reference 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
49f02c9671 Fixes for qmlRegisterType for supporting Nim
The callback now return the registration id.
Furthermore  we pass the struct by reference for better supporting
the C language
2016-04-10 14:40:00 +02:00
Filippo Cucchetto
af9367f4c8 Indexes should not be relative but instead absolute
We should not subtract in the qt_metacall
2016-04-10 14:40:00 +02:00
Filippo Cucchetto
8d9ef5d70e Added missing setObjectName 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
c4c2cea41c Cleaned up some code leftovers 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
99c385446f Temporary removed findChild and rootObjects
This is done for safety reasons. We will bring them back once we found
out how to deal with shared ownership with cpp
2016-04-10 14:40:00 +02:00
Filippo Cucchetto
11e45f683a Other fixes for making compile the project on Visual Studio 2013 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
483993df1e Relaxed the standard requirements to c++11 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
5290695477 Enabled warning on CXX and fixed compilation on Qt 5.3 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
24358fa525 Added missing return values 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
453dc7a8fc Fixed build with meson 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
548b7f4e50 Checking for nullnes is unnecessary
If the memory allocation fails we are screwed anyway
2016-04-10 14:40:00 +02:00
Filippo Cucchetto
ed8cb13083 Removed useless QAbstractListModels methods for QVariant 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
a2217cf0d1 Casting to void* and reinterpret cast are evil
Instead of using reinterpret_cast use the safer static_cast
Furthermore in C++ casting to void* is a really unsafe. The
main thing to keep in mind is to use the initial type when
casting back. So we must ensure that
void* t =  static_cast<QObject*>(value)
QObject* t = static_cast<void*>(value)
2016-04-10 14:40:00 +02:00
Filippo Cucchetto
94353c1045 Refactoring by using a struct for the qmlRegisterType args 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
4c2570fc42 Removed switch duplicated code with a recursive template 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
0506920c4b Add a battery of 20 qml registration slots 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
8d62c449be Basic support for qmlRegisterType 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
cd0c08fb50 Fixed arguments offset
Methods have always the return value at pos 0 and arguments in pos >= 1. This is not true for WriteProperty calls. Infact the property value is at pos 0.
2016-04-10 14:40:00 +02:00
Filippo Cucchetto
562fcc71a7 Started support for qmlregistertype 2016-04-10 14:40:00 +02:00
Filippo Cucchetto
7881cc59ed Moved implementation to cpp 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
c20683154a Beautified the code 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
553bec0eb7 Little refactor 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
c11cc30180 Renaming and code cleanup 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
b69ef602ad MetaObject is required on QObject construction 2016-04-10 14:39:59 +02:00