qml 0.0.1 → 0.0.2
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/Gemfile +2 -0
- data/README.md +82 -19
- data/changes.md +17 -0
- data/examples/fizzbuzz/capture.png +0 -0
- data/examples/todo_array/capture.png +0 -0
- data/examples/{todo → todo_array}/main.qml +1 -1
- data/examples/{todo/todo.rb → todo_array/todo_array.rb} +4 -7
- data/examples/todo_sequel/capture.png +0 -0
- data/examples/todo_sequel/main.qml +87 -0
- data/examples/todo_sequel/todo_sequel.rb +66 -0
- data/examples/twitter/capture.png +0 -0
- data/examples/twitter/main.qml +31 -19
- data/examples/twitter/twitter.rb +46 -23
- data/ext/qml/accessclass.cpp +1 -3
- data/ext/qml/ext_anywrapper.cpp +36 -0
- data/ext/qml/ext_anywrapper.h +26 -0
- data/ext/qml/ext_metaobject.cpp +3 -1
- data/ext/qml/init.cpp +3 -3
- data/ext/qml/listmodel.cpp +29 -4
- data/ext/qml/listmodel.h +2 -0
- data/ext/qml/util.cpp +7 -0
- data/ext/qml/util.h +1 -0
- data/ext/qml/weakvaluereference.cpp +34 -9
- data/ext/qml/weakvaluereference.h +7 -5
- data/lib/qml/class_builder.rb +1 -0
- data/lib/qml/data.rb +1 -0
- data/lib/qml/data/array_model.rb +23 -2
- data/lib/qml/data/list_model.rb +26 -26
- data/lib/qml/data/query_model.rb +60 -0
- data/lib/qml/version.rb +1 -1
- data/qml.gemspec +5 -1
- data/spec/qml/data/array_model_spec.rb +43 -56
- data/spec/qml/data/list_model_spec.rb +17 -0
- data/spec/qml/data/query_model_spec.rb +62 -0
- data/spec/shared_examples/qml/data/list_model.rb +33 -0
- data/spec/spec_helper.rb +7 -0
- metadata +70 -30
- data/ext/qml/ext_gcmarker.cpp +0 -39
- data/ext/qml/ext_gcmarker.h +0 -27
- data/spec/qml/.access_spec.rb.swp +0 -0
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
+
require 'coveralls'
|
2
|
+
Coveralls.wear!
|
3
|
+
|
1
4
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
5
|
require 'qml'
|
3
6
|
QML.init(offscreen: true)
|
4
7
|
|
5
8
|
# QML::TestUtil.gc_debug_message_enabled = true
|
9
|
+
|
10
|
+
Dir.glob(Pathname(__FILE__) +'../shared_examples/**/*.rb') do |f|
|
11
|
+
require f
|
12
|
+
end
|
metadata
CHANGED
@@ -1,99 +1,127 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryohei Ikegami
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.5'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.5'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '3.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: celluloid
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: twitter
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '5.11'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '5.11'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sequel
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '4.12'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '4.12'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: sqlite3
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.3'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.3'
|
97
125
|
description: ruby-qml provides bindings between QML and Ruby and enables you to use
|
98
126
|
Qt Quick-based GUI from Ruby.
|
99
127
|
email:
|
@@ -103,21 +131,28 @@ extensions:
|
|
103
131
|
- ext/qml/extconf.rb
|
104
132
|
extra_rdoc_files: []
|
105
133
|
files:
|
106
|
-
- .gitignore
|
107
|
-
- .rspec
|
108
|
-
- .travis.yml
|
109
|
-
- .yardopts
|
134
|
+
- ".gitignore"
|
135
|
+
- ".rspec"
|
136
|
+
- ".travis.yml"
|
137
|
+
- ".yardopts"
|
110
138
|
- Gemfile
|
111
139
|
- LICENSE.txt
|
112
140
|
- README.md
|
113
141
|
- Rakefile
|
142
|
+
- changes.md
|
114
143
|
- examples/assets/fonts/fontawesome-webfont.ttf
|
144
|
+
- examples/fizzbuzz/capture.png
|
115
145
|
- examples/fizzbuzz/fizzbuzz.rb
|
116
146
|
- examples/fizzbuzz/main.qml
|
117
147
|
- examples/imageprovider/imageprovider.rb
|
118
148
|
- examples/imageprovider/main.qml
|
119
|
-
- examples/
|
120
|
-
- examples/
|
149
|
+
- examples/todo_array/capture.png
|
150
|
+
- examples/todo_array/main.qml
|
151
|
+
- examples/todo_array/todo_array.rb
|
152
|
+
- examples/todo_sequel/capture.png
|
153
|
+
- examples/todo_sequel/main.qml
|
154
|
+
- examples/todo_sequel/todo_sequel.rb
|
155
|
+
- examples/twitter/capture.png
|
121
156
|
- examples/twitter/main.qml
|
122
157
|
- examples/twitter/twitter.rb
|
123
158
|
- ext/qml/accessclass.cpp
|
@@ -129,8 +164,8 @@ files:
|
|
129
164
|
- ext/qml/common.h
|
130
165
|
- ext/qml/ext_accesssupport.cpp
|
131
166
|
- ext/qml/ext_accesssupport.h
|
132
|
-
- ext/qml/
|
133
|
-
- ext/qml/
|
167
|
+
- ext/qml/ext_anywrapper.cpp
|
168
|
+
- ext/qml/ext_anywrapper.h
|
134
169
|
- ext/qml/ext_kernel.cpp
|
135
170
|
- ext/qml/ext_kernel.h
|
136
171
|
- ext/qml/ext_metaobject.cpp
|
@@ -209,6 +244,7 @@ files:
|
|
209
244
|
- lib/qml/data/array_model.rb
|
210
245
|
- lib/qml/data/error.rb
|
211
246
|
- lib/qml/data/list_model.rb
|
247
|
+
- lib/qml/data/query_model.rb
|
212
248
|
- lib/qml/dispatchable.rb
|
213
249
|
- lib/qml/dispatcher.rb
|
214
250
|
- lib/qml/engine.rb
|
@@ -250,13 +286,14 @@ files:
|
|
250
286
|
- lib/qml/wrappable.rb
|
251
287
|
- qml.gemspec
|
252
288
|
- spec/assets/testobj.qml
|
253
|
-
- spec/qml/.access_spec.rb.swp
|
254
289
|
- spec/qml/access_spec.rb
|
255
290
|
- spec/qml/application_spec.rb
|
256
291
|
- spec/qml/component_spec.rb
|
257
292
|
- spec/qml/context_spec.rb
|
258
293
|
- spec/qml/conversion_spec.rb
|
259
294
|
- spec/qml/data/array_model_spec.rb
|
295
|
+
- spec/qml/data/list_model_spec.rb
|
296
|
+
- spec/qml/data/query_model_spec.rb
|
260
297
|
- spec/qml/dispatchable_spec.rb
|
261
298
|
- spec/qml/dispatcher_spec.rb
|
262
299
|
- spec/qml/geometry/point_spec.rb
|
@@ -270,6 +307,7 @@ files:
|
|
270
307
|
- spec/qml/reactive/signal_spy_spec.rb
|
271
308
|
- spec/qml/test_object_spec.rb
|
272
309
|
- spec/qml_spec.rb
|
310
|
+
- spec/shared_examples/qml/data/list_model.rb
|
273
311
|
- spec/spec_helper.rb
|
274
312
|
homepage: https://github.com/seanchas116/ruby-qml
|
275
313
|
licenses:
|
@@ -281,29 +319,30 @@ require_paths:
|
|
281
319
|
- lib
|
282
320
|
required_ruby_version: !ruby/object:Gem::Requirement
|
283
321
|
requirements:
|
284
|
-
- -
|
322
|
+
- - "~>"
|
285
323
|
- !ruby/object:Gem::Version
|
286
|
-
version: '0'
|
324
|
+
version: '2.0'
|
287
325
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
288
326
|
requirements:
|
289
|
-
- -
|
327
|
+
- - ">="
|
290
328
|
- !ruby/object:Gem::Version
|
291
329
|
version: '0'
|
292
330
|
requirements: []
|
293
331
|
rubyforge_project:
|
294
|
-
rubygems_version: 2.
|
332
|
+
rubygems_version: 2.2.2
|
295
333
|
signing_key:
|
296
334
|
specification_version: 4
|
297
335
|
summary: A QML / Qt Quick wrapper for Ruby
|
298
336
|
test_files:
|
299
337
|
- spec/assets/testobj.qml
|
300
|
-
- spec/qml/.access_spec.rb.swp
|
301
338
|
- spec/qml/access_spec.rb
|
302
339
|
- spec/qml/application_spec.rb
|
303
340
|
- spec/qml/component_spec.rb
|
304
341
|
- spec/qml/context_spec.rb
|
305
342
|
- spec/qml/conversion_spec.rb
|
306
343
|
- spec/qml/data/array_model_spec.rb
|
344
|
+
- spec/qml/data/list_model_spec.rb
|
345
|
+
- spec/qml/data/query_model_spec.rb
|
307
346
|
- spec/qml/dispatchable_spec.rb
|
308
347
|
- spec/qml/dispatcher_spec.rb
|
309
348
|
- spec/qml/geometry/point_spec.rb
|
@@ -317,5 +356,6 @@ test_files:
|
|
317
356
|
- spec/qml/reactive/signal_spy_spec.rb
|
318
357
|
- spec/qml/test_object_spec.rb
|
319
358
|
- spec/qml_spec.rb
|
359
|
+
- spec/shared_examples/qml/data/list_model.rb
|
320
360
|
- spec/spec_helper.rb
|
321
361
|
has_rdoc:
|
data/ext/qml/ext_gcmarker.cpp
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
#include "ext_gcmarker.h"
|
2
|
-
#include "rubyclass.h"
|
3
|
-
#include <QtCore/QSet>
|
4
|
-
|
5
|
-
namespace RubyQml {
|
6
|
-
namespace Ext {
|
7
|
-
|
8
|
-
GCMarker::GCMarker(RubyValue self)
|
9
|
-
{
|
10
|
-
Q_UNUSED(self)
|
11
|
-
}
|
12
|
-
|
13
|
-
RubyValue GCMarker::fromMarkFunction(const std::function<void ()> &func)
|
14
|
-
{
|
15
|
-
auto klass = wrapperRubyClass<GCMarker>();
|
16
|
-
auto marker = klass.newInstance();
|
17
|
-
klass.unwrap(marker)->setMarkFunction(func);
|
18
|
-
return marker;
|
19
|
-
}
|
20
|
-
|
21
|
-
void GCMarker::setMarkFunction(const std::function<void ()> &func)
|
22
|
-
{
|
23
|
-
mMarkFunc = func;
|
24
|
-
}
|
25
|
-
|
26
|
-
void GCMarker::gc_mark()
|
27
|
-
{
|
28
|
-
if (mMarkFunc)
|
29
|
-
mMarkFunc();
|
30
|
-
}
|
31
|
-
|
32
|
-
void GCMarker::defineClass()
|
33
|
-
{
|
34
|
-
WrapperRubyClass<GCMarker> klass(RubyModule::fromPath("QML"), "GCProtection");
|
35
|
-
Q_UNUSED(klass);
|
36
|
-
}
|
37
|
-
|
38
|
-
} // namespace Ext
|
39
|
-
} // namespace RubyQml
|
data/ext/qml/ext_gcmarker.h
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#include "rubyvalue.h"
|
4
|
-
#include <functional>
|
5
|
-
|
6
|
-
namespace RubyQml {
|
7
|
-
|
8
|
-
namespace Ext {
|
9
|
-
|
10
|
-
class GCMarker
|
11
|
-
{
|
12
|
-
public:
|
13
|
-
GCMarker(RubyValue self);
|
14
|
-
static RubyValue fromMarkFunction(const std::function<void ()> &func);
|
15
|
-
|
16
|
-
void setMarkFunction(const std::function<void()> &func);
|
17
|
-
void gc_mark();
|
18
|
-
|
19
|
-
static void defineClass();
|
20
|
-
|
21
|
-
private:
|
22
|
-
std::function<void ()> mMarkFunc;
|
23
|
-
};
|
24
|
-
|
25
|
-
} // namespace Ext
|
26
|
-
|
27
|
-
} // namespace RubyQml
|
Binary file
|