mirror of
https://github.com/status-im/dotherside.git
synced 2025-02-12 04:26:43 +00:00
Bind QObject::findChild, QObject::objectName, QQmlApplicationEngine::rootObjects
This commit is contained in:
parent
4e920ce3b7
commit
02efef24ef
@ -35,6 +35,7 @@ DOS_API void dos_qqmlapplicationengine_load(void* vptr, const char* filename);
|
|||||||
DOS_API void dos_qqmlapplicationengine_load_url(void* vptr, void* url);
|
DOS_API void dos_qqmlapplicationengine_load_url(void* vptr, void* url);
|
||||||
DOS_API void dos_qqmlapplicationengine_add_import_path(void* vptr, const char* path);
|
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_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);
|
DOS_API void dos_qqmlapplicationengine_delete(void* vptr);
|
||||||
|
|
||||||
// QQuickView
|
// QQuickView
|
||||||
@ -104,6 +105,8 @@ DOS_API void dos_qobject_property_create(void* vptr,
|
|||||||
const char* readSlot,
|
const char* readSlot,
|
||||||
const char* writeSlot,
|
const char* writeSlot,
|
||||||
const char* notifySignal);
|
const char* notifySignal);
|
||||||
|
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);
|
DOS_API void dos_qobject_delete(void* vptr);
|
||||||
|
|
||||||
// QModelIndex
|
// QModelIndex
|
||||||
|
@ -106,6 +106,20 @@ void dos_qqmlapplicationengine_context(void* vptr, void** context)
|
|||||||
*context = engine->rootContext();
|
*context = engine->rootContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dos_qqmlapplicationengine_rootObjects(void* vptr, void*** array, int* array_length)
|
||||||
|
{
|
||||||
|
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
||||||
|
auto list = engine->rootObjects();
|
||||||
|
// Note: On fringe architectures where `8 < CHAR_BIT` this may not allocate enough memory,
|
||||||
|
// as sizeof returns the number of chars required, while calloc/malloc expects
|
||||||
|
// the number of octets required.
|
||||||
|
QObject** objects = reinterpret_cast<QObject**>(calloc(list.length(), sizeof(QObject*)));
|
||||||
|
if (objects == NULL) return;
|
||||||
|
for (int i = 0; i < list.length(); i += 1) objects[i] = list.at(i);
|
||||||
|
*array = reinterpret_cast<void**>(objects);
|
||||||
|
*array_length = list.length();
|
||||||
|
}
|
||||||
|
|
||||||
void dos_qqmlapplicationengine_delete(void* vptr)
|
void dos_qqmlapplicationengine_delete(void* vptr)
|
||||||
{
|
{
|
||||||
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
||||||
@ -401,6 +415,18 @@ void dos_qobject_property_create(void* vptr,
|
|||||||
QString(notifySignal));
|
QString(notifySignal));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dos_qobject_objectName(void* vptr, char** result)
|
||||||
|
{
|
||||||
|
QObject* object = reinterpret_cast<QObject*>(vptr);
|
||||||
|
convert_to_cstring(object->objectName(), result);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dos_qobject_findChild(void* vptr, const char* name, int options, void** child)
|
||||||
|
{
|
||||||
|
QObject* object = reinterpret_cast<QObject*>(vptr);
|
||||||
|
*child = object->findChild<QObject*>(QString::fromUtf8(name), (Qt::FindChildOptions) options);
|
||||||
|
}
|
||||||
|
|
||||||
void dos_qmodelindex_create(void** vptr)
|
void dos_qmodelindex_create(void** vptr)
|
||||||
{
|
{
|
||||||
auto index = new QModelIndex();
|
auto index = new QModelIndex();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user