mirror of
https://github.com/status-im/dotherside.git
synced 2025-02-12 04:26:43 +00:00
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
This commit is contained in:
parent
1d67de8fb5
commit
99c385446f
@ -36,7 +36,6 @@ DOS_API void dos_qqmlapplicationengine_load_url(void* vptr, void* url);
|
||||
DOS_API void dos_qqmlapplicationengine_load_data(void* vptr, const char* data);
|
||||
DOS_API void dos_qqmlapplicationengine_add_import_path(void* vptr, const char* path);
|
||||
DOS_API void dos_qqmlapplicationengine_context(void* vptr, void** context);
|
||||
DOS_API void dos_qqmlapplicationengine_rootObjects(void* vptr, void*** array, int* array_length);
|
||||
DOS_API void dos_qqmlapplicationengine_delete(void* vptr);
|
||||
|
||||
// QQuickView
|
||||
@ -56,9 +55,6 @@ DOS_API void dos_qqmlcontext_setcontextproperty(void* vptr, const char* name, vo
|
||||
// CharArray
|
||||
DOS_API void dos_chararray_delete(char* ptr);
|
||||
|
||||
// QObjectPtrArray
|
||||
DOS_API void dos_qobjectptr_array_delete(void** ptr);
|
||||
|
||||
// QVariant
|
||||
DOS_API void dos_qvariant_create(void** vptr);
|
||||
DOS_API void dos_qvariant_create_int(void** vptr, int value);
|
||||
@ -136,7 +132,6 @@ DOS_API void dos_qobject_signal_disconnect(void* senderVPtr,
|
||||
const char* method,
|
||||
bool* result);
|
||||
DOS_API void dos_qobject_objectName(void* vptr, char** result);
|
||||
DOS_API void dos_qobject_findChild(void* vptr, const char* name, int options, void** child);
|
||||
DOS_API void dos_qobject_delete(void* vptr);
|
||||
|
||||
// QModelIndex
|
||||
|
@ -118,17 +118,6 @@ void dos_qqmlapplicationengine_context(void *vptr, void **context)
|
||||
*context = engine->rootContext();
|
||||
}
|
||||
|
||||
void dos_qqmlapplicationengine_rootObjects(void *vptr, void *** array, int *array_length)
|
||||
{
|
||||
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
|
||||
QList<QObject *> list = engine->rootObjects();
|
||||
void** objects = new void*[list.size()];
|
||||
for (int i = 0; i < list.size(); ++i)
|
||||
objects[i] = static_cast<QObject*>(list.at(i));
|
||||
*array = static_cast<void **>(objects);
|
||||
*array_length = list.size();
|
||||
}
|
||||
|
||||
void dos_qqmlapplicationengine_delete(void *vptr)
|
||||
{
|
||||
auto engine = static_cast<QQmlApplicationEngine *>(vptr);
|
||||
@ -189,11 +178,6 @@ void dos_chararray_delete(char *ptr)
|
||||
if (ptr) delete[] ptr;
|
||||
}
|
||||
|
||||
void dos_qobjectptr_array_delete(void **ptr)
|
||||
{
|
||||
if (ptr) delete[] ptr;
|
||||
}
|
||||
|
||||
void dos_qqmlcontext_baseUrl(void *vptr, char **result)
|
||||
{
|
||||
auto context = static_cast<QQmlContext *>(vptr);
|
||||
@ -407,12 +391,6 @@ void dos_qobject_objectName(void *vptr, char **result)
|
||||
convert_to_cstring(object->objectName(), result);
|
||||
}
|
||||
|
||||
void dos_qobject_findChild(void *vptr, const char *name, int options, void **child)
|
||||
{
|
||||
auto object = static_cast<QObject *>(vptr);
|
||||
*child = object->findChild<QObject *>(QString::fromUtf8(name), (Qt::FindChildOptions) options);
|
||||
}
|
||||
|
||||
void dos_qmodelindex_create(void **vptr)
|
||||
{
|
||||
auto index = new QModelIndex();
|
||||
|
@ -140,21 +140,6 @@ private slots:
|
||||
QVERIFY(engine()->rootObjects().front()->isWindowType());
|
||||
}
|
||||
|
||||
void testRootObjects()
|
||||
{
|
||||
void **rootObjects = nullptr;
|
||||
int length = 0;
|
||||
void *url = nullptr;
|
||||
dos_qurl_create(&url, "qrc:///main.qml", QUrl::TolerantMode);
|
||||
dos_qqmlapplicationengine_load_url(m_engine, url);
|
||||
dos_qurl_delete(url);
|
||||
dos_qqmlapplicationengine_rootObjects(m_engine, &rootObjects, &length);
|
||||
QCOMPARE(length, 1);
|
||||
QObject *window = reinterpret_cast<QObject *>(rootObjects[0]);
|
||||
QVERIFY(window->isWindowType());
|
||||
dos_qobjectptr_array_delete(rootObjects);
|
||||
}
|
||||
|
||||
private:
|
||||
QQmlApplicationEngine *engine()
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user