ruby-qt6-rice 6.0.0 → 6.2.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: 7239b9643a298d4843ba1a52307a5ce451c00ccfb385ca9ba5714f7b297554c0
4
- data.tar.gz: 6d14e054c66b2d466d3f87a4f5c8a760d4a0234b9c4afc4b01af93fb3f5a96a9
3
+ metadata.gz: 6a6aeeea52c229e9ec9107f0a878f810f4da0f57f1125e4d234a7cbee9f34f26
4
+ data.tar.gz: b4a14875c07b82212e67509d0ca6554390a841e1c27a477a249f21329d67f223
5
5
  SHA512:
6
- metadata.gz: 27cfba991dc3b4aab4415587ac389e5aa875416b2c6690662bfc434155c20b276316e4497e73577c9ac33c00d8ef0c4280b4b31279f6eec6005d1b65b1c94a34
7
- data.tar.gz: 28124f5d10382c34998f421a44892e6b7d6549706d5e23a24881ccfcd0f9fdfbaee47f4a39b732d2e62919821a3a2407ab752a6802acf7b828f25ddda47acc9c
6
+ metadata.gz: 1a0e49a306ecd7bb4cee1081b75e46255cb2d8a94a1da790d6b7863b1eecb657111a324faea87076eedd950471f049f8f9f21b718a8d476e7cf12d7b1b484bd3
7
+ data.tar.gz: e8e55d43cabc562f8570fbb84c14405d336b37a2b31501c8f10f818c8911ff2bf53dc43db5fea72f1f6a1783edb78bcfd0540ce6b877d33850591b7cc948ae90
@@ -23,8 +23,8 @@
23
23
  #define BANDO_QDBUSABSTRACTADAPTOR_HPP
24
24
 
25
25
  #include <bando/common.hpp>
26
- #include <QChildEvent>
27
26
  #include <QEvent>
27
+ #include <QChildEvent>
28
28
  #include <QTimerEvent>
29
29
 
30
30
  RICE4RUBYQT6_USE_NAMESPACE
@@ -52,14 +52,6 @@ template <typename Class_T, typename... Arg_Ts> class BandoQDBusAbstractAdaptor
52
52
  void timerEvent(QTimerEvent *event) override { bando_handleEvent<BandoQDBusAbstractAdaptor>(this, event, bando_FunctionName::timerEvent); };
53
53
  QObject *sender() const { return this->Class_T::sender(); }
54
54
 
55
- bool autoRelaySignals() const {
56
- return this->Class_T::autoRelaySignals();
57
- };
58
-
59
- void setAutoRelaySignals(bool enable) {
60
- this->Class_T::setAutoRelaySignals(enable);
61
- };
62
-
63
55
  public:
64
56
  bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
65
57
  bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
@@ -80,6 +72,15 @@ template <typename Class_T, typename... Arg_Ts> class BandoQDBusAbstractAdaptor
80
72
  VALUE *value_address_;
81
73
 
82
74
  QMetaObject *mo_;
75
+
76
+ public:
77
+ bool Class_T_autoRelaySignals() const {
78
+ return this->Class_T::autoRelaySignals();
79
+ };
80
+
81
+ void Class_T_setAutoRelaySignals(bool enable) {
82
+ this->Class_T::setAutoRelaySignals(enable);
83
+ };
83
84
  };
84
85
 
85
86
  template <typename BC_T, typename C_T>
@@ -95,8 +96,8 @@ Data_Type<BC_T> define_bando_qdbusabstractadaptor_under(Module module, char cons
95
96
  .define_method("_sender", &BC_T::sender);
96
97
 
97
98
  bando_qlass
98
- .define_method("auto_relay_signals", &BC_T::autoRelaySignals)
99
- .define_method("set_auto_relay_signals", &BC_T::setAutoRelaySignals, Arg("enable"));
99
+ .define_method("auto_relay_signals", &BC_T::Class_T_autoRelaySignals)
100
+ .define_method("set_auto_relay_signals", &BC_T::Class_T_setAutoRelaySignals, Arg("enable"));
100
101
 
101
102
  return bando_qlass;
102
103
  }
@@ -23,8 +23,8 @@
23
23
  #define BANDO_QDBUSABSTRACTINTERFACE_HPP
24
24
 
25
25
  #include <bando/common.hpp>
26
- #include <QChildEvent>
27
26
  #include <QEvent>
27
+ #include <QChildEvent>
28
28
  #include <QTimerEvent>
29
29
 
30
30
  RICE4RUBYQT6_USE_NAMESPACE
@@ -23,11 +23,11 @@
23
23
  #define BANDO_QITEMDELEGATE_HPP
24
24
 
25
25
  #include <bando/common.hpp>
26
- #include <QChildEvent>
27
26
  #include <QEvent>
27
+ #include <QChildEvent>
28
+ #include <QTimerEvent>
28
29
  #include <QPainter>
29
30
  #include <QStyleOptionViewItem>
30
- #include <QTimerEvent>
31
31
 
32
32
  RICE4RUBYQT6_USE_NAMESPACE
33
33
 
@@ -54,6 +54,28 @@ template <typename Class_T, typename... Arg_Ts> class BandoQItemDelegate : publi
54
54
  void timerEvent(QTimerEvent *event) override { bando_handleEvent<BandoQItemDelegate>(this, event, bando_FunctionName::timerEvent); };
55
55
  QObject *sender() const { return this->Class_T::sender(); }
56
56
 
57
+ public:
58
+ bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
59
+ bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
60
+
61
+ void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
62
+ switch (name)
63
+ {
64
+ case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
65
+ case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
66
+ default: Q_UNREACHABLE(); break;
67
+ }
68
+ };
69
+
70
+ public:
71
+ template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
72
+
73
+ Object value_;
74
+ VALUE *value_address_;
75
+
76
+ QMetaObject *mo_;
77
+
78
+ public:
57
79
  QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override {
58
80
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
59
81
  auto rb_name = Identifier("create_editor");
@@ -91,27 +113,6 @@ template <typename Class_T, typename... Arg_Ts> class BandoQItemDelegate : publi
91
113
  auto rb_name = Identifier("update_editor_geometry");
92
114
  this->value_.call(rb_name, Object(detail::to_ruby(editor)), Object(detail::to_ruby(option)), Object(detail::to_ruby(index)));
93
115
  };
94
-
95
- public:
96
- bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
97
- bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
98
-
99
- void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
100
- switch (name)
101
- {
102
- case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
103
- case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
104
- default: Q_UNREACHABLE(); break;
105
- }
106
- };
107
-
108
- public:
109
- template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
110
-
111
- Object value_;
112
- VALUE *value_address_;
113
-
114
- QMetaObject *mo_;
115
116
  };
116
117
 
117
118
  template <typename BC_T, typename C_T>
@@ -23,10 +23,10 @@
23
23
  #define BANDO_QLAYOUT_HPP
24
24
 
25
25
  #include <bando/common.hpp>
26
- #include <QChildEvent>
27
26
  #include <QEvent>
28
- #include <QLayoutItem>
27
+ #include <QChildEvent>
29
28
  #include <QTimerEvent>
29
+ #include <QLayoutItem>
30
30
  #include <QWidget>
31
31
 
32
32
  RICE4RUBYQT6_USE_NAMESPACE
@@ -54,6 +54,28 @@ template <typename Class_T, typename... Arg_Ts> class BandoQLayout : public Clas
54
54
  void timerEvent(QTimerEvent *event) override { bando_handleEvent<BandoQLayout>(this, event, bando_FunctionName::timerEvent); };
55
55
  QObject *sender() const { return this->Class_T::sender(); }
56
56
 
57
+ public:
58
+ bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
59
+ bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
60
+
61
+ void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
62
+ switch (name)
63
+ {
64
+ case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
65
+ case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
66
+ default: Q_UNREACHABLE(); break;
67
+ }
68
+ };
69
+
70
+ public:
71
+ template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
72
+
73
+ Object value_;
74
+ VALUE *value_address_;
75
+
76
+ QMetaObject *mo_;
77
+
78
+ public:
57
79
  void addItem(QLayoutItem *item) override {
58
80
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
59
81
  auto rb_name = Identifier("add_item");
@@ -74,13 +96,6 @@ template <typename Class_T, typename... Arg_Ts> class BandoQLayout : public Clas
74
96
  return detail::From_Ruby<QLayoutItem *>().convert(rb_return);
75
97
  };
76
98
 
77
- QLayoutItem *takeAt(int index) override {
78
- Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
79
- auto rb_name = Identifier("take_at");
80
- auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(index)));
81
- return detail::From_Ruby<QLayoutItem *>().convert(rb_return);
82
- };
83
-
84
99
  QSize sizeHint() const override {
85
100
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
86
101
  auto rb_name = Identifier("size_hint");
@@ -88,6 +103,13 @@ template <typename Class_T, typename... Arg_Ts> class BandoQLayout : public Clas
88
103
  return detail::From_Ruby<QSize>().convert(rb_return);
89
104
  };
90
105
 
106
+ QLayoutItem *takeAt(int index) override {
107
+ Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
108
+ auto rb_name = Identifier("take_at");
109
+ auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(index)));
110
+ return detail::From_Ruby<QLayoutItem *>().convert(rb_return);
111
+ };
112
+
91
113
  Qt::Orientations expandingDirections() const override {
92
114
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
93
115
  auto rb_name = Identifier("expanding_directions");
@@ -128,27 +150,6 @@ template <typename Class_T, typename... Arg_Ts> class BandoQLayout : public Clas
128
150
  auto rb_name = Identifier("set_geometry");
129
151
  this->value_.call(rb_name, Object(detail::to_ruby(r)));
130
152
  };
131
-
132
- public:
133
- bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
134
- bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
135
-
136
- void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
137
- switch (name)
138
- {
139
- case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
140
- case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
141
- default: Q_UNREACHABLE(); break;
142
- }
143
- };
144
-
145
- public:
146
- template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
147
-
148
- Object value_;
149
- VALUE *value_address_;
150
-
151
- QMetaObject *mo_;
152
153
  };
153
154
 
154
155
  template <typename BC_T, typename C_T>
@@ -0,0 +1,132 @@
1
+ // This file is part of [RubyQt6](https://github.com/souk4711/ruby-qt6).
2
+ //
3
+ // It is licensed under the LGPLv3, included below.
4
+ //
5
+ // As a special exception to the GNU Lesser General Public License version 3
6
+ // ("LGPL3"), the copyright holders of this Library give you permission to
7
+ // convey to a third party a Combined Work that links statically or dynamically
8
+ // to this Library without providing any Minimal Corresponding Source or
9
+ // Minimal Application Code as set out in 4d or providing the installation
10
+ // information set out in section 4e, provided that you comply with the other
11
+ // provisions of LGPL3 and provided that you meet, for the Application the
12
+ // terms and conditions of the license(s) which apply to the Application.
13
+ //
14
+ // Except as stated in this special exception, the provisions of LGPL3 will
15
+ // continue to comply in full to this Library. If you modify this Library, you
16
+ // may apply this exception to your version of this Library, but you are not
17
+ // obliged to do so. If you do not wish to do so, delete this exception
18
+ // statement from your version. This exception does not (and cannot) modify any
19
+ // license terms which apply to the Application, with which you must still
20
+ // comply.
21
+
22
+ #ifndef BANDO_QSORTFILTERPROXYMODEL_HPP
23
+ #define BANDO_QSORTFILTERPROXYMODEL_HPP
24
+
25
+ #include <bando/common.hpp>
26
+ #include <QChildEvent>
27
+ #include <QEvent>
28
+ #include <QTimerEvent>
29
+ #include <QSortFilterProxyModel>
30
+
31
+ RICE4RUBYQT6_USE_NAMESPACE
32
+
33
+ template <typename Class_T, typename... Arg_Ts> class BandoQSortFilterProxyModel : public Class_T
34
+ {
35
+ public:
36
+ BandoQSortFilterProxyModel(Arg_Ts... args) : Class_T(args...), value_(Qnil), value_address_(nullptr), mo_(nullptr) {};
37
+ BandoQSortFilterProxyModel(const BandoQSortFilterProxyModel &) = delete;
38
+ BandoQSortFilterProxyModel &operator=(const BandoQSortFilterProxyModel &) = delete;
39
+ BandoQSortFilterProxyModel(BandoQSortFilterProxyModel &&) = delete;
40
+ BandoQSortFilterProxyModel &operator=(BandoQSortFilterProxyModel &&) = delete;
41
+ ~BandoQSortFilterProxyModel() override { bando_finalizer<BandoQSortFilterProxyModel>(this); };
42
+
43
+ void initializeValue(Object value, QMetaObject *mo) { bando_initializeValue<BandoQSortFilterProxyModel>(this, value, mo); };
44
+ Object value() { return this->value_; };
45
+
46
+ const QMetaObject *metaObject() const override { return bando_metaObject<BandoQSortFilterProxyModel, Class_T>(this); };
47
+ int qt_metacall(QMetaObject::Call call, int id, void **args) override { return bando_qt_metacall<BandoQSortFilterProxyModel>(this, call, id, args); };
48
+
49
+ bool event(QEvent *event) override { return bando_handleQObjectEvent<BandoQSortFilterProxyModel>(this, event); };
50
+ bool eventFilter(QObject *watched, QEvent *event) override { return bando_handleQObjectEventFilter<BandoQSortFilterProxyModel>(this, watched, event); };
51
+
52
+ void childEvent(QChildEvent *event) override { bando_handleEvent<BandoQSortFilterProxyModel>(this, event, bando_FunctionName::childEvent); };
53
+ void timerEvent(QTimerEvent *event) override { bando_handleEvent<BandoQSortFilterProxyModel>(this, event, bando_FunctionName::timerEvent); };
54
+ QObject *sender() const { return this->Class_T::sender(); }
55
+
56
+ public:
57
+ bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
58
+ bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
59
+
60
+ void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
61
+ switch (name)
62
+ {
63
+ case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
64
+ case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
65
+ default: Q_UNREACHABLE(); break;
66
+ }
67
+ };
68
+
69
+ public:
70
+ template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
71
+
72
+ Object value_;
73
+ VALUE *value_address_;
74
+
75
+ QMetaObject *mo_;
76
+
77
+ public:
78
+ bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const override {
79
+ Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
80
+ auto rb_name = Identifier("filter_accepts_column");
81
+ auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(source_column)), Object(detail::to_ruby(source_parent)));
82
+ return detail::From_Ruby<bool>().convert(rb_return);
83
+ };
84
+
85
+ bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override {
86
+ Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
87
+ auto rb_name = Identifier("filter_accepts_row");
88
+ auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(source_row)), Object(detail::to_ruby(source_parent)));
89
+ return detail::From_Ruby<bool>().convert(rb_return);
90
+ };
91
+
92
+ bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override {
93
+ Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
94
+ auto rb_name = Identifier("less_than");
95
+ auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(source_left)), Object(detail::to_ruby(source_right)));
96
+ return detail::From_Ruby<bool>().convert(rb_return);
97
+ };
98
+
99
+ bool Class_T_filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const {
100
+ return this->Class_T::filterAcceptsColumn(source_column, source_parent);
101
+ };
102
+
103
+ bool Class_T_filterAcceptsRow(int source_row, const QModelIndex &source_parent) const {
104
+ return this->Class_T::filterAcceptsRow(source_row, source_parent);
105
+ };
106
+
107
+ bool Class_T_lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const {
108
+ return this->Class_T::lessThan(source_left, source_right);
109
+ };
110
+ };
111
+
112
+ template <typename BC_T, typename C_T>
113
+ Data_Type<BC_T> define_bando_qsortfilterproxymodel_under(Module module, char const *name)
114
+ {
115
+ Data_Type<BC_T> bando_qlass =
116
+ define_class_under<BC_T, C_T>(module, name)
117
+ .define_method("_initialize_ruby_value", &BC_T::initializeValue, Arg("value"), Arg("mo"))
118
+ .define_method("_ruby_value", &BC_T::value)
119
+ .define_method("_ruby_value_handle_event", &BC_T::Class_T_handleEvent, Arg("name"), Arg("event"))
120
+ .define_method("_event", &BC_T::Class_T_handleQObjectEvent, Arg("event"))
121
+ .define_method("_event_filter", &BC_T::Class_T_handleQObjectEventFilter, Arg("watched"), Arg("event"))
122
+ .define_method("_sender", &BC_T::sender);
123
+
124
+ bando_qlass
125
+ .define_method("filter_accepts_column", &BC_T::Class_T_filterAcceptsColumn, Arg("source_column"), Arg("source_parent"))
126
+ .define_method("filter_accepts_row", &BC_T::Class_T_filterAcceptsRow, Arg("source_row"), Arg("source_parent"))
127
+ .define_method("less_than", &BC_T::Class_T_lessThan, Arg("source_left"), Arg("source_right"));
128
+
129
+ return bando_qlass;
130
+ }
131
+
132
+ #endif
@@ -23,8 +23,8 @@
23
23
  #define BANDO_QWEBENGINEPAGE_HPP
24
24
 
25
25
  #include <bando/common.hpp>
26
- #include <QChildEvent>
27
26
  #include <QEvent>
27
+ #include <QChildEvent>
28
28
  #include <QTimerEvent>
29
29
  #include <QWebEnginePage>
30
30
 
@@ -53,6 +53,28 @@ template <typename Class_T, typename... Arg_Ts> class BandoQWebEnginePage : publ
53
53
  void timerEvent(QTimerEvent *event) override { bando_handleEvent<BandoQWebEnginePage>(this, event, bando_FunctionName::timerEvent); };
54
54
  QObject *sender() const { return this->Class_T::sender(); }
55
55
 
56
+ public:
57
+ bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
58
+ bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
59
+
60
+ void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
61
+ switch (name)
62
+ {
63
+ case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
64
+ case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
65
+ default: Q_UNREACHABLE(); break;
66
+ }
67
+ };
68
+
69
+ public:
70
+ template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
71
+
72
+ Object value_;
73
+ VALUE *value_address_;
74
+
75
+ QMetaObject *mo_;
76
+
77
+ public:
56
78
  void triggerAction(QWebEnginePage::WebAction action, bool checked = false) override {
57
79
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
58
80
  auto rb_name = Identifier("trigger_action");
@@ -60,93 +82,79 @@ template <typename Class_T, typename... Arg_Ts> class BandoQWebEnginePage : publ
60
82
  };
61
83
 
62
84
  bool acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) override {
63
- auto rb_name = Identifier("accept_navigation_request");
64
- if (!this->value_.respond_to(rb_name))
65
- return this->Class_T::acceptNavigationRequest(url, type, isMainFrame);
66
-
67
85
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
86
+ auto rb_name = Identifier("accept_navigation_request");
68
87
  auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(url)), Object(detail::to_ruby(type)), Object(detail::to_ruby(isMainFrame)));
69
88
  return detail::From_Ruby<bool>().convert(rb_return);
70
89
  };
71
90
 
72
91
  QStringList chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes) override {
73
- auto rb_name = Identifier("choose_files");
74
- if (!this->value_.respond_to(rb_name))
75
- return this->Class_T::chooseFiles(mode, oldFiles, acceptedMimeTypes);
76
-
77
92
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
93
+ auto rb_name = Identifier("choose_files");
78
94
  auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(mode)), Object(detail::to_ruby(oldFiles)), Object(detail::to_ruby(acceptedMimeTypes)));
79
95
  return detail::From_Ruby<QStringList>().convert(rb_return);
80
96
  };
81
97
 
82
98
  QWebEnginePage *createWindow(QWebEnginePage::WebWindowType type) override {
83
- auto rb_name = Identifier("create_window");
84
- if (!this->value_.respond_to(rb_name))
85
- return this->Class_T::createWindow(type);
86
-
87
99
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
100
+ auto rb_name = Identifier("create_window");
88
101
  auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(type)));
89
102
  return detail::From_Ruby<QWebEnginePage *>().convert(rb_return);
90
103
  };
91
104
 
92
105
  void javaScriptAlert(const QUrl &securityOrigin, const QString &msg) override {
93
- auto rb_name = Identifier("java_script_alert");
94
- if (!this->value_.respond_to(rb_name))
95
- return this->Class_T::javaScriptAlert(securityOrigin, msg);
96
-
97
106
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
107
+ auto rb_name = Identifier("java_script_alert");
98
108
  this->value_.call(rb_name, Object(detail::to_ruby(securityOrigin)), Object(detail::to_ruby(msg)));
99
109
  };
100
110
 
101
111
  bool javaScriptConfirm(const QUrl &securityOrigin, const QString &msg) override {
102
- auto rb_name = Identifier("java_script_confirm");
103
- if (!this->value_.respond_to(rb_name))
104
- return this->Class_T::javaScriptConfirm(securityOrigin, msg);
105
-
106
112
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
113
+ auto rb_name = Identifier("java_script_confirm");
107
114
  auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(securityOrigin)), Object(detail::to_ruby(msg)));
108
115
  return detail::From_Ruby<bool>().convert(rb_return);
109
116
  };
110
117
 
111
118
  void javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID) override {
112
- auto rb_name = Identifier("java_script_console_message");
113
- if (!this->value_.respond_to(rb_name))
114
- return this->Class_T::javaScriptConsoleMessage(level, message, lineNumber, sourceID);
115
-
116
119
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
120
+ auto rb_name = Identifier("java_script_console_message");
117
121
  this->value_.call(rb_name, Object(detail::to_ruby(level)), Object(detail::to_ruby(message)), Object(detail::to_ruby(lineNumber)), Object(detail::to_ruby(sourceID)));
118
122
  };
119
123
 
120
124
  bool javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result) override {
121
- auto rb_name = Identifier("java_script_prompt");
122
- if (!this->value_.respond_to(rb_name))
123
- return this->Class_T::javaScriptPrompt(securityOrigin, msg, defaultValue, result);
124
-
125
125
  Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
126
+ auto rb_name = Identifier("java_script_prompt");
126
127
  auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(securityOrigin)), Object(detail::to_ruby(msg)), Object(detail::to_ruby(defaultValue)), Object(detail::to_ruby(result)));
127
128
  return detail::From_Ruby<bool>().convert(rb_return);
128
129
  };
129
130
 
130
- public:
131
- bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
132
- bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
131
+ bool Class_T_acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) {
132
+ return this->Class_T::acceptNavigationRequest(url, type, isMainFrame);
133
+ };
133
134
 
134
- void Class_T_handleEvent(bando_FunctionName name, QEvent *event) {
135
- switch (name)
136
- {
137
- case bando_FunctionName::childEvent: return this->Class_T::childEvent(static_cast<QChildEvent *>(event));
138
- case bando_FunctionName::timerEvent: return this->Class_T::timerEvent(static_cast<QTimerEvent *>(event));
139
- default: Q_UNREACHABLE(); break;
140
- }
135
+ QStringList Class_T_chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes) {
136
+ return this->Class_T::chooseFiles(mode, oldFiles, acceptedMimeTypes);
141
137
  };
142
138
 
143
- public:
144
- template <typename BC_T, typename C_T> friend const QMetaObject *bando_metaObject(const BC_T *self);
139
+ QWebEnginePage *Class_T_createWindow(QWebEnginePage::WebWindowType type) {
140
+ return this->Class_T::createWindow(type);
141
+ };
145
142
 
146
- Object value_;
147
- VALUE *value_address_;
143
+ void Class_T_javaScriptAlert(const QUrl &securityOrigin, const QString &msg) {
144
+ return this->Class_T::javaScriptAlert(securityOrigin, msg);
145
+ };
148
146
 
149
- QMetaObject *mo_;
147
+ bool Class_T_javaScriptConfirm(const QUrl &securityOrigin, const QString &msg) {
148
+ return this->Class_T::javaScriptConfirm(securityOrigin, msg);
149
+ };
150
+
151
+ void Class_T_javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID) {
152
+ return this->Class_T::javaScriptConsoleMessage(level, message, lineNumber, sourceID);
153
+ };
154
+
155
+ bool Class_T_javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result) {
156
+ return this->Class_T::javaScriptPrompt(securityOrigin, msg, defaultValue, result);
157
+ };
150
158
  };
151
159
 
152
160
  template <typename BC_T, typename C_T>
@@ -162,7 +170,14 @@ Data_Type<BC_T> define_bando_qwebenginepage_under(Module module, char const *nam
162
170
  .define_method("_sender", &BC_T::sender);
163
171
 
164
172
  bando_qlass
165
- .define_method("trigger_action", [](BC_T *self, QWebEnginePage::WebAction action, bool checked) -> void { return self->C_T::triggerAction(action, checked); }, Arg("action"), Arg("checked") = static_cast<bool>(false));
173
+ .define_method("trigger_action", [](BC_T *self, QWebEnginePage::WebAction action, bool checked) -> void { return self->C_T::triggerAction(action, checked); }, Arg("action"), Arg("checked") = static_cast<bool>(false))
174
+ .define_method("accept_navigation_request", &BC_T::Class_T_acceptNavigationRequest, Arg("url"), Arg("type"), Arg("is_main_frame"))
175
+ .define_method("choose_files", &BC_T::Class_T_chooseFiles, Arg("mode"), Arg("old_files"), Arg("accepted_mime_types"))
176
+ .define_method("create_window", &BC_T::Class_T_createWindow, Arg("type"))
177
+ .define_method("java_script_alert", &BC_T::Class_T_javaScriptAlert, Arg("security_origin"), Arg("msg"))
178
+ .define_method("java_script_confirm", &BC_T::Class_T_javaScriptConfirm, Arg("security_origin"), Arg("msg"))
179
+ .define_method("java_script_console_message", &BC_T::Class_T_javaScriptConsoleMessage, Arg("level"), Arg("message"), Arg("line_number"), Arg("source_id"))
180
+ .define_method("java_script_prompt", &BC_T::Class_T_javaScriptPrompt, Arg("security_origin"), Arg("msg"), Arg("default_value"), Arg("result"));
166
181
 
167
182
  return bando_qlass;
168
183
  }
@@ -118,26 +118,6 @@ template <typename Class_T, typename... Arg_Ts> class BandoQSpinBox : public Cla
118
118
  return detail::From_Ruby<QSize>().convert(rb_return);
119
119
  };
120
120
 
121
- QString textFromValue(int value) const override {
122
- auto rb_name = Identifier("text_from_value");
123
- if (!this->value_.respond_to(rb_name))
124
- return this->Class_T::textFromValue(value);
125
-
126
- Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
127
- auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(value)));
128
- return detail::From_Ruby<QString>().convert(rb_return);
129
- }
130
-
131
- int valueFromText(const QString &text) const override {
132
- auto rb_name = Identifier("value_from_text");
133
- if (!this->value_.respond_to(rb_name))
134
- return this->Class_T::valueFromText(text);
135
-
136
- Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
137
- auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(text)));
138
- return detail::From_Ruby<int>().convert(rb_return);
139
- }
140
-
141
121
  public:
142
122
  bool Class_T_handleQObjectEvent(QEvent *event) { return this->Class_T::event(event); };
143
123
  bool Class_T_handleQObjectEventFilter(QObject *watched, QEvent *event) { return this->Class_T::eventFilter(watched, event); };
@@ -185,6 +165,29 @@ template <typename Class_T, typename... Arg_Ts> class BandoQSpinBox : public Cla
185
165
  VALUE *value_address_;
186
166
 
187
167
  QMetaObject *mo_;
168
+
169
+ public:
170
+ QString textFromValue(int value) const override {
171
+ Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
172
+ auto rb_name = Identifier("text_from_value");
173
+ auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(value)));
174
+ return detail::From_Ruby<QString>().convert(rb_return);
175
+ };
176
+
177
+ int valueFromText(const QString &text) const override {
178
+ Q_ASSERT(this->value_.rb_type() != RUBY_T_NONE);
179
+ auto rb_name = Identifier("value_from_text");
180
+ auto rb_return = this->value_.call(rb_name, Object(detail::to_ruby(text)));
181
+ return detail::From_Ruby<int>().convert(rb_return);
182
+ };
183
+
184
+ QString Class_T_textFromValue(int value) {
185
+ return this->Class_T::textFromValue(value);
186
+ };
187
+
188
+ int Class_T_valueFromText(const QString &text) {
189
+ return this->Class_T::valueFromText(text);
190
+ };
188
191
  };
189
192
 
190
193
  template <typename BC_T, typename C_T>
@@ -201,7 +204,9 @@ Data_Type<BC_T> define_bando_qspinbox_under(Module module, char const *name)
201
204
 
202
205
  bando_qlass
203
206
  .define_method("minimum_size_hint", [](BC_T *self) -> QSize { return self->C_T::minimumSizeHint(); })
204
- .define_method("size_hint", [](BC_T *self) -> QSize { return self->C_T::sizeHint(); });
207
+ .define_method("size_hint", [](BC_T *self) -> QSize { return self->C_T::sizeHint(); })
208
+ .define_method("text_from_value", &BC_T::Class_T_textFromValue, Arg("value"))
209
+ .define_method("value_from_text", &BC_T::Class_T_valueFromText, Arg("text"));
205
210
 
206
211
  return bando_qlass;
207
212
  }
@@ -41,12 +41,12 @@ struct RUBYQT6_RICE_EXPORT RubyQt6_RTypedData_Registries
41
41
  };
42
42
 
43
43
  #ifdef RUBYQT6_BUILD_RICE_LIB
44
- inline RubyQt6_RTypedData_Registries *RubyQt6_RTypedData_Registries::instance()
44
+ RubyQt6_RTypedData_Registries *RubyQt6_RTypedData_Registries::instance()
45
45
  {
46
46
  if (instance_ == nullptr) { instance_ = new RubyQt6_RTypedData_Registries; }
47
47
  return instance_;
48
48
  }
49
- inline RubyQt6_RTypedData_Registries *RubyQt6_RTypedData_Registries::instance_ = nullptr;
49
+ RubyQt6_RTypedData_Registries *RubyQt6_RTypedData_Registries::instance_ = nullptr;
50
50
  #endif
51
51
 
52
52
  #endif
data/lib/mkmf-rubyqt6.rb CHANGED
@@ -68,8 +68,10 @@ def rubyqt6_extconf(mod, depends:)
68
68
 
69
69
  # Add rice library
70
70
  if mod != "Rice"
71
- rubyqt6_rice_gem_path = Gem::Specification.find_by_name("ruby-qt6-rice").full_gem_path
72
- append_ldflags(File.join(rubyqt6_rice_gem_path, "lib/qt6/rice/rice.so"))
71
+ spec = Gem::Specification.find_by_name("ruby-qt6-rice")
72
+ rice_so = File.join(spec.full_gem_path, "lib/qt6/rice/rice.so")
73
+ rice_so = File.join(spec.extension_dir, "qt6/rice/rice.so") unless File.exist?(rice_so)
74
+ append_ldflags(rice_so)
73
75
  end
74
76
 
75
77
  # Create Makefile
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RubyQt6
4
4
  module Rice
5
- RICE_RUBYGEM_VERSION = "6.0.0"
5
+ RICE_RUBYGEM_VERSION = "6.2.0"
6
6
  end
7
7
  end
data/lib/qt6/rice.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "rice/version"
4
- require_relative "rice/rice"
3
+ require "qt6/rice/version"
4
+ require "qt6/rice/rice"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-qt6-rice
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Doe
@@ -9,7 +9,6 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
- description: Extend the Rice library with support for the Qt framework.
13
12
  email:
14
13
  - johndoe@example.com
15
14
  executables: []
@@ -31,6 +30,7 @@ files:
31
30
  - include/bando/qobject/qdbusabstractinterface.hpp
32
31
  - include/bando/qobject/qitemdelegate.hpp
33
32
  - include/bando/qobject/qlayout.hpp
33
+ - include/bando/qobject/qsortfilterproxymodel.hpp
34
34
  - include/bando/qobject/qwebenginepage.hpp
35
35
  - include/bando/qwidget.hpp
36
36
  - include/bando/qwidget/qspinbox.hpp
@@ -60,11 +60,9 @@ files:
60
60
  - lib/qt6/rice.rb
61
61
  - lib/qt6/rice/version.rb
62
62
  homepage: https://github.com/souk4711/ruby-qt6
63
- licenses: []
64
- metadata:
65
- homepage_uri: https://github.com/souk4711/ruby-qt6
66
- source_code_uri: https://github.com/souk4711/ruby-qt6
67
- changelog_uri: https://github.com/souk4711/ruby-qt6
63
+ licenses:
64
+ - LGPL-3.0-only WITH LGPL-3.0-linking-exception
65
+ metadata: {}
68
66
  rdoc_options: []
69
67
  require_paths:
70
68
  - lib