green_shoes 1.0.282 → 1.0.303
Sign up to get free protection for your applications and to get access to all the features.
- 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
|