Actually working. Added example.
This commit is contained in:
parent
3af2c7421c
commit
c95bafaca9
|
@ -0,0 +1,21 @@
|
|||
import QtQuick 2.5
|
||||
import QtQuick.Window 2.2
|
||||
|
||||
Window {
|
||||
visible: true
|
||||
width: 320
|
||||
height: 480
|
||||
Rectangle {
|
||||
id: page
|
||||
width: 320; height: 480
|
||||
color: "lightgray"
|
||||
|
||||
Text {
|
||||
id: helloText
|
||||
text: "Hello world!"
|
||||
y: 30
|
||||
anchors.horizontalCenter: page.horizontalCenter
|
||||
font.pointSize: 24; font.bold: true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
(import (qml core)
|
||||
coops)
|
||||
|
||||
(gui-application-create)
|
||||
(define engine (make <QQmlApplicationEngine>))
|
||||
(define loc (new-QUrl "examples/helloworld.qml"))
|
||||
(load-url engine loc)
|
||||
|
||||
(do ((loop #t))
|
||||
((not loop) #t)
|
||||
(process-events-timed (qevent-loop-process-event-flag process-all-events:) 50))
|
141
qml.core.scm
141
qml.core.scm
|
@ -1,13 +1,132 @@
|
|||
;; -*- geiser-scheme: chicken -*-
|
||||
(module (qml core)
|
||||
*
|
||||
(import scheme)
|
||||
(import (r7rs))
|
||||
|
||||
(define-library (qml core)
|
||||
(import (chicken gc))
|
||||
(import (chicken string))
|
||||
(import (chicken base))
|
||||
(import (chicken condition))
|
||||
(import (qml lowlevel))
|
||||
(import (scheme base))
|
||||
(import coops coops-primitive-objects coops-extras srfi-1 srfi-69)
|
||||
(export application-dir-path
|
||||
process-events
|
||||
process-events-timed
|
||||
|
||||
gui-application-create
|
||||
gui-application-exec
|
||||
gui-application-quit
|
||||
gui-application-delete
|
||||
|
||||
qapplication-create
|
||||
qapplication-exec
|
||||
qapplication-quit
|
||||
qapplication-delete
|
||||
|
||||
qquickstyle-set-style
|
||||
qquickstyle-set-fallback-style
|
||||
|
||||
initialize-instance
|
||||
set
|
||||
to
|
||||
is-null?
|
||||
assign
|
||||
copy
|
||||
delete-pointer
|
||||
delete-pointer-later
|
||||
|
||||
<Enum>
|
||||
<QEventLoopProcessEventFlag>
|
||||
qevent-loop-process-event-flag
|
||||
|
||||
<QtConnectionType>
|
||||
qt-connection-type
|
||||
|
||||
<QQuickViewResizeMode>
|
||||
qquick-view-resize-mode
|
||||
|
||||
<QItemDataRole>
|
||||
qitem-data-role
|
||||
|
||||
<QtOrientation>
|
||||
qt-orientation
|
||||
|
||||
<QMLBase>
|
||||
add-ptrentry
|
||||
remove-ptrentry
|
||||
|
||||
<QObject>
|
||||
signal-emit
|
||||
|
||||
<QVariant>
|
||||
qvariant
|
||||
|
||||
<QQmlContext>
|
||||
base-url
|
||||
set-property
|
||||
|
||||
<QUrl>
|
||||
new-QUrl
|
||||
to-string
|
||||
valid?
|
||||
|
||||
<QPixmap>
|
||||
new-QPixmap
|
||||
load
|
||||
load-from-data
|
||||
fill
|
||||
assign
|
||||
|
||||
<QQuickImageProvider>
|
||||
new-QQuickImageProvider
|
||||
|
||||
<QQmlApplicationEngine>
|
||||
load
|
||||
load-url
|
||||
load-data
|
||||
add-import-path
|
||||
context
|
||||
add-image-provider
|
||||
|
||||
<QQuickView>
|
||||
show
|
||||
source
|
||||
set-source-url
|
||||
set-source
|
||||
set-resize-mode
|
||||
root-context
|
||||
|
||||
<QMetaObject>
|
||||
new-QMetaObject
|
||||
invoke-method
|
||||
|
||||
<QModelIndex>
|
||||
row
|
||||
column
|
||||
valid?
|
||||
data
|
||||
parent
|
||||
child
|
||||
sibling
|
||||
assign
|
||||
|
||||
<QAbstractItemModel>
|
||||
new-QAbstractItemModel
|
||||
set-data
|
||||
flags
|
||||
header-data
|
||||
|
||||
<QAbstractListModel>
|
||||
new-QAbstractListModel
|
||||
index
|
||||
parent
|
||||
column-count
|
||||
|
||||
<QAbstractTableModel>
|
||||
new-QAbstractTableModel
|
||||
index
|
||||
parent
|
||||
)
|
||||
(begin
|
||||
|
||||
;; Enums
|
||||
(define-class <Enum> ()
|
||||
|
@ -119,7 +238,9 @@
|
|||
(define-method (add-ptrentry (qbase <QMLBase>))
|
||||
(hash-table-update! callback-registry (ptr qbase)
|
||||
(lambda (alist)
|
||||
(alist-update refcount: (+ 1 (refcount alist)) alist))
|
||||
(let* ((refc (refcount alist))
|
||||
(alist (alist-delete refcount: alist)))
|
||||
(alist-cons refcount: (+ 1 refc) alist)))
|
||||
(lambda ()
|
||||
(alist-cons refcount: 1 '()))))
|
||||
(define-method (remove-ptrentry (qbase <QMLBase>))
|
||||
|
@ -127,7 +248,9 @@
|
|||
(hash-table-delete! callback-registry (ptr qbase))
|
||||
(hash-table-update! callback-registry (ptr qbase)
|
||||
(lambda (alist)
|
||||
(alist-update refcount: (- (refcount alist) 1) alist)))))
|
||||
(let* ((refc (refcount alist))
|
||||
(alist (alist-delete refcount: alist)))
|
||||
(alist-cons refcount: (- refc 1) alist))) )))
|
||||
(define-method (initialize-instance (qbase <QMLBase>))
|
||||
(call-next-method)
|
||||
(add-ptrentry qbase)
|
||||
|
@ -292,7 +415,7 @@
|
|||
(dos_qmodelindex_row (ptr qmi)))
|
||||
(define-method (column (qmi <QModelIndex>))
|
||||
(dos_qmodelindex_column (ptr qmi)))
|
||||
(define-method (is-valid? (qmi <QModelIndex>))
|
||||
(define-method (valid? (qmi <QModelIndex>))
|
||||
(dos_qmodelindex_isValid (ptr qmi)))
|
||||
(define-method (data (qmi <QModelIndex>) (role <QItemDataRole>))
|
||||
(dos_qmodelindex_data (ptr qmi) (val role)))
|
||||
|
@ -333,4 +456,6 @@
|
|||
(define-method (index (qatm <QAbstractTableModel>) (row <integer>) (column <integer>) (parent <QModelIndex>))
|
||||
(dos_qabstracttablemodel_index (ptr qatm) row column (ptr parent)))
|
||||
(define-method (parent (qatm <QAbstractTableModel>) (child <QModelIndex>))
|
||||
(dos_qabstracttablemodel_parent (ptr qatm) (ptr child))))
|
||||
(dos_qabstracttablemodel_parent (ptr qatm) (ptr child)))
|
||||
)
|
||||
)
|
||||
|
|
4
qml.egg
4
qml.egg
|
@ -50,7 +50,8 @@
|
|||
dotherside/lib/src/DosQQuickImageProvider
|
||||
dotherside/lib/src/DOtherSide
|
||||
dotherside/lib/src/DOtherSideTypesCpp)
|
||||
(csc-options "-c++" "-Idotherside/lib/include"
|
||||
(csc-options "-X" "r7rs" "-R" "r7rs" "-sJ"
|
||||
"-c++" "-Idotherside/lib/include"
|
||||
"-L" "-lQt5Core"
|
||||
"-L" "-lQt5Widgets"
|
||||
"-L" "-lQt5Gui"
|
||||
|
@ -63,4 +64,5 @@
|
|||
"-L" "-lQt5QuickTest"
|
||||
"-L" "-lOpenGL"))
|
||||
(extension qml.core
|
||||
(csc-options "-X" "r7rs" "-R" "r7rs" "-sJ")
|
||||
(component-dependencies qml.lowlevel))))
|
||||
|
|
115
qml.lowlevel.scm
115
qml.lowlevel.scm
|
@ -1,9 +1,118 @@
|
|||
;; -*- geiser-scheme: chicken -*-
|
||||
(module (qml lowlevel)
|
||||
*
|
||||
(import scheme)
|
||||
(import (r7rs))
|
||||
|
||||
(define-library (qml lowlevel)
|
||||
(import (scheme base))
|
||||
(import (chicken foreign))
|
||||
(import foreigners)
|
||||
(export DosQEventLoopProcessEventFlagProcessAllEvents
|
||||
DosQEventLoopProcessEventFlagExcludeUserInputEvents
|
||||
DosQEventLoopProcessEventFlagProcessExcludeSocketNotifiers
|
||||
DosQEventLoopProcessEventFlagProcessAllEventsWaitForMoreEvents
|
||||
DosQtConnectionTypeAutoConnection
|
||||
DosQtConnectionTypeDirectConnection
|
||||
DosQtConnectionTypeQueuedConnection
|
||||
DosQtConnectionTypeBlockingConnection
|
||||
DosQtConnectionTypeUniqueConnection
|
||||
|
||||
dos_qcoreapplication_application_dir_path
|
||||
dos_qcoreapplication_process_events
|
||||
dos_qcoreapplication_process_events_timed
|
||||
dos_qguiapplication_create
|
||||
dos_qguiapplication_exec
|
||||
dos_qguiapplication_quit
|
||||
dos_qguiapplication_delete
|
||||
dos_qapplication_create
|
||||
dos_qapplication_exec
|
||||
dos_qapplication_quit
|
||||
dos_qapplication_delete
|
||||
dos_qquickstyle_set_style
|
||||
dos_qquickstyle_set_fallback_style
|
||||
dos_qobject_signal_emit
|
||||
dos_qobject_delete
|
||||
dos_qobject_deleteLater
|
||||
dos_qvariant_create
|
||||
dos_qvariant_create_int
|
||||
dos_qvariant_create_bool
|
||||
dos_qvariant_create_string
|
||||
dos_qvariant_create_qobject
|
||||
dos_qvariant_create_float
|
||||
dos_qvariant_setInt
|
||||
dos_qvariant_setBool
|
||||
dos_qvariant_setFloat
|
||||
dos_qvariant_setString
|
||||
dos_qvariant_setQObject
|
||||
dos_qvariant_toInt
|
||||
dos_qvariant_toBool
|
||||
dos_qvariant_toString
|
||||
dos_qvariant_toFloat
|
||||
dos_qvariant_toQObject
|
||||
dos_qvariant_isnull
|
||||
dos_qvariant_assign
|
||||
dos_qvariant_create_qvariant
|
||||
dos_qvariant_delete
|
||||
dos_qqmlcontext_baseUrl
|
||||
dos_qqmlcontext_setcontextproperty
|
||||
dos_qurl_create
|
||||
dos_qurl_to_string
|
||||
dos_qurl_isValid
|
||||
dos_qurl_delete
|
||||
dos_qpixmap_create
|
||||
dos_qpixmap_create_width_and_height
|
||||
dos_qpixmap_create_qpixmap
|
||||
dos_qpixmap_load
|
||||
dos_qpixmap_loadFromData
|
||||
dos_qpixmap_fill
|
||||
dos_qpixmap_assign
|
||||
dos_qpixmap_isNull
|
||||
dos_qpixmap_delete
|
||||
dos_qquickimageprovider_create
|
||||
dos_qquickimageprovider_delete
|
||||
dos_qqmlapplicationengine_create
|
||||
dos_qqmlapplicationengine_load
|
||||
dos_qqmlapplicationengine_load_url
|
||||
dos_qqmlapplicationengine_load_data
|
||||
dos_qqmlapplicationengine_add_import_path
|
||||
dos_qqmlapplicationengine_context
|
||||
dos_qqmlapplicationengine_addImageProvider
|
||||
dos_qqmlapplicationengine_delete
|
||||
dos_qquickview_create
|
||||
dos_qquickview_show
|
||||
dos_qquickview_source
|
||||
dos_qquickview_set_source_url
|
||||
dos_qquickview_set_source
|
||||
dos_qquickview_set_resize_mode
|
||||
dos_qquickview_rootContext
|
||||
dos_qquickview_delete
|
||||
dos_qmetaobject_create
|
||||
dos_qmetaobject_invoke_method
|
||||
dos_qmetaobject_delete
|
||||
dos_qobject_qmetaobject
|
||||
dos_qabstractitemmodel_qmetaobject
|
||||
dos_qabstracttablemodel_qmetaobject
|
||||
dos_qabstractlistmodel_qmetaobject
|
||||
dos_qmodelindex_create
|
||||
dos_qmodelindex_create_qmodelindex
|
||||
dos_qmodelindex_row
|
||||
dos_qmodelindex_column
|
||||
dos_qmodelindex_isValid
|
||||
dos_qmodelindex_data
|
||||
dos_qmodelindex_parent
|
||||
dos_qmodelindex_child
|
||||
dos_qmodelindex_sibling
|
||||
dos_qmodelindex_assign
|
||||
dos_qmodelindex_delete
|
||||
dos_qabstractitemmodel_create
|
||||
dos_qabstractitemmodel_setData
|
||||
dos_qabstractitemmodel_flags
|
||||
dos_qabstractitemmodel_headerData
|
||||
dos_qabstractlistmodel_create
|
||||
dos_qabstractlistmodel_index
|
||||
dos_qabstractlistmodel_parent
|
||||
dos_qabstractlistmodel_columnCount
|
||||
dos_qabstracttablemodel_create
|
||||
dos_qabstracttablemodel_index
|
||||
dos_qabstracttablemodel_parent)
|
||||
(begin
|
||||
(foreign-declare "#include <DOtherSide/DOtherSideTypes.h>")
|
||||
(foreign-declare "#include <DOtherSide/DOtherSide.h>")
|
||||
|
|
Loading…
Reference in New Issue