green_shoes 1.0.282 → 1.0.303
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/VERSION +1 -1
- data/lib/green_shoes.rb +3 -0
- data/lib/plugins/code_box.rb +41 -0
- data/lib/shoes/app.rb +48 -26
- data/lib/shoes/help.rb +2 -2
- data/lib/shoes/ruby.rb +1 -1
- data/lib/shoes/style.rb +2 -0
- data/samples/sample56.rb +63 -0
- data/samples/sample57.rb +9 -0
- data/snapshots/sample1.png +0 -0
- data/snapshots/sample10.png +0 -0
- data/snapshots/sample11.png +0 -0
- data/snapshots/sample12.png +0 -0
- data/snapshots/sample13.png +0 -0
- data/snapshots/sample14-1.png +0 -0
- data/snapshots/sample14.png +0 -0
- data/snapshots/sample15.png +0 -0
- data/snapshots/sample16.png +0 -0
- data/snapshots/sample17.png +0 -0
- data/snapshots/sample18.png +0 -0
- data/snapshots/sample19.png +0 -0
- data/snapshots/sample2.png +0 -0
- data/snapshots/sample20.png +0 -0
- data/snapshots/sample21.png +0 -0
- data/snapshots/sample22.png +0 -0
- data/snapshots/sample23.png +0 -0
- data/snapshots/sample24.png +0 -0
- data/snapshots/sample25.png +0 -0
- data/snapshots/sample26.png +0 -0
- data/snapshots/sample27.png +0 -0
- data/snapshots/sample28.png +0 -0
- data/snapshots/sample29.png +0 -0
- data/snapshots/sample3.png +0 -0
- data/snapshots/sample30.png +0 -0
- data/snapshots/sample31.png +0 -0
- data/snapshots/sample32.png +0 -0
- data/snapshots/sample33.png +0 -0
- data/snapshots/sample34.png +0 -0
- data/snapshots/sample35.png +0 -0
- data/snapshots/sample36.png +0 -0
- data/snapshots/sample37.png +0 -0
- data/snapshots/sample38.png +0 -0
- data/snapshots/sample39.png +0 -0
- data/snapshots/sample4.png +0 -0
- data/snapshots/sample40.png +0 -0
- data/snapshots/sample41.png +0 -0
- data/snapshots/sample42.png +0 -0
- data/snapshots/sample43.png +0 -0
- data/snapshots/sample44.png +0 -0
- data/snapshots/sample45.png +0 -0
- data/snapshots/sample46.png +0 -0
- data/snapshots/sample47.png +0 -0
- data/snapshots/sample48.png +0 -0
- data/snapshots/sample49.png +0 -0
- data/snapshots/sample5.png +0 -0
- data/snapshots/sample50.png +0 -0
- data/snapshots/sample51.png +0 -0
- data/snapshots/sample52.png +0 -0
- data/snapshots/sample53.png +0 -0
- data/snapshots/sample54.png +0 -0
- data/snapshots/sample55.png +0 -0
- data/snapshots/sample56.png +0 -0
- data/snapshots/sample57.png +0 -0
- data/snapshots/sample6.png +0 -0
- data/snapshots/sample7.png +0 -0
- data/snapshots/sample8.png +0 -0
- data/snapshots/sample9.png +0 -0
- data/snapshots/sample99.png +0 -0
- data/static/manual-en.txt +4 -1
- data/static/manual.css +7 -0
- data/static/rshoes-icon.png +0 -0
- metadata +10 -4
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.0.
|
|
1
|
+
1.0.303
|
data/lib/green_shoes.rb
CHANGED
|
@@ -17,6 +17,8 @@ module Shoes
|
|
|
17
17
|
FONTS = Gtk::Invisible.new.pango_context.families.map(&:name).sort
|
|
18
18
|
LINK_DEFAULT = "<span underline='single' underline_color='#06E' foreground='#06E' weight='normal'>"
|
|
19
19
|
LINKHOVER_DEFAULT = "<span underline='single' underline_color='#039' foreground='#039' weight='normal'>"
|
|
20
|
+
BANNER_DEFAULT, TITLE_DEFAULT, SUBTITLE_DEFAULT, TAGLINE_DEFAULT, CAPTION_DEFAULT, PARA_DEFAULT, INSCRIPTION_DEFAULT, IMAGE_DEFAULT =
|
|
21
|
+
{}, {}, {}, {}, {}, {}, {}, {}
|
|
20
22
|
ROTATE = [Gdk::Pixbuf::ROTATE_NONE, Gdk::Pixbuf::ROTATE_CLOCKWISE, Gdk::Pixbuf::ROTATE_UPSIDEDOWN, Gdk::Pixbuf::ROTATE_COUNTERCLOCKWISE]
|
|
21
23
|
VERSION = IO.read(File.join(DIR, '../VERSION')).chomp
|
|
22
24
|
BASIC_ATTRIBUTES_DEFAULT = {left: 0, top: 0, width: 0, height: 0, angle: 0, curve: 0}
|
|
@@ -57,6 +59,7 @@ require_relative 'plugins/systray'
|
|
|
57
59
|
require_relative 'plugins/thread'
|
|
58
60
|
require_relative 'plugins/httpd'
|
|
59
61
|
require_relative 'plugins/treeview'
|
|
62
|
+
require_relative 'plugins/code_box'
|
|
60
63
|
|
|
61
64
|
autoload :ChipMunk, File.join(Shoes::DIR, 'ext/chipmunk')
|
|
62
65
|
autoload :Bloops, File.join(Shoes::DIR, 'ext/bloops')
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
class Shoes
|
|
2
|
+
class App
|
|
3
|
+
def code_box args={}
|
|
4
|
+
require 'gtksourceview2'
|
|
5
|
+
args = basic_attributes args
|
|
6
|
+
|
|
7
|
+
args[:width] = 400 if args[:width].zero?
|
|
8
|
+
args[:height] = 300 if args[:height].zero?
|
|
9
|
+
|
|
10
|
+
(change_proc = args[:change]; args.delete :change) if args[:change]
|
|
11
|
+
sv = Gtk::SourceView.new
|
|
12
|
+
sv.show_line_numbers = true
|
|
13
|
+
sv.insert_spaces_instead_of_tabs = true
|
|
14
|
+
sv.smart_home_end = Gtk::SourceView::SMART_HOME_END_ALWAYS
|
|
15
|
+
sv.tab_width = 2
|
|
16
|
+
sv.buffer.text = args[:text].to_s
|
|
17
|
+
sv.buffer.language = Gtk::SourceLanguageManager.new.get_language('ruby')
|
|
18
|
+
sv.buffer.highlight_syntax = true
|
|
19
|
+
sv.modify_font(Pango::FontDescription.new(args[:font])) if args[:font]
|
|
20
|
+
|
|
21
|
+
cb = Gtk::ScrolledWindow.new
|
|
22
|
+
cb.set_size_request args[:width], args[:height]
|
|
23
|
+
cb.set_policy Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC
|
|
24
|
+
cb.set_shadow_type Gtk::SHADOW_IN
|
|
25
|
+
cb.add sv
|
|
26
|
+
|
|
27
|
+
@canvas.put cb, args[:left], args[:top]
|
|
28
|
+
|
|
29
|
+
cb.show_all
|
|
30
|
+
args[:real], args[:app], args[:textview] = cb, self, sv
|
|
31
|
+
CodeBox.new(args).tap do |s|
|
|
32
|
+
s.change &change_proc
|
|
33
|
+
sv.buffer.signal_connect "changed" do
|
|
34
|
+
yield s
|
|
35
|
+
end if block_given?
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class CodeBox < EditBox; end
|
|
41
|
+
end
|
data/lib/shoes/app.rb
CHANGED
|
@@ -112,6 +112,7 @@ class Shoes
|
|
|
112
112
|
|
|
113
113
|
def textblock klass, font_size, *msg
|
|
114
114
|
args = msg.last.class == Hash ? msg.pop : {}
|
|
115
|
+
args = eval("#{klass.to_s[7..-1].upcase}_DEFAULT").merge args
|
|
115
116
|
args = basic_attributes args
|
|
116
117
|
args[:markup] = msg.map(&:to_s).join
|
|
117
118
|
args[:markup] = fg(args[:markup], tr_color(args[:stroke])) if args[:stroke]
|
|
@@ -168,6 +169,7 @@ class Shoes
|
|
|
168
169
|
def inscription *msg; textblock Para, 10, *msg; end
|
|
169
170
|
|
|
170
171
|
def image name, args={}
|
|
172
|
+
args = IMAGE_DEFAULT.merge args
|
|
171
173
|
args = basic_attributes args
|
|
172
174
|
args[:full_width] = args[:full_height] = 0
|
|
173
175
|
(click_proc = args[:click]; args.delete :click) if args[:click]
|
|
@@ -176,9 +178,13 @@ class Shoes
|
|
|
176
178
|
d = download name, save: tmpname
|
|
177
179
|
img = Gtk::Image.new File.join(DIR, '../static/downloading.png')
|
|
178
180
|
downloading = true
|
|
179
|
-
|
|
181
|
+
elsif name =~ /\.(png|jpg|gif)$/
|
|
180
182
|
img = Gtk::Image.new name
|
|
181
183
|
downloading = false
|
|
184
|
+
else
|
|
185
|
+
require 'rsvg2'
|
|
186
|
+
img = Gtk::Image.new RSVG::Handle.new_from_data(name).pixbuf
|
|
187
|
+
downloading = false
|
|
182
188
|
end
|
|
183
189
|
|
|
184
190
|
if (!args[:width].zero? or !args[:height].zero?) and !downloading
|
|
@@ -206,13 +212,15 @@ class Shoes
|
|
|
206
212
|
(click_proc = args[:click]; args.delete :click) if args[:click]
|
|
207
213
|
b = Gtk::Button.new name
|
|
208
214
|
b.set_size_request args[:width], args[:height] if args[:width] > 0 and args[:height] > 0
|
|
209
|
-
b.signal_connect "clicked" do
|
|
210
|
-
yield @_b
|
|
211
|
-
end if block_given?
|
|
212
215
|
@canvas.put b, args[:left], args[:top]
|
|
213
216
|
b.show_now
|
|
214
217
|
args[:real], args[:text], args[:app] = b, name, self
|
|
215
|
-
|
|
218
|
+
Button.new(args).tap do |s|
|
|
219
|
+
s.click &click_proc if click_proc
|
|
220
|
+
b.signal_connect "clicked" do
|
|
221
|
+
yield s
|
|
222
|
+
end if block_given?
|
|
223
|
+
end
|
|
216
224
|
end
|
|
217
225
|
|
|
218
226
|
def check args={}
|
|
@@ -220,13 +228,15 @@ class Shoes
|
|
|
220
228
|
(click_proc = args[:click]; args.delete :click) if args[:click]
|
|
221
229
|
cb = Gtk::CheckButton.new
|
|
222
230
|
cb.active = true if args[:checked]
|
|
223
|
-
cb.signal_connect "clicked" do
|
|
224
|
-
yield @_cb
|
|
225
|
-
end if block_given?
|
|
226
231
|
@canvas.put cb, args[:left], args[:top]
|
|
227
232
|
cb.show_now
|
|
228
233
|
args[:real], args[:app] = cb, self
|
|
229
|
-
|
|
234
|
+
Check.new(args).tap do |s|
|
|
235
|
+
s.click &click_proc if click_proc
|
|
236
|
+
cb.signal_connect "clicked" do
|
|
237
|
+
yield s
|
|
238
|
+
end if block_given?
|
|
239
|
+
end
|
|
230
240
|
end
|
|
231
241
|
|
|
232
242
|
def radio *attrs
|
|
@@ -238,13 +248,15 @@ class Shoes
|
|
|
238
248
|
(click_proc = args[:click]; args.delete :click) if args[:click]
|
|
239
249
|
rb = Gtk::RadioButton.new group
|
|
240
250
|
rb.active = true if args[:checked]
|
|
241
|
-
rb.signal_connect "clicked" do
|
|
242
|
-
yield @_rb
|
|
243
|
-
end if block_given?
|
|
244
251
|
@canvas.put rb, args[:left], args[:top]
|
|
245
252
|
rb.show_now
|
|
246
253
|
args[:real], args[:app] = rb, self
|
|
247
|
-
|
|
254
|
+
Radio.new(args).tap do |s|
|
|
255
|
+
s.click &click_proc if click_proc
|
|
256
|
+
rb.signal_connect "clicked" do
|
|
257
|
+
yield s
|
|
258
|
+
end if block_given?
|
|
259
|
+
end
|
|
248
260
|
end
|
|
249
261
|
|
|
250
262
|
def edit_line args={}
|
|
@@ -256,13 +268,15 @@ class Shoes
|
|
|
256
268
|
el.visibility = false if args[:secret]
|
|
257
269
|
el.text = args[:text].to_s
|
|
258
270
|
el.set_size_request args[:width], args[:height]
|
|
259
|
-
el.signal_connect "changed" do
|
|
260
|
-
yield @_el
|
|
261
|
-
end if block_given?
|
|
262
271
|
@canvas.put el, args[:left], args[:top]
|
|
263
272
|
el.show_now
|
|
264
273
|
args[:real], args[:app] = el, self
|
|
265
|
-
|
|
274
|
+
EditLine.new(args).tap do |s|
|
|
275
|
+
s.change &change_proc
|
|
276
|
+
el.signal_connect "changed" do
|
|
277
|
+
yield s
|
|
278
|
+
end if block_given?
|
|
279
|
+
end
|
|
266
280
|
end
|
|
267
281
|
|
|
268
282
|
def edit_box args={}
|
|
@@ -281,14 +295,15 @@ class Shoes
|
|
|
281
295
|
eb.set_shadow_type Gtk::SHADOW_IN
|
|
282
296
|
eb.add tv
|
|
283
297
|
|
|
284
|
-
tv.buffer.signal_connect "changed" do
|
|
285
|
-
yield @_eb
|
|
286
|
-
end if block_given?
|
|
287
|
-
|
|
288
298
|
@canvas.put eb, args[:left], args[:top]
|
|
289
299
|
eb.show_all
|
|
290
300
|
args[:real], args[:app], args[:textview] = eb, self, tv
|
|
291
|
-
|
|
301
|
+
EditBox.new(args).tap do |s|
|
|
302
|
+
s.change &change_proc
|
|
303
|
+
tv.buffer.signal_connect "changed" do
|
|
304
|
+
yield s
|
|
305
|
+
end if block_given?
|
|
306
|
+
end
|
|
292
307
|
end
|
|
293
308
|
|
|
294
309
|
def list_box args={}
|
|
@@ -301,13 +316,15 @@ class Shoes
|
|
|
301
316
|
args[:items].each{|item| cb.append_text item.to_s}
|
|
302
317
|
cb.set_size_request args[:width], args[:height]
|
|
303
318
|
cb.active = args[:items].index(args[:choose]) if args[:choose]
|
|
304
|
-
cb.signal_connect("changed") do
|
|
305
|
-
yield @_lb
|
|
306
|
-
end if block_given?
|
|
307
319
|
@canvas.put cb, args[:left], args[:top]
|
|
308
320
|
cb.show_now
|
|
309
321
|
args[:real], args[:app] = cb, self
|
|
310
|
-
|
|
322
|
+
ListBox.new(args).tap do |s|
|
|
323
|
+
s.change &change_proc
|
|
324
|
+
cb.signal_connect("changed") do
|
|
325
|
+
yield s
|
|
326
|
+
end if block_given?
|
|
327
|
+
end
|
|
311
328
|
end
|
|
312
329
|
|
|
313
330
|
def animate n=10, repaint=true, &blk
|
|
@@ -733,6 +750,11 @@ class Shoes
|
|
|
733
750
|
def nolayout
|
|
734
751
|
@nolayout = true
|
|
735
752
|
end
|
|
753
|
+
|
|
754
|
+
# Resize the app window.
|
|
755
|
+
def resize new_width, new_height
|
|
756
|
+
win.resize new_width, new_height
|
|
757
|
+
end
|
|
736
758
|
|
|
737
759
|
def scroll_top
|
|
738
760
|
@swin.vscrollbar.value
|
data/lib/shoes/help.rb
CHANGED
|
@@ -245,7 +245,7 @@ class Manual < Shoes
|
|
|
245
245
|
return unless dir
|
|
246
246
|
FileUtils.mkdir_p File.join(dir, 'static')
|
|
247
247
|
FileUtils.mkdir_p File.join(dir, 'snapshots')
|
|
248
|
-
%w[gshoes-icon.png shoes-manual-apps.png manual.css code_highlighter.js code_highlighter_ruby.js].
|
|
248
|
+
%w[rshoes-icon.png gshoes-icon.png shoes-manual-apps.png manual.css code_highlighter.js code_highlighter_ruby.js].
|
|
249
249
|
each{|x| FileUtils.cp "#{DIR}/../static/#{x}", "#{dir}/static"}
|
|
250
250
|
Dir[File.join DIR, '../static/man-*.png'].each{|x| FileUtils.cp x, "#{dir}/static"}
|
|
251
251
|
Dir[File.join DIR, '../snapshots/sample*.png'].each{|x| FileUtils.cp x, "#{dir}/snapshots"}
|
|
@@ -459,7 +459,7 @@ class Manual < Shoes
|
|
|
459
459
|
CODE_RE = /\{{3}(?:\s*\#![^\n]+)?(.+?)\}{3}/m
|
|
460
460
|
NL = "\n"
|
|
461
461
|
LANG = $lang.downcase[0, 2]
|
|
462
|
-
DOCS = load_docs File.join(DIR, "../static/manual-#{LANG}.txt")
|
|
462
|
+
DOCS = load_docs($lang =~ /\.txt$/ ? $lang : File.join(DIR, "../static/manual-#{LANG}.txt"))
|
|
463
463
|
PNUMS = mk_page_numbers DOCS
|
|
464
464
|
PEND = PNUMS.length
|
|
465
465
|
TOC, TOC_LIST = [], []
|
data/lib/shoes/ruby.rb
CHANGED
data/lib/shoes/style.rb
CHANGED
|
@@ -13,6 +13,8 @@ class Shoes
|
|
|
13
13
|
@linkhover_style.sub!("foreground='#039'", "foreground='#{args[:stroke]}'") if args[:stroke]
|
|
14
14
|
@linkhover_style.sub!('>', " background='#{args[:fill]}'>") if args[:fill]
|
|
15
15
|
@linkhover_style.sub!('normal', "#{args[:weight]}") if args[:weight]
|
|
16
|
+
elsif klass.superclass == Shoes::TextBlock or klass == Shoes::Image
|
|
17
|
+
eval("#{klass.to_s[7..-1].upcase}_DEFAULT").clear.merge! args
|
|
16
18
|
end
|
|
17
19
|
end
|
|
18
20
|
end
|
data/samples/sample56.rb
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# The original code is https://github.com/clbustos/rubyvis/blob/master/examples/5_pv_hierarchies/bubble_charts.rb
|
|
2
|
+
# Just only edited a little bit for Green Shoes
|
|
3
|
+
require '../lib/green_shoes'
|
|
4
|
+
require 'rubyvis'
|
|
5
|
+
|
|
6
|
+
def get_files(path)
|
|
7
|
+
h={}
|
|
8
|
+
Dir.glob("#{path}/*").each {|e|
|
|
9
|
+
next if File.expand_path(e)=~/pkg|web|vendor|doc|~/
|
|
10
|
+
pa=File.expand_path(e)
|
|
11
|
+
if File.stat(pa).directory?
|
|
12
|
+
h[File.basename(pa)]=get_files(pa)
|
|
13
|
+
else
|
|
14
|
+
h[File.basename(pa)]=File.stat(pa).size
|
|
15
|
+
end
|
|
16
|
+
}
|
|
17
|
+
h
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
#files=get_files('C:/ruby/lib/ruby/gems/1.9.1/gems/rubyvis-0.5.0/lib')
|
|
21
|
+
files=get_files(DIR)
|
|
22
|
+
|
|
23
|
+
classes = Rubyvis.nodes(Rubyvis.flatten(files).leaf(lambda {|v| v.is_a? Numeric}).array)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
classes[1,classes.size-1].each {|d|
|
|
27
|
+
d.node_name = "/" + d.node_value[:keys].join("/")
|
|
28
|
+
i = d.node_name.rindex("/")
|
|
29
|
+
class << d
|
|
30
|
+
attr_accessor :class_name, :package_name
|
|
31
|
+
end
|
|
32
|
+
d.class_name = d.node_name[i+1,d.node_name.size-(i+1)].gsub(".rb","")
|
|
33
|
+
d.package_name = d.node_name[0,i]
|
|
34
|
+
d.node_value = d.node_value[:value]
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
format = Rubyvis.Format.number
|
|
38
|
+
|
|
39
|
+
vis = Rubyvis::Panel.new.
|
|
40
|
+
width(600)
|
|
41
|
+
.height(500)
|
|
42
|
+
c20=Rubyvis::Colors.category20
|
|
43
|
+
vis.add(pv.Layout.Pack)
|
|
44
|
+
.top(-50)
|
|
45
|
+
.bottom(-50)
|
|
46
|
+
.nodes(classes)
|
|
47
|
+
.size(lambda {|d| d.node_value})
|
|
48
|
+
.spacing(0)
|
|
49
|
+
.order(nil)
|
|
50
|
+
.node.add(Rubyvis::Dot)
|
|
51
|
+
.fill_style(lambda {|d| c20.scale(d.package_name)})
|
|
52
|
+
.stroke_style(lambda {|d| c20.scale(d.package_name).darker})
|
|
53
|
+
.visible(lambda {|d| d.parent_node})
|
|
54
|
+
.title(lambda {|d| d.node_name + ": " + format.format(d.node_value)})
|
|
55
|
+
.anchor("center").add(pv.Label)
|
|
56
|
+
.text(lambda {|d| d.class_name[0, Math.sqrt(d.node_value).to_i / 8]})
|
|
57
|
+
|
|
58
|
+
vis.render
|
|
59
|
+
svg = vis.to_svg
|
|
60
|
+
|
|
61
|
+
Shoes.app do
|
|
62
|
+
image svg
|
|
63
|
+
end
|
data/samples/sample57.rb
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require '../lib/green_shoes'
|
|
2
|
+
|
|
3
|
+
Shoes.app do
|
|
4
|
+
background deeppink
|
|
5
|
+
title fg " Happy coding!", white
|
|
6
|
+
code = IO.read File.join DIR, '../samples/sample28.rb'
|
|
7
|
+
cb = code_box text: code, width: 500, height: 400, margin_left: 50
|
|
8
|
+
button(' run '){eval cb.text}.move 500, 30
|
|
9
|
+
end
|
data/snapshots/sample1.png
CHANGED
|
Binary file
|
data/snapshots/sample10.png
CHANGED
|
Binary file
|
data/snapshots/sample11.png
CHANGED
|
Binary file
|
data/snapshots/sample12.png
CHANGED
|
Binary file
|
data/snapshots/sample13.png
CHANGED
|
Binary file
|
data/snapshots/sample14-1.png
CHANGED
|
Binary file
|
data/snapshots/sample14.png
CHANGED
|
Binary file
|
data/snapshots/sample15.png
CHANGED
|
Binary file
|
data/snapshots/sample16.png
CHANGED
|
Binary file
|
data/snapshots/sample17.png
CHANGED
|
Binary file
|
data/snapshots/sample18.png
CHANGED
|
Binary file
|
data/snapshots/sample19.png
CHANGED
|
Binary file
|
data/snapshots/sample2.png
CHANGED
|
Binary file
|
data/snapshots/sample20.png
CHANGED
|
Binary file
|
data/snapshots/sample21.png
CHANGED
|
Binary file
|
data/snapshots/sample22.png
CHANGED
|
Binary file
|
data/snapshots/sample23.png
CHANGED
|
Binary file
|
data/snapshots/sample24.png
CHANGED
|
Binary file
|
data/snapshots/sample25.png
CHANGED
|
Binary file
|
data/snapshots/sample26.png
CHANGED
|
Binary file
|
data/snapshots/sample27.png
CHANGED
|
Binary file
|
data/snapshots/sample28.png
CHANGED
|
Binary file
|
data/snapshots/sample29.png
CHANGED
|
Binary file
|
data/snapshots/sample3.png
CHANGED
|
Binary file
|
data/snapshots/sample30.png
CHANGED
|
Binary file
|
data/snapshots/sample31.png
CHANGED
|
Binary file
|
data/snapshots/sample32.png
CHANGED
|
Binary file
|
data/snapshots/sample33.png
CHANGED
|
Binary file
|
data/snapshots/sample34.png
CHANGED
|
Binary file
|
data/snapshots/sample35.png
CHANGED
|
Binary file
|
data/snapshots/sample36.png
CHANGED
|
Binary file
|
data/snapshots/sample37.png
CHANGED
|
Binary file
|
data/snapshots/sample38.png
CHANGED
|
Binary file
|
data/snapshots/sample39.png
CHANGED
|
Binary file
|
data/snapshots/sample4.png
CHANGED
|
Binary file
|
data/snapshots/sample40.png
CHANGED
|
Binary file
|
data/snapshots/sample41.png
CHANGED
|
Binary file
|
data/snapshots/sample42.png
CHANGED
|
Binary file
|
data/snapshots/sample43.png
CHANGED
|
Binary file
|
data/snapshots/sample44.png
CHANGED
|
Binary file
|
data/snapshots/sample45.png
CHANGED
|
Binary file
|
data/snapshots/sample46.png
CHANGED
|
Binary file
|
data/snapshots/sample47.png
CHANGED
|
Binary file
|
data/snapshots/sample48.png
CHANGED
|
Binary file
|
data/snapshots/sample49.png
CHANGED
|
Binary file
|
data/snapshots/sample5.png
CHANGED
|
Binary file
|
data/snapshots/sample50.png
CHANGED
|
Binary file
|
data/snapshots/sample51.png
CHANGED
|
Binary file
|
data/snapshots/sample52.png
CHANGED
|
Binary file
|
data/snapshots/sample53.png
CHANGED
|
Binary file
|
data/snapshots/sample54.png
CHANGED
|
Binary file
|
data/snapshots/sample55.png
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/snapshots/sample6.png
CHANGED
|
Binary file
|
data/snapshots/sample7.png
CHANGED
|
Binary file
|
data/snapshots/sample8.png
CHANGED
|
Binary file
|
data/snapshots/sample9.png
CHANGED
|
Binary file
|
data/snapshots/sample99.png
CHANGED
|
Binary file
|
data/static/manual-en.txt
CHANGED
|
@@ -638,7 +638,7 @@ are trying to sniff out what release of Green Shoes is running.
|
|
|
638
638
|
end
|
|
639
639
|
}}}
|
|
640
640
|
|
|
641
|
-
=== alert(message: a string, :block => true or false) » nil ===
|
|
641
|
+
=== alert(message: a string, :block => true or false, title: a string) » nil ===
|
|
642
642
|
|
|
643
643
|
Pops up a window containing a short message.
|
|
644
644
|
|
|
@@ -652,6 +652,7 @@ alerts to show messages to help you debug your program, try checking out the
|
|
|
652
652
|
standard Ruby method `puts` or `p` methods.
|
|
653
653
|
|
|
654
654
|
If you want to make alert() thread safe, i.e. unblock main thread, use `:block => false` option.
|
|
655
|
+
If you want to change window title, use `:title => a string` option.
|
|
655
656
|
|
|
656
657
|
=== ask(message: a string) » a string ===
|
|
657
658
|
|
|
@@ -3908,3 +3909,5 @@ But in Green Shoes, need to add `:width` size explicitly.
|
|
|
3908
3909
|
|
|
3909
3910
|
If you don't specify the `:width` size, Green Shoes makes a TextBlock object with
|
|
3910
3911
|
the `parent.width`.
|
|
3912
|
+
|
|
3913
|
+
For more information, go to [[http://ashbb.github.com/green_shoes/Red_Shoes_and_Green_Shoes.html Red Shoes and Green Shoes]].
|
data/static/manual.css
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: green_shoes
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.303
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2011-09-
|
|
12
|
+
date: 2011-09-19 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: gtk2
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &16927836 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,7 +21,7 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *16927836
|
|
25
25
|
description: Green Shoes is one of colorful Shoes, written in pure Ruby with Ruby/GTK2.
|
|
26
26
|
email: ashbbb@gmail.com
|
|
27
27
|
executables: []
|
|
@@ -61,6 +61,7 @@ files:
|
|
|
61
61
|
- lib/ext/projector/matrix3d.rb
|
|
62
62
|
- lib/ext/projector/projector.rb
|
|
63
63
|
- lib/green_shoes.rb
|
|
64
|
+
- lib/plugins/code_box.rb
|
|
64
65
|
- lib/plugins/httpd.rb
|
|
65
66
|
- lib/plugins/systray.rb
|
|
66
67
|
- lib/plugins/thread.rb
|
|
@@ -200,6 +201,8 @@ files:
|
|
|
200
201
|
- samples/sample53.rb
|
|
201
202
|
- samples/sample54.rb
|
|
202
203
|
- samples/sample55.rb
|
|
204
|
+
- samples/sample56.rb
|
|
205
|
+
- samples/sample57.rb
|
|
203
206
|
- samples/sample6.rb
|
|
204
207
|
- samples/sample7.rb
|
|
205
208
|
- samples/sample8.rb
|
|
@@ -263,6 +266,8 @@ files:
|
|
|
263
266
|
- snapshots/sample53.png
|
|
264
267
|
- snapshots/sample54.png
|
|
265
268
|
- snapshots/sample55.png
|
|
269
|
+
- snapshots/sample56.png
|
|
270
|
+
- snapshots/sample57.png
|
|
266
271
|
- snapshots/sample6.png
|
|
267
272
|
- snapshots/sample7.png
|
|
268
273
|
- snapshots/sample8.png
|
|
@@ -305,6 +310,7 @@ files:
|
|
|
305
310
|
- static/manual-en.txt
|
|
306
311
|
- static/manual-ja.txt
|
|
307
312
|
- static/manual.css
|
|
313
|
+
- static/rshoes-icon.png
|
|
308
314
|
- static/shoes-manual-apps.png
|
|
309
315
|
- LICENSE
|
|
310
316
|
- README.md
|