58 Commits

Author SHA1 Message Date
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
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
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
Filippo Cucchetto
e6753ee645 Removed useless includes 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
4d4b0590ae Fixed the implementation now everything seems to work fine 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
28f9898573 wip 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
a9c95abd57 Fixed wrong offset in property invokation 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
ed7be34536 wip 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
5a42e05f98 Move implementation for using QAbstractDynamicMetaObject
Added support for QAbstractListModels
Fixed bug in the serialization of arguments before slot execution
2016-04-10 14:39:59 +02:00
Filippo Cucchetto
eaaa1d13a9 Fixed bug in the creation of the parameter list 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
cc965c69b8 Refactored the creation of the DosQObjectImpl 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
1804071311 Renaming and beautifing the code 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
23f795298d Refactoring and bug fixing 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
e5457adc85 Bug fixing 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
56306f8403 Added support for QMetaObject inheritance and lots of renaming 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
d0e0079fcf Started the QMetaObject inheritance 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
db5ee9d75a Started work for supporting QAbstractItemModels again 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
91ce909191 Fixed the creation of QObject instances 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
3c63201936 Added QMetaObjectFactory 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
2ed13a3238 Added auto when necessary 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
d993980cd4 Added QQmlApplicationEngine::loadData() 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
596dca3987 Added custom RAII type for MetaObjects 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
b093ed48e2 Added missing namespace 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
2ebada68b5 Removed leftovers 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
8f188552c2 Temporary removed QAbstractListModel support and improved unit tests 2016-04-10 14:39:59 +02:00
Filippo Cucchetto
711131b4f4 Added DynamicQObjectFactory methods to C interface 2016-04-10 14:39:20 +02:00
Filippo Cucchetto
83893b2934 Introduced the concept of factories
The use of a factory decreased the creation time from 500ms for 1000 DynamicQObjects to 1.6ms
2016-04-10 14:39:20 +02:00
Moritz Maxeiner
42a5a454ef Signals may have no arguments 2015-12-28 23:33:33 +01:00
Filippo Cucchetto
7586b827e7 Merge pull request #31 from Calrama/misc
Added extra functions for QQuickView, QQmlApplicationEngine and QUrl
2015-12-24 13:56:18 +01:00
Moritz Maxeiner
de7d2f02f6 More Changes for PR #31 2015-12-24 12:16:37 +01:00
Moritz Maxeiner
cfb05fae25 Changes for PR #31 2015-12-24 12:04:31 +01:00