green_shoes 0.263.0 → 1.0.273
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/README.md +11 -0
- data/VERSION +1 -1
- data/lib/shoes/app.rb +2 -1
- data/lib/shoes/basic.rb +53 -4
- data/lib/shoes/helper_methods.rb +1 -1
- data/samples/sample55.rb +27 -0
- data/snapshots/sample55.png +0 -0
- data/static/manual-en.txt +0 -8
- metadata +6 -4
data/README.md
CHANGED
@@ -57,6 +57,17 @@ Bugs & Requests
|
|
57
57
|
|
58
58
|
See [Issues](http://github.com/ashbb/green_shoes/issues) for any bugs or feature requests.
|
59
59
|
|
60
|
+
Note on Patches/Pull Requests
|
61
|
+
------------------------------
|
62
|
+
|
63
|
+
* (create your github account)
|
64
|
+
* Fork the project green_shoes to your github account
|
65
|
+
* Clone the fork to your home machine : git clone http://youraccount@github.com/youraccount/green_shoes
|
66
|
+
* Make your features additions or bug fix ( additions to lib/plugins or lib/ext, bug fix directly in sources)
|
67
|
+
* Add a sampleXX.rb in sample dir (if feature addition) for a demo of your feature(s)
|
68
|
+
* Commit your fork : git commit -a -m "..." ; git push origin master
|
69
|
+
* Send me a pull request : on GitHub on your green_shoe fork, click 'pull request' on the head of the page
|
70
|
+
|
60
71
|
|
61
72
|
License
|
62
73
|
=========
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.273
|
data/lib/shoes/app.rb
CHANGED
@@ -190,7 +190,7 @@ class Shoes
|
|
190
190
|
@canvas.put img, args[:left], args[:top]
|
191
191
|
img.show_now
|
192
192
|
@canvas.remove img if args[:hidden]
|
193
|
-
args[:real], args[:app] = img, self
|
193
|
+
args[:real], args[:app], args[:path] = img, self, name
|
194
194
|
Image.new(args).tap do |s|
|
195
195
|
@dics.push([s, d, tmpname]) if downloading
|
196
196
|
s.click &click_proc if click_proc
|
@@ -232,6 +232,7 @@ class Shoes
|
|
232
232
|
def radio *attrs
|
233
233
|
args = attrs.last.class == Hash ? attrs.pop : {}
|
234
234
|
group = attrs.first unless attrs.empty?
|
235
|
+
group = args[:group] if args[:group]
|
235
236
|
group = group ? (@radio_groups[group] ||= Gtk::RadioButton.new) : cslot.radio_group
|
236
237
|
args = basic_attributes args
|
237
238
|
(click_proc = args[:click]; args.delete :click) if args[:click]
|
data/lib/shoes/basic.rb
CHANGED
@@ -10,7 +10,11 @@ class Shoes
|
|
10
10
|
(@app.order << self) unless @noorder or self.is_a?(EditBox) or self.is_a?(EditLine)
|
11
11
|
(@app.cslot.contents << self) unless @nocontrol or @app.cmask
|
12
12
|
(@app.cmask.contents << self) if @app.cmask
|
13
|
-
|
13
|
+
if self.is_a? Native
|
14
|
+
@app.focusables << self
|
15
|
+
self.state = args[:state] if args[:state]
|
16
|
+
args.delete :state
|
17
|
+
end
|
14
18
|
@parent = @app.cslot
|
15
19
|
|
16
20
|
Basic.class_eval do
|
@@ -88,8 +92,10 @@ class Shoes
|
|
88
92
|
@app.cslot.contents.delete self
|
89
93
|
remove
|
90
94
|
@real = nil
|
95
|
+
when TextBlock
|
96
|
+
@real.clear if @real
|
91
97
|
else
|
92
|
-
@real.clear
|
98
|
+
(@real.clear; @real.destroy) if @real
|
93
99
|
end
|
94
100
|
end
|
95
101
|
|
@@ -134,7 +140,23 @@ class Shoes
|
|
134
140
|
end
|
135
141
|
end
|
136
142
|
|
137
|
-
class Image < Basic
|
143
|
+
class Image < Basic
|
144
|
+
def initialize args
|
145
|
+
@path = args[:path]
|
146
|
+
args.delete :path
|
147
|
+
super args
|
148
|
+
end
|
149
|
+
|
150
|
+
attr_reader :path
|
151
|
+
|
152
|
+
def path=(name)
|
153
|
+
@path = name
|
154
|
+
@real.clear
|
155
|
+
args = {width: @width, height: @height}
|
156
|
+
args.merge!({hidden: true}) if @hided
|
157
|
+
@real = @app.image(name, args).move(@left, @top).real
|
158
|
+
end
|
159
|
+
end
|
138
160
|
|
139
161
|
class Pattern < Basic
|
140
162
|
def move2 x, y
|
@@ -252,6 +274,33 @@ class Shoes
|
|
252
274
|
def focus
|
253
275
|
@app.focus_ele = self
|
254
276
|
end
|
277
|
+
|
278
|
+
attr_reader :state
|
279
|
+
|
280
|
+
def state=(ctl)
|
281
|
+
real = self.is_a?(EditBox) ? @textview : @real
|
282
|
+
case ctl
|
283
|
+
when "disabled"
|
284
|
+
real.sensitive = false
|
285
|
+
when 'readonly'
|
286
|
+
case self
|
287
|
+
when EditLine, EditBox
|
288
|
+
real.sensitive, real.editable = true, false
|
289
|
+
real.modify_base Gtk::STATE_NORMAL, Gdk::Color.new(56540, 56540, 54227)
|
290
|
+
else
|
291
|
+
end
|
292
|
+
when nil
|
293
|
+
real.sensitive = true
|
294
|
+
case self
|
295
|
+
when EditLine, EditBox
|
296
|
+
real.editable = true
|
297
|
+
real.modify_base Gtk::STATE_NORMAL, Gdk::Color.new(65535, 65535, 65535)
|
298
|
+
else
|
299
|
+
end
|
300
|
+
else
|
301
|
+
end
|
302
|
+
@state = ctl
|
303
|
+
end
|
255
304
|
end
|
256
305
|
class Button < Native
|
257
306
|
def click &blk
|
@@ -342,6 +391,6 @@ class Shoes
|
|
342
391
|
real.fraction = n
|
343
392
|
end
|
344
393
|
|
345
|
-
undef_method :focus
|
394
|
+
undef_method :focus, :state, :state=
|
346
395
|
end
|
347
396
|
end
|
data/lib/shoes/helper_methods.rb
CHANGED
@@ -184,7 +184,7 @@ class Shoes
|
|
184
184
|
tmp = app.order
|
185
185
|
(app.fronts + app.backs).each{|e| tmp.delete e}
|
186
186
|
(app.backs + tmp + app.fronts).each do |e|
|
187
|
-
if e.real and !e.is_a?(Pattern) and !e.hided
|
187
|
+
if e.real and !e.is_a?(Pattern) and !e.hided and !e.real.destroyed?
|
188
188
|
app.canvas.remove e.real
|
189
189
|
app.canvas.put e.real, e.left, e.top
|
190
190
|
end
|
data/samples/sample55.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Almost same snippet as
|
2
|
+
# http://shoes-tutorial-note.heroku.com/html/00526_The__state_style.html
|
3
|
+
require '../lib/green_shoes'
|
4
|
+
|
5
|
+
Shoes.app width: 570, height: 600 do
|
6
|
+
src = IO.read File.join(DIR, '../samples/sample55.rb')
|
7
|
+
background deepskyblue
|
8
|
+
|
9
|
+
stack do
|
10
|
+
caption strong ":state >> string"
|
11
|
+
para '# sample55.rb'
|
12
|
+
end
|
13
|
+
|
14
|
+
eb = edit_box text: src, width: width, height: height*0.85, state: 'readonly'
|
15
|
+
|
16
|
+
button('edit'){eb.state = eb.state ? nil : 'readonly'}
|
17
|
+
|
18
|
+
b1 = button 'save', state: 'disabled' do
|
19
|
+
file = ask_save_file
|
20
|
+
open(file, 'wb'){|f| f.puts eb.text} if file
|
21
|
+
end
|
22
|
+
|
23
|
+
b2 = button 'password' do
|
24
|
+
pw = ask 'Enter your password: ', secret: true
|
25
|
+
(b1.state = nil; b2.state = 'disabled') if pw == 'Ruby&Shoes'
|
26
|
+
end
|
27
|
+
end
|
Binary file
|
data/static/manual-en.txt
CHANGED
@@ -1324,8 +1324,6 @@ at a time.
|
|
1324
1324
|
By giving this style a string, the radio button will be grouped with other
|
1325
1325
|
radio buttons that have the same group name.
|
1326
1326
|
|
1327
|
-
'''Note:''' Green Shoes doesn't support ''radio''.
|
1328
|
-
|
1329
1327
|
=== :height » a number ===
|
1330
1328
|
|
1331
1329
|
For: ''all slots and elements''.
|
@@ -1545,8 +1543,6 @@ Here are the possible style settings:
|
|
1545
1543
|
* "readonly" - the control is active but cannot be edited.
|
1546
1544
|
* "disabled" - the control is not active (grayed out) and cannot be edited.
|
1547
1545
|
|
1548
|
-
'''Note:''' Green Shoes doesn't support `:state` style.
|
1549
|
-
|
1550
1546
|
=== :stretch » a string ===
|
1551
1547
|
|
1552
1548
|
For: ''banner, caption, code, del, em, ins, inscription, link, para, span,
|
@@ -3391,14 +3387,10 @@ explanation of why you might use this method rather than [[Common.width]].
|
|
3391
3387
|
|
3392
3388
|
The URL or file name of the image.
|
3393
3389
|
|
3394
|
-
'''Note:''' Green Shoes doesn't support `path` method.
|
3395
|
-
|
3396
3390
|
=== path = a string ===
|
3397
3391
|
|
3398
3392
|
Swaps the image with a different one, loaded from a file or URL.
|
3399
3393
|
|
3400
|
-
'''Note:''' Green Shoes doesn't support `path=` method.
|
3401
|
-
|
3402
3394
|
== ListBox ==
|
3403
3395
|
|
3404
3396
|
List boxes (also called "combo boxes" or "drop-down boxes" or "select boxes" in
|
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: 0.
|
4
|
+
version: 1.0.273
|
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-08-
|
12
|
+
date: 2011-08-18 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gtk2
|
16
|
-
requirement: &
|
16
|
+
requirement: &16045188 !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: *16045188
|
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: []
|
@@ -199,6 +199,7 @@ files:
|
|
199
199
|
- samples/sample52.rb
|
200
200
|
- samples/sample53.rb
|
201
201
|
- samples/sample54.rb
|
202
|
+
- samples/sample55.rb
|
202
203
|
- samples/sample6.rb
|
203
204
|
- samples/sample7.rb
|
204
205
|
- samples/sample8.rb
|
@@ -261,6 +262,7 @@ files:
|
|
261
262
|
- snapshots/sample52.png
|
262
263
|
- snapshots/sample53.png
|
263
264
|
- snapshots/sample54.png
|
265
|
+
- snapshots/sample55.png
|
264
266
|
- snapshots/sample6.png
|
265
267
|
- snapshots/sample7.png
|
266
268
|
- snapshots/sample8.png
|