qml 0.0.7 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitmodules +3 -0
- data/.travis.yml +5 -9
- data/LICENSE.txt +1 -1
- data/README.md +84 -114
- data/changes.md +5 -0
- data/examples/fizzbuzz/fizzbuzz.rb +3 -4
- data/examples/todo_array/todo_array.rb +4 -4
- data/examples/todo_sequel/todo_sequel.rb +7 -7
- data/examples/twitter/twitter.rb +5 -3
- data/ext/qml/application.c +88 -0
- data/ext/qml/application.h +9 -0
- data/ext/qml/component.c +89 -0
- data/ext/qml/component.h +10 -0
- data/ext/qml/conversion.c +60 -0
- data/ext/qml/conversion.h +8 -0
- data/ext/qml/dispatcher.c +31 -0
- data/ext/qml/dispatcher.h +7 -0
- data/ext/qml/engine.c +135 -0
- data/ext/qml/engine.h +10 -0
- data/ext/qml/exporter.c +93 -0
- data/ext/qml/exporter.h +7 -0
- data/ext/qml/extconf.rb +38 -97
- data/ext/qml/interface.c +156 -0
- data/ext/qml/interface.h +11 -0
- data/ext/qml/js_array.c +47 -0
- data/ext/qml/js_array.h +7 -0
- data/ext/qml/js_function.c +109 -0
- data/ext/qml/js_function.h +7 -0
- data/ext/qml/js_object.c +284 -0
- data/ext/qml/js_object.h +19 -0
- data/ext/qml/js_wrapper.c +19 -0
- data/ext/qml/js_wrapper.h +7 -0
- data/ext/qml/lib/libqmlbind/.gitignore +38 -0
- data/ext/qml/lib/libqmlbind/.gitmodules +3 -0
- data/ext/qml/lib/libqmlbind/.travis.yml +14 -0
- data/ext/qml/lib/libqmlbind/LICENSE.txt +22 -0
- data/ext/qml/lib/libqmlbind/libqmlbind.pro +3 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind.h +14 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/application.h +18 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/component.h +21 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/engine.h +34 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/exporter.h +37 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/interface.h +16 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/iterator.h +19 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/metaobject.h +13 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/plugin.h +17 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/qmlbind_global.h +78 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/register.h +17 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/signal_emitter.h +15 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/string.h +15 -0
- data/ext/qml/lib/libqmlbind/qmlbind/include/qmlbind/value.h +100 -0
- data/ext/qml/lib/libqmlbind/qmlbind/qmlbind.pro +62 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_application.cpp +103 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_component.cpp +54 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_engine.cpp +65 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_exporter.cpp +52 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_interface.cpp +19 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_iterator.cpp +32 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_metaobject.cpp +19 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_plugin.cpp +27 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_register.cpp +17 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_signal_emitter.cpp +27 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_string.cpp +22 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/api_value.cpp +215 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/backref.cpp +54 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/backref.h +29 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/engine.cpp +32 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/engine.h +27 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/exporter.cpp +73 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/exporter.h +46 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/interface.cpp +75 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/interface.h +37 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/metaobject.cpp +101 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/metaobject.h +29 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/signalemitter.cpp +33 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/signalemitter.h +25 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/ticktimer.cpp +15 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/ticktimer.h +19 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/typeregisterer.cpp +112 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/typeregisterer.h +28 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/util.h +13 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/wrapper.cpp +23 -0
- data/ext/qml/lib/libqmlbind/qmlbind/src/wrapper.h +29 -0
- data/ext/qml/lib/libqmlbind/readme.md +14 -0
- data/ext/qml/lib/libqmlbind/test/api.c +1 -0
- data/ext/qml/lib/libqmlbind/test/application_test.cpp +16 -0
- data/ext/qml/lib/libqmlbind/test/component_test.cpp +57 -0
- data/ext/qml/lib/libqmlbind/test/engine_test.cpp +94 -0
- data/ext/qml/lib/libqmlbind/test/exporter_test.cpp +312 -0
- data/ext/qml/lib/libqmlbind/test/fixtures/emptyhandlers.cpp +36 -0
- data/ext/qml/lib/libqmlbind/test/fixtures/emptyhandlers.h +6 -0
- data/ext/qml/lib/libqmlbind/test/fixtures/test.qml +5 -0
- data/ext/qml/lib/libqmlbind/test/fixtures/testmodule/qmldir +2 -0
- data/ext/qml/lib/libqmlbind/test/fixtures/testmodule/test.qml +5 -0
- data/ext/qml/lib/libqmlbind/test/iterator_test.cpp +37 -0
- data/ext/qml/lib/libqmlbind/test/main.cpp +11 -0
- data/ext/qml/lib/libqmlbind/test/plugin_test.cpp +41 -0
- data/ext/qml/lib/libqmlbind/test/test.pro +26 -0
- data/ext/qml/lib/libqmlbind/test/test_helper.h +20 -0
- data/ext/qml/lib/libqmlbind/test/value_test.cpp +252 -0
- data/ext/qml/lib/libqmlbind/testplugin/testplugin.cpp +11 -0
- data/ext/qml/lib/libqmlbind/testplugin/testplugin.h +21 -0
- data/ext/qml/lib/libqmlbind/testplugin/testplugin.json +3 -0
- data/ext/qml/lib/libqmlbind/testplugin/testplugin.pro +21 -0
- data/ext/qml/meta_object.c +81 -0
- data/ext/qml/meta_object.h +8 -0
- data/ext/qml/plugin_loader.c +71 -0
- data/ext/qml/plugin_loader.h +7 -0
- data/ext/qml/qml.c +95 -0
- data/ext/qml/qml.h +10 -0
- data/ext/qml/rubyqml-plugin/listmodel.cpp +102 -0
- data/ext/qml/rubyqml-plugin/listmodel.h +37 -0
- data/ext/qml/rubyqml-plugin/rubyqml-plugin.pro +19 -0
- data/ext/qml/rubyqml-plugin/rubyqmlplugin.cpp +25 -0
- data/ext/qml/rubyqml-plugin/rubyqmlplugin.h +19 -0
- data/ext/qml/signal_emitter.c +71 -0
- data/ext/qml/signal_emitter.h +9 -0
- data/lib/qml.rb +11 -10
- data/lib/qml/access.rb +64 -86
- data/lib/qml/application.rb +20 -71
- data/lib/qml/component.rb +41 -33
- data/lib/qml/core_ext.rb +1 -0
- data/lib/qml/core_ext/to_qml.rb +70 -0
- data/lib/qml/data.rb +1 -0
- data/lib/qml/data/array_model.rb +99 -101
- data/lib/qml/data/list_model.rb +107 -131
- data/lib/qml/data/list_model_access.rb +44 -0
- data/lib/qml/data/query_model.rb +45 -47
- data/lib/qml/dispatcher.rb +5 -13
- data/lib/qml/engine.rb +9 -58
- data/lib/qml/errors.rb +0 -21
- data/lib/qml/interface.rb +21 -0
- data/lib/qml/js_array.rb +8 -0
- data/lib/qml/js_object.rb +69 -0
- data/lib/qml/js_util.rb +18 -0
- data/lib/qml/plugin_loader.rb +1 -13
- data/lib/qml/plugins.rb +3 -17
- data/lib/qml/proc_access.rb +28 -0
- data/lib/qml/qt.rb +21 -3
- data/lib/qml/reactive.rb +147 -8
- data/lib/qml/signal.rb +67 -0
- data/lib/qml/version.rb +1 -1
- data/qml.gemspec +8 -2
- data/spec/qml/access_spec.rb +33 -120
- data/spec/qml/application_spec.rb +11 -24
- data/spec/qml/component_spec.rb +4 -4
- data/spec/qml/data/array_model_spec.rb +2 -2
- data/spec/qml/data/list_model_spec.rb +2 -2
- data/spec/qml/data/query_model_spec.rb +4 -4
- data/spec/qml/engine_spec.rb +23 -21
- data/spec/qml/interface_spec.rb +20 -0
- data/spec/qml/js_array_spec.rb +29 -0
- data/spec/qml/js_function_spec.rb +32 -0
- data/spec/qml/js_object_spec.rb +113 -0
- data/spec/qml/plugin_loader_spec.rb +9 -11
- data/spec/qml/qt_spec.rb +9 -0
- data/spec/qml/reactive_spec.rb +37 -0
- data/spec/qml/signal_connect_spec.rb +27 -0
- data/spec/qml/signal_spec.rb +73 -0
- data/spec/qml/to_qml_spec.rb +76 -0
- data/spec/shared/qml/access_example.rb +21 -0
- data/spec/shared/qml/data/list_model.rb +12 -13
- data/spec/spec_helper.rb +2 -3
- metadata +141 -166
- data/examples/imageprovider/imageprovider.rb +0 -57
- data/examples/imageprovider/main.qml +0 -51
- data/ext/qml/accessclass.cpp +0 -65
- data/ext/qml/accessclass.h +0 -19
- data/ext/qml/accessobject.cpp +0 -30
- data/ext/qml/accessobject.h +0 -22
- data/ext/qml/common.h +0 -18
- data/ext/qml/conversionerror.h +0 -14
- data/ext/qml/ext_accesswrapperfactory.cpp +0 -75
- data/ext/qml/ext_accesswrapperfactory.h +0 -39
- data/ext/qml/ext_anywrapper.cpp +0 -34
- data/ext/qml/ext_anywrapper.h +0 -23
- data/ext/qml/ext_kernel.cpp +0 -81
- data/ext/qml/ext_kernel.h +0 -9
- data/ext/qml/ext_metaobject.cpp +0 -399
- data/ext/qml/ext_metaobject.h +0 -60
- data/ext/qml/ext_pluginloader.cpp +0 -53
- data/ext/qml/ext_pluginloader.h +0 -30
- data/ext/qml/ext_pointer.cpp +0 -132
- data/ext/qml/ext_pointer.h +0 -41
- data/ext/qml/ext_testutil.cpp +0 -40
- data/ext/qml/ext_testutil.h +0 -9
- data/ext/qml/foreignclass.cpp +0 -72
- data/ext/qml/foreignclass.h +0 -88
- data/ext/qml/foreignmetaobject.cpp +0 -345
- data/ext/qml/foreignmetaobject.h +0 -46
- data/ext/qml/foreignobject.cpp +0 -22
- data/ext/qml/foreignobject.h +0 -21
- data/ext/qml/functioninfo.h +0 -16
- data/ext/qml/init.cpp +0 -67
- data/ext/qml/kernel.cpp +0 -39
- data/ext/qml/kernel.h +0 -32
- data/ext/qml/listmodel.cpp +0 -137
- data/ext/qml/listmodel.h +0 -45
- data/ext/qml/markable.h +0 -12
- data/ext/qml/objectdata.cpp +0 -26
- data/ext/qml/objectdata.h +0 -20
- data/ext/qml/objectgc.cpp +0 -69
- data/ext/qml/objectgc.h +0 -28
- data/ext/qml/plugins/core/applicationextension.cpp +0 -29
- data/ext/qml/plugins/core/applicationextension.h +0 -25
- data/ext/qml/plugins/core/componentextension.cpp +0 -41
- data/ext/qml/plugins/core/componentextension.h +0 -28
- data/ext/qml/plugins/core/contextextension.cpp +0 -39
- data/ext/qml/plugins/core/contextextension.h +0 -29
- data/ext/qml/plugins/core/core.pro +0 -29
- data/ext/qml/plugins/core/coreplugin.cpp +0 -87
- data/ext/qml/plugins/core/coreplugin.h +0 -49
- data/ext/qml/plugins/core/engineextension.cpp +0 -43
- data/ext/qml/plugins/core/engineextension.h +0 -31
- data/ext/qml/plugins/core/imageprovider.cpp +0 -38
- data/ext/qml/plugins/core/imageprovider.h +0 -18
- data/ext/qml/plugins/core/imagerequestpromise.cpp +0 -19
- data/ext/qml/plugins/core/imagerequestpromise.h +0 -21
- data/ext/qml/plugins/core/qmlexception.cpp +0 -11
- data/ext/qml/plugins/core/qmlexception.h +0 -17
- data/ext/qml/plugins/testutil/imageprovidertest.cpp +0 -40
- data/ext/qml/plugins/testutil/imageprovidertest.h +0 -17
- data/ext/qml/plugins/testutil/objectlifechecker.cpp +0 -17
- data/ext/qml/plugins/testutil/objectlifechecker.h +0 -24
- data/ext/qml/plugins/testutil/ownershiptest.cpp +0 -26
- data/ext/qml/plugins/testutil/ownershiptest.h +0 -30
- data/ext/qml/plugins/testutil/testobject.cpp +0 -6
- data/ext/qml/plugins/testutil/testobject.h +0 -108
- data/ext/qml/plugins/testutil/testobjectsubclass.cpp +0 -10
- data/ext/qml/plugins/testutil/testobjectsubclass.h +0 -19
- data/ext/qml/plugins/testutil/testutil.pro +0 -22
- data/ext/qml/plugins/testutil/testutilplugin.cpp +0 -55
- data/ext/qml/plugins/testutil/testutilplugin.h +0 -36
- data/ext/qml/qmltyperegisterer.cpp +0 -74
- data/ext/qml/qmltyperegisterer.h +0 -30
- data/ext/qml/rubyclass.cpp +0 -82
- data/ext/qml/rubyclass.h +0 -230
- data/ext/qml/rubyvalue.cpp +0 -656
- data/ext/qml/rubyvalue.h +0 -224
- data/ext/qml/signalforwarder.cpp +0 -64
- data/ext/qml/signalforwarder.h +0 -29
- data/ext/qml/util.cpp +0 -112
- data/ext/qml/util.h +0 -82
- data/ext/qml/valuereference.cpp +0 -50
- data/ext/qml/valuereference.h +0 -22
- data/ext/qml/weakvaluereference.cpp +0 -51
- data/ext/qml/weakvaluereference.h +0 -21
- data/lib/qml/context.rb +0 -71
- data/lib/qml/data/error.rb +0 -5
- data/lib/qml/dispatchable.rb +0 -34
- data/lib/qml/error_converter.rb +0 -16
- data/lib/qml/geometry.rb +0 -3
- data/lib/qml/geometry/point.rb +0 -5
- data/lib/qml/geometry/rectangle.rb +0 -5
- data/lib/qml/geometry/size.rb +0 -5
- data/lib/qml/image_provider.rb +0 -87
- data/lib/qml/init.rb +0 -29
- data/lib/qml/meta_object.rb +0 -20
- data/lib/qml/models.rb +0 -1
- data/lib/qml/qt_classes.rb +0 -9
- data/lib/qml/qt_object_base.rb +0 -233
- data/lib/qml/reactive/bindable.rb +0 -79
- data/lib/qml/reactive/chained_signal.rb +0 -25
- data/lib/qml/reactive/error.rb +0 -5
- data/lib/qml/reactive/object.rb +0 -293
- data/lib/qml/reactive/property.rb +0 -19
- data/lib/qml/reactive/signal.rb +0 -115
- data/lib/qml/reactive/signal_spy.rb +0 -27
- data/lib/qml/reactive/signals/map_signal.rb +0 -21
- data/lib/qml/reactive/signals/merge_signal.rb +0 -21
- data/lib/qml/reactive/signals/select_signal.rb +0 -21
- data/lib/qml/reactive/simple_property.rb +0 -17
- data/lib/qml/reactive/unbound_property.rb +0 -42
- data/lib/qml/reactive/unbound_signal.rb +0 -51
- data/lib/qml/test_util.rb +0 -1
- data/lib/qml/test_util/object_life_checker.rb +0 -17
- data/lib/qml/wrappable.rb +0 -9
- data/spec/qml/context_spec.rb +0 -43
- data/spec/qml/conversion_spec.rb +0 -60
- data/spec/qml/dispatchable_spec.rb +0 -26
- data/spec/qml/dispatcher_spec.rb +0 -71
- data/spec/qml/geometry/point_spec.rb +0 -4
- data/spec/qml/geometry/rectangle_spec.rb +0 -4
- data/spec/qml/geometry/size_spec.rb +0 -4
- data/spec/qml/image_provider_spec.rb +0 -33
- data/spec/qml/qt_object_base_spec.rb +0 -119
- data/spec/qml/reactive/object_spec.rb +0 -249
- data/spec/qml/reactive/property_spec.rb +0 -70
- data/spec/qml/reactive/signal_spec.rb +0 -191
- data/spec/qml/reactive/signal_spy_spec.rb +0 -26
- data/spec/qml/reactive/unbound_property_spec.rb +0 -40
- data/spec/qml/reactive/unbound_signal_spec.rb +0 -70
- data/spec/qml/test_object_spec.rb +0 -186
- data/spec/qml/wrappable_spec.rb +0 -10
- data/spec/shared/qml/reactive/object.rb +0 -39
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Created by https://www.gitignore.io
|
|
2
|
+
|
|
3
|
+
### Qt ###
|
|
4
|
+
# C++ objects and libs
|
|
5
|
+
|
|
6
|
+
*.slo
|
|
7
|
+
*.lo
|
|
8
|
+
*.o
|
|
9
|
+
*.a
|
|
10
|
+
*.la
|
|
11
|
+
*.lai
|
|
12
|
+
*.so
|
|
13
|
+
*.dll
|
|
14
|
+
*.dylib
|
|
15
|
+
|
|
16
|
+
# Qt-es
|
|
17
|
+
|
|
18
|
+
/.qmake.cache
|
|
19
|
+
/.qmake.stash
|
|
20
|
+
*.pro.user
|
|
21
|
+
*.pro.user.*
|
|
22
|
+
*.moc
|
|
23
|
+
moc_*.cpp
|
|
24
|
+
qrc_*.cpp
|
|
25
|
+
ui_*.h
|
|
26
|
+
Makefile*
|
|
27
|
+
*-build-*
|
|
28
|
+
.qmake.stash
|
|
29
|
+
|
|
30
|
+
# QtCreator
|
|
31
|
+
|
|
32
|
+
*.autosave
|
|
33
|
+
|
|
34
|
+
#QtCtreator Qml
|
|
35
|
+
*.qmlproject.user
|
|
36
|
+
*.qmlproject.user.*
|
|
37
|
+
|
|
38
|
+
/test/test
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
language: cpp
|
|
2
|
+
compiler:
|
|
3
|
+
- clang
|
|
4
|
+
before_install:
|
|
5
|
+
- sudo apt-add-repository -y ppa:beineri/opt-qt541
|
|
6
|
+
- sudo apt-get update
|
|
7
|
+
- sudo apt-get install -y qt54base qt54declarative
|
|
8
|
+
script:
|
|
9
|
+
- source /opt/qt54/bin/qt54-env.sh
|
|
10
|
+
- qmake -r QMAKE_CC=$CC QMAKE_CXX=$CXX
|
|
11
|
+
- make
|
|
12
|
+
- export LD_LIBRARY_PATH=$PWD/qmlbind
|
|
13
|
+
- cd ./test
|
|
14
|
+
- ./test -platform offscreen
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2014-2015 Ryohei Ikegami
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind/application.h"
|
|
4
|
+
#include "qmlbind/component.h"
|
|
5
|
+
#include "qmlbind/engine.h"
|
|
6
|
+
#include "qmlbind/interface.h"
|
|
7
|
+
#include "qmlbind/exporter.h"
|
|
8
|
+
#include "qmlbind/iterator.h"
|
|
9
|
+
#include "qmlbind/metaobject.h"
|
|
10
|
+
#include "qmlbind/plugin.h"
|
|
11
|
+
#include "qmlbind/signal_emitter.h"
|
|
12
|
+
#include "qmlbind/string.h"
|
|
13
|
+
#include "qmlbind/value.h"
|
|
14
|
+
#include "qmlbind/register.h"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind_global.h"
|
|
4
|
+
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
QMLBIND_API qmlbind_application qmlbind_application_new(int argc, char **argv);
|
|
10
|
+
QMLBIND_API void qmlbind_application_release(qmlbind_application app);
|
|
11
|
+
QMLBIND_API int qmlbind_application_exec(qmlbind_application app);
|
|
12
|
+
|
|
13
|
+
QMLBIND_API void qmlbind_process_events();
|
|
14
|
+
QMLBIND_API void qmlbind_set_tick_callback(void (*func)());
|
|
15
|
+
|
|
16
|
+
#ifdef __cplusplus
|
|
17
|
+
}
|
|
18
|
+
#endif
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind_global.h"
|
|
4
|
+
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
QMLBIND_API qmlbind_component qmlbind_component_new(qmlbind_engine engine);
|
|
10
|
+
QMLBIND_API void qmlbind_component_release(qmlbind_component component);
|
|
11
|
+
|
|
12
|
+
QMLBIND_API void qmlbind_component_load_path(qmlbind_component component, const char *path);
|
|
13
|
+
QMLBIND_API void qmlbind_component_set_data(qmlbind_component component, const char *data, const char *path);
|
|
14
|
+
|
|
15
|
+
QMLBIND_API qmlbind_string qmlbind_component_get_error_string(qmlbind_component component);
|
|
16
|
+
|
|
17
|
+
QMLBIND_API qmlbind_value qmlbind_component_create(qmlbind_component component);
|
|
18
|
+
|
|
19
|
+
#ifdef __cplusplus
|
|
20
|
+
}
|
|
21
|
+
#endif
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind_global.h"
|
|
4
|
+
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
QMLBIND_API qmlbind_engine qmlbind_engine_new();
|
|
10
|
+
QMLBIND_API void qmlbind_engine_release(qmlbind_engine engine);
|
|
11
|
+
|
|
12
|
+
QMLBIND_API qmlbind_value qmlbind_engine_eval(
|
|
13
|
+
qmlbind_engine engine,
|
|
14
|
+
const char *str, const char *file, int lineNumber
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
QMLBIND_API qmlbind_value qmlbind_engine_get_global_object(qmlbind_engine engine);
|
|
18
|
+
|
|
19
|
+
QMLBIND_API qmlbind_value qmlbind_engine_new_object(qmlbind_engine engine);
|
|
20
|
+
QMLBIND_API qmlbind_value qmlbind_engine_new_array(qmlbind_engine engine, int length);
|
|
21
|
+
|
|
22
|
+
QMLBIND_API qmlbind_value qmlbind_engine_new_wrapper(
|
|
23
|
+
qmlbind_engine engine,
|
|
24
|
+
qmlbind_metaobject metaobj,
|
|
25
|
+
qmlbind_backref ref
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
QMLBIND_API void qmlbind_engine_add_import_path(qmlbind_engine engine, const char *path);
|
|
29
|
+
|
|
30
|
+
QMLBIND_API void qmlbind_engine_collect_garbage(qmlbind_engine engine);
|
|
31
|
+
|
|
32
|
+
#ifdef __cplusplus
|
|
33
|
+
}
|
|
34
|
+
#endif
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "qmlbind_global.h"
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
QMLBIND_API qmlbind_exporter qmlbind_exporter_new(
|
|
9
|
+
qmlbind_backref classHandle,
|
|
10
|
+
const char *className,
|
|
11
|
+
qmlbind_interface interface
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
QMLBIND_API void qmlbind_exporter_release(qmlbind_exporter exporter);
|
|
15
|
+
|
|
16
|
+
QMLBIND_API int qmlbind_exporter_add_method(
|
|
17
|
+
qmlbind_exporter exporter,
|
|
18
|
+
const char *name,
|
|
19
|
+
int arity
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
QMLBIND_API int qmlbind_exporter_add_signal(
|
|
23
|
+
qmlbind_exporter exporter,
|
|
24
|
+
const char *name,
|
|
25
|
+
int arity,
|
|
26
|
+
const char **params
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
QMLBIND_API int qmlbind_exporter_add_property(
|
|
30
|
+
qmlbind_exporter exporter,
|
|
31
|
+
const char *name,
|
|
32
|
+
const char *notifierSignal
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
#ifdef __cplusplus
|
|
36
|
+
}
|
|
37
|
+
#endif
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "qmlbind_global.h"
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
QMLBIND_API qmlbind_interface qmlbind_interface_new(
|
|
9
|
+
qmlbind_interface_handlers handlers
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
QMLBIND_API void qmlbind_interface_release(qmlbind_interface interface);
|
|
13
|
+
|
|
14
|
+
#ifdef __cplusplus
|
|
15
|
+
}
|
|
16
|
+
#endif
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "qmlbind_global.h"
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
QMLBIND_API qmlbind_iterator qmlbind_iterator_new(qmlbind_value object);
|
|
9
|
+
QMLBIND_API void qmlbind_iterator_release(qmlbind_iterator self);
|
|
10
|
+
|
|
11
|
+
QMLBIND_API qmlbind_string qmlbind_iterator_get_key(qmlbind_iterator self);
|
|
12
|
+
QMLBIND_API qmlbind_value qmlbind_iterator_get_value(qmlbind_iterator self);
|
|
13
|
+
|
|
14
|
+
QMLBIND_API void qmlbind_iterator_next(qmlbind_iterator self);
|
|
15
|
+
QMLBIND_API int qmlbind_iterator_has_next(qmlbind_iterator self);
|
|
16
|
+
|
|
17
|
+
#ifdef __cplusplus
|
|
18
|
+
}
|
|
19
|
+
#endif
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "qmlbind_global.h"
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
QMLBIND_API qmlbind_metaobject qmlbind_metaobject_new(qmlbind_exporter exporter);
|
|
9
|
+
QMLBIND_API void qmlbind_metaobject_release(qmlbind_metaobject metaobject);
|
|
10
|
+
|
|
11
|
+
#ifdef __cplusplus
|
|
12
|
+
}
|
|
13
|
+
#endif
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind_global.h"
|
|
4
|
+
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
QMLBIND_API qmlbind_plugin qmlbind_plugin_new(const char *filename);
|
|
10
|
+
QMLBIND_API void qmlbind_plugin_release(qmlbind_plugin plugin);
|
|
11
|
+
|
|
12
|
+
QMLBIND_API qmlbind_string qmlbind_plugin_get_error_string(qmlbind_plugin plugin);
|
|
13
|
+
QMLBIND_API qmlbind_value qmlbind_plugin_get_instance(qmlbind_plugin plugin, qmlbind_engine engine);
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
}
|
|
17
|
+
#endif
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
# if defined(_WIN32) || defined(_WIN64)
|
|
4
|
+
# ifdef QMLBIND_LIBRARY
|
|
5
|
+
# define QMLBIND_API __declspec(dllexport)
|
|
6
|
+
# else
|
|
7
|
+
# define QMLBIND_API __declspec(dllimport)
|
|
8
|
+
# endif
|
|
9
|
+
# else
|
|
10
|
+
# define QMLBIND_API
|
|
11
|
+
# endif
|
|
12
|
+
|
|
13
|
+
#ifdef QMLBIND_LIBRARY
|
|
14
|
+
|
|
15
|
+
template <typename T> class QSharedPointer;
|
|
16
|
+
class QApplication;
|
|
17
|
+
class QQmlComponent;
|
|
18
|
+
class QJSValue;
|
|
19
|
+
class QJSValueIterator;
|
|
20
|
+
class QByteArray;
|
|
21
|
+
class QPluginLoader;
|
|
22
|
+
|
|
23
|
+
namespace QmlBind {
|
|
24
|
+
|
|
25
|
+
class Engine;
|
|
26
|
+
class Interface;
|
|
27
|
+
class MetaObject;
|
|
28
|
+
class Exporter;
|
|
29
|
+
class SignalEmitter;
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
typedef QApplication *qmlbind_application;
|
|
34
|
+
|
|
35
|
+
typedef QmlBind::Engine *qmlbind_engine;
|
|
36
|
+
typedef QQmlComponent *qmlbind_component;
|
|
37
|
+
typedef QPluginLoader *qmlbind_plugin;
|
|
38
|
+
|
|
39
|
+
typedef QJSValue *qmlbind_value;
|
|
40
|
+
typedef QJSValueIterator *qmlbind_iterator;
|
|
41
|
+
typedef QByteArray *qmlbind_string;
|
|
42
|
+
|
|
43
|
+
// Use shared pointer for widely referenced classes
|
|
44
|
+
typedef QSharedPointer<QmlBind::Interface> *qmlbind_interface;
|
|
45
|
+
typedef QSharedPointer<QmlBind::MetaObject> *qmlbind_metaobject;
|
|
46
|
+
typedef QSharedPointer<QmlBind::Exporter> *qmlbind_exporter;
|
|
47
|
+
|
|
48
|
+
typedef QmlBind::SignalEmitter *qmlbind_signal_emitter;
|
|
49
|
+
|
|
50
|
+
#else
|
|
51
|
+
|
|
52
|
+
typedef struct {} *qmlbind_application;
|
|
53
|
+
|
|
54
|
+
typedef struct {} *qmlbind_engine;
|
|
55
|
+
typedef struct {} *qmlbind_component;
|
|
56
|
+
typedef struct {} *qmlbind_plugin;
|
|
57
|
+
|
|
58
|
+
typedef struct {} *qmlbind_value;
|
|
59
|
+
typedef struct {} *qmlbind_iterator;
|
|
60
|
+
typedef struct {} *qmlbind_string;
|
|
61
|
+
|
|
62
|
+
typedef struct {} *qmlbind_interface;
|
|
63
|
+
typedef struct {} *qmlbind_metaobject;
|
|
64
|
+
typedef struct {} *qmlbind_exporter;
|
|
65
|
+
|
|
66
|
+
typedef struct {} *qmlbind_signal_emitter;
|
|
67
|
+
|
|
68
|
+
#endif
|
|
69
|
+
|
|
70
|
+
typedef struct qmlbind_backref_s *qmlbind_backref;
|
|
71
|
+
|
|
72
|
+
typedef struct {
|
|
73
|
+
qmlbind_backref (*new_object)(qmlbind_backref classRef, qmlbind_signal_emitter signalEmitter);
|
|
74
|
+
void (*delete_object)(qmlbind_backref objRef);
|
|
75
|
+
qmlbind_value (*call_method)(qmlbind_engine engine, qmlbind_backref objRef, const char *name, int argc, qmlbind_value *argv);
|
|
76
|
+
qmlbind_value (*get_property)(qmlbind_engine engine, qmlbind_backref objRef, const char *name);
|
|
77
|
+
void (*set_property)(qmlbind_engine engine, qmlbind_backref objRef, const char *name, qmlbind_value value);
|
|
78
|
+
} qmlbind_interface_handlers;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "qmlbind_global.h"
|
|
3
|
+
|
|
4
|
+
#ifdef __cplusplus
|
|
5
|
+
extern "C" {
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
QMLBIND_API int qmlbind_register_type(
|
|
9
|
+
qmlbind_metaobject metaobjet,
|
|
10
|
+
const char *uri,
|
|
11
|
+
int versionMajor, int versionMinor,
|
|
12
|
+
const char *qmlName
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
#ifdef __cplusplus
|
|
16
|
+
}
|
|
17
|
+
#endif
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind_global.h"
|
|
4
|
+
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
QMLBIND_API void qmlbind_signal_emitter_emit(qmlbind_signal_emitter emitter, const char *signal_name, int argc, qmlbind_value *argv);
|
|
10
|
+
QMLBIND_API qmlbind_engine qmlbind_signal_emitter_get_engine(qmlbind_signal_emitter emitter);
|
|
11
|
+
QMLBIND_API void qmlbind_signal_emitter_release(qmlbind_signal_emitter emitter);
|
|
12
|
+
|
|
13
|
+
#ifdef __cplusplus
|
|
14
|
+
}
|
|
15
|
+
#endif
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "qmlbind_global.h"
|
|
4
|
+
|
|
5
|
+
#ifdef __cplusplus
|
|
6
|
+
extern "C" {
|
|
7
|
+
#endif
|
|
8
|
+
|
|
9
|
+
QMLBIND_API char *qmlbind_string_get_chars(qmlbind_string str);
|
|
10
|
+
QMLBIND_API int qmlbind_string_get_length(qmlbind_string str);
|
|
11
|
+
QMLBIND_API void qmlbind_string_release(qmlbind_string str);
|
|
12
|
+
|
|
13
|
+
#ifdef __cplusplus
|
|
14
|
+
}
|
|
15
|
+
#endif
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
#include "qmlbind_global.h"
|
|
3
|
+
#include <time.h>
|
|
4
|
+
#include <stdlib.h>
|
|
5
|
+
|
|
6
|
+
#ifdef __cplusplus
|
|
7
|
+
extern "C" {
|
|
8
|
+
#endif
|
|
9
|
+
|
|
10
|
+
typedef enum {
|
|
11
|
+
QMLBIND_PROPERTY_WRITABLE = 1,
|
|
12
|
+
QMLBIND_PROPERTY_CONFIGURABLE = 1 << 1,
|
|
13
|
+
QMLBIND_PROPERTY_ENUMERABLE = 1 << 2
|
|
14
|
+
} qmlbind_property_option;
|
|
15
|
+
|
|
16
|
+
/* basic */
|
|
17
|
+
|
|
18
|
+
QMLBIND_API qmlbind_value qmlbind_value_new_undefined();
|
|
19
|
+
QMLBIND_API qmlbind_value qmlbind_value_new_null();
|
|
20
|
+
QMLBIND_API void qmlbind_value_release(qmlbind_value self);
|
|
21
|
+
QMLBIND_API qmlbind_value qmlbind_value_clone(qmlbind_value self);
|
|
22
|
+
|
|
23
|
+
QMLBIND_API int qmlbind_value_is_equal(qmlbind_value value1, qmlbind_value value2);
|
|
24
|
+
QMLBIND_API int qmlbind_value_is_identical(qmlbind_value value1, qmlbind_value value2);
|
|
25
|
+
|
|
26
|
+
QMLBIND_API int qmlbind_value_is_undefined(qmlbind_value self);
|
|
27
|
+
QMLBIND_API int qmlbind_value_is_null(qmlbind_value self);
|
|
28
|
+
QMLBIND_API int qmlbind_value_is_boolean(qmlbind_value self);
|
|
29
|
+
QMLBIND_API int qmlbind_value_is_number(qmlbind_value self);
|
|
30
|
+
QMLBIND_API int qmlbind_value_is_string(qmlbind_value self);
|
|
31
|
+
QMLBIND_API int qmlbind_value_is_object(qmlbind_value self);
|
|
32
|
+
|
|
33
|
+
QMLBIND_API int qmlbind_value_is_array(qmlbind_value self);
|
|
34
|
+
QMLBIND_API int qmlbind_value_is_function(qmlbind_value self);
|
|
35
|
+
QMLBIND_API int qmlbind_value_is_error(qmlbind_value self);
|
|
36
|
+
|
|
37
|
+
QMLBIND_API int qmlbind_value_is_wrapper(qmlbind_value self);
|
|
38
|
+
|
|
39
|
+
/* boolean */
|
|
40
|
+
|
|
41
|
+
QMLBIND_API qmlbind_value qmlbind_value_new_boolean(int x);
|
|
42
|
+
QMLBIND_API int qmlbind_value_get_boolean(qmlbind_value self);
|
|
43
|
+
|
|
44
|
+
/* number */
|
|
45
|
+
|
|
46
|
+
QMLBIND_API qmlbind_value qmlbind_value_new_number(double x);
|
|
47
|
+
QMLBIND_API double qmlbind_value_get_number(qmlbind_value self);
|
|
48
|
+
|
|
49
|
+
/* string */
|
|
50
|
+
|
|
51
|
+
QMLBIND_API qmlbind_value qmlbind_value_new_string(int len, const char *str);
|
|
52
|
+
QMLBIND_API qmlbind_value qmlbind_value_new_string_cstr(const char *str);
|
|
53
|
+
QMLBIND_API qmlbind_string qmlbind_value_get_string(qmlbind_value self);
|
|
54
|
+
|
|
55
|
+
/* object (see also: engine.h) */
|
|
56
|
+
|
|
57
|
+
QMLBIND_API qmlbind_value qmlbind_value_get_property(qmlbind_value self, const char *key);
|
|
58
|
+
QMLBIND_API void qmlbind_value_set_property(qmlbind_value self, const char *key, qmlbind_value value);
|
|
59
|
+
|
|
60
|
+
QMLBIND_API int qmlbind_value_delete_property(qmlbind_value value, const char *key);
|
|
61
|
+
QMLBIND_API int qmlbind_value_has_property(qmlbind_value value, const char *key);
|
|
62
|
+
QMLBIND_API int qmlbind_value_has_index(qmlbind_value value, int index);
|
|
63
|
+
QMLBIND_API int qmlbind_value_has_own_property(qmlbind_value value, const char *key);
|
|
64
|
+
|
|
65
|
+
QMLBIND_API qmlbind_value qmlbind_value_get_prototype(qmlbind_value value);
|
|
66
|
+
QMLBIND_API void qmlbind_value_set_prototype(qmlbind_value value, qmlbind_value proto);
|
|
67
|
+
|
|
68
|
+
/* array */
|
|
69
|
+
|
|
70
|
+
QMLBIND_API qmlbind_value qmlbind_value_get_array_item(qmlbind_value value, int index);
|
|
71
|
+
QMLBIND_API void qmlbind_value_set_array_item(qmlbind_value value, int index, qmlbind_value property);
|
|
72
|
+
|
|
73
|
+
/* function */
|
|
74
|
+
|
|
75
|
+
QMLBIND_API qmlbind_value qmlbind_value_call(
|
|
76
|
+
qmlbind_value self,
|
|
77
|
+
int argc,
|
|
78
|
+
qmlbind_value *argv
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
QMLBIND_API qmlbind_value qmlbind_value_call_constructor(
|
|
82
|
+
qmlbind_value function,
|
|
83
|
+
int argc,
|
|
84
|
+
qmlbind_value *argv
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
QMLBIND_API qmlbind_value qmlbind_value_call_with_instance(
|
|
88
|
+
qmlbind_value self,
|
|
89
|
+
qmlbind_value instance,
|
|
90
|
+
int argc,
|
|
91
|
+
qmlbind_value *argv
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
/* wrapper */
|
|
95
|
+
|
|
96
|
+
QMLBIND_API qmlbind_backref qmlbind_value_get_backref(qmlbind_value self);
|
|
97
|
+
|
|
98
|
+
#ifdef __cplusplus
|
|
99
|
+
}
|
|
100
|
+
#endif
|