ruby-qt6-qtqml 1.0.0 → 2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a64a83438df3a6dcd48ba10f027a1d238399c8af1a1c931a5af4a51bab38bcf
4
- data.tar.gz: ad329b554f17012c5583217bdf16decb528b1a21f82bb070e1531ae8c99b14d9
3
+ metadata.gz: b7ab7eba455c40653749b949d706a5b39a67ce52f5c9507cbb74440b6b5cf143
4
+ data.tar.gz: 19bb20c5aafd5043a6eb1a6795f9e3344997d707e59461dbe96a151d4e0ff370
5
5
  SHA512:
6
- metadata.gz: a6827511920247a9079fccecda5c20f226c12b3265fde82e02436ccb33ee021b8ad381b6f594aa69387d91c1aa185f71d6b4a825088786a91e098d71b1515788
7
- data.tar.gz: 981cb2744339442689b67a538286d3545882909545c7c080e641a5498507010b3856e76179fc21acf47af70bcde560b0e0cd89528bd2cbf9f008e0d23fd68d2c
6
+ metadata.gz: 5672935ea4d72630c2088a3a7b1416bac27d36c3820a3f7d4ff87a2da7882ff864631125bc34793c26d9da9bc9ac5fa40c0a6801ca455d5a02aa9963951d1fc1
7
+ data.tar.gz: 7d73a267fe0f7da0316c9a60788a338ab85cb7b4de8221f32dfd4be1e08590f861a6114bddfd7cba50ccb3fb4025a331aea7a45eaee40caa1082b008580ab10e
data/Rakefile CHANGED
@@ -8,6 +8,10 @@ Rake::ExtensionTask.new("qtqml", GEMSPEC) do |ext|
8
8
  ext.ext_dir = "ext/qt6/qtqml"
9
9
  ext.lib_dir = "lib/qt6/qtqml"
10
10
  end
11
+ Rake::Task["rake:compile"].enhance do
12
+ mkdir_p Pathname.new(GEMSPEC.gem_build_complete_path).parent
13
+ touch GEMSPEC.gem_build_complete_path
14
+ end
11
15
 
12
16
  require "rubocop/rake_task"
13
17
  RuboCop::RakeTask.new
@@ -1,16 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- RUBYQT6_RICE_LIB_PATH = File.join(__dir__, "../../../../rice/lib")
4
- if File.exist?(RUBYQT6_RICE_LIB_PATH)
5
- require File.join(RUBYQT6_RICE_LIB_PATH, "mkmf-rubyqt6.rb")
6
- else
7
- require "mkmf-rubyqt6"
8
- end
3
+ RUBYQT6_RICE_GEM_PATH = Gem::Specification.find_by_name("ruby-qt6-rice").full_gem_path
4
+ require File.join(RUBYQT6_RICE_GEM_PATH, "lib/mkmf-rubyqt6.rb")
9
5
 
10
- includedir = qt_install_headers
11
- append_cppflags("-I#{includedir}")
12
- append_cppflags("-I#{includedir}/QtCore")
13
- append_cppflags("-I#{includedir}/QtQml")
14
- abort "libQt6Qml is missing, please install qt6-declarative" unless have_library("Qt6Qml")
15
-
16
- create_makefile("qt6/qtqml/qtqml")
6
+ rubyqt6_extconf("QtQml", depends: ["QtCore"])
@@ -1,11 +1,11 @@
1
1
  #include "qjsengine-rb.hpp"
2
2
  #include <qjsengine.h>
3
3
 
4
- using namespace Rice;
4
+ RICE4RUBYQT6_USE_NAMESPACE
5
5
 
6
- Rice::Class rb_cQJSEngine;
6
+ Class rb_cQJSEngine;
7
7
 
8
- void Init_qjsengine(Rice::Module rb_mQt6QtQml)
8
+ void Init_qjsengine(Module rb_mQt6QtQml)
9
9
  {
10
10
  rb_cQJSEngine =
11
11
  // RubyQt6::QtQml::QJSEngine
@@ -19,7 +19,6 @@ void Init_qjsengine(Rice::Module rb_mQt6QtQml)
19
19
  .define_method("collect_garbage", &QJSEngine::collectGarbage)
20
20
  .define_method("evaluate", &QJSEngine::evaluate, Arg("program"), Arg("file_name") = static_cast<const QString &>(QString()), Arg("line_number") = static_cast<int>(1), Arg("exception_stack_trace") = static_cast<QStringList *>(nullptr))
21
21
  .define_method("global_object", &QJSEngine::globalObject)
22
- // .define_method("handle", &QJSEngine::handle)
23
22
  .define_method("has_error", &QJSEngine::hasError)
24
23
  .define_method("import_module", &QJSEngine::importModule, Arg("file_name"))
25
24
  .define_method("install_extensions", &QJSEngine::installExtensions, Arg("extensions"), Arg("object") = static_cast<const QJSValue &>(QJSValue()))
@@ -38,7 +37,7 @@ void Init_qjsengine(Rice::Module rb_mQt6QtQml)
38
37
  .define_method<void (QJSEngine::*)(const QString &)>("throw_error", &QJSEngine::throwError, Arg("message"))
39
38
  .define_method("ui_language", &QJSEngine::uiLanguage)
40
39
  // Signals
41
- .define_method("ui_language_changed", &QJSEngine::uiLanguageChanged)
40
+ // .define_method("ui_language_changed", &QJSEngine::uiLanguageChanged)
42
41
  // Static Public Members
43
42
  .define_singleton_function("object_ownership", &QJSEngine::objectOwnership, Arg("obj"))
44
43
  .define_singleton_function("set_object_ownership", &QJSEngine::setObjectOwnership, Arg("obj"), Arg("ownership"));
@@ -1,4 +1,5 @@
1
- #include <rice/rice.hpp>
2
- #include <rice/stl.hpp>
1
+ #include <rice/qt6.hpp>
3
2
 
4
- void Init_qjsengine(Rice::Module rb_mQt6QtQml);
3
+ RICE4RUBYQT6_USE_NAMESPACE
4
+
5
+ void Init_qjsengine(Module rb_mQt6QtQml);
@@ -1,11 +1,11 @@
1
1
  #include "qqmlapplicationengine-rb.hpp"
2
2
  #include <qqmlapplicationengine.h>
3
3
 
4
- using namespace Rice;
4
+ RICE4RUBYQT6_USE_NAMESPACE
5
5
 
6
- Rice::Class rb_cQQmlApplicationEngine;
6
+ Class rb_cQQmlApplicationEngine;
7
7
 
8
- void Init_qqmlapplicationengine(Rice::Module rb_mQt6QtQml)
8
+ void Init_qqmlapplicationengine(Module rb_mQt6QtQml)
9
9
  {
10
10
  rb_cQQmlApplicationEngine =
11
11
  // RubyQt6::QtQml::QQmlApplicationEngine
@@ -22,8 +22,8 @@ void Init_qqmlapplicationengine(Rice::Module rb_mQt6QtQml)
22
22
  .define_method("load_data", &QQmlApplicationEngine::loadData, Arg("data"), Arg("url") = static_cast<const QUrl &>(QUrl()))
23
23
  .define_method("load_from_module", &QQmlApplicationEngine::loadFromModule, Arg("uri"), Arg("type_name"))
24
24
  .define_method("set_extra_file_selectors", &QQmlApplicationEngine::setExtraFileSelectors, Arg("extra_file_selectors"))
25
- .define_method("set_initial_properties", &QQmlApplicationEngine::setInitialProperties, Arg("initial_properties"))
25
+ .define_method("_set_initial_properties", &QQmlApplicationEngine::setInitialProperties, Arg("initial_properties"));
26
26
  // Signals
27
- .define_method("object_created", &QQmlApplicationEngine::objectCreated, Arg("object"), Arg("url"))
28
- .define_method("object_creation_failed", &QQmlApplicationEngine::objectCreationFailed, Arg("url"));
27
+ // .define_method("object_created", &QQmlApplicationEngine::objectCreated, Arg("object"), Arg("url"))
28
+ // .define_method("object_creation_failed", &QQmlApplicationEngine::objectCreationFailed, Arg("url"));
29
29
  }
@@ -1,4 +1,5 @@
1
- #include <rice/rice.hpp>
2
- #include <rice/stl.hpp>
1
+ #include <rice/qt6.hpp>
3
2
 
4
- void Init_qqmlapplicationengine(Rice::Module rb_mQt6QtQml);
3
+ RICE4RUBYQT6_USE_NAMESPACE
4
+
5
+ void Init_qqmlapplicationengine(Module rb_mQt6QtQml);
@@ -0,0 +1,43 @@
1
+ #include "qqmlcontext-rb.hpp"
2
+ #include <qqmlcontext.h>
3
+
4
+ #include <QQmlEngine>
5
+
6
+ RICE4RUBYQT6_USE_NAMESPACE
7
+
8
+ Class rb_cQQmlContext;
9
+ Class rb_cQQmlContextPropertyPair;
10
+
11
+ void Init_qqmlcontext(Module rb_mQt6QtQml)
12
+ {
13
+ rb_cQQmlContext =
14
+ // RubyQt6::QtQml::QQmlContext
15
+ define_class_under<QQmlContext, QObject>(rb_mQt6QtQml, "QQmlContext")
16
+ // RubyQt6-Defined Functions
17
+ .define_singleton_function("_static_meta_object", []() -> const QMetaObject * { return &QQmlContext::staticMetaObject; })
18
+ // Constructor
19
+ .define_constructor(Constructor<QQmlContext, QQmlEngine *, QObject *>(), Arg("engine"), Arg("parent"))
20
+ // Public Functions
21
+ .define_method("base_url", &QQmlContext::baseUrl)
22
+ .define_method("context_object", &QQmlContext::contextObject)
23
+ .define_method("context_property", &QQmlContext::contextProperty, Arg("name"))
24
+ .define_method("engine", &QQmlContext::engine)
25
+ .define_method("imported_script", &QQmlContext::importedScript, Arg("name"))
26
+ .define_method("valid?", &QQmlContext::isValid)
27
+ .define_method("name_for_object", &QQmlContext::nameForObject, Arg("object"))
28
+ .define_method("object_for_name", &QQmlContext::objectForName, Arg("name"))
29
+ .define_method("parent_context", &QQmlContext::parentContext)
30
+ .define_method("resolved_url", &QQmlContext::resolvedUrl, Arg("src"))
31
+ .define_method("set_base_url", &QQmlContext::setBaseUrl, Arg("base_url"))
32
+ .define_method("set_context_object", &QQmlContext::setContextObject, Arg("object"))
33
+ .define_method("set_context_properties", &QQmlContext::setContextProperties, Arg("properties"))
34
+ .define_method<void (QQmlContext::*)(const QString &, QObject *)>("_set_context_property", &QQmlContext::setContextProperty, Arg("name"), Arg("value"))
35
+ .define_method<void (QQmlContext::*)(const QString &, const QVariant &)>("_set_context_property", &QQmlContext::setContextProperty, Arg("name"), Arg("value"));
36
+
37
+ rb_cQQmlContextPropertyPair =
38
+ // RubyQt6::QtQml::QQmlContext::PropertyPair
39
+ define_class_under<QQmlContext::PropertyPair>(rb_cQQmlContext, "PropertyPair")
40
+ .define_constructor(Constructor<QQmlContext::PropertyPair>())
41
+ .define_attr("name", &QQmlContext::PropertyPair::name)
42
+ .define_attr("value", &QQmlContext::PropertyPair::value);
43
+ }
@@ -0,0 +1,5 @@
1
+ #include <rice/qt6.hpp>
2
+
3
+ RICE4RUBYQT6_USE_NAMESPACE
4
+
5
+ void Init_qqmlcontext(Module rb_mQt6QtQml);
@@ -4,11 +4,11 @@
4
4
  #include <QQmlContext>
5
5
  #include <QQmlIncubationController>
6
6
 
7
- using namespace Rice;
7
+ RICE4RUBYQT6_USE_NAMESPACE
8
8
 
9
- Rice::Class rb_cQQmlEngine;
9
+ Class rb_cQQmlEngine;
10
10
 
11
- void Init_qqmlengine(Rice::Module rb_mQt6QtQml)
11
+ void Init_qqmlengine(Module rb_mQt6QtQml)
12
12
  {
13
13
  rb_cQQmlEngine =
14
14
  // RubyQt6::QtQml::QQmlEngine
@@ -52,10 +52,10 @@ void Init_qqmlengine(Rice::Module rb_mQt6QtQml)
52
52
  // Public Slots
53
53
  .define_method("retranslate", &QQmlEngine::retranslate)
54
54
  // Signals
55
- .define_method("exit", &QQmlEngine::exit, Arg("ret_code"))
56
- .define_method("offline_storage_path_changed", &QQmlEngine::offlineStoragePathChanged)
57
- .define_method("quit", &QQmlEngine::quit)
58
- .define_method("warnings", &QQmlEngine::warnings, Arg("warnings"))
55
+ // .define_method("exit", &QQmlEngine::exit, Arg("ret_code"))
56
+ // .define_method("offline_storage_path_changed", &QQmlEngine::offlineStoragePathChanged)
57
+ // .define_method("quit", &QQmlEngine::quit)
58
+ // .define_method("warnings", &QQmlEngine::warnings, Arg("warnings"))
59
59
  // Static Public Members
60
60
  .define_singleton_function("context_for_object", &QQmlEngine::contextForObject, Arg("obj"))
61
61
  .define_singleton_function("set_context_for_object", &QQmlEngine::setContextForObject, Arg("obj"), Arg("context"));
@@ -1,4 +1,5 @@
1
- #include <rice/rice.hpp>
2
- #include <rice/stl.hpp>
1
+ #include <rice/qt6.hpp>
3
2
 
4
- void Init_qqmlengine(Rice::Module rb_mQt6QtQml);
3
+ RICE4RUBYQT6_USE_NAMESPACE
4
+
5
+ void Init_qqmlengine(Module rb_mQt6QtQml);
@@ -4,17 +4,21 @@
4
4
  #include "qjsengine-rb.hpp"
5
5
  #include "qqmlengine-rb.hpp"
6
6
  #include "qqmlapplicationengine-rb.hpp"
7
+ #include "qqmlcontext-rb.hpp"
8
+
9
+ RICE4RUBYQT6_USE_NAMESPACE
7
10
 
8
11
  extern "C" void Init_qtqml()
9
12
  {
10
- return Rice::detail::cpp_protect([] {
11
- Rice::Module rb_mQt6 = Rice::define_module("RubyQt6");
12
- Rice::Module rb_mQt6QtQml = define_module_under(rb_mQt6, "QtQml");
13
+ return detail::cpp_protect([] {
14
+ Module rb_mQt6 = define_module("RubyQt6");
15
+ Module rb_mQt6QtQml = define_module_under(rb_mQt6, "QtQml");
13
16
 
14
17
  Init_qtqmlversion(rb_mQt6QtQml);
15
18
 
16
19
  Init_qjsengine(rb_mQt6QtQml);
17
20
  Init_qqmlengine(rb_mQt6QtQml);
18
21
  Init_qqmlapplicationengine(rb_mQt6QtQml);
22
+ Init_qqmlcontext(rb_mQt6QtQml);
19
23
  });
20
24
  }
@@ -1,3 +1,3 @@
1
- #include <rice/rice.hpp>
1
+ #include <rice/qt6.hpp>
2
2
 
3
3
  extern "C" void Init_qtqml();
@@ -1,9 +1,9 @@
1
1
  #include "qtqmlversion-rb.hpp"
2
2
  #include <qtqmlversion.h>
3
3
 
4
- using namespace Rice;
4
+ RICE4RUBYQT6_USE_NAMESPACE
5
5
 
6
- void Init_qtqmlversion(Rice::Module rb_mQt6QtQml)
6
+ void Init_qtqmlversion(Module rb_mQt6QtQml)
7
7
  {
8
8
  rb_mQt6QtQml.define_constant("QTQML_VERSION", QTQML_VERSION_STR);
9
9
  }
@@ -1,4 +1,5 @@
1
- #include <rice/rice.hpp>
2
- #include <rice/stl.hpp>
1
+ #include <rice/qt6.hpp>
3
2
 
4
- void Init_qtqmlversion(Rice::Module rb_mQt6QtQml);
3
+ RICE4RUBYQT6_USE_NAMESPACE
4
+
5
+ void Init_qtqmlversion(Module rb_mQt6QtQml);
@@ -25,6 +25,11 @@ module RubyQt6
25
25
  _initialize(parent)
26
26
  _take_ownership_from_ruby(self)
27
27
  end
28
+
29
+ # @!visibility private
30
+ def set_initial_properties(**properties)
31
+ _set_initial_properties(T.to_qvariantmap(properties))
32
+ end
28
33
  end
29
34
  end
30
35
  end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RubyQt6
4
+ module QtQml
5
+ # @see https://doc.qt.io/qt-6/qqmlcontext.html
6
+ class QQmlContext < RubyQt6::QtCore::QObject
7
+ # @!parse
8
+ q_object do
9
+ end
10
+
11
+ # @!visibility private
12
+ alias_method :_initialize, :initialize
13
+
14
+ # @param engine [QQmlEngine]
15
+ # @param parent [QObject]
16
+ # @return [QQmlContext]
17
+ def initialize(engine, parent = nil)
18
+ _initialize(engine, parent)
19
+ _take_ownership_from_ruby(self)
20
+ end
21
+
22
+ # @!visibility private
23
+ def set_context_property(name, value)
24
+ _set_context_property(T.to_qstr(name), value)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RubyQt6
4
4
  module QtQml
5
- QTQML_RUBYGEM_VERSION = "1.0.0"
5
+ QTQML_RUBYGEM_VERSION = "2.0.0"
6
6
  end
7
7
  end
data/lib/qt6/qtqml.rb CHANGED
@@ -9,3 +9,4 @@ require_relative "qtqml/qtqmlversion"
9
9
  require_relative "qtqml/qjsengine"
10
10
  require_relative "qtqml/qqmlengine"
11
11
  require_relative "qtqml/qqmlapplicationengine"
12
+ require_relative "qtqml/qqmlcontext"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-qt6-qtqml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Doe
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 1.0.0
18
+ version: 2.0.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 1.0.0
25
+ version: 2.0.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: ruby-qt6-qtcore
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.0
32
+ version: 2.0.0
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 1.0.0
39
+ version: 2.0.0
40
40
  description: Ruby Bindings for Qt Qml.
41
41
  email:
42
42
  - johndoe@example.com
@@ -55,6 +55,8 @@ files:
55
55
  - ext/qt6/qtqml/qjsengine-rb.hpp
56
56
  - ext/qt6/qtqml/qqmlapplicationengine-rb.cpp
57
57
  - ext/qt6/qtqml/qqmlapplicationengine-rb.hpp
58
+ - ext/qt6/qtqml/qqmlcontext-rb.cpp
59
+ - ext/qt6/qtqml/qqmlcontext-rb.hpp
58
60
  - ext/qt6/qtqml/qqmlengine-rb.cpp
59
61
  - ext/qt6/qtqml/qqmlengine-rb.hpp
60
62
  - ext/qt6/qtqml/qtqml-rb.cpp
@@ -64,15 +66,16 @@ files:
64
66
  - lib/qt6/qtqml.rb
65
67
  - lib/qt6/qtqml/qjsengine.rb
66
68
  - lib/qt6/qtqml/qqmlapplicationengine.rb
69
+ - lib/qt6/qtqml/qqmlcontext.rb
67
70
  - lib/qt6/qtqml/qqmlengine.rb
68
71
  - lib/qt6/qtqml/qtqmlversion.rb
69
72
  - lib/qt6/qtqml/version.rb
70
- homepage: https://github.com/souk4711/ruby-qt6/qtqml
73
+ homepage: https://github.com/souk4711/ruby-qt6
71
74
  licenses: []
72
75
  metadata:
73
- homepage_uri: https://github.com/souk4711/ruby-qt6/qtqml
74
- source_code_uri: https://github.com/souk4711/ruby-qt6/qtqml
75
- changelog_uri: https://github.com/souk4711/ruby-qt6/qtqml
76
+ homepage_uri: https://github.com/souk4711/ruby-qt6
77
+ source_code_uri: https://github.com/souk4711/ruby-qt6
78
+ changelog_uri: https://github.com/souk4711/ruby-qt6
76
79
  rdoc_options: []
77
80
  require_paths:
78
81
  - lib
@@ -80,7 +83,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
83
  requirements:
81
84
  - - ">="
82
85
  - !ruby/object:Gem::Version
83
- version: 3.1.0
86
+ version: 3.3.0
84
87
  required_rubygems_version: !ruby/object:Gem::Requirement
85
88
  requirements:
86
89
  - - ">="