rwddialogmap 0.01 → 0.02

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.
Files changed (71) hide show
  1. data/code/01rwdcore/02helptexthashbegin.rb +10 -0
  2. data/code/01rwdcore/03helptexthash.rb +18 -20
  3. data/code/01rwdcore/runopentinkerdocument.rb +1 -1
  4. data/code/superant.com.dialogmap/0uninstallapplet.rb +6 -1
  5. data/code/superant.com.dialogmap/createnewnote.rb +1 -1
  6. data/code/superant.com.dialogmap/helptexthashload.rb +21 -0
  7. data/code/superant.com.dialogmap/loadconfigurationrecord.rb +1 -1
  8. data/code/superant.com.dialogmap/loadconfigurationvariables.rb +1 -1
  9. data/code/superant.com.dialogmap/saveconfigurationrecord.rb +1 -1
  10. data/code/superant.com.rwdtinkerbackwindow/initiateapplets.rb +62 -132
  11. data/code/superant.com.rwdtinkerbackwindow/installgemapplet.rb +9 -7
  12. data/code/superant.com.rwdtinkerbackwindow/removeappletvariables.rb +6 -6
  13. data/code/superant.com.rwdtinkerbackwindow/viewlogfile.rb +13 -0
  14. data/configuration/rwdtinker.dist +3 -3
  15. data/configuration/{rwdwdialogmap-0.01.dist → rwdwdialogmap.dist} +5 -3
  16. data/configuration/tinkerwin2variables.dist +7 -2
  17. data/gui/tinkerbackwindows/superant.com.slideshow/10appletbegin.rwd +4 -0
  18. data/gui/tinkerbackwindows/superant.com.slideshow/11viewnamedata.rwd +19 -0
  19. data/gui/tinkerbackwindows/superant.com.slideshow/13listnamerecordfiles.rwd +21 -0
  20. data/gui/tinkerbackwindows/superant.com.slideshow/16editrecord.rwd +39 -0
  21. data/gui/tinkerbackwindows/superant.com.slideshow/17viewvcardrecord.rwd +32 -0
  22. data/gui/tinkerbackwindows/superant.com.slideshow/18contactutilities.rwd +34 -0
  23. data/gui/tinkerbackwindows/superant.com.slideshow/81jumplinkcommands.rwd +17 -0
  24. data/gui/tinkerbackwindows/superant.com.slideshow/9end.rwd +6 -0
  25. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/75rwdlogfile.rwd +20 -0
  26. data/init.rb +59 -163
  27. data/installed/{rwdwdialogmap-0.01.inf → rwdwdialogmap.inf} +1 -2
  28. data/lang/en/rwdcore/en.po +166 -0
  29. data/lang/es/rwdcore/es.po +172 -0
  30. data/lang/fr/rwdcore/fr.po +166 -0
  31. data/lang/hi/rwdcore/hi.po +170 -0
  32. data/lang/ja/rwdcore/ja.po +168 -0
  33. data/lang/nl/rwdcore/nl.po +166 -0
  34. data/lib/rwd/net.rb +8 -7
  35. data/lib/rwd/rwd.rb +34 -31
  36. data/lib/rwdthemes/default.rwd +1 -1
  37. data/lib/rwdtinker/rwdcodedir.rb +56 -0
  38. data/lib/rwdtinker/rwdguidir.rb +57 -0
  39. data/lib/rwdtinker/rwdlangdir.rb +60 -0
  40. data/lib/rwdtinker/rwdtinkertools.rb +25 -0
  41. data/rwd_files/HowTo_Tinker.txt +26 -7
  42. data/rwd_files/Tinkerhelptexthash.txt +81 -0
  43. data/rwd_files/log/rwdtinker.log +7249 -0
  44. data/{code/superant.com.dialogmap/helptexthashrwdhypernote.rb → rwd_files/rwddialogmaphelpfiles.txt} +6 -3
  45. data/rwddialogmap-0.02.gem +0 -0
  46. data/tests/makedist-rwdwdialogmap.rb +2 -2
  47. data/tests/makedist.rb +2 -2
  48. data/zips/{rwdwcalc-0.62.zip → rwdwcalc-0.63.zip} +0 -0
  49. data/zips/rwdwdialogmap-0.02.zip +0 -0
  50. data/zips/rwdwfoldeditor-0.06.zip +0 -0
  51. data/zips/rwdwmovies-0.98.zip +0 -0
  52. data/zips/{rwdwruby-1.07.zip → rwdwruby-1.08.zip} +0 -0
  53. data/zips/rwdwschedule-1.05.zip +0 -0
  54. data/zips/tinkerbellw-0.03.zip +0 -0
  55. data/zips/wrubyslippers-1.08.zip +0 -0
  56. metadata +38 -22
  57. data/code/01rwdcore/04helptextend.rb +0 -6
  58. data/code/superant.com.rwdtinkerbackwindow/helptexthashtinkerwin2.rb +0 -61
  59. data/configuration/language.dist +0 -8
  60. data/configuration/rwdapplicationidentity.dist +0 -3
  61. data/lang/en/rwdcore/languagefile.rb +0 -58
  62. data/lang/es/rwdcore/languagefile-es.rb +0 -62
  63. data/lang/fr/rwdcore/languagefile.rb +0 -64
  64. data/lang/jp/rwdcore/languagefile.rb +0 -72
  65. data/lang/nl/rwdcore/languagefile.rb +0 -75
  66. data/zips/rwdwaddresses-1.06.zip +0 -0
  67. data/zips/rwdwdialogmap-0.01.zip +0 -0
  68. data/zips/rwdwfoldeditor-0.04.zip +0 -0
  69. data/zips/rwdwgutenberg-0.09.zip +0 -0
  70. data/zips/tinkerbellw-0.02.zip +0 -0
  71. data/zips/wrubyslippers-1.06.zip +0 -0
data/lib/rwd/net.rb CHANGED
@@ -614,10 +614,10 @@ class Request < Hash
614
614
  @vars = RequestPost.new((self["content-type"] == "application/x-www-form-urlencoded") ? data : "")
615
615
  else
616
616
  $stderr.puts "Unknown request ('#{firstline}')."
617
- end
618
- if $DEBUG
619
- $stderr.puts data
620
- end
617
+ end
618
+
619
+ $rwdtinkerlog.debug data
620
+
621
621
  end
622
622
 
623
623
  @peeraddr = @io.peeraddr
@@ -739,14 +739,15 @@ class HTTPServerException < Exception
739
739
  end
740
740
 
741
741
  class HTTPServer
742
- def self.serve(portio=80, remote=false, auth=nil, realm="ev/net")
742
+ def self.serve(portio=80, remote=false, auth=nil, realm="rwd/net")
743
743
  port, server = portio
744
744
 
745
745
  begin
746
746
  server = TCPServer.new(remote ? "0.0.0.0" : "localhost", port) if server.nil?
747
-
747
+ if $DEBUG
748
748
  $stderr.puts "Just point your browser to http://localhost:#{port}/ ..."
749
- rescue
749
+ end
750
+ rescue
750
751
  server = nil
751
752
 
752
753
  $stderr.puts "Port #{port} is in use."
data/lib/rwd/rwd.rb CHANGED
@@ -57,7 +57,8 @@ if ENV["RWDTHEME"]
57
57
  load 'lib/rwdthemes/default.rwd'
58
58
  end
59
59
  if ENV["RWDTHEME"] = "DEFAULT"
60
- $stderr.puts "loading theme DEFAULT"
60
+ $rwdtinkerlog.info "rwd: loading theme DEFAULT"
61
+
61
62
  load 'lib/rwdthemes/default.rwd'
62
63
  end
63
64
  if ENV["RWDTHEME"] = "WINDOWSLOOKALIKE"
@@ -267,7 +268,7 @@ class EVTable
267
268
  end
268
269
 
269
270
  class OpenTag
270
- def prechildren(res, before, after, varshtml, varsstring, switches, help, oneormorefields, firstaction, tabs, tab, pda)
271
+ def prechildren(res, before, after, varshtml, varsstring, switches, help, oneormorefields, firstaction, tabs, tab, pda=false)
271
272
  bef = before[-1]
272
273
  res << Format % ["Before", @subtype] if ($rwd_debug and not bef.nil?)
273
274
  res << bef if not bef.nil?
@@ -299,7 +300,7 @@ class OpenTag
299
300
  args["nohelpbutton"] = (not help)
300
301
 
301
302
  template = $rwd_html_1
302
- template = $rwd_html_PDA_1 if pda
303
+ # template = $rwd_html_PDA_1 if pda
303
304
 
304
305
  res << (template(template, args))
305
306
  when "p" then res << "<p #{align}>"
@@ -493,7 +494,7 @@ class OpenTag
493
494
  after.push(aft)
494
495
  end
495
496
 
496
- def postchildren(res, before, after, varshtml, varsstring, switches, help, oneormorefields, firstaction, tabs, tab, pda)
497
+ def postchildren(res, before, after, varshtml, varsstring, switches, help, oneormorefields, firstaction, tabs, tab, pda=false)
497
498
  case @subtype
498
499
  when "vertical", "window", "helpwindow", "tab", "panel"
499
500
  res << Format % ["BefPost", @subtype] if $rwd_debug
@@ -635,7 +636,7 @@ class OpenTag
635
636
  end
636
637
 
637
638
  class Text
638
- def prechildren(res, before, after, varshtml, varsstring, switches, help, oneormorefields, firstaction, tabs, tab, pda)
639
+ def prechildren(res, before, after, varshtml, varsstring, switches, help, oneormorefields, firstaction, tabs, tab, pda=false)
639
640
  if not @text.scan(/[^ \t\r\n]/).empty?
640
641
  res << Format % ["Text", ""] if $rwd_debug
641
642
  res << "#{@text}"
@@ -742,8 +743,8 @@ class RWDWindow
742
743
  end
743
744
 
744
745
  rescue
745
-
746
- $stderr.puts "error in RWDWindow - render method"
746
+ $rwdtinkerlog.error "error in RWDWindow - render method"
747
+
747
748
  end
748
749
  end
749
750
 
@@ -864,13 +865,11 @@ class RWDialog
864
865
 
865
866
  post.sort.each do |key, value|
866
867
  puts "Post: #{key} -> #{value.from_html.inspect}" if $rwd_debug
867
- if $DEBUG
868
- $stderr.puts "Post: #{key} -> #{value.from_html.inspect}\n"
869
- end
868
+ $rwdtinkerlog.info "Post: #{key} -> #{value.from_html.inspect}\n"
869
+
870
870
  vars[key] = value.from_html
871
- if $DEBUG
872
- $stderr.puts " #{value.from_html}\n"
873
- end
871
+ $rwdtinkerlog.info "rwd: #{value.from_html}\n"
872
+
874
873
  end
875
874
 
876
875
  # Stack handling for rwd_action, rwd_window and rwd_tab.
@@ -938,16 +937,14 @@ class RWDialog
938
937
  # Copy vars from window to instance.
939
938
 
940
939
  vars.each do |k, v|
941
- if $DEBUG
942
- $stderr.puts "Post: #{k} -> #{v}\n"
943
- end
940
+ $rwdtinkerlog.info "rwd: Post: #{k} -> #{v}\n"
941
+
944
942
  if ((not k.empty?) and k.scan(/^rwd_/).empty? and not @rwd_ignore_vars.include?("@#{k}"))
945
943
 
946
944
  instance_eval "@#{k} = ''"
947
945
  instance_variable_set("@#{k}", vars.fetch("#{k}"))
948
- if $DEBUG
949
- $stderr.puts "Post: #{k} -> #{v}\n"
950
- end
946
+ $rwdtinkerlog.info "rwd: Post: #{k} -> #{v}\n"
947
+
951
948
  end
952
949
  end
953
950
 
@@ -955,7 +952,9 @@ class RWDialog
955
952
 
956
953
  if (not back) or @rwd_call_after_back.include?(@rwd_action)
957
954
  unless @rwd_action =~ /^rwd_/
958
- puts "Method: #{@rwd_action}(#{@rwd_args.join(", ")})" if $rwd_debug
955
+
956
+ $rwdtinkerlog.debug "Method: #{@rwd_action}(#{@rwd_args})"
957
+
959
958
  if methods.include?(@rwd_action)
960
959
  method(@rwd_action).call(*@rwd_args)
961
960
  else
@@ -1025,9 +1024,9 @@ begin # error block
1025
1024
  end
1026
1025
  res << RWDWindow.new($rwd_gui_tinker, @rwd_window).render(pda, @rwd_refresh_action, vars, @rwd_switches, help, @rwd_tab)
1027
1026
  rescue
1028
- if $DEBUG
1029
- $stderr.puts "error in render"
1030
- end
1027
+
1028
+ $rwdtinkerlog.error "rwd: error in render"
1029
+
1031
1030
  end
1032
1031
  end
1033
1032
  end
@@ -1105,7 +1104,9 @@ end
1105
1104
  Thread.new do
1106
1105
  loop do
1107
1106
  if Time.now - @rwd_time > @rwd_timeout
1108
- $stderr.puts "Exiting due to timeout (#{@rwd_timeout} seconds)."
1107
+
1108
+ $rwdtinkerlog.info "rwd: Exiting due to timeout (#{@rwd_timeout} seconds)."
1109
+
1109
1110
  exit 1
1110
1111
  end
1111
1112
  sleep interval
@@ -1185,7 +1186,7 @@ class RWDSession < Hash
1185
1186
  @lastaccess = Time.now
1186
1187
  end
1187
1188
 
1188
- def render(res, path, post, download, downloadfile, pda)
1189
+ def render(res, path, post, download, downloadfile, pda=false)
1189
1190
  done = self["object"].render(res, path, post, download, downloadfile, pda, @sessionid)
1190
1191
 
1191
1192
  res.gsub!(/\$RWD_SESSION\$/, done ? "" : "#{@sessionid}")
@@ -1212,7 +1213,8 @@ class RWDServer
1212
1213
 
1213
1214
  @browserthread =
1214
1215
  Thread.new do
1215
- puts "Starting the browser..."
1216
+ $rwdtinkerlog.warn "rwd: Starting the browser..."
1217
+
1216
1218
 
1217
1219
  #if ENV["RWDBROWSER"].downcase =~ /iexplore/ # ???
1218
1220
  #@ie = IE.new("http://localhost:#{port}/")
@@ -1226,7 +1228,7 @@ class RWDServer
1226
1228
 
1227
1229
  command.gsub!(/%port%/, port.to_s)
1228
1230
 
1229
- system(command) or $stderr.puts "Starting of the browser failed, or the browser terminated abnormally.\nCommand => #{command}"
1231
+ system(command) or $rwdtinkerlog.error "Starting of the browser failed, or the browser terminated abnormally.\nCommand => #{command}"
1230
1232
  #end
1231
1233
 
1232
1234
  puts "The browser has terminated."
@@ -1337,8 +1339,8 @@ class RWDServer
1337
1339
  resp << download
1338
1340
  end
1339
1341
  rescue
1340
- puts "Sending response to browser failed."
1341
-
1342
+
1343
+ $rwdtinkerlog.error "rwd: Sending response to browser failed."
1342
1344
  @sessions.delete(session.sessionid)
1343
1345
  end
1344
1346
 
@@ -1352,8 +1354,9 @@ class RWDServer
1352
1354
 
1353
1355
  if @browserstarted and not @browserthread.nil? and @browserthread.alive?
1354
1356
  resp.stop do
1355
- puts "Waiting for the browser to terminate..."
1356
-
1357
+
1358
+ $rwdtinkerlog.warn "rwd: Waiting for the browser to terminate..."
1359
+
1357
1360
  @browserthread.join
1358
1361
  end
1359
1362
  end
@@ -1,4 +1,4 @@
1
- $stderr.puts "in default theme load"
1
+ $rwdtinkerlog.info "in default theme load"
2
2
 
3
3
  $rwd_html["DEFAULT"] = "
4
4
  <!-- Generated by RubyWebDialog. -->
@@ -0,0 +1,56 @@
1
+ # part of rwdtinker smalllinux@gmail.com
2
+ # copyleft gpl 2008 Steven Gibson
3
+
4
+ require 'lib/rwdtinker/rwdtinkertools'
5
+
6
+ tmpmodload = '
7
+ def RwdtinkerTools.findfilesp(d)
8
+
9
+ a = Array.new(Dir[d].entries.sort)
10
+ #loop through and get the files names
11
+ a.each do |x|
12
+ #adjust the filters to the files you want to see...
13
+ if(!test(?d,x))
14
+ # only rwd files
15
+ if x =~ /rb|rwd|txt/
16
+ fileA=File.open("#{x}","r") #opens the file thats in fileName as read only
17
+ @@tempdoc+=fileA.read #reads the file into the doc string
18
+ fileA.close
19
+ end
20
+ end
21
+ end
22
+
23
+ end
24
+
25
+ def RwdtinkerTools.findprogramfiles(codedir, specificdir = "")
26
+ @@tempdoc = ""
27
+ #get a list of the files and subdirectories on the starting directory only
28
+ a = Array.new(Dir[codedir].entries.sort)
29
+ #loop through the list, ignore the files and add all new directories found
30
+ a.each do |x|
31
+ #if a directory...
32
+ if(test(?d,x))
33
+ # add to the original list of directories
34
+ @@root = x + "/**"
35
+ #adds the new ones to the array
36
+ b = Dir[@@root].entries.sort
37
+ b.each do |x|
38
+ if(test(?d,x))
39
+ a.push(x) #appends to the end of the array...
40
+ end
41
+ end
42
+ end
43
+ end
44
+ a.each do |x|
45
+ #if it is a file...
46
+ if(!test(?d,x))
47
+ a.delete(x)
48
+ else #it is a directory...
49
+ findfilesp(x + "/**")
50
+ end
51
+ end
52
+ return @@tempdoc
53
+ end
54
+ '
55
+
56
+ RwdtinkerTools.module_eval(tmpmodload)
@@ -0,0 +1,57 @@
1
+ # part of rwdtinker smalllinux@gmail.com
2
+ # copyleft gpl 2008 Steven Gibson
3
+
4
+ require 'lib/rwdtinker/rwdtinkertools'
5
+
6
+ tmpmodload = '
7
+ def RwdtinkerTools.loadguifile(d)
8
+
9
+ a = Array.new(Dir[d].entries.sort)
10
+ #loop through and get the files names
11
+ a.each do |x|
12
+ #adjust the filters to the files you want to see...
13
+ if(!test(?d,x))
14
+ # only rwd files
15
+ if x =~ /rb|rwd|txt/
16
+
17
+ load x #opens the file thats in fileName and reads it
18
+ @@tempdoc += $rwdguivar # adds the file into the doc string
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ def RwdtinkerTools.findguifiles(guidir)
25
+ @@tempdoc = ""
26
+ #get a list of the files and subdirectories on the starting directory only
27
+ a = Array.new(Dir[guidir].entries.sort)
28
+ #loop through the list, ignore the files and add all new directories found
29
+ a.each do |x|
30
+ #if a directory...
31
+ if(test(?d,x))
32
+ #use this new dir find to add to the original list of directories
33
+ @@root = x + "/**"
34
+ #adds the new ones to the array
35
+ b = Dir[@@root].entries.sort
36
+ b.each do |x|
37
+ if(test(?d,x))
38
+ a.push(x) #appends to the end of the array...
39
+ end
40
+ end
41
+ end
42
+ end
43
+ a.each do |x|
44
+ #if it is a file...
45
+ if(!test(?d,x))
46
+ a.delete(x)
47
+
48
+ else #it is a directory...
49
+ loadguifile(x + "/**")
50
+ end
51
+ end
52
+ return @@tempdoc
53
+
54
+ end
55
+ '
56
+
57
+ RwdtinkerTools.module_eval(tmpmodload)
@@ -0,0 +1,60 @@
1
+ # part of rwdtinker smalllinux@gmail.com
2
+ # copyleft gpl 2008 Steven Gibson
3
+
4
+ require 'lib/rwdtinker/rwdtinkertools'
5
+
6
+ tmpmodload = '
7
+ def RwdtinkerTools.findfilest(d)
8
+ a = Array.new(Dir[d].entries.sort)
9
+ #loop through and get the files names
10
+ a.each do |x|
11
+ #adjust the filters to the files you want to see...
12
+ if(!test(?d,x))
13
+ # only rwd files
14
+ if x =~ /rb|po|txt/
15
+ fileA=File.open("#{x}","r") #opens the file thats in fileName as read only
16
+ @@tempdoc+=fileA.read #reads the file into the doc string
17
+ fileA.close
18
+ end
19
+ end
20
+ end
21
+
22
+ end
23
+
24
+
25
+ def RwdtinkerTools.findlanguagefiles(langdir,lang)
26
+ @@tempdoc = ""
27
+
28
+ startlangdir = File.join(langdir,lang)
29
+ #get a list of the files and subdirectories on the starting directory only
30
+ alanghash = Array.new(Dir[startlangdir].entries.sort)
31
+ #loop through the list, ignore the files and add all new directories found
32
+ alanghash.each do |x|
33
+ #if a directory...
34
+ if(test(?d,x))
35
+ # add to the original list of directories
36
+ @@tmproot = x + "/**"
37
+ #adds the new ones to the array
38
+ blanghash = Dir[@@tmproot].entries.sort
39
+ blanghash.each do |x|
40
+ if(test(?d,x))
41
+ alanghash.push(x) #appends to the end of the array...
42
+ end
43
+ end
44
+ end
45
+ end
46
+ alanghash.each do |x|
47
+ #if it is a file...
48
+ if(!test(?d,x))
49
+ alanghash.delete(x)
50
+ else #it is a directory...
51
+ findfilest(x + "/**")
52
+ end
53
+ end
54
+
55
+ return @@tempdoc
56
+
57
+ end
58
+ '
59
+
60
+ RwdtinkerTools.module_eval(tmpmodload)
@@ -0,0 +1,25 @@
1
+ # part of rwdtinker smalllinux@gmail.com
2
+ # copyleft gpl 2008 Steven Gibson
3
+
4
+ module RwdtinkerTools
5
+
6
+ # tools to use in rwdtinker
7
+
8
+ def RwdtinkerTools.tail(filename, lines=12)
9
+
10
+
11
+ begin
12
+ tmpFile = File.open(filename, 'r')
13
+
14
+ return tmpFile.readlines.reverse!.slice(0,lines)
15
+
16
+ tmpFile.close
17
+ rescue
18
+ return "error in opening log"
19
+ $rwdtinkerlog.error "RwdtinkerTools.tail: file open error"
20
+ end
21
+ end
22
+
23
+ end
24
+
25
+
@@ -97,8 +97,7 @@ There are two ways to add applets to the directories.
97
97
  The gui files go into your gui directory
98
98
  The gui files need to be in order by name and end with .rwd
99
99
 
100
-
101
-
100
+
102
101
  If you need a config file that goes in the configuration directory
103
102
 
104
103
  internationalization and localization are helped by replacing the
@@ -136,9 +135,11 @@ To exit, press the x inside the browser window.
136
135
 
137
136
  == Languages
138
137
 
139
-
140
138
  You can add tranlations in the lang subdirectory
141
- You change the $lang constant in Tinker config file in the configuration directory
139
+ You change the $langarray constant in Tinker config file in the configuration directory
140
+
141
+ to change language => in the tinkerwin2variables.cnf file the [0] setting of $langarray will be the language choosen.
142
+
142
143
  You can see one translation on the install applet tab, after you have installed and applet
143
144
 
144
145
  == Using over a Network
@@ -168,14 +169,15 @@ Ruby I am using version 1.8.2
168
169
 
169
170
  I have tested this under Linux-Debian kernel 2.6.9
170
171
 
171
- = Operation:
172
+ == Operation:
173
+
172
174
  The code files reside in the code directory and are combined before
173
175
  the main Class is loaded
174
176
 
175
177
  The rwd files in gui are combined before the gui is activated
176
178
 
177
179
  Translated text reside in the lang directory
178
-
180
+
179
181
  == Installing:
180
182
 
181
183
  untar the file
@@ -220,13 +222,30 @@ under the terms of the GPL licence:
220
222
  For more information see:
221
223
  http://rwdapplications.rubyforge.org/wiki/wiki.pl
222
224
 
223
-
224
225
  For more information about RubyWebDialogs see:
225
226
  http://www.erikveen.dds.nl/rubywebdialogs/index.html
226
227
 
227
228
  Thanks, Steven Gibson
228
229
 
229
230
  == Changelog
231
+ version 1.82
232
+ switch to po files for translation files
233
+ add beginning of Hindi po file
234
+ added more Japanese strings
235
+ changed handling of lang change = in the tinkerwin2variables.cnf file the [0] setting of $langarray will be the language choosen.
236
+
237
+ version 1.81
238
+ condensed config files from 4 -> 2
239
+ fixed document launch bug
240
+ add $KCODE = 'u'
241
+ move help files to rwd_files directory
242
+
243
+ version 1.80
244
+ changed pda handling in rwd.rb
245
+ added logging
246
+ added log review screen on tinker back window
247
+ changed handling of live applet loading, to not list version in file names
248
+
230
249
  version 1.79
231
250
  edited net.rb to fix text editing
232
251