More lowlevel things
This commit is contained in:
parent
c15a7e69ea
commit
58ad9193cf
10
qml.core.scm
10
qml.core.scm
|
@ -275,13 +275,19 @@
|
|||
(dos_qmetaobject_invoke_method (ptr qmo) callback data (val connection-type)))
|
||||
(define-method (delete-pointer (qmo <QMetaObject>))
|
||||
(dos_qmetaobject_delete (ptr qmo)))
|
||||
(define (qmetaobject kind)
|
||||
(case kind
|
||||
((qobject:) (make <QMetaObject> 'ptr (dos_qobject_qmetaobject)))
|
||||
((qabstractitemmodel:) (make <QMetaObject> 'ptr (dos_qabstractitemmodel_qmetaobject)))
|
||||
((qabstracttablemodel:) (make <QMetaObject> 'ptr (dos_qabstracttablemodel_qmetaobject)))
|
||||
((qabstractlistmodel:) (make <QMetaObject> 'ptr (dos_qabstractlistmodel_qmetaobject)))))
|
||||
|
||||
(define-class <QModelIndex> (<QMLBase>))
|
||||
(define-method (initialize-instance (qmi <QModelIndex>))
|
||||
(set! (ptr qmi) (dos_qmodelindex_create))
|
||||
(call-next-method))
|
||||
(define-method (copy (qmi <QModelIndex>) (other <QModelIndex>))
|
||||
(make <QModelIndex> 'ptr (dos_qmodelindex_create_qmodelindex (ptr qmi) (ptr other))))
|
||||
(define-method (copy (qmi <QModelIndex>))
|
||||
(make <QModelIndex> 'ptr (dos_qmodelindex_create_qmodelindex (ptr qmi))))
|
||||
(define-method (row (qmi <QModelIndex>))
|
||||
(dos_qmodelindex_row (ptr qmi)))
|
||||
(define-method (column (qmi <QModelIndex>))
|
||||
|
|
|
@ -123,6 +123,36 @@
|
|||
(define DosQtConnectionTypeUniqueConnection #x80)
|
||||
|
||||
;; Functions
|
||||
;; ParameterDefinition
|
||||
(define dos_parameterdefinition_create
|
||||
(foreign-lambda* scheme-object ((c-string name)
|
||||
(int metaType))
|
||||
"struct ParameterDefinition pd = {.name = name, .metaType = metaType};"
|
||||
"C_word* ptr = C_alloc(1);"
|
||||
"C_return(C_structure(&ptr,C_SIZEOF_STRUCTURE(3),pd));"))
|
||||
|
||||
;; SignalDefinition
|
||||
(define dos_signaldefinition_create
|
||||
(foreign-lambda* scheme-object ((c-string name)
|
||||
(int parametersCount)
|
||||
(pointer-vector parameters))
|
||||
"struct SignalDefinition sd = {.name = name, .parametersCount = parametersCount, "
|
||||
".parameters = (ParameterDefinition*) parameters};"
|
||||
"C_word* ptr = C_alloc(1);"
|
||||
"C_return(C_structure(&ptr,C_SIZEOF_STRUCTURE(4),sd));"))
|
||||
|
||||
;; SignalDefinitions
|
||||
(define dos_signaldefinitions_create
|
||||
(foreign-lambda* (c-pointer SignalDefinitions) ((int count)
|
||||
(pointer-vector definitions))
|
||||
"struct SignalDefinitions sd = {.count = count, .definitions = (SignalDefinition*) definitions};"
|
||||
"struct SignalDefinitions* sdptr = (struct SignalDefinitions*) malloc(sizeof(struct SignalDefinitions));"
|
||||
"*sdptr = sd;"
|
||||
"C_return(sdptr);"))
|
||||
(define dos_signaldefinitions_delete
|
||||
(foreign-lambda* void (((c-pointer SignalDefinitions) definitions))
|
||||
"free(definitions);"))
|
||||
|
||||
;; QCoreApplication
|
||||
(define dos_qcoreapplication_application_dir_path
|
||||
(foreign-lambda c-string "dos_qcoreapplication_application_dir_path"))
|
||||
|
@ -284,6 +314,14 @@
|
|||
"dos_chararray_delete(ptr);"))
|
||||
|
||||
;; QVariant
|
||||
(define dos_qvariantarray_create
|
||||
(foreign-lambda* (c-pointer DosQVariantArray) ((int size)
|
||||
(pointer-vector data))
|
||||
"struct DosQVariantArray qva = "
|
||||
"{.size = size, .data = data};"
|
||||
"struct DosQVariantArray* qvaptr = (struct DosQVariantArray*) malloc(sizeof(struct DosQVariantArray));"
|
||||
"*qvaptr = qva;"
|
||||
"C_return(qvaptr);"))
|
||||
(define dos_qvariantarray_delete
|
||||
(foreign-lambda* void (((c-pointer DosQVariantArray) ptr))
|
||||
"dos_qvariantarray_delete(ptr);"))
|
||||
|
@ -708,6 +746,21 @@
|
|||
(foreign-lambda bool "dos_qurl_isValid"
|
||||
(c-pointer DosQUrl)))
|
||||
|
||||
;; QmlRegisterType
|
||||
(define dos_qmlregistertype_create
|
||||
(foreign-lambda* (c-pointer QmlRegisterType) ((int major)
|
||||
(int minor)
|
||||
(c-string uri)
|
||||
(c-string qml)
|
||||
((c-pointer DosQMetaObject) staticMetaObject)
|
||||
(CreateDObject createDObject)
|
||||
(DeleteDObject deleteDObject))
|
||||
"struct QmlRegisterType qrt = {.major = major, .minor = minor, .uri = uri, .qml = qml,"
|
||||
".staticMetaObject = staticMetaObject, .createDObject = createDObject, .deleteDObject = deleteDObject};"
|
||||
"struct QmlRegisterType* qrtptr = (struct QmlRegisterType*) malloc(sizeof(struct QmlRegisterType));"
|
||||
"*qrtptr = qrt;"
|
||||
"C_return(qrtptr);"))
|
||||
|
||||
;; QDeclarative
|
||||
(define dos_qdeclarative_qmlregistertype
|
||||
(foreign-lambda int "dos_qdeclarative_qmlregistertype"
|
||||
|
|
Loading…
Reference in New Issue