diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index bd405af..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,163 +0,0 @@
-GNU LESSER GENERAL PUBLIC LICENSE
-
-Version 3, 29 June 2007
-
-Copyright (C) 2007 Free Software Foundation, Inc.
-
-Everyone is permitted to copy and distribute verbatim copies of this license
-document, but changing it is not allowed.
-
-This version of the GNU Lesser General Public License incorporates the terms
-and conditions of version 3 of the GNU General Public License, supplemented
-by the additional permissions listed below.
-
- 0. Additional Definitions.
-
-
-
-As used herein, "this License" refers to version 3 of the GNU Lesser General
-Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
-License.
-
-
-
-"The Library" refers to a covered work governed by this License, other than
-an Application or a Combined Work as defined below.
-
-
-
-An "Application" is any work that makes use of an interface provided by the
-Library, but which is not otherwise based on the Library. Defining a subclass
-of a class defined by the Library is deemed a mode of using an interface provided
-by the Library.
-
-
-
-A "Combined Work" is a work produced by combining or linking an Application
-with the Library. The particular version of the Library with which the Combined
-Work was made is also called the "Linked Version".
-
-
-
-The "Minimal Corresponding Source" for a Combined Work means the Corresponding
-Source for the Combined Work, excluding any source code for portions of the
-Combined Work that, considered in isolation, are based on the Application,
-and not on the Linked Version.
-
-
-
-The "Corresponding Application Code" for a Combined Work means the object
-code and/or source code for the Application, including any data and utility
-programs needed for reproducing the Combined Work from the Application, but
-excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
-You may convey a covered work under sections 3 and 4 of this License without
-being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
-If you modify a copy of the Library, and, in your modifications, a facility
-refers to a function or data to be supplied by an Application that uses the
-facility (other than as an argument passed when the facility is invoked),
-then you may convey a copy of the modified version:
-
-a) under this License, provided that you make a good faith effort to ensure
-that, in the event an Application does not supply the function or data, the
-facility still operates, and performs whatever part of its purpose remains
-meaningful, or
-
-b) under the GNU GPL, with none of the additional permissions of this License
-applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
-The object code form of an Application may incorporate material from a header
-file that is part of the Library. You may convey such object code under terms
-of your choice, provided that, if the incorporated material is not limited
-to numerical parameters, data structure layouts and accessors, or small macros,
-inline functions and templates (ten or fewer lines in length), you do both
-of the following:
-
-a) Give prominent notice with each copy of the object code that the Library
-is used in it and that the Library and its use are covered by this License.
-
-b) Accompany the object code with a copy of the GNU GPL and this license document.
-
- 4. Combined Works.
-
-You may convey a Combined Work under terms of your choice that, taken together,
-effectively do not restrict modification of the portions of the Library contained
-in the Combined Work and reverse engineering for debugging such modifications,
-if you also do each of the following:
-
-a) Give prominent notice with each copy of the Combined Work that the Library
-is used in it and that the Library and its use are covered by this License.
-
-b) Accompany the Combined Work with a copy of the GNU GPL and this license
-document.
-
-c) For a Combined Work that displays copyright notices during execution, include
-the copyright notice for the Library among these notices, as well as a reference
-directing the user to the copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
-0) Convey the Minimal Corresponding Source under the terms of this License,
-and the Corresponding Application Code in a form suitable for, and under terms
-that permit, the user to recombine or relink the Application with a modified
-version of the Linked Version to produce a modified Combined Work, in the
-manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
-
-1) Use a suitable shared library mechanism for linking with the Library. A
-suitable mechanism is one that (a) uses at run time a copy of the Library
-already present on the user's computer system, and (b) will operate properly
-with a modified version of the Library that is interface-compatible with the
-Linked Version.
-
-e) Provide Installation Information, but only if you would otherwise be required
-to provide such information under section 6 of the GNU GPL, and only to the
-extent that such information is necessary to install and execute a modified
-version of the Combined Work produced by recombining or relinking the Application
-with a modified version of the Linked Version. (If you use option 4d0, the
-Installation Information must accompany the Minimal Corresponding Source and
-Corresponding Application Code. If you use option 4d1, you must provide the
-Installation Information in the manner specified by section 6 of the GNU GPL
-for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
-You may place library facilities that are a work based on the Library side
-by side in a single library together with other library facilities that are
-not Applications and are not covered by this License, and convey such a combined
-library under terms of your choice, if you do both of the following:
-
-a) Accompany the combined library with a copy of the same work based on the
-Library, uncombined with any other library facilities, conveyed under the
-terms of this License.
-
-b) Give prominent notice with the combined library that part of it is a work
-based on the Library, and explaining where to find the accompanying uncombined
-form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
-The Free Software Foundation may publish revised and/or new versions of the
-GNU Lesser General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to address
-new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library as you
-received it specifies that a certain numbered version of the GNU Lesser General
-Public License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that published version or of
-any later version published by the Free Software Foundation. If the Library
-as you received it does not specify a version number of the GNU Lesser General
-Public License, you may choose any version of the GNU Lesser General Public
-License ever published by the Free Software Foundation.
-
-If the Library as you received it specifies that a proxy can decide whether
-future versions of the GNU Lesser General Public License shall apply, that
-proxy's public statement of acceptance of any version is permanent authorization
-for you to choose that version for the Library.
diff --git a/chicken_h.patch b/chicken_h.patch
deleted file mode 100644
index 68f3199..0000000
--- a/chicken_h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/chicken.h b/chicken.h
-index d75fe04f..ad3ba9da 100644
---- a/chicken.h
-+++ b/chicken.h
-@@ -1487,17 +1487,17 @@ typedef void (C_ccall *C_proc)(C_word, C_word *) C_noret;
- #ifdef C_BIG_ENDIAN
- # ifdef C_SIXTY_FOUR
- # define C_lihdr(x, y, z) ((C_LAMBDA_INFO_TYPE >> 56) & 0xff), \
-- 0, 0, 0, 0, (x), (y), (z)
-+ 0, 0, 0, 0, (x), (y), ((C_char)(z))
- # else
- # define C_lihdr(x, y, z) ((C_LAMBDA_INFO_TYPE >> 24) & 0xff), \
-- (x), (y), (z)
-+ (x), (y), ((C_char)(z))
- # endif
- #else
- # ifdef C_SIXTY_FOUR
--# define C_lihdr(x, y, z) (z), (y), (x), 0, 0, 0, 0, \
-+# define C_lihdr(x, y, z) ((C_char)(z)), (y), (x), 0, 0, 0, 0, \
- ((C_LAMBDA_INFO_TYPE >> 56) & 0xff)
- # else
--# define C_lihdr(x, y, z) (z), (y), (x), \
-+# define C_lihdr(x, y, z) ((C_char)(z)), (y), (x), \
- ((C_LAMBDA_INFO_TYPE >> 24) & 0xff)
- # endif
- #endif
diff --git a/dotherside.build.bash b/dotherside.build.bash
deleted file mode 100755
index 21deb8a..0000000
--- a/dotherside.build.bash
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR="$(pwd)"
-cd dotherside
-git submodule update --init
-mkdir build; cd build
-CC="${CHICKEN_CC}" CXX="${CHICKEN_CXX}" cmake ..
-CC="${CHICKEN_CC}" CXX="${CHICKEN_CXX}" make -j8
-cd "${BASEDIR}"
-cp dotherside/build/lib/*.{so,a}
diff --git a/qml.core.scm b/qml.core.scm
index 1969a3b..9bfabe5 100644
--- a/qml.core.scm
+++ b/qml.core.scm
@@ -25,15 +25,15 @@
(define-class ())
(define (qt-connection-type value)
(case value
- ((auto-connection:)
+ ((auto:)
(make 'value DosQtConnectionTypeAutoConnection))
- ((direct-connection:)
+ ((direct:)
(make 'value DosQtConnectionTypeDirectConnection))
- ((queued-connection:)
+ ((queued:)
(make 'value DosQtConnectionTypeQueuedConnection))
- ((blocking-connection:)
+ ((blocking:)
(make 'value DosQtConnectionTypeBlockingConnection))
- ((unique-connection:)
+ ((unique:)
(make 'value DosQtConnectionTypeUniqueConnection))))
;; Helpers
@@ -70,12 +70,17 @@
;; Objects
(define-class ()
((ptr accessor: ptr)))
+ (define-method (signal-emit (qo ) (name ) (paramcount ) (parameters ))
+ (dos_qobject_signal_emit (ptr qo) name paramcount parameters))
+ (define-method (delete (qo ))
+ (dos_qobject_delete (ptr qo)))
+ (define-method (delete-later (qo ))
+ (dos_qobject_deleteLater (ptr qo)))
(define-class ()
((ptr accessor: ptr)))
- (define-class ()
- ((ptr accessor: ptr)))
+ (define-class ())
(define-method (base-url (context ))
(dos_qqmlcontext_baseUrl (ptr context)))
(define-method (set-property (context ) (name ) (value ))
@@ -121,8 +126,7 @@
(define-method (delete (qip ))
(dos_qquickimageprovider_delete (ptr qip)))
- (define-class ()
- ((ptr accessor: ptr)))
+ (define-class ())
(define (new-QQmlApplicationEngine)
(make 'ptr (dos_qqmlapplicationengine_create)))
(define-method (load (appengine ) (filePath ))
@@ -146,8 +150,7 @@
((size-view-to-root-object:) (make 'value 0))
((size-root-object-to-view:) (make 'value 1))))
- (define-class ()
- ((ptr accessor: ptr)))
+ (define-class ())
(define (new-QQuickView)
(make 'ptr (dos_qquickview_create)))
(define-method (show (qqv ))
@@ -204,4 +207,60 @@
(define-method (copy (qv ))
(make 'ptr (dos_qvariant_create_qvariant (ptr qv))))
(define-method (delete (qv ))
- (dos_qvariant_delete (ptr qv))))
+ (dos_qvariant_delete (ptr qv)))
+
+ (define-class ()
+ ((ptr accessor: ptr)))
+ (define (new-QMetaObject superclass, classname, signal-definitions, slot-definitions, property-definitions)
+ (make 'ptr (dos_qmetaobject_create (ptr superclass) classname signal-definitions
+ slot-definitions property-definitions)))
+ (define-method (invoke-method (qmo ) (callback ) (data ) (connection-type ))
+ (dos_qmetaobject_invoke_method (ptr qmo) callback data (value connection-type)))
+ (define-method (delete (qmo ))
+ (dos_qmetaobject_delete (ptr qmo)))
+
+ (define-class ())
+ (define (qitem-data-role value)
+ (case value
+ ((display:) (make 'value 0))
+ ((decoration:) (make 'value 1))
+ ((edit:) (make 'value 2))
+ ((tool-tip:) (make 'value 3))
+ ((status-tip:) (make 'value 4))
+ ((whats-this:) (make 'value 5))
+ ((font:) (make 'value 6))
+ ((text-alignment:) (make 'value 7))
+ ((background:) (make 'value 8))
+ ((foreground:) (make 'value 9))
+ ((check-state:) (make 'value 10))
+ ((accessible-text:) (make 'value 11))
+ ((accessible-description:) (make 'value 12))
+ ((size-hint:) (make 'value 13))
+ ((initial-sort-order:) (make 'value 14))))
+
+ (define-class ())
+ (define (new-QAbstractItemModel callback meta-object dcallback callbacks)
+ (dos_qabstractitemmodel_create callback (ptr meta-object) dcallback (ptr callbacks)))
+ (define-method (set-data (qaim ) (qmi ) (qv ) (role ))
+ (dos_qabstractitemmodel_setData (ptr qaim) (ptr qmi) (ptr qv) (value role)))
+ (define-method (flags (qaim ) (qmi ))
+ (dos_qabstractitemmodel_flags (ptr qaim) (ptr qmi)))
+ (define-method (header-data))
+
+ (define-class ())
+ (define (new-QAbstractListModel callback qalm dcallback callbacks)
+ (dos_qabstractlistmodel_create callback (ptr qalm) dcallback (ptr callbacks)))
+ (define-method (index (qalm ) (row ) (column ) (parent ))
+ (dos_qabstractlistmodel_index (ptr qalm) row column (ptr parent)))
+ (define-method (parent (qalm ) (child ))
+ (dos_qabstractlistmodel_parent (ptr qalm) (ptr child)))
+ (define-method (column-count (qalm ) (parent ))
+ (dos_qabstractlistmodel_columnCount (ptr qalm) (ptr parent)))
+
+ (define-class ())
+ (define (new-QAbstractTableModel callback meta-object dcallback callbacks)
+ (dos_qabstracttablemodel_create callback (ptr meta-object) dcallback (ptr callbacks)))
+ (define-method (index (qatm ) (row ) (column ) (parent ))
+ (dos_qabstracttablemodel_index (ptr qatm) row column (ptr parent)))
+ (define-method (parent (qatm ) (child ))
+ (dos_qabstracttablemodel_parent (ptr qatm) (ptr child))))
diff --git a/qml.egg b/qml.egg
index 9598206..df0dd28 100644
--- a/qml.egg
+++ b/qml.egg
@@ -4,8 +4,7 @@
(category ui)
(license "LGPLv3")
(dependencies coops coops-utils foreigners utf8)
- (foreign-dependencies dotherside
- Qt5Core
+ (foreign-dependencies Qt5Core
Qt5Widgets
Qt5Gui
Qt5Quick
@@ -47,6 +46,18 @@
dotherside/lib/src/DosQQuickImageProvider
dotherside/lib/src/DOtherSide
dotherside/lib/src/DOtherSideTypesCpp)
- (csc-options "-c++" "-Idotherside/lib/include" "-L." "-Wl,libDOtherSide.so" "-rpath" "."))
- (extension qml.core
- (component-dependencies qml.lowlevel))))
+ (csc-options "-c++" "-Idotherside/lib/include"
+ "-L" "-lQt5Core"
+ "-L" "-lQt5Widgets"
+ "-L" "-lQt5Gui"
+ "-L" "-lQt5Quick"
+ "-L" "-lQt5QuickControls2"
+ "-L" "-lQt5Qml"
+ "-L" "-lQt5QmlModels"
+ "-L" "-lQt5Network"
+ "-L" "-lQt5Test"
+ "-L" "-lQt5QuickTest"
+ "-L" "-lOpenGL"))))
+ ;;(extension qml.core
+ ;; (component-dependencies qml.lowlevel))
+