rui 0.1.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.
- data/.document +4 -0
- data/COPYING +165 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +24 -0
- data/README.md +8 -0
- data/Rakefile +43 -0
- data/VERSION +1 -0
- data/examples/autogui/main.rb +12 -0
- data/examples/hello/main.rb +13 -0
- data/examples/kderun.rb +4 -0
- data/examples/qtrun.rb +4 -0
- data/examples/signals/main.rb +15 -0
- data/lib/rui/descriptor.rb +241 -0
- data/lib/rui/factory.rb +84 -0
- data/lib/rui/observer_utils.rb +178 -0
- data/lib/rui/toolkits/kde/kde.rb +276 -0
- data/lib/rui/toolkits/qt/qt.rb +350 -0
- data/lib/rui/toolkits/qtbase/gui_builder.rb +344 -0
- data/lib/rui/toolkits/qtbase/qt.rb +555 -0
- data/lib/rui/utils.rb +42 -0
- data/lib/rui.rb +54 -0
- data/rui.gemspec +92 -0
- data/test/helper.rb +17 -0
- data/test/test_descriptor.rb +237 -0
- data/test/test_factory.rb +38 -0
- data/test/test_observer_utils.rb +67 -0
- metadata +189 -0
data/rui.gemspec
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = %q{rui}
|
|
8
|
+
s.version = "0.1.0"
|
|
9
|
+
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
+
s.authors = ["Paolo Capriotti"]
|
|
12
|
+
s.date = %q{2011-01-01}
|
|
13
|
+
s.description = %q{GUI abstraction library supporting Qt and KDE backends}
|
|
14
|
+
s.email = %q{p.capriotti@gmail.com}
|
|
15
|
+
s.extra_rdoc_files = [
|
|
16
|
+
"README.md"
|
|
17
|
+
]
|
|
18
|
+
s.files = [
|
|
19
|
+
".document",
|
|
20
|
+
"COPYING",
|
|
21
|
+
"Gemfile",
|
|
22
|
+
"Gemfile.lock",
|
|
23
|
+
"README.md",
|
|
24
|
+
"Rakefile",
|
|
25
|
+
"VERSION",
|
|
26
|
+
"examples/autogui/main.rb",
|
|
27
|
+
"examples/hello/main.rb",
|
|
28
|
+
"examples/kderun.rb",
|
|
29
|
+
"examples/qtrun.rb",
|
|
30
|
+
"examples/signals/main.rb",
|
|
31
|
+
"lib/rui.rb",
|
|
32
|
+
"lib/rui/descriptor.rb",
|
|
33
|
+
"lib/rui/factory.rb",
|
|
34
|
+
"lib/rui/observer_utils.rb",
|
|
35
|
+
"lib/rui/toolkits/kde/kde.rb",
|
|
36
|
+
"lib/rui/toolkits/qt/qt.rb",
|
|
37
|
+
"lib/rui/toolkits/qtbase/gui_builder.rb",
|
|
38
|
+
"lib/rui/toolkits/qtbase/qt.rb",
|
|
39
|
+
"lib/rui/utils.rb",
|
|
40
|
+
"rui.gemspec",
|
|
41
|
+
"test/helper.rb",
|
|
42
|
+
"test/test_descriptor.rb",
|
|
43
|
+
"test/test_factory.rb",
|
|
44
|
+
"test/test_observer_utils.rb"
|
|
45
|
+
]
|
|
46
|
+
s.homepage = %q{http://github.com/pcapriotti/rui}
|
|
47
|
+
s.licenses = ["LGPL"]
|
|
48
|
+
s.require_paths = ["lib"]
|
|
49
|
+
s.rubyforge_project = %q{nowarning}
|
|
50
|
+
s.rubygems_version = %q{1.3.7}
|
|
51
|
+
s.summary = %q{GUI abstraction library}
|
|
52
|
+
s.test_files = [
|
|
53
|
+
"examples/autogui/main.rb",
|
|
54
|
+
"examples/hello/main.rb",
|
|
55
|
+
"examples/kderun.rb",
|
|
56
|
+
"examples/qtrun.rb",
|
|
57
|
+
"examples/signals/main.rb",
|
|
58
|
+
"test/helper.rb",
|
|
59
|
+
"test/test_descriptor.rb",
|
|
60
|
+
"test/test_factory.rb",
|
|
61
|
+
"test/test_observer_utils.rb"
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
if s.respond_to? :specification_version then
|
|
65
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
66
|
+
s.specification_version = 3
|
|
67
|
+
|
|
68
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
69
|
+
s.add_runtime_dependency(%q<builder>, [">= 0"])
|
|
70
|
+
s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
|
|
71
|
+
s.add_development_dependency(%q<bluecloth>, [">= 0"])
|
|
72
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
73
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
|
74
|
+
s.add_development_dependency(%q<rcov>, [">= 0"])
|
|
75
|
+
else
|
|
76
|
+
s.add_dependency(%q<builder>, [">= 0"])
|
|
77
|
+
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
|
78
|
+
s.add_dependency(%q<bluecloth>, [">= 0"])
|
|
79
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
80
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
|
81
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
|
82
|
+
end
|
|
83
|
+
else
|
|
84
|
+
s.add_dependency(%q<builder>, [">= 0"])
|
|
85
|
+
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
|
86
|
+
s.add_dependency(%q<bluecloth>, [">= 0"])
|
|
87
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
|
88
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
|
89
|
+
s.add_dependency(%q<rcov>, [">= 0"])
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
data/test/helper.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'bundler'
|
|
3
|
+
begin
|
|
4
|
+
Bundler.setup(:default, :development)
|
|
5
|
+
rescue Bundler::BundlerError => e
|
|
6
|
+
$stderr.puts e.message
|
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
|
8
|
+
exit e.status_code
|
|
9
|
+
end
|
|
10
|
+
require 'test/unit'
|
|
11
|
+
|
|
12
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
14
|
+
require 'rui'
|
|
15
|
+
|
|
16
|
+
class Test::Unit::TestCase
|
|
17
|
+
end
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# Copyright (c) 2010 Paolo Capriotti <p.capriotti@gmail.com>
|
|
2
|
+
#
|
|
3
|
+
# This library is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU Lesser General Public License as
|
|
5
|
+
# published by the Free Software Foundation; either version 3 of the
|
|
6
|
+
# License, or (at your option) any later version.
|
|
7
|
+
|
|
8
|
+
require 'test/unit'
|
|
9
|
+
require 'rui/descriptor'
|
|
10
|
+
|
|
11
|
+
class TestDescriptor < Test::Unit::TestCase
|
|
12
|
+
def test_add_child
|
|
13
|
+
parent = Descriptor.new(:parent)
|
|
14
|
+
child = Descriptor.new(:child)
|
|
15
|
+
parent.add_child(child)
|
|
16
|
+
|
|
17
|
+
assert_equal 1, parent.children.size
|
|
18
|
+
assert_equal :child, parent.children.first.tag
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_merge_child_with_no_merge_points
|
|
22
|
+
parent = Descriptor.new(:parent)
|
|
23
|
+
children = (0...5).map do |i|
|
|
24
|
+
child = Descriptor.new("child#{i}".to_sym)
|
|
25
|
+
parent.add_child(child)
|
|
26
|
+
end
|
|
27
|
+
extra_child = Descriptor.new(:extra)
|
|
28
|
+
|
|
29
|
+
parent.merge_child(extra_child)
|
|
30
|
+
|
|
31
|
+
assert_equal 6, parent.children.size
|
|
32
|
+
assert_equal :extra, parent.children.last.tag
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_merge_child_with_merge_point
|
|
36
|
+
parent = Descriptor.new(:parent)
|
|
37
|
+
parent.add_merge_point(3)
|
|
38
|
+
|
|
39
|
+
(0...5).each do |i|
|
|
40
|
+
child = Descriptor.new("child#{i}".to_sym)
|
|
41
|
+
parent.add_child(child)
|
|
42
|
+
end
|
|
43
|
+
extra_child = Descriptor.new(:extra)
|
|
44
|
+
|
|
45
|
+
parent.merge_child(extra_child)
|
|
46
|
+
|
|
47
|
+
assert_equal 6, parent.children.size
|
|
48
|
+
assert_equal :extra, parent.children[3].tag
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_merge_child_with_capped_merge_point
|
|
52
|
+
parent = Descriptor.new(:parent)
|
|
53
|
+
parent.add_merge_point(3, 2)
|
|
54
|
+
|
|
55
|
+
(0...5).each do |i|
|
|
56
|
+
child = Descriptor.new("child#{i}".to_sym)
|
|
57
|
+
parent.add_child(child)
|
|
58
|
+
end
|
|
59
|
+
(0...3).each do |i|
|
|
60
|
+
child = Descriptor.new("extra#{i}".to_sym)
|
|
61
|
+
parent.merge_child(child)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
assert_equal 8, parent.children.size
|
|
65
|
+
assert_equal :extra0, parent.children[3].tag
|
|
66
|
+
assert_equal :extra1, parent.children[4].tag
|
|
67
|
+
assert_equal :extra2, parent.children[7].tag
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def test_simple_to_sexp
|
|
71
|
+
desc = Descriptor.new("hello", :foo => 42)
|
|
72
|
+
assert_equal "(hello {:foo=>42})", desc.to_sexp
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def test_hierarchical_to_sexp
|
|
76
|
+
parent = Descriptor.new("parent", :foo => 42)
|
|
77
|
+
child = Descriptor.new("child")
|
|
78
|
+
parent.add_child(child)
|
|
79
|
+
|
|
80
|
+
assert_equal("(parent {:foo=>42} (child {}))", parent.to_sexp)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def test_builder
|
|
84
|
+
desc = Descriptor.build(:gui) do
|
|
85
|
+
menu_bar do
|
|
86
|
+
menu(:file) do
|
|
87
|
+
action :new
|
|
88
|
+
action :open
|
|
89
|
+
separator
|
|
90
|
+
action :quit
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sexp = '(gui {} ' +
|
|
96
|
+
'(menu_bar {} ' +
|
|
97
|
+
'(menu {:name=>:file} ' +
|
|
98
|
+
'(action {:name=>:new}) ' +
|
|
99
|
+
'(action {:name=>:open}) ' +
|
|
100
|
+
'(separator {}) ' +
|
|
101
|
+
'(action {:name=>:quit}))))'
|
|
102
|
+
assert_equal sexp, desc.to_sexp
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def test_merge_equal
|
|
106
|
+
desc = Descriptor.build(:gui)
|
|
107
|
+
desc2 = Descriptor.build(:gui)
|
|
108
|
+
|
|
109
|
+
desc.merge!(desc2)
|
|
110
|
+
sexp = '(gui {})'
|
|
111
|
+
assert_equal sexp, desc.to_sexp
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def test_merge_children
|
|
115
|
+
desc = Descriptor.build(:gui) do |g|
|
|
116
|
+
g.item :a
|
|
117
|
+
g.item :b
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
desc2 = Descriptor.build(:gui) do |g|
|
|
121
|
+
g.item :c
|
|
122
|
+
g.item :d
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
desc.merge!(desc2)
|
|
126
|
+
sexp = '(gui {} ' +
|
|
127
|
+
'(item {:name=>:a}) ' +
|
|
128
|
+
'(item {:name=>:b}) ' +
|
|
129
|
+
'(item {:name=>:c}) ' +
|
|
130
|
+
'(item {:name=>:d}))'
|
|
131
|
+
assert_equal sexp, desc.to_sexp
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def test_merge_recursive
|
|
135
|
+
desc = Descriptor.build(:gui) do |g|
|
|
136
|
+
g.menu_bar do |mb|
|
|
137
|
+
mb.item :a
|
|
138
|
+
mb.item :b
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
desc2 = Descriptor.build(:gui) do |g|
|
|
143
|
+
g.menu_bar do |mb|
|
|
144
|
+
mb.item :c
|
|
145
|
+
mb.item :d
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
desc.merge!(desc2)
|
|
150
|
+
sexp = '(gui {} ' +
|
|
151
|
+
'(menu_bar {} ' +
|
|
152
|
+
'(item {:name=>:a}) ' +
|
|
153
|
+
'(item {:name=>:b}) ' +
|
|
154
|
+
'(item {:name=>:c}) ' +
|
|
155
|
+
'(item {:name=>:d})))'
|
|
156
|
+
assert_equal sexp, desc.to_sexp
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def test_simple_merge
|
|
160
|
+
desc = Descriptor.build(:gui) do |g|
|
|
161
|
+
g.menu_bar do |mb|
|
|
162
|
+
mb.menu(:file) do |m|
|
|
163
|
+
m.action :new
|
|
164
|
+
m.action :open
|
|
165
|
+
m.separator
|
|
166
|
+
m.action :quit
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
desc2 = Descriptor.build(:gui) do |g|
|
|
172
|
+
g.menu_bar do |mb|
|
|
173
|
+
mb.menu(:file) do |m|
|
|
174
|
+
m.action :save
|
|
175
|
+
end
|
|
176
|
+
mb.menu(:edit) do |m|
|
|
177
|
+
m.action :undo
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
g.tool_bar(:main_tool_bar)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
desc.merge!(desc2)
|
|
184
|
+
sexp = '(gui {} ' +
|
|
185
|
+
'(menu_bar {} ' +
|
|
186
|
+
'(menu {:name=>:file} ' +
|
|
187
|
+
'(action {:name=>:new}) ' +
|
|
188
|
+
'(action {:name=>:open}) ' +
|
|
189
|
+
'(separator {}) ' +
|
|
190
|
+
'(action {:name=>:quit}) ' +
|
|
191
|
+
'(action {:name=>:save})) ' +
|
|
192
|
+
'(menu {:name=>:edit} ' +
|
|
193
|
+
'(action {:name=>:undo}))) ' +
|
|
194
|
+
'(tool_bar {:name=>:main_tool_bar}))'
|
|
195
|
+
|
|
196
|
+
assert_equal sexp, desc.to_sexp
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
def test_merge_partial
|
|
200
|
+
desc = Descriptor.build(:gui) do |g|
|
|
201
|
+
g.menu_bar do |mb|
|
|
202
|
+
mb.menu(:file) do |m|
|
|
203
|
+
m.action :open
|
|
204
|
+
end
|
|
205
|
+
mb.menu(:edit) do |m|
|
|
206
|
+
m.action :undo
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
desc2 = Descriptor.build(:gui) do |g|
|
|
212
|
+
g.menu_bar do |mb|
|
|
213
|
+
mb.menu(:edit) do |m|
|
|
214
|
+
m.action :redo
|
|
215
|
+
end
|
|
216
|
+
mb.menu(:game) do |m|
|
|
217
|
+
m.action :forward
|
|
218
|
+
m.action :back
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
desc.merge!(desc2)
|
|
224
|
+
sexp = '(gui {} ' +
|
|
225
|
+
'(menu_bar {} ' +
|
|
226
|
+
'(menu {:name=>:file} ' +
|
|
227
|
+
'(action {:name=>:open})) ' +
|
|
228
|
+
'(menu {:name=>:edit} ' +
|
|
229
|
+
'(action {:name=>:undo}) ' +
|
|
230
|
+
'(action {:name=>:redo})) ' +
|
|
231
|
+
'(menu {:name=>:game} ' +
|
|
232
|
+
'(action {:name=>:forward}) ' +
|
|
233
|
+
'(action {:name=>:back}))))'
|
|
234
|
+
assert_equal sexp, desc.to_sexp
|
|
235
|
+
end
|
|
236
|
+
end
|
|
237
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright (c) 2010 Paolo Capriotti <p.capriotti@gmail.com>
|
|
2
|
+
#
|
|
3
|
+
# This library is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU Lesser General Public License as
|
|
5
|
+
# published by the Free Software Foundation; either version 3 of the
|
|
6
|
+
# License, or (at your option) any later version.
|
|
7
|
+
|
|
8
|
+
require 'test/unit'
|
|
9
|
+
require 'rui/factory'
|
|
10
|
+
|
|
11
|
+
class TestFactory < Test::Unit::TestCase
|
|
12
|
+
def test_simple_factory
|
|
13
|
+
factory = Factory.new { "hello" }
|
|
14
|
+
assert_equal "hello", factory.new
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def test_factory_with_arguments
|
|
18
|
+
factory = Factory.new {|x, y| x + y }
|
|
19
|
+
assert_equal 42, factory.new(40, 2)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_component
|
|
23
|
+
factory = Factory.new(Array) do |n, value|
|
|
24
|
+
Array.new(n) { value }
|
|
25
|
+
end
|
|
26
|
+
assert_equal Array, factory.component
|
|
27
|
+
assert_equal Array, factory.new(10, "hello").class
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_rebind
|
|
31
|
+
factory = Factory.new(Array) do |n, value|
|
|
32
|
+
new(n) { value }
|
|
33
|
+
end
|
|
34
|
+
factory = factory.__bind__(factory.component)
|
|
35
|
+
assert_equal Array, factory.component
|
|
36
|
+
assert_equal [:hello, :hello], factory.new(2, :hello)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Copyright (c) 2010 Paolo Capriotti <p.capriotti@gmail.com>
|
|
2
|
+
#
|
|
3
|
+
# This library is free software; you can redistribute it and/or modify
|
|
4
|
+
# it under the terms of the GNU Lesser General Public License as
|
|
5
|
+
# published by the Free Software Foundation; either version 3 of the
|
|
6
|
+
# License, or (at your option) any later version.
|
|
7
|
+
|
|
8
|
+
require 'test/unit'
|
|
9
|
+
require 'rui/observer_utils'
|
|
10
|
+
|
|
11
|
+
class TestObserverUtils < Test::Unit::TestCase
|
|
12
|
+
class FakeObservable
|
|
13
|
+
include Observable
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def setup
|
|
17
|
+
@object = FakeObservable.new
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_simple_observer
|
|
21
|
+
ok = false
|
|
22
|
+
@object.on(:something) { ok = true }
|
|
23
|
+
@object.fire :something
|
|
24
|
+
assert ok
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_observer
|
|
28
|
+
obs = Object.new
|
|
29
|
+
class << obs
|
|
30
|
+
include Observer
|
|
31
|
+
attr_reader :arg
|
|
32
|
+
|
|
33
|
+
def on_something(arg)
|
|
34
|
+
@arg = arg
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
@object.add_observer(obs)
|
|
39
|
+
@object.changed
|
|
40
|
+
@object.notify_observers :something => 37
|
|
41
|
+
|
|
42
|
+
assert_equal 37, obs.arg
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_multiple_observer
|
|
46
|
+
obs = Object.new
|
|
47
|
+
class << obs
|
|
48
|
+
include Observer
|
|
49
|
+
attr_reader :arg1, :arg2
|
|
50
|
+
|
|
51
|
+
def on_whatever(arg1)
|
|
52
|
+
@arg1 = arg1
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def on_something(arg2)
|
|
56
|
+
@arg2 = arg2
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
@object.add_observer(obs)
|
|
61
|
+
@object.changed
|
|
62
|
+
@object.notify_observers :something => 2, :whatever => 1, :nothing => 3
|
|
63
|
+
|
|
64
|
+
assert_equal 1, obs.arg1
|
|
65
|
+
assert_equal 2, obs.arg2
|
|
66
|
+
end
|
|
67
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: rui
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 27
|
|
5
|
+
prerelease: false
|
|
6
|
+
segments:
|
|
7
|
+
- 0
|
|
8
|
+
- 1
|
|
9
|
+
- 0
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
platform: ruby
|
|
12
|
+
authors:
|
|
13
|
+
- Paolo Capriotti
|
|
14
|
+
autorequire:
|
|
15
|
+
bindir: bin
|
|
16
|
+
cert_chain: []
|
|
17
|
+
|
|
18
|
+
date: 2011-01-01 00:00:00 +00:00
|
|
19
|
+
default_executable:
|
|
20
|
+
dependencies:
|
|
21
|
+
- !ruby/object:Gem::Dependency
|
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
|
23
|
+
none: false
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
hash: 3
|
|
28
|
+
segments:
|
|
29
|
+
- 0
|
|
30
|
+
version: "0"
|
|
31
|
+
name: builder
|
|
32
|
+
requirement: *id001
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
- !ruby/object:Gem::Dependency
|
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
|
37
|
+
none: false
|
|
38
|
+
requirements:
|
|
39
|
+
- - ~>
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
hash: 7
|
|
42
|
+
segments:
|
|
43
|
+
- 0
|
|
44
|
+
- 6
|
|
45
|
+
- 0
|
|
46
|
+
version: 0.6.0
|
|
47
|
+
name: yard
|
|
48
|
+
requirement: *id002
|
|
49
|
+
type: :development
|
|
50
|
+
prerelease: false
|
|
51
|
+
- !ruby/object:Gem::Dependency
|
|
52
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
|
53
|
+
none: false
|
|
54
|
+
requirements:
|
|
55
|
+
- - ">="
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
hash: 3
|
|
58
|
+
segments:
|
|
59
|
+
- 0
|
|
60
|
+
version: "0"
|
|
61
|
+
name: bluecloth
|
|
62
|
+
requirement: *id003
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
- !ruby/object:Gem::Dependency
|
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
|
67
|
+
none: false
|
|
68
|
+
requirements:
|
|
69
|
+
- - ~>
|
|
70
|
+
- !ruby/object:Gem::Version
|
|
71
|
+
hash: 23
|
|
72
|
+
segments:
|
|
73
|
+
- 1
|
|
74
|
+
- 0
|
|
75
|
+
- 0
|
|
76
|
+
version: 1.0.0
|
|
77
|
+
name: bundler
|
|
78
|
+
requirement: *id004
|
|
79
|
+
type: :development
|
|
80
|
+
prerelease: false
|
|
81
|
+
- !ruby/object:Gem::Dependency
|
|
82
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
|
83
|
+
none: false
|
|
84
|
+
requirements:
|
|
85
|
+
- - ~>
|
|
86
|
+
- !ruby/object:Gem::Version
|
|
87
|
+
hash: 1
|
|
88
|
+
segments:
|
|
89
|
+
- 1
|
|
90
|
+
- 5
|
|
91
|
+
- 1
|
|
92
|
+
version: 1.5.1
|
|
93
|
+
name: jeweler
|
|
94
|
+
requirement: *id005
|
|
95
|
+
type: :development
|
|
96
|
+
prerelease: false
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
|
99
|
+
none: false
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
hash: 3
|
|
104
|
+
segments:
|
|
105
|
+
- 0
|
|
106
|
+
version: "0"
|
|
107
|
+
name: rcov
|
|
108
|
+
requirement: *id006
|
|
109
|
+
type: :development
|
|
110
|
+
prerelease: false
|
|
111
|
+
description: GUI abstraction library supporting Qt and KDE backends
|
|
112
|
+
email: p.capriotti@gmail.com
|
|
113
|
+
executables: []
|
|
114
|
+
|
|
115
|
+
extensions: []
|
|
116
|
+
|
|
117
|
+
extra_rdoc_files:
|
|
118
|
+
- README.md
|
|
119
|
+
files:
|
|
120
|
+
- .document
|
|
121
|
+
- COPYING
|
|
122
|
+
- Gemfile
|
|
123
|
+
- Gemfile.lock
|
|
124
|
+
- README.md
|
|
125
|
+
- Rakefile
|
|
126
|
+
- VERSION
|
|
127
|
+
- examples/autogui/main.rb
|
|
128
|
+
- examples/hello/main.rb
|
|
129
|
+
- examples/kderun.rb
|
|
130
|
+
- examples/qtrun.rb
|
|
131
|
+
- examples/signals/main.rb
|
|
132
|
+
- lib/rui.rb
|
|
133
|
+
- lib/rui/descriptor.rb
|
|
134
|
+
- lib/rui/factory.rb
|
|
135
|
+
- lib/rui/observer_utils.rb
|
|
136
|
+
- lib/rui/toolkits/kde/kde.rb
|
|
137
|
+
- lib/rui/toolkits/qt/qt.rb
|
|
138
|
+
- lib/rui/toolkits/qtbase/gui_builder.rb
|
|
139
|
+
- lib/rui/toolkits/qtbase/qt.rb
|
|
140
|
+
- lib/rui/utils.rb
|
|
141
|
+
- rui.gemspec
|
|
142
|
+
- test/helper.rb
|
|
143
|
+
- test/test_descriptor.rb
|
|
144
|
+
- test/test_factory.rb
|
|
145
|
+
- test/test_observer_utils.rb
|
|
146
|
+
has_rdoc: true
|
|
147
|
+
homepage: http://github.com/pcapriotti/rui
|
|
148
|
+
licenses:
|
|
149
|
+
- LGPL
|
|
150
|
+
post_install_message:
|
|
151
|
+
rdoc_options: []
|
|
152
|
+
|
|
153
|
+
require_paths:
|
|
154
|
+
- lib
|
|
155
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
156
|
+
none: false
|
|
157
|
+
requirements:
|
|
158
|
+
- - ">="
|
|
159
|
+
- !ruby/object:Gem::Version
|
|
160
|
+
hash: 3
|
|
161
|
+
segments:
|
|
162
|
+
- 0
|
|
163
|
+
version: "0"
|
|
164
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
|
+
none: false
|
|
166
|
+
requirements:
|
|
167
|
+
- - ">="
|
|
168
|
+
- !ruby/object:Gem::Version
|
|
169
|
+
hash: 3
|
|
170
|
+
segments:
|
|
171
|
+
- 0
|
|
172
|
+
version: "0"
|
|
173
|
+
requirements: []
|
|
174
|
+
|
|
175
|
+
rubyforge_project: nowarning
|
|
176
|
+
rubygems_version: 1.3.7
|
|
177
|
+
signing_key:
|
|
178
|
+
specification_version: 3
|
|
179
|
+
summary: GUI abstraction library
|
|
180
|
+
test_files:
|
|
181
|
+
- examples/autogui/main.rb
|
|
182
|
+
- examples/hello/main.rb
|
|
183
|
+
- examples/kderun.rb
|
|
184
|
+
- examples/qtrun.rb
|
|
185
|
+
- examples/signals/main.rb
|
|
186
|
+
- test/helper.rb
|
|
187
|
+
- test/test_descriptor.rb
|
|
188
|
+
- test/test_factory.rb
|
|
189
|
+
- test/test_observer_utils.rb
|