rwdtinker 1.67 → 1.68
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.txt +3 -0
- data/bin/rwdtinker +0 -0
- data/code/01rwdcore/01rwdcore.rb +0 -0
- data/code/01rwdcore/02helptexthashbegin.rb +0 -0
- data/code/01rwdcore/03helptexthash.rb +0 -0
- data/code/01rwdcore/04helptextend.rb +0 -0
- data/code/01rwdcore/jumplinkcommand.rb +0 -0
- data/code/01rwdcore/openhelpwindow.rb +0 -0
- data/code/01rwdcore/returntomain.rb +0 -0
- data/code/01rwdcore/rundocuments.rb +0 -0
- data/code/01rwdcore/runeditconfiguration.rb +0 -0
- data/code/01rwdcore/runhelpabout.rb +0 -0
- data/code/01rwdcore/runopentinkerdocument.rb +0 -0
- data/code/01rwdcore/rwdtinkerversion.rb +0 -0
- data/code/01rwdcore/rwdwindowreturn.rb +0 -0
- data/code/01rwdcore/selectiontab.rb +0 -0
- data/code/01rwdcore/setuphelpaboutoptions.rb +0 -0
- data/code/01rwdcore/setuptinkerdocuments.rb +0 -0
- data/code/01rwdcore/test_cases.rb +0 -0
- data/code/01rwdcore/test_harness.rb +0 -0
- data/code/01rwdcore/uploadreturns.rb +0 -0
- data/code/dd0viewphoto/dd0viewphoto.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/controlclient.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/diagnostictab.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/helptexthashtinkerwin2.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/installapplet.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/installgemapplet.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/installremotegem.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/listgemdirs.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/listgemzips.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/listinstalledfiles.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/listzips.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/loadconfigurationrecord.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/loadconfigurationvariables.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/network.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/openappletname.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/openhelpwindowtinkerwin2.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/remotegemlist.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/removeapplet.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/runremoteinstall.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/runrwdtinkerbackwindow.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/rwdtinkerwin2version.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/saveconfigurationrecord.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/viewappletcontents.rb +0 -0
- data/code/superant.com.rwdtinkerbackwindow/viewgemappletcontents.rb +0 -0
- data/code/zz0applicationend/zz0end.rb +0 -0
- data/configuration/language.dist +0 -0
- data/configuration/rwdapplicationidentity.dist +0 -0
- data/configuration/rwdtinker.dist +2 -2
- data/configuration/tinkerwin2variables.dist +0 -0
- data/ev/browser.rb +24 -10
- data/ev/ftools.rb +23 -19
- data/ev/mime.rb +328 -0
- data/ev/net.rb +154 -38
- data/ev/ruby.rb +96 -26
- data/ev/rwd.rb +162 -89
- data/ev/sgml.rb +1 -1
- data/ev/thread.rb +0 -0
- data/ev/tree.rb +33 -5
- data/ev/xml.rb +97 -0
- data/extras/rconftool.rb +0 -0
- data/extras/zip/ioextras.rb +0 -0
- data/extras/zip/stdrubyext.rb +0 -0
- data/extras/zip/tempfile_bugfixed.rb +0 -0
- data/extras/zip/zip.rb +0 -0
- data/extras/zip/zipfilesystem.rb +0 -0
- data/extras/zip/ziprequire.rb +0 -0
- data/gui/00coreguibegin/applicationguitop.rwd +0 -0
- data/gui/frontwindow0/viewlogo/cc0openphoto.rwd +0 -0
- data/gui/frontwindowselectionbegin/selectiontabbegin/00selectiontabbegin.rwd +0 -0
- data/gui/frontwindowselections/superant.com.rwdtinkerwin2selectiontab/jumplinkcommands.rwd +0 -0
- data/gui/frontwindowselectionzend/viewselectionzend/wwselectionend.rwd +0 -0
- data/gui/frontwindowselectionzend/viewselectionzend/zzdocumentbegin.rwd +0 -0
- data/gui/frontwindowtdocuments/superant.com.documents/tinkerdocuments.rwd +0 -0
- data/gui/helpaboutbegin/superant.com.helpaboutbegin/zzdocumentend.rwd +0 -0
- data/gui/helpaboutbegin/superant.com.helpaboutbegin/zzzrwdlasttab.rwd +0 -0
- data/gui/helpaboutbegin/superant.com.helpaboutbegin/zzzzhelpscreenstart.rwd +0 -0
- data/gui/helpaboutinstalled/superant.com.tinkerhelpabout/helpabouttab.rwd +0 -0
- data/gui/helpaboutzend/superant.com.helpaboutend/helpscreenend.rwd +0 -0
- data/gui/helpaboutzend/superant.com.helpaboutend/zhelpscreenstart2.rwd +0 -0
- data/gui/helpaboutzend/superant.com.helpaboutend/zzzzhelpabout2.rwd +0 -0
- data/gui/helpaboutzend/superant.com.helpaboutend/zzzzhelpscreen2end.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/1appname.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/40rwdlistzips.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/45installremotezip.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/50rwdlistapplets.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/60editconfiguration.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/70rwddiagnostics.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/75rwdcontrol.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/81jumplinkcommands.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/9backend.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerhelpwindow/1appname.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.tinkerhelpwindow/9end.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.versionwindow/1appname.rwd +0 -0
- data/gui/tinkerbackwindows/superant.com.versionwindow/helpaboutwindow.rwd +0 -0
- data/gui/zzcoreguiend/tinkerapplicationguiend/yy9rwdend.rwd +0 -0
- data/init.rb +0 -0
- data/lang/en/rwdcore/languagefile.rb +0 -0
- data/lang/es/rwdcore/languagefile-es.rb +0 -0
- data/lang/jp/rwdcore/languagefile.rb +0 -0
- data/lang/nl/rwdcore/languagefile.rb +0 -0
- data/lib/temp.rb +0 -0
- data/rwd_files/HowTo_Tinker.txt +3 -0
- data/rwd_files/HowTo_TinkerWin2.txt +0 -0
- data/rwd_files/Readme.txt +0 -0
- data/rwd_files/RubyWebDialogs.html +0 -0
- data/rwd_files/favicon.ico +0 -0
- data/rwd_files/rdoc-style.css +0 -0
- data/rwd_files/rwdapplications.html +0 -0
- data/rwd_files/tinker.png +0 -0
- data/rwdconfig.dist +1 -1
- data/tests/checkdepends.sh +0 -0
- data/tests/cleancnf.sh +0 -0
- data/tests/makedist.rb +0 -0
- data/tests/rdep.rb +0 -0
- data/tests/totranslate.lang +0 -0
- metadata +170 -156
- data/zips/rwdahelloworld-0.5.zip +0 -0
data/ev/rwd.rb
CHANGED
@@ -15,6 +15,7 @@ rescue LoadError
|
|
15
15
|
end
|
16
16
|
|
17
17
|
$rwd_exit = ARGV.include?("--rwd-exit") # Hack ???
|
18
|
+
$rwd_exit = true if defined?(REQUIRE2LIB)
|
18
19
|
$rwd_debug = ($rwd_debug or $DEBUG or false)
|
19
20
|
$rwd_border = ($rwd_border or 0)
|
20
21
|
$rwd_dir = Dir.pwd
|
@@ -27,10 +28,12 @@ end
|
|
27
28
|
|
28
29
|
RWDEmptyline = "..."
|
29
30
|
|
31
|
+
#module RWD
|
32
|
+
|
30
33
|
rcfile = nil
|
31
|
-
s = ENV["HOME"] ; s =
|
32
|
-
s = ENV["USERPROFILE"] ; s =
|
33
|
-
s = ENV["windir"] ; s =
|
34
|
+
s = ENV["HOME"] ; s = File.expand_path(".rwdrc", s) unless s.nil? ; rcfile = s if (not s.nil? and rcfile.nil? and File.file?(s))
|
35
|
+
s = ENV["USERPROFILE"] ; s = File.expand_path("rwd.cfg", s) unless s.nil? ; rcfile = s if (not s.nil? and rcfile.nil? and File.file?(s))
|
36
|
+
s = ENV["windir"] ; s = File.expand_path("rwd.cfg", s) unless s.nil? ; rcfile = s if (not s.nil? and rcfile.nil? and File.file?(s))
|
34
37
|
|
35
38
|
AL = "align='left'"
|
36
39
|
AC = "align='center'"
|
@@ -51,9 +54,9 @@ ENV["RWDBROWSER"] = (ENV["RWDBROWSER"] or defaultbrowser) or puts "No browser fo
|
|
51
54
|
ENV["RWDPORTS"] = (ENV["RWDPORTS"] or "7701-7709")
|
52
55
|
ENV["RWDTHEME"] = (ENV["RWDTHEME"] or "DEFAULT")
|
53
56
|
|
54
|
-
trap("INT") {puts "Terminating..." ; exit}
|
57
|
+
#trap("INT") {puts "Terminating..." ; exit}
|
55
58
|
|
56
|
-
$SAFE =
|
59
|
+
$SAFE = 0
|
57
60
|
|
58
61
|
class IE
|
59
62
|
def initialize(url)
|
@@ -93,7 +96,7 @@ class Array
|
|
93
96
|
a = [emptyline].concat(self)
|
94
97
|
end
|
95
98
|
|
96
|
-
a.numsort.collect{|s| "<option>#{s.to_html}</option>" }.join("\n")
|
99
|
+
a.numsort.collect{|s| "<option>#{s.to_s.to_html}</option>" }.join("\n")
|
97
100
|
end
|
98
101
|
|
99
102
|
def rwd_method(method)
|
@@ -109,17 +112,32 @@ class Array
|
|
109
112
|
return res
|
110
113
|
end
|
111
114
|
|
112
|
-
def rwd_row(key=nil, value=nil)
|
115
|
+
def rwd_row(key=nil, value=nil, bold=false)
|
113
116
|
res = ""
|
114
117
|
|
115
118
|
res = res + "<row valign='top'>"
|
116
119
|
res = res + "<radio name='#{key.to_html}' value='#{value.to_html}'/>" unless key.nil?
|
117
|
-
res = res + self.collect{|s| "<p align='left'>#{s.to_html}</p>"}.join("")
|
120
|
+
res = res + self.collect{|s| "<p align='#{(s.kind_of?(Numeric) or s =~ /^\d+\.\d+$/) ? "right" : "left"}'>#{"<b>" if bold}#{s.to_s.to_html}#{"</b>" if bold}</p>"}.join("")
|
118
121
|
res = res + "</row>"
|
119
122
|
|
120
123
|
return res
|
121
124
|
end
|
122
125
|
|
126
|
+
def rwd_table(headers=nil, highlightrows=[])
|
127
|
+
res = ""
|
128
|
+
|
129
|
+
highlightrows = [highlightrows].flatten
|
130
|
+
|
131
|
+
n = -1
|
132
|
+
|
133
|
+
res = res + "<table>"
|
134
|
+
res = res + headers.rwd_row(nil, nil, true) unless headers.nil?
|
135
|
+
res = res + self.collect{|a| a.rwd_row(nil, nil, highlightrows.include?(n+=1))}.join("")
|
136
|
+
res = res + "</table>"
|
137
|
+
|
138
|
+
return res
|
139
|
+
end
|
140
|
+
|
123
141
|
def rwd_headers(emptyfield=false)
|
124
142
|
res = ""
|
125
143
|
|
@@ -131,7 +149,7 @@ class Array
|
|
131
149
|
return res
|
132
150
|
end
|
133
151
|
|
134
|
-
def rwd_form(prefix, values, twoparts=0, options={})
|
152
|
+
def rwd_form(prefix, values=[], twoparts=0, options={})
|
135
153
|
res = []
|
136
154
|
|
137
155
|
res << "<table>"
|
@@ -151,7 +169,7 @@ class Array
|
|
151
169
|
s = ""
|
152
170
|
|
153
171
|
s << "<text name='#{name}'"
|
154
|
-
s << " value='#{values[n].to_html}'" if n < values.length
|
172
|
+
s << " value='#{values[n].to_s.to_html}'" if n < values.length
|
155
173
|
s << "/>"
|
156
174
|
|
157
175
|
res << s
|
@@ -266,8 +284,8 @@ class OpenTag
|
|
266
284
|
template = $rwd_html_1
|
267
285
|
template = $rwd_html_PDA_1 if pda
|
268
286
|
|
269
|
-
res <<(template(template, args))
|
270
|
-
when "p" then
|
287
|
+
res << (template(template, args))
|
288
|
+
when "p" then res << "<p #{align}>"
|
271
289
|
when "pre" then res << "<pre #{align}>"
|
272
290
|
when "big" then res << "<p #{align}><big>"
|
273
291
|
when "small" then res << "<p #{align}><small>"
|
@@ -308,10 +326,10 @@ class OpenTag
|
|
308
326
|
when "hidden" then res << "<p #{align}><input name='#{@args["name"]}' value='#{value1}' type='hidden'>"
|
309
327
|
when "text"
|
310
328
|
maxlength = ""
|
311
|
-
|
329
|
+
maxlength = "maxlength='%s'" % @args["maxlength"] if @args.include?("maxlength")
|
312
330
|
size = ""
|
313
|
-
size
|
314
|
-
|
331
|
+
size = "size='%s'" % @args["size"] if @args.include?("size")
|
332
|
+
size = "size='%s'" % 10 if pda
|
315
333
|
res << "<p #{align}><input name='#{@args["name"]}' value='#{value1}' type='text' #{maxlength} #{size}>"
|
316
334
|
oneormorefields << "true"
|
317
335
|
when "textarea"
|
@@ -341,7 +359,7 @@ class OpenTag
|
|
341
359
|
end
|
342
360
|
oneormorefields << "true"
|
343
361
|
when "select"
|
344
|
-
|
362
|
+
res << "<select #{align} name='#{@args["name"]}' width='#{@args["width"]} size='#{@args["size"]}'>" # ??? Misschien nog iets met 'multiple'?
|
345
363
|
name = @args["name"]
|
346
364
|
$select = varshtml[name]
|
347
365
|
oneormorefields << "true"
|
@@ -481,7 +499,7 @@ class OpenTag
|
|
481
499
|
template = $rwd_html_2
|
482
500
|
template = $rwd_html_PDA_2 if pda
|
483
501
|
|
484
|
-
res <<(template(template, args))
|
502
|
+
res << (template(template, args))
|
485
503
|
when "p" then res << "</p>"
|
486
504
|
when "pre" then res << "</pre>"
|
487
505
|
when "big" then res << "</big></p>"
|
@@ -556,10 +574,15 @@ class OpenTag
|
|
556
574
|
end
|
557
575
|
|
558
576
|
logo = nil
|
559
|
-
logo = File.expand_path(vars["logo"], $rwd_files)
|
560
|
-
logo = nil
|
577
|
+
logo = File.expand_path(vars["logo"], $rwd_files) if vars.include?("logo")
|
578
|
+
logo = nil unless logo.nil? or File.file?(logo)
|
579
|
+
|
580
|
+
watermark = nil
|
581
|
+
watermark = File.expand_path(vars["watermark"], $rwd_files) if vars.include?("watermark")
|
582
|
+
watermark = nil unless watermark.nil? or File.file?(watermark)
|
561
583
|
|
562
584
|
a["LOGO"] = "" unless not logo.nil?
|
585
|
+
a["WATERMARK"] = "" unless not watermark.nil?
|
563
586
|
|
564
587
|
a["HELPBUTTON"] = (not (vars["nohelpbutton"]))
|
565
588
|
a["BACKBUTTONS"] = (not (vars["nobackbuttons"]))
|
@@ -620,10 +643,12 @@ class RWDWindow
|
|
620
643
|
tree = XML.new(rwd)
|
621
644
|
|
622
645
|
tree.parse(OpenTag, "window") do |type, obj|
|
646
|
+
$rwd_appvars.each{|k, v| obj.args[k] = v}
|
623
647
|
@@windows[rwd][obj.args["name"]] = obj.to_h
|
624
648
|
end
|
625
649
|
|
626
650
|
tree.parse(OpenTag, "helpwindow") do |type, obj|
|
651
|
+
$rwd_appvars.each{|k, v| obj.args[k] = v}
|
627
652
|
@@helpwindows[rwd][obj.args["name"]] = obj.to_h
|
628
653
|
end
|
629
654
|
end
|
@@ -639,6 +664,8 @@ class RWDWindow
|
|
639
664
|
firstaction = ""
|
640
665
|
html = []
|
641
666
|
|
667
|
+
vars = vars.deep_dup
|
668
|
+
|
642
669
|
vars.each do |key, value|
|
643
670
|
if not key.empty?
|
644
671
|
if value.respond_to? "to_s"
|
@@ -731,7 +758,7 @@ end
|
|
731
758
|
|
732
759
|
class RWDDone < RWDWindow
|
733
760
|
def initialize(exitbrowser)
|
734
|
-
super("<window title='RWD Message' nobackbuttons noclosebutton><p>Done.</p><horizontal><close/>#{exitbrowser ? "" : "<button caption='Again'/>"}</horizontal>#{exitbrowser ? "<closewindow/>" : ""}</window>")
|
761
|
+
super("<window title='RWD Message' nobackbuttons noclosebutton><p>Done.</p><i>(Some browsers don't close,<br>because of security reasons.)</i><horizontal><close/>#{exitbrowser ? "" : "<button caption='Again'/>"}</horizontal>#{exitbrowser ? "<closewindow/>" : ""}</window>")
|
735
762
|
end
|
736
763
|
end
|
737
764
|
|
@@ -742,6 +769,14 @@ class RWDialog
|
|
742
769
|
@rwd_history = []
|
743
770
|
@rwd_ignore_vars = []
|
744
771
|
@rwd_call_after_back = []
|
772
|
+
@rwd_time = Time.now
|
773
|
+
|
774
|
+
$rwd_appvars = {} if $rwd_appvars.nil?
|
775
|
+
XML.new(xml).parse(OpenTag, "application") do |type, obj|
|
776
|
+
obj.args.deep_dup.each do |k, v|
|
777
|
+
$rwd_appvars[k] = v
|
778
|
+
end
|
779
|
+
end
|
745
780
|
end
|
746
781
|
|
747
782
|
def self.file(rwdfile, *args)
|
@@ -765,9 +800,14 @@ class RWDialog
|
|
765
800
|
port = port.to_i
|
766
801
|
|
767
802
|
@rwd_server = RWDServer.new(self, port, io, auth, realm)
|
803
|
+
|
804
|
+
self
|
768
805
|
end
|
769
806
|
|
770
807
|
def render(res, path, post, download, downloadfile, pda, sessionid)
|
808
|
+
# Avoid a timeout.
|
809
|
+
|
810
|
+
@rwd_time = Time.now
|
771
811
|
|
772
812
|
# Initialize some vars.
|
773
813
|
|
@@ -778,7 +818,7 @@ class RWDialog
|
|
778
818
|
help = false
|
779
819
|
back = false
|
780
820
|
tab = ""
|
781
|
-
@rwd_msgtype = nil
|
821
|
+
@rwd_msgtype = nil if @rwd_progress_thread.nil?
|
782
822
|
@rwd_download = nil
|
783
823
|
@rwd_download_file = nil
|
784
824
|
|
@@ -819,6 +859,8 @@ class RWDialog
|
|
819
859
|
@rwd_action = "rwd_back"
|
820
860
|
end
|
821
861
|
|
862
|
+
@rwd_history = [["main", [], "main", ""]] if @rwd_history.empty?
|
863
|
+
|
822
864
|
if @rwd_action =~ /^rwd_tab_/
|
823
865
|
@rwd_tab = @rwd_action.sub(/^rwd_tab_/, "")
|
824
866
|
@rwd_history[-1][3] = @rwd_tab
|
@@ -840,6 +882,7 @@ class RWDialog
|
|
840
882
|
@rwd_history = []
|
841
883
|
when "rwd_quit"
|
842
884
|
done = true
|
885
|
+
else
|
843
886
|
end
|
844
887
|
|
845
888
|
# History stuff
|
@@ -883,6 +926,15 @@ class RWDialog
|
|
883
926
|
a = [@rwd_action, @rwd_args, @rwd_window, @rwd_tab]
|
884
927
|
|
885
928
|
@rwd_history.push a if (@rwd_history[-1] != a or not @rwd_msgtype.nil?)
|
929
|
+
|
930
|
+
if @rwd_window == "rwd_back"
|
931
|
+
@rwd_history.pop
|
932
|
+
@rwd_history.pop
|
933
|
+
@rwd_action = (@rwd_history[-1] or [nil, nil, nil])[0]
|
934
|
+
@rwd_args = (@rwd_history[-1] or [nil, nil, nil])[1]
|
935
|
+
@rwd_window = (@rwd_history[-1] or [nil, nil, nil])[2]
|
936
|
+
@rwd_tab = (@rwd_history[-1] or [nil, nil, nil])[3]
|
937
|
+
end
|
886
938
|
end
|
887
939
|
end
|
888
940
|
|
@@ -911,12 +963,13 @@ class RWDialog
|
|
911
963
|
download << @rwd_download
|
912
964
|
downloadfile << @rwd_download_file
|
913
965
|
else
|
914
|
-
if not @
|
915
|
-
res <<
|
916
|
-
res << RWDError.new(@rwd_msg).render(pda) if @rwd_msgtype == "error"
|
966
|
+
if not @rwd_progress_thread.nil?
|
967
|
+
res << RWDProgressBar.new(@rwd_progress_refresh, @rwd_progress_progress).render(pda, @rwd_refresh_action)
|
917
968
|
else
|
918
|
-
if not @
|
919
|
-
res <<
|
969
|
+
if not @rwd_msgtype.nil?
|
970
|
+
res << RWDMessage.new(@rwd_msg).render(pda) if @rwd_msgtype == "message"
|
971
|
+
res << RWDError.new(@rwd_msg).render(pda) if @rwd_msgtype == "error"
|
972
|
+
res << @rwd_msg if @rwd_msgtype == "text"
|
920
973
|
else
|
921
974
|
puts "Window: #{@rwd_window}" if $rwd_debug
|
922
975
|
puts "Tab: #{@rwd_tab}" if $rwd_debug
|
@@ -944,6 +997,11 @@ class RWDialog
|
|
944
997
|
@rwd_msgtype = "error"
|
945
998
|
end
|
946
999
|
|
1000
|
+
def text(msg)
|
1001
|
+
@rwd_msg = "<html><body><pre>#{msg}</pre></body></html>"
|
1002
|
+
@rwd_msgtype = "text"
|
1003
|
+
end
|
1004
|
+
|
947
1005
|
def progressbar(refresh, *progress)
|
948
1006
|
@rwd_progress_refresh = (refresh or 1)
|
949
1007
|
@rwd_progress_progress = []
|
@@ -984,6 +1042,23 @@ class RWDialog
|
|
984
1042
|
def exitbrowser
|
985
1043
|
@rwd_exitbrowser = true
|
986
1044
|
end
|
1045
|
+
|
1046
|
+
def timeout(timeout, interval=1)
|
1047
|
+
@rwd_timeout = timeout
|
1048
|
+
|
1049
|
+
unless @rwd_timeout_thread
|
1050
|
+
@rwd_timeout_thread =
|
1051
|
+
Thread.new do
|
1052
|
+
loop do
|
1053
|
+
if Time.now - @rwd_time > @rwd_timeout
|
1054
|
+
$stderr.puts "Exiting due to timeout (#{@rwd_timeout} seconds)."
|
1055
|
+
exit 1
|
1056
|
+
end
|
1057
|
+
sleep interval
|
1058
|
+
end
|
1059
|
+
end
|
1060
|
+
end
|
1061
|
+
end
|
987
1062
|
end
|
988
1063
|
|
989
1064
|
class RWDLogin < RWDialog
|
@@ -1040,7 +1115,7 @@ class Sessions
|
|
1040
1115
|
end
|
1041
1116
|
end
|
1042
1117
|
|
1043
|
-
class
|
1118
|
+
class RWDSession < Hash
|
1044
1119
|
attr_reader :sessionid
|
1045
1120
|
attr_reader :lastaccess
|
1046
1121
|
attr_reader :authenticated
|
@@ -1055,9 +1130,7 @@ class Session < Hash
|
|
1055
1130
|
def touch
|
1056
1131
|
@lastaccess = Time.now
|
1057
1132
|
end
|
1058
|
-
end
|
1059
1133
|
|
1060
|
-
class RWDSession < Session
|
1061
1134
|
def render(res, path, post, download, downloadfile, pda)
|
1062
1135
|
done = self["object"].render(res, path, post, download, downloadfile, pda, @sessionid)
|
1063
1136
|
|
@@ -1093,18 +1166,13 @@ class RWDServer
|
|
1093
1166
|
browser = ENV["RWDBROWSER"].dup
|
1094
1167
|
url = "http://localhost:%s/" % [port]
|
1095
1168
|
|
1096
|
-
if cygwin?
|
1097
|
-
browser.gsub!(/\\/, "/")
|
1098
|
-
browser.gsub!(/ /, "\\ ")
|
1099
|
-
end
|
1100
|
-
|
1101
1169
|
re = /[$%]1\b/
|
1102
1170
|
command = "%s \"%s\"" % [browser, url]
|
1103
1171
|
command = browser.gsub(re, url) if browser =~ re
|
1104
1172
|
|
1105
1173
|
command.gsub!(/%port%/, port.to_s)
|
1106
1174
|
|
1107
|
-
system(command) or puts "Starting of the browser failed, or the browser terminated abnormally.\nCommand => #{command}"
|
1175
|
+
system(command) or $stderr.puts "Starting of the browser failed, or the browser terminated abnormally.\nCommand => #{command}"
|
1108
1176
|
#end
|
1109
1177
|
|
1110
1178
|
puts "The browser has terminated."
|
@@ -1120,8 +1188,10 @@ class RWDServer
|
|
1120
1188
|
|
1121
1189
|
HTTPServer.serve(portio, (not auth.nil?)) do |req, resp|
|
1122
1190
|
threadlimiter.wait do
|
1123
|
-
|
1124
|
-
|
1191
|
+
vars = {}
|
1192
|
+
req.vars.each do |k, v|
|
1193
|
+
vars[k] = v.join("\t")
|
1194
|
+
end
|
1125
1195
|
pad = (req.request.path or "/")
|
1126
1196
|
|
1127
1197
|
if auth.kind_of? String
|
@@ -1152,7 +1222,7 @@ class RWDServer
|
|
1152
1222
|
end
|
1153
1223
|
|
1154
1224
|
if oldsessionid.nil? or oldsessionid.empty?
|
1155
|
-
if not auth.nil? and not auth.empty? and not session.authenticated and pad
|
1225
|
+
if not auth.nil? and not auth.empty? and not session.authenticated and pad !~ /^\/rwd_/
|
1156
1226
|
|
1157
1227
|
# Check authentication
|
1158
1228
|
|
@@ -1290,6 +1360,10 @@ $rwd_html["DEFAULT"] = "
|
|
1290
1360
|
<style type='text/css'>
|
1291
1361
|
<!--
|
1292
1362
|
|
1363
|
+
body {
|
1364
|
+
background : url(%WATERMARK%) white center center no-repeat fixed;
|
1365
|
+
}
|
1366
|
+
|
1293
1367
|
a {
|
1294
1368
|
text-decoration : none;
|
1295
1369
|
}
|
@@ -1380,22 +1454,22 @@ $rwd_html["DEFAULT"] = "
|
|
1380
1454
|
<table align='center' border='0' cellspacing='0' cellpadding='0'>
|
1381
1455
|
|
1382
1456
|
<tr align='center'>
|
1383
|
-
<td align='center'
|
1384
|
-
<td align='center'
|
1385
|
-
<td align='center'
|
1386
|
-
<td align='center'
|
1457
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1458
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1459
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1460
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1387
1461
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1388
1462
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1389
1463
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1390
|
-
<td align='center'
|
1391
|
-
<td align='center'
|
1392
|
-
<td align='center'
|
1393
|
-
<td align='center'
|
1464
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1465
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1466
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1467
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1394
1468
|
</tr>
|
1395
1469
|
|
1396
1470
|
<tr align='center'>
|
1397
|
-
<td align='center'
|
1398
|
-
<td align='center'
|
1471
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1472
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1399
1473
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1400
1474
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1401
1475
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
@@ -1403,12 +1477,12 @@ $rwd_html["DEFAULT"] = "
|
|
1403
1477
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1404
1478
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1405
1479
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1406
|
-
<td align='center'
|
1407
|
-
<td align='center'
|
1480
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1481
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1408
1482
|
</tr>
|
1409
1483
|
|
1410
1484
|
<tr align='center'>
|
1411
|
-
<td align='center'
|
1485
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1412
1486
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1413
1487
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1414
1488
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
@@ -1418,11 +1492,11 @@ $rwd_html["DEFAULT"] = "
|
|
1418
1492
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1419
1493
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1420
1494
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1421
|
-
<td align='center'
|
1495
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1422
1496
|
</tr>
|
1423
1497
|
|
1424
1498
|
<tr align='center'>
|
1425
|
-
<td align='center'
|
1499
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1426
1500
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1427
1501
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1428
1502
|
<td align='center' bgcolor='#EEEEEE'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
@@ -1432,7 +1506,7 @@ $rwd_html["DEFAULT"] = "
|
|
1432
1506
|
<td align='center' bgcolor='#EEEEEE'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1433
1507
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1434
1508
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1435
|
-
<td align='center'
|
1509
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1436
1510
|
</tr>
|
1437
1511
|
|
1438
1512
|
<tr align='center'>
|
@@ -1521,7 +1595,7 @@ $rwd_html["DEFAULT"] = "
|
|
1521
1595
|
</tr>
|
1522
1596
|
|
1523
1597
|
<tr align='center'>
|
1524
|
-
<td align='center'
|
1598
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1525
1599
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1526
1600
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1527
1601
|
<td align='center' bgcolor='#EEEEEE'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
@@ -1531,11 +1605,11 @@ $rwd_html["DEFAULT"] = "
|
|
1531
1605
|
<td align='center' bgcolor='#EEEEEE'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1532
1606
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1533
1607
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1534
|
-
<td align='center'
|
1608
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1535
1609
|
</tr>
|
1536
1610
|
|
1537
1611
|
<tr align='center'>
|
1538
|
-
<td align='center'
|
1612
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1539
1613
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1540
1614
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1541
1615
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
@@ -1545,12 +1619,12 @@ $rwd_html["DEFAULT"] = "
|
|
1545
1619
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1546
1620
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1547
1621
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1548
|
-
<td align='center'
|
1622
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1549
1623
|
</tr>
|
1550
1624
|
|
1551
1625
|
<tr align='center'>
|
1552
|
-
<td align='center'
|
1553
|
-
<td align='center'
|
1626
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1627
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1554
1628
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1555
1629
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1556
1630
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
@@ -1558,22 +1632,22 @@ $rwd_html["DEFAULT"] = "
|
|
1558
1632
|
<td align='center' bgcolor='white'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1559
1633
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1560
1634
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1561
|
-
<td align='center'
|
1562
|
-
<td align='center'
|
1635
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1636
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1563
1637
|
</tr>
|
1564
1638
|
|
1565
1639
|
<tr align='center'>
|
1566
|
-
<td align='center'
|
1567
|
-
<td align='center'
|
1568
|
-
<td align='center'
|
1569
|
-
<td align='center'
|
1640
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1641
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1642
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1643
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1570
1644
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1571
1645
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1572
1646
|
<td align='center' bgcolor='black'><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1573
|
-
<td align='center'
|
1574
|
-
<td align='center'
|
1575
|
-
<td align='center'
|
1576
|
-
<td align='center'
|
1647
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1648
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1649
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1650
|
+
<td align='center' ><img src='rwd_pixel.gif' height='1' width='1'></td>
|
1577
1651
|
</tr>
|
1578
1652
|
|
1579
1653
|
</table>
|
@@ -1602,6 +1676,10 @@ $rwd_html["WINDOWSLOOKALIKE"] = "
|
|
1602
1676
|
<style type='text/css'>
|
1603
1677
|
<!--
|
1604
1678
|
|
1679
|
+
body {
|
1680
|
+
background : url(%WATERMARK%) white center center no-repeat fixed;
|
1681
|
+
}
|
1682
|
+
|
1605
1683
|
a {
|
1606
1684
|
text-decoration : none;
|
1607
1685
|
}
|
@@ -1824,26 +1902,21 @@ $rwd_html["PDA"] = "
|
|
1824
1902
|
"
|
1825
1903
|
|
1826
1904
|
$rwd_pixel = "
|
1827
|
-
|
1828
|
-
|
1829
|
-
GRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygo
|
1830
|
-
KCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3
|
1831
|
-
Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZG
|
1832
|
-
RkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVV
|
1833
|
-
VVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2Rk
|
1834
|
-
ZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNz
|
1835
|
-
c3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKC
|
1836
|
-
goODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGR
|
1837
|
-
kZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6Cg
|
1838
|
-
oKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+v
|
1839
|
-
r7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+
|
1840
|
-
vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3N
|
1841
|
-
zc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc
|
1842
|
-
3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr
|
1843
|
-
6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6
|
1844
|
-
+vv7+/z8/P39/f7+/v///yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQB
|
1845
|
-
CgD/ACwAAAAAAQABAAAIBAD/BQQAOw==
|
1905
|
+
R0lGODlhAQABAMIAAAAAAP///+7u7kREiP///////////////yH5BAEKAAMA
|
1906
|
+
LAAAAAABAAEAAAMCOAkAOw==
|
1846
1907
|
".unpack("m").shift
|
1847
1908
|
|
1909
|
+
$rwd_logo = "
|
1910
|
+
R0lGODlhEAAQAMIAAAAAAP///+7u7kREiP///////////////yH5BAEKAAQA
|
1911
|
+
LAAAAAAQABAAAANCSErQ/k21QKulrIrNu8heuAGUcJ0BuQVD676DasK0zNKv
|
1912
|
+
jefB+oo6l6AxBAx7M2HRePQph5xga0RsJqfELPI2DSUAADs=
|
1913
|
+
".unpack("m").shift
|
1914
|
+
|
1915
|
+
|
1848
1916
|
$rwd_html_1, $rwd_html_2 = $rwd_html[ENV["RWDTHEME"]].split(/^\s*%BODY%\s*\r*$/)
|
1849
1917
|
$rwd_html_PDA_1, $rwd_html_PDA_2 = $rwd_html["PDA"].split(/^\s*%BODY%\s*\r*$/)
|
1918
|
+
|
1919
|
+
#end
|
1920
|
+
#
|
1921
|
+
#class RWDialog < RWD::RWDialog
|
1922
|
+
#end
|
data/ev/sgml.rb
CHANGED
data/ev/thread.rb
CHANGED
File without changes
|