Merge pull request #30 from Calrama/resource
Added support for QResource and QUrl
This commit is contained in:
commit
fbcd50d673
|
@ -14,6 +14,9 @@ extern "C"
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// QCoreApplication
|
||||||
|
DOS_API void dos_qcoreapplication_application_dir_path(char** result);
|
||||||
|
|
||||||
// QGuiApplication
|
// QGuiApplication
|
||||||
DOS_API void dos_qguiapplication_create();
|
DOS_API void dos_qguiapplication_create();
|
||||||
DOS_API void dos_qguiapplication_exec();
|
DOS_API void dos_qguiapplication_exec();
|
||||||
|
@ -29,6 +32,8 @@ DOS_API void dos_qapplication_delete();
|
||||||
// QQmlApplicationEngine
|
// QQmlApplicationEngine
|
||||||
DOS_API void dos_qqmlapplicationengine_create(void** vptr);
|
DOS_API void dos_qqmlapplicationengine_create(void** vptr);
|
||||||
DOS_API void dos_qqmlapplicationengine_load(void* vptr, const char* filename);
|
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_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_delete(void* vptr);
|
DOS_API void dos_qqmlapplicationengine_delete(void* vptr);
|
||||||
|
|
||||||
|
@ -136,6 +141,13 @@ DOS_API void dos_qabstractlistmodel_endResetModel(void* vptr);
|
||||||
DOS_API void dos_qabstractlistmodel_dataChanged(void* vptr, void* topLeft, void* bottomRight, int* rolesPtr, int rolesLength);
|
DOS_API void dos_qabstractlistmodel_dataChanged(void* vptr, void* topLeft, void* bottomRight, int* rolesPtr, int rolesLength);
|
||||||
DOS_API void dos_qabstractlistmodel_delete(void* vptr);
|
DOS_API void dos_qabstractlistmodel_delete(void* vptr);
|
||||||
|
|
||||||
|
// QResource
|
||||||
|
DOS_API void dos_qresource_register(const char* filename);
|
||||||
|
|
||||||
|
// QUrl
|
||||||
|
DOS_API void dos_qurl_create(void** vptr, const char* url, int parsingMode);
|
||||||
|
DOS_API void dos_qurl_delete(void* vptr);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <QtCore/QModelIndex>
|
#include <QtCore/QModelIndex>
|
||||||
#include <QtCore/QHash>
|
#include <QtCore/QHash>
|
||||||
|
#include <QtCore/QResource>
|
||||||
#include <QtGui/QGuiApplication>
|
#include <QtGui/QGuiApplication>
|
||||||
#include <QtQml/QQmlContext>
|
#include <QtQml/QQmlContext>
|
||||||
#include <QtQml/QQmlApplicationEngine>
|
#include <QtQml/QQmlApplicationEngine>
|
||||||
|
@ -23,6 +24,11 @@ void convert_to_cstring(const QString& source, char** destination)
|
||||||
*destination = qstrdup(array.data());
|
*destination = qstrdup(array.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dos_qcoreapplication_application_dir_path(char** result)
|
||||||
|
{
|
||||||
|
convert_to_cstring(QCoreApplication::applicationDirPath(), result);
|
||||||
|
}
|
||||||
|
|
||||||
void dos_qguiapplication_create()
|
void dos_qguiapplication_create()
|
||||||
{
|
{
|
||||||
static int argc = 1;
|
static int argc = 1;
|
||||||
|
@ -80,6 +86,19 @@ void dos_qqmlapplicationengine_load(void* vptr, const char* filename)
|
||||||
engine->load(QUrl::fromLocalFile(QCoreApplication::applicationDirPath() + QDir::separator() + QString(filename)));
|
engine->load(QUrl::fromLocalFile(QCoreApplication::applicationDirPath() + QDir::separator() + QString(filename)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dos_qqmlapplicationengine_load_url(void* vptr, void* url)
|
||||||
|
{
|
||||||
|
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
||||||
|
QUrl* qurl = reinterpret_cast<QUrl*>(url);
|
||||||
|
engine->load(*qurl);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dos_qqmlapplicationengine_add_import_path(void* vptr, const char* path)
|
||||||
|
{
|
||||||
|
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
||||||
|
engine->addImportPath(QString(path));
|
||||||
|
}
|
||||||
|
|
||||||
void dos_qqmlapplicationengine_context(void* vptr, void** context)
|
void dos_qqmlapplicationengine_context(void* vptr, void** context)
|
||||||
{
|
{
|
||||||
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
QQmlApplicationEngine* engine = reinterpret_cast<QQmlApplicationEngine*>(vptr);
|
||||||
|
@ -531,3 +550,19 @@ void dos_qhash_int_qbytearray_value(QHashIntQByteArrayVoidPtr vptr, int key, cha
|
||||||
*result = qstrdup(value.data());
|
*result = qstrdup(value.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dos_qresource_register(const char* filename)
|
||||||
|
{
|
||||||
|
QResource::registerResource(QString::fromUtf8(filename));
|
||||||
|
}
|
||||||
|
|
||||||
|
void dos_qurl_create(void** vptr, const char* url, int parsingMode)
|
||||||
|
{
|
||||||
|
*vptr = new QUrl(QString::fromUtf8(url), (QUrl::ParsingMode) parsingMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void dos_qurl_delete(void* vptr)
|
||||||
|
{
|
||||||
|
QUrl* url = reinterpret_cast<QUrl*>(vptr);
|
||||||
|
delete url;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue