shul 0.4.12 → 0.4.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/shul.rb +58 -18
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a40c442c6edffc7a8c2223ad03c3bcc1afd2d76
|
4
|
+
data.tar.gz: f7765ee0733e9b57a1e6f603ed9df0e561e86a83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7a17bb64dcee9ff2ae7e31270e4a8dcf925b6bc72e05a884e381f17a38be71527c90f6e47947b97eb0a3bec354680e34b47e0a07bf9f2850584b1a1b5288724
|
7
|
+
data.tar.gz: 6d317325bb4b2758e28a2c4649e8f81a61badec7ec033fa32a22f67217665cc833b3e5b5f7caeea8a0ab6092b78592496959124b697640f9c6ff6934e46975b3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/shul.rb
CHANGED
@@ -46,6 +46,7 @@ Shul::Main.new Shoes, doc
|
|
46
46
|
# changed from script
|
47
47
|
# feature: The default icon can now be changed by adding the
|
48
48
|
# icon attribute to the app element
|
49
|
+
# feature: Implemented the onload event
|
49
50
|
# 12-Aug-2017: feature: A Radiogroup can now be created or deleted dynamically
|
50
51
|
# 11-Aug-2017: feature: An element can now be removed using method *remove*.
|
51
52
|
# 10-Aug-2017: feature: A Textbox element can now be created dynamically
|
@@ -74,10 +75,9 @@ Shul::Main.new Shoes, doc
|
|
74
75
|
# * tested using the green_shoes gem.
|
75
76
|
|
76
77
|
|
77
|
-
|
78
78
|
require 'domle'
|
79
79
|
require 'tempfile'
|
80
|
-
|
80
|
+
require 'shellwords'
|
81
81
|
|
82
82
|
|
83
83
|
DEFAULT_SHUL_CSS = <<CSS
|
@@ -126,15 +126,14 @@ module Shul
|
|
126
126
|
|
127
127
|
end
|
128
128
|
|
129
|
-
|
130
|
-
|
131
|
-
|
132
129
|
def obj() @obj end
|
133
130
|
def obj=(obj) @obj = obj end
|
134
131
|
|
135
132
|
def remove()
|
133
|
+
|
136
134
|
@rexle.callback.remove_element(self) if @rexle.callback
|
137
|
-
self.delete
|
135
|
+
self.delete
|
136
|
+
|
138
137
|
end
|
139
138
|
|
140
139
|
end
|
@@ -186,6 +185,14 @@ module Shul
|
|
186
185
|
|
187
186
|
end
|
188
187
|
|
188
|
+
def radio(index)
|
189
|
+
|
190
|
+
if index <= self.elements.length then
|
191
|
+
self.elements[index]
|
192
|
+
end
|
193
|
+
|
194
|
+
end
|
195
|
+
|
189
196
|
end
|
190
197
|
|
191
198
|
class Radio < Component
|
@@ -204,6 +211,15 @@ module Shul
|
|
204
211
|
self.obj.contents[0].checked = true
|
205
212
|
|
206
213
|
end
|
214
|
+
|
215
|
+
def unchecked
|
216
|
+
|
217
|
+
# unchecking an item programatically doesn't seem to
|
218
|
+
# be possible in green_shoes
|
219
|
+
|
220
|
+
self.obj.contents[0].checked = false
|
221
|
+
|
222
|
+
end
|
207
223
|
|
208
224
|
end
|
209
225
|
|
@@ -370,6 +386,16 @@ module Shul
|
|
370
386
|
end
|
371
387
|
|
372
388
|
doc.callback = shul
|
389
|
+
|
390
|
+
h = doc.root.attributes
|
391
|
+
|
392
|
+
if h[:onload] then
|
393
|
+
name, raw_args = h[:onload].match(/(^[a-z]\w+)(?:\(([^\)]+))?/).captures
|
394
|
+
|
395
|
+
m = shul.method(name.to_sym)
|
396
|
+
raw_args ? m.call(Shellwords::shellwords(raw_args)) : m.call
|
397
|
+
|
398
|
+
end
|
373
399
|
|
374
400
|
end
|
375
401
|
|
@@ -402,11 +428,25 @@ module Shul
|
|
402
428
|
end
|
403
429
|
|
404
430
|
def clear()
|
405
|
-
|
431
|
+
|
432
|
+
|
433
|
+
@e.elements.each do |x|
|
434
|
+
|
435
|
+
x.obj.contents.clear_all
|
436
|
+
|
437
|
+
#x.obj.clear
|
438
|
+
|
439
|
+
x.obj = nil
|
440
|
+
x.delete
|
441
|
+
x = nil
|
442
|
+
end
|
443
|
+
|
444
|
+
|
406
445
|
end
|
407
446
|
|
408
447
|
end
|
409
448
|
|
449
|
+
|
410
450
|
attr_reader :width, :height
|
411
451
|
|
412
452
|
def initialize(shoes, doc)
|
@@ -434,6 +474,7 @@ module Shul
|
|
434
474
|
end
|
435
475
|
end
|
436
476
|
|
477
|
+
|
437
478
|
icon = h[:icon]
|
438
479
|
|
439
480
|
if icon then
|
@@ -442,13 +483,13 @@ module Shul
|
|
442
483
|
File.write file, RXFHelper.read(icon).first
|
443
484
|
shoes.win.icon = file
|
444
485
|
|
445
|
-
end
|
486
|
+
end
|
446
487
|
|
447
488
|
end
|
448
489
|
|
449
490
|
def add_element(node)
|
450
491
|
|
451
|
-
node.obj = method(node.name.sub(':','_').to_sym).call(node)
|
492
|
+
node.obj = method(node.name.sub(':','_').to_sym).call(node)
|
452
493
|
refresh()
|
453
494
|
|
454
495
|
end
|
@@ -458,7 +499,9 @@ module Shul
|
|
458
499
|
end
|
459
500
|
|
460
501
|
def remove_element(node)
|
502
|
+
|
461
503
|
node.obj.clear
|
504
|
+
node.obj = nil
|
462
505
|
refresh()
|
463
506
|
end
|
464
507
|
|
@@ -645,8 +688,6 @@ module Shul
|
|
645
688
|
#h.merge!({fill: e.attributes[:bgcolor]}) if e.attributes[:bgcolor]
|
646
689
|
|
647
690
|
e.obj = @shoes.para e.attributes[:value] || e.text.strip , h
|
648
|
-
|
649
|
-
|
650
691
|
|
651
692
|
def e.value()
|
652
693
|
self.attributes[:value]
|
@@ -682,7 +723,7 @@ module Shul
|
|
682
723
|
|
683
724
|
a = e.xpath('listitem/attribute::label').map(&:to_s)
|
684
725
|
e.obj = @shoes.list_box items: a
|
685
|
-
|
726
|
+
|
686
727
|
end
|
687
728
|
|
688
729
|
def listitem()
|
@@ -699,22 +740,20 @@ module Shul
|
|
699
740
|
|
700
741
|
e.value = e.attributes[:value].to_s
|
701
742
|
|
702
|
-
h = e.attributes
|
743
|
+
h = e.attributes
|
703
744
|
e.obj = @shoes.flow do
|
704
745
|
r = @shoes.radio :radiogroup01
|
705
|
-
r.click {e.parent.value = e.value
|
746
|
+
r.click {e.parent.value = e.value}
|
706
747
|
|
707
748
|
r.checked = h[:checked] == 'true'
|
708
749
|
@shoes.para h[:label]
|
709
750
|
end
|
710
|
-
|
711
|
-
|
751
|
+
|
712
752
|
end
|
713
753
|
|
714
754
|
def radiogroup(e)
|
715
|
-
|
755
|
+
|
716
756
|
e.xpath('radio').each {|node| radio node }
|
717
|
-
e.obj = Radiogroup.new e
|
718
757
|
|
719
758
|
h = e.attributes
|
720
759
|
|
@@ -724,6 +763,7 @@ module Shul
|
|
724
763
|
end
|
725
764
|
end
|
726
765
|
|
766
|
+
Radiogroup.new e
|
727
767
|
end
|
728
768
|
|
729
769
|
def quit()
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|