Commit Graph

127 Commits

Author SHA1 Message Date
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 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 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 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
Moritz Maxeiner 7fcd1003ca Implement functionality to receive signals
- Bind QObject::connect
- Bind QObject::disconnect
- Add conversion to get a QObject from inside a (received) QVariant
2015-12-23 23:20:06 +01:00
Moritz Maxeiner 02efef24ef Bind QObject::findChild, QObject::objectName, QQmlApplicationEngine::rootObjects 2015-12-23 23:15:32 +01:00
Moritz Maxeiner 4e920ce3b7 Bind QQuickView::setSource and QQuickView::setResizeMode 2015-12-23 23:15:24 +01:00
Moritz Maxeiner e382e204a5 Bind QUrl::toString 2015-12-23 23:14:59 +01:00
Moritz Maxeiner 0d012b279f Fixes for PR 2015-12-06 00:23:25 +01:00
Moritz Maxeiner a512367a5e Add QCoreApplication::applicationDirPath() 2015-12-05 18:15:01 +01:00
Moritz Maxeiner d71da6200b Add functionality to load assets with the Qt Resource System
Use case: Load application QML file and/or vendor QML modules from external binary resources (RCC)
2015-12-05 17:33:54 +01:00
Filippo Cucchetto 87603e9239 Added install directive in CMakeLists and restructured the project 2015-11-23 21:33:17 +01:00