surpass 0.0.4 → 0.0.6

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 (259) hide show
  1. data/History.txt +4 -0
  2. data/README.txt +3 -20
  3. data/Rakefile +2 -13
  4. data/bin/surpass +8 -0
  5. data/examples/big-16mb.rb +25 -0
  6. data/examples/big-random-strings.rb +28 -0
  7. data/examples/blanks.rb +34 -0
  8. data/examples/blanks.xls +0 -0
  9. data/examples/col_width.rb +16 -0
  10. data/examples/col_width.xls +0 -0
  11. data/examples/dates.rb +31 -0
  12. data/examples/dates.xls +0 -0
  13. data/examples/format.rb +23 -0
  14. data/examples/format.xls +0 -0
  15. data/examples/hello-world.rb +9 -0
  16. data/examples/hello-world.xls +0 -0
  17. data/examples/image.rb +10 -0
  18. data/examples/image.xls +0 -0
  19. data/examples/merged.rb +36 -0
  20. data/examples/merged.xls +0 -0
  21. data/examples/merged0.rb +27 -0
  22. data/examples/merged0.xls +0 -0
  23. data/examples/merged1.rb +99 -0
  24. data/examples/merged1.xls +0 -0
  25. data/examples/num_formats.rb +55 -0
  26. data/examples/num_formats.xls +0 -0
  27. data/examples/numbers.rb +24 -0
  28. data/examples/numbers.xls +0 -0
  29. data/examples/outline.rb +110 -0
  30. data/examples/outline.xls +0 -0
  31. data/examples/panes.rb +48 -0
  32. data/examples/panes.xls +0 -0
  33. data/examples/protection.rb +132 -0
  34. data/examples/protection.xls +0 -0
  35. data/examples/python.bmp +0 -0
  36. data/examples/row_styles.rb +16 -0
  37. data/examples/row_styles.xls +0 -0
  38. data/examples/row_styles_empty.rb +15 -0
  39. data/examples/row_styles_empty.xls +0 -0
  40. data/examples/set_cell_and_range_style.rb +12 -0
  41. data/examples/set_cell_and_range_style.xls +0 -0
  42. data/examples/wrapped-text.rb +13 -0
  43. data/examples/wrapped-text.xls +0 -0
  44. data/examples/write_arrays.rb +22 -0
  45. data/examples/write_arrays.xls +0 -0
  46. data/examples/ws_props.rb +80 -0
  47. data/lib/surpass/ExcelFormula.g +366 -0
  48. data/lib/surpass/ExcelFormula.tokens +30 -0
  49. data/lib/surpass/ExcelFormulaLexer.rb +922 -0
  50. data/lib/surpass/ExcelFormulaParser.rb +602 -0
  51. data/lib/{biff_record.rb → surpass/biff_record.rb} +0 -0
  52. data/lib/{bitmap.rb → surpass/bitmap.rb} +0 -0
  53. data/lib/{cell.rb → surpass/cell.rb} +2 -34
  54. data/lib/{chart.rb → surpass/chart.rb} +0 -0
  55. data/lib/{column.rb → surpass/column.rb} +0 -0
  56. data/lib/{document.rb → surpass/document.rb} +0 -0
  57. data/lib/surpass/excel_formula.rb +23 -0
  58. data/lib/{excel_magic.rb → surpass/excel_magic.rb} +0 -0
  59. data/lib/{formatting.rb → surpass/formatting.rb} +93 -53
  60. data/lib/{row.rb → surpass/row.rb} +0 -0
  61. data/lib/{style.rb → surpass/style.rb} +2 -1
  62. data/lib/surpass/tokens.txt +2 -0
  63. data/lib/{utilities.rb → surpass/utilities.rb} +0 -0
  64. data/lib/{workbook.rb → surpass/workbook.rb} +0 -0
  65. data/lib/{worksheet.rb → surpass/worksheet.rb} +15 -6
  66. data/lib/surpass.rb +1 -1
  67. data/spec/biff_record_spec.rb +268 -0
  68. data/spec/cell_spec.rb +56 -0
  69. data/spec/data/random-strings.txt +10000 -0
  70. data/spec/document_spec.rb +168 -0
  71. data/spec/excel_formula_spec.rb +27 -0
  72. data/spec/formatting_spec.rb +53 -0
  73. data/spec/output/cells-rk.xls +0 -0
  74. data/spec/output/cells.xls +0 -0
  75. data/spec/output/mini.xls +0 -0
  76. data/spec/reference/P-0508-0000507647-3280-5298.xls +0 -0
  77. data/spec/reference/all-cell-styles.bin +0 -0
  78. data/spec/reference/all-number-formats.bin +0 -0
  79. data/spec/reference/all-styles.bin +0 -0
  80. data/spec/reference/mini.xls +0 -0
  81. data/spec/row_spec.rb +19 -0
  82. data/spec/spec_helper.rb +10 -0
  83. data/spec/style_spec.rb +89 -0
  84. data/spec/surpass_spec.rb +7 -0
  85. data/spec/utilities_spec.rb +57 -0
  86. data/spec/workbook_spec.rb +48 -0
  87. data/spec/worksheet_spec.rb +0 -0
  88. data/stats/cloc.txt +8 -0
  89. data/stats/rcov.txt +0 -0
  90. data/stats/specdoc.txt +158 -0
  91. data/surpass.gemspec +40 -0
  92. data/tasks/setup.rb +1 -1
  93. data/tasks/zentest.rake +36 -0
  94. data/webby/README.txt +6 -0
  95. data/webby/Sitefile +43 -0
  96. data/webby/content/css/pygments.txt +6 -0
  97. data/webby/content/css/style.css +279 -0
  98. data/webby/content/examples/autoformat.png +0 -0
  99. data/webby/content/examples/autoformat.rb +32 -0
  100. data/webby/content/examples/autoformat.xls +0 -0
  101. data/webby/content/examples/borders.png +0 -0
  102. data/webby/content/examples/borders.rb +15 -0
  103. data/webby/content/examples/borders.xls +0 -0
  104. data/webby/content/examples/colours.png +0 -0
  105. data/webby/content/examples/colours.rb +23 -0
  106. data/webby/content/examples/colours.xls +0 -0
  107. data/webby/content/examples/data.png +0 -0
  108. data/webby/content/examples/data.rb +11 -0
  109. data/webby/content/examples/data.xls +0 -0
  110. data/webby/content/examples/formatting.png +0 -0
  111. data/webby/content/examples/formatting.rb +78 -0
  112. data/webby/content/examples/formatting.xls +0 -0
  113. data/webby/content/examples/hello-world.png +0 -0
  114. data/webby/content/examples/hello-world.py +8 -0
  115. data/webby/content/examples/hello-world.rb +9 -0
  116. data/webby/content/examples/hello-world.xls +0 -0
  117. data/webby/content/examples/number-format-string.png +0 -0
  118. data/webby/content/examples/number-format-string.rb +14 -0
  119. data/webby/content/examples/number-format-string.xls +0 -0
  120. data/webby/content/examples/patterns.png +0 -0
  121. data/webby/content/examples/patterns.rb +26 -0
  122. data/webby/content/examples/patterns.xls +0 -0
  123. data/webby/content/examples/show-greens.sh +1 -0
  124. data/webby/content/examples/surpass-info.sh +1 -0
  125. data/webby/content/img/Thumbs.db +0 -0
  126. data/webby/content/img/bg_menu.gif +0 -0
  127. data/webby/content/img/bg_t.gif +0 -0
  128. data/webby/content/img/bullet.gif +0 -0
  129. data/webby/content/img/logo.png +0 -0
  130. data/webby/content/img/logo_.jpg +0 -0
  131. data/webby/content/img/top_bg.gif +0 -0
  132. data/webby/content/img/top_bg_.gif +0 -0
  133. data/webby/content/index.txt +16 -0
  134. data/webby/content/installation/index.txt +24 -0
  135. data/webby/content/source/ExcelFormulaLexer.txt +7 -0
  136. data/webby/content/source/ExcelFormulaParser.txt +7 -0
  137. data/webby/content/source/biff_record.txt +7 -0
  138. data/webby/content/source/bitmap.txt +7 -0
  139. data/webby/content/source/cell.txt +7 -0
  140. data/webby/content/source/chart.txt +7 -0
  141. data/webby/content/source/column.txt +7 -0
  142. data/webby/content/source/document.txt +7 -0
  143. data/webby/content/source/excel_formula.txt +7 -0
  144. data/webby/content/source/excel_magic.txt +7 -0
  145. data/webby/content/source/formatting.txt +7 -0
  146. data/webby/content/source/row.txt +7 -0
  147. data/webby/content/source/style.txt +7 -0
  148. data/webby/content/source/utilities.txt +7 -0
  149. data/webby/content/source/workbook.txt +7 -0
  150. data/webby/content/source/worksheet.txt +7 -0
  151. data/webby/content/surpass-manual.erb +198 -0
  152. data/webby/layouts/book.txt +29 -0
  153. data/webby/layouts/default.txt +27 -0
  154. data/webby/layouts/two_column.txt +25 -0
  155. data/webby/layouts/web.txt +66 -0
  156. data/webby/output/.cairn +0 -0
  157. data/webby/output/css/blueprint/ie.css +26 -0
  158. data/webby/output/css/blueprint/plugins/buttons/icons/cross.png +0 -0
  159. data/webby/output/css/blueprint/plugins/buttons/icons/key.png +0 -0
  160. data/webby/output/css/blueprint/plugins/buttons/icons/tick.png +0 -0
  161. data/webby/output/css/blueprint/plugins/buttons/readme.txt +32 -0
  162. data/webby/output/css/blueprint/plugins/buttons/screen.css +97 -0
  163. data/webby/output/css/blueprint/plugins/fancy-type/readme.txt +14 -0
  164. data/webby/output/css/blueprint/plugins/fancy-type/screen.css +71 -0
  165. data/webby/output/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
  166. data/webby/output/css/blueprint/plugins/link-icons/icons/email.png +0 -0
  167. data/webby/output/css/blueprint/plugins/link-icons/icons/external.png +0 -0
  168. data/webby/output/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
  169. data/webby/output/css/blueprint/plugins/link-icons/icons/im.png +0 -0
  170. data/webby/output/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  171. data/webby/output/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
  172. data/webby/output/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
  173. data/webby/output/css/blueprint/plugins/link-icons/readme.txt +18 -0
  174. data/webby/output/css/blueprint/plugins/link-icons/screen.css +40 -0
  175. data/webby/output/css/blueprint/plugins/rtl/readme.txt +10 -0
  176. data/webby/output/css/blueprint/plugins/rtl/screen.css +109 -0
  177. data/webby/output/css/blueprint/print.css +30 -0
  178. data/webby/output/css/blueprint/screen.css +251 -0
  179. data/webby/output/css/blueprint/src/forms.css +49 -0
  180. data/webby/output/css/blueprint/src/grid.css +212 -0
  181. data/webby/output/css/blueprint/src/grid.png +0 -0
  182. data/webby/output/css/blueprint/src/ie.css +59 -0
  183. data/webby/output/css/blueprint/src/print.css +85 -0
  184. data/webby/output/css/blueprint/src/reset.css +38 -0
  185. data/webby/output/css/blueprint/src/typography.css +105 -0
  186. data/webby/output/css/pygments.css +59 -0
  187. data/webby/output/css/site.css +62 -0
  188. data/webby/output/css/style.css +279 -0
  189. data/webby/output/examples/autoformat.png +0 -0
  190. data/webby/output/examples/autoformat.rb +32 -0
  191. data/webby/output/examples/autoformat.xls +0 -0
  192. data/webby/output/examples/borders.png +0 -0
  193. data/webby/output/examples/borders.rb +15 -0
  194. data/webby/output/examples/borders.xls +0 -0
  195. data/webby/output/examples/colours.png +0 -0
  196. data/webby/output/examples/colours.rb +23 -0
  197. data/webby/output/examples/colours.xls +0 -0
  198. data/webby/output/examples/data.png +0 -0
  199. data/webby/output/examples/data.rb +11 -0
  200. data/webby/output/examples/data.xls +0 -0
  201. data/webby/output/examples/formatting.png +0 -0
  202. data/webby/output/examples/formatting.rb +78 -0
  203. data/webby/output/examples/formatting.xls +0 -0
  204. data/webby/output/examples/hello-world.png +0 -0
  205. data/webby/output/examples/hello-world.py +8 -0
  206. data/webby/output/examples/hello-world.rb +9 -0
  207. data/webby/output/examples/hello-world.xls +0 -0
  208. data/webby/output/examples/number-format-string.png +0 -0
  209. data/webby/output/examples/number-format-string.rb +14 -0
  210. data/webby/output/examples/number-format-string.xls +0 -0
  211. data/webby/output/examples/patterns.png +0 -0
  212. data/webby/output/examples/patterns.rb +26 -0
  213. data/webby/output/examples/patterns.xls +0 -0
  214. data/webby/output/examples/show-greens.sh +1 -0
  215. data/webby/output/examples/surpass-info.sh +1 -0
  216. data/webby/output/img/Thumbs.db +0 -0
  217. data/webby/output/img/bg_menu.gif +0 -0
  218. data/webby/output/img/bg_t.gif +0 -0
  219. data/webby/output/img/bullet.gif +0 -0
  220. data/webby/output/img/logo.png +0 -0
  221. data/webby/output/img/logo_.jpg +0 -0
  222. data/webby/output/img/top_bg.gif +0 -0
  223. data/webby/output/img/top_bg_.gif +0 -0
  224. data/webby/output/index.html +138 -0
  225. data/webby/output/installation/index.html +64 -0
  226. data/webby/output/installation/installation.html +1 -0
  227. data/webby/output/installation.html +1 -0
  228. data/webby/output/source/ExcelFormulaLexer.html +981 -0
  229. data/webby/output/source/ExcelFormulaParser.html +661 -0
  230. data/webby/output/source/biff_record.html +462 -0
  231. data/webby/output/source/bitmap.html +277 -0
  232. data/webby/output/source/cell.html +241 -0
  233. data/webby/output/source/chart.html +64 -0
  234. data/webby/output/source/column.html +99 -0
  235. data/webby/output/source/document.html +465 -0
  236. data/webby/output/source/excel_formula.html +82 -0
  237. data/webby/output/source/excel_magic.html +1072 -0
  238. data/webby/output/source/formatting.html +664 -0
  239. data/webby/output/source/row.html +169 -0
  240. data/webby/output/source/style.html +158 -0
  241. data/webby/output/source/surpass.html +110 -0
  242. data/webby/output/source/utilities.html +145 -0
  243. data/webby/output/source/workbook.html +265 -0
  244. data/webby/output/source/worksheet.html +331 -0
  245. data/webby/output/surpass-manual-0-0-5.pdf +0 -0
  246. data/webby/output/surpass-manual.aux +50 -0
  247. data/webby/output/surpass-manual.log +366 -0
  248. data/webby/output/surpass-manual.out +20 -0
  249. data/webby/output/surpass-manual.tex +582 -0
  250. data/webby/output/surpass-manual.toc +20 -0
  251. data/webby/rsync-exclude +7 -0
  252. data/webby/tasks/latex.rake +14 -0
  253. data/webby/tasks/screenshots.rb +58 -0
  254. data/webby/templates/article.erb +15 -0
  255. data/webby/templates/book.erb +16 -0
  256. data/webby/templates/page.erb +9 -0
  257. metadata +302 -24
  258. data/bin/surpass-info +0 -20
  259. data/lib/excel_formula.rb +0 -6
@@ -0,0 +1,331 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+
3
+ <!-- ========================================================== -->
4
+ <!-- Created by Devit Schizoper -->
5
+ <!-- Created HomePages http://LoadFoo.starzonewebhost.com -->
6
+ <!-- Created Day 01.12.2006 -->
7
+ <!-- ========================================================== -->
8
+
9
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
10
+ <head>
11
+ <meta http-equiv="content-type" content="text/html;charset=utf-8" />
12
+ <meta name="author" content="LoadFoO" />
13
+ <meta name="description" content="Site description" />
14
+ <meta name="keywords" content="key, words" />
15
+ <title>Surpass :: worksheet.rb</title>
16
+ <link rel="stylesheet" type="text/css" href="/css/style.css" media="screen" />
17
+ <link rel="stylesheet" href="/css/pygments.css" type="text/css" />
18
+ <link rel="shortcut icon" href="favicon.ico" />
19
+ </head>
20
+
21
+ <body>
22
+ <div id="wrap">
23
+ <div id="top">
24
+ <h2><a href="/" title="Back to main page">Surpass</a></h2>
25
+ <div id="menu">
26
+ <ul>
27
+ <li><a href="/installation">Installation</a></li>
28
+ <li><a href="/examples">Examples</a></li>
29
+ <li><a href="/source">Source</a></li>
30
+ </ul>
31
+ </div>
32
+ </div>
33
+ <div id="content">
34
+ <div id="left">
35
+ <h2>worksheet.rb</h2>
36
+ <div class="highlight"><pre><span class="k">class</span> <span class="nc">Worksheet</span>
37
+ <span class="kp">include</span> <span class="no">Utilities</span>
38
+
39
+ <span class="kp">attr_accessor</span> <span class="ss">:name</span>
40
+ <span class="kp">attr_accessor</span> <span class="ss">:parent</span>
41
+ <span class="kp">attr_accessor</span> <span class="ss">:rows</span>
42
+ <span class="kp">attr_accessor</span> <span class="ss">:cols</span>
43
+ <span class="kp">attr_accessor</span> <span class="ss">:merged_ranges</span>
44
+ <span class="kp">attr_accessor</span> <span class="ss">:bmp_rec</span>
45
+ <span class="kp">attr_accessor</span> <span class="ss">:show_formulas</span>
46
+ <span class="kp">attr_accessor</span> <span class="ss">:show_grid</span>
47
+ <span class="kp">attr_accessor</span> <span class="ss">:show_headers</span>
48
+ <span class="kp">attr_accessor</span> <span class="ss">:panes_frozen</span>
49
+ <span class="kp">attr_accessor</span> <span class="ss">:show_empty_as_zero</span>
50
+ <span class="kp">attr_accessor</span> <span class="ss">:auto_colour_grid</span>
51
+ <span class="kp">attr_accessor</span> <span class="ss">:cols_right_to_left</span>
52
+ <span class="kp">attr_accessor</span> <span class="ss">:show_outline</span>
53
+ <span class="kp">attr_accessor</span> <span class="ss">:remove_splits</span>
54
+ <span class="kp">attr_accessor</span> <span class="ss">:selected</span>
55
+ <span class="c1"># RED HERRING ALERT: &quot;sheet_visible&quot; is a clone of the &quot;selected&quot; attribute.</span>
56
+ <span class="c1"># Typically a workbook created by the Excel UI will have one sheet</span>
57
+ <span class="c1"># (the sheet that was selected when the user saved it)</span>
58
+ <span class="c1"># with both bits set to 1, and all other sheets will have both </span>
59
+ <span class="c1"># bits set to 0. The true visibility of the sheet is found in the &quot;visibility&quot; </span>
60
+ <span class="c1"># attribute obtained from the BOUNDSHEET record.</span>
61
+ <span class="kp">attr_accessor</span> <span class="ss">:sheet_visible</span>
62
+ <span class="kp">attr_accessor</span> <span class="ss">:page_preview</span>
63
+ <span class="kp">attr_accessor</span> <span class="ss">:first_visible_row</span>
64
+ <span class="kp">attr_accessor</span> <span class="ss">:first_visible_col</span>
65
+ <span class="kp">attr_accessor</span> <span class="ss">:grid_colour</span>
66
+ <span class="kp">attr_accessor</span> <span class="ss">:preview_magn</span>
67
+ <span class="kp">attr_accessor</span> <span class="ss">:normal_magn</span>
68
+ <span class="kp">attr_accessor</span> <span class="ss">:visibility</span>
69
+ <span class="kp">attr_accessor</span> <span class="ss">:vert_split_pos</span>
70
+ <span class="kp">attr_accessor</span> <span class="ss">:horz_split_pos</span>
71
+ <span class="kp">attr_accessor</span> <span class="ss">:vert_split_first_visible</span>
72
+ <span class="kp">attr_accessor</span> <span class="ss">:horz_split_first_visible</span>
73
+
74
+ <span class="kp">attr_accessor</span> <span class="ss">:delta</span>
75
+ <span class="kp">attr_accessor</span> <span class="ss">:save_recalc</span>
76
+ <span class="kp">attr_accessor</span> <span class="ss">:formula_options</span>
77
+ <span class="kp">attr_accessor</span> <span class="ss">:print_headers</span>
78
+ <span class="kp">attr_accessor</span> <span class="ss">:print_grid</span>
79
+ <span class="kp">attr_accessor</span> <span class="ss">:grid_set</span>
80
+ <span class="kp">attr_accessor</span> <span class="ss">:vert_page_breaks</span>
81
+ <span class="kp">attr_accessor</span> <span class="ss">:horz_page_breaks</span>
82
+ <span class="kp">attr_accessor</span> <span class="ss">:header_str</span>
83
+ <span class="kp">attr_accessor</span> <span class="ss">:footer_str</span>
84
+ <span class="kp">attr_accessor</span> <span class="ss">:print_centered_vert</span>
85
+ <span class="kp">attr_accessor</span> <span class="ss">:print_centered_horz</span>
86
+ <span class="kp">attr_accessor</span> <span class="ss">:left_margin</span>
87
+ <span class="kp">attr_accessor</span> <span class="ss">:right_margin</span>
88
+ <span class="kp">attr_accessor</span> <span class="ss">:top_margin</span>
89
+ <span class="kp">attr_accessor</span> <span class="ss">:bottom_margin</span>
90
+ <span class="kp">attr_accessor</span> <span class="ss">:paper_size_code</span>
91
+ <span class="kp">attr_accessor</span> <span class="ss">:print_scaling</span>
92
+ <span class="kp">attr_accessor</span> <span class="ss">:start_page_number</span>
93
+ <span class="kp">attr_accessor</span> <span class="ss">:fit_width_to_pages</span>
94
+ <span class="kp">attr_accessor</span> <span class="ss">:fit_height_to_pages</span>
95
+ <span class="kp">attr_accessor</span> <span class="ss">:print_in_rows</span>
96
+ <span class="kp">attr_accessor</span> <span class="ss">:portrait</span>
97
+ <span class="kp">attr_accessor</span> <span class="ss">:print_not_colour</span>
98
+ <span class="kp">attr_accessor</span> <span class="ss">:print_draft</span>
99
+ <span class="kp">attr_accessor</span> <span class="ss">:print_notes</span>
100
+ <span class="kp">attr_accessor</span> <span class="ss">:print_notes_at_end</span>
101
+ <span class="kp">attr_accessor</span> <span class="ss">:print_omit_errors</span>
102
+ <span class="kp">attr_accessor</span> <span class="ss">:print_hres</span>
103
+ <span class="kp">attr_accessor</span> <span class="ss">:print_vres</span>
104
+ <span class="kp">attr_accessor</span> <span class="ss">:header_margin</span>
105
+ <span class="kp">attr_accessor</span> <span class="ss">:footer_margin</span>
106
+ <span class="kp">attr_accessor</span> <span class="ss">:copies_num</span>
107
+
108
+ <span class="kp">attr_accessor</span> <span class="ss">:show_auto_page_breaks</span>
109
+ <span class="kp">attr_accessor</span> <span class="ss">:dialogue_sheet</span>
110
+ <span class="kp">attr_accessor</span> <span class="ss">:auto_style_outline</span>
111
+ <span class="kp">attr_accessor</span> <span class="ss">:outline_below</span>
112
+ <span class="kp">attr_accessor</span> <span class="ss">:outline_right</span>
113
+ <span class="kp">attr_accessor</span> <span class="ss">:fit_num_pages</span>
114
+ <span class="kp">attr_accessor</span> <span class="ss">:show_row_outline</span>
115
+ <span class="kp">attr_accessor</span> <span class="ss">:show_col_outline</span>
116
+ <span class="kp">attr_accessor</span> <span class="ss">:alt_expr_eval</span>
117
+ <span class="kp">attr_accessor</span> <span class="ss">:alt_formula_entries</span>
118
+
119
+ <span class="kp">attr_accessor</span> <span class="ss">:col_default_width</span>
120
+ <span class="kp">attr_reader</span> <span class="ss">:calc_mode</span>
121
+ <span class="kp">attr_accessor</span> <span class="ss">:calc_count</span>
122
+
123
+ <span class="kp">attr_accessor</span> <span class="ss">:protect</span>
124
+ <span class="kp">attr_accessor</span> <span class="ss">:wnd_protect</span>
125
+ <span class="kp">attr_accessor</span> <span class="ss">:obj_protect</span>
126
+ <span class="kp">attr_accessor</span> <span class="ss">:scen_protect</span>
127
+ <span class="kp">attr_accessor</span> <span class="ss">:password</span>
128
+
129
+ <span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="nb">name</span><span class="p">,</span> <span class="n">parent</span><span class="p">)</span>
130
+ <span class="vi">@name</span> <span class="o">=</span> <span class="nb">name</span>
131
+ <span class="vi">@parent</span> <span class="o">=</span> <span class="n">parent</span>
132
+ <span class="vi">@rows</span> <span class="o">=</span> <span class="p">{}</span>
133
+ <span class="vi">@cols</span> <span class="o">=</span> <span class="p">{}</span>
134
+ <span class="vi">@merged_ranges</span> <span class="o">=</span> <span class="o">[]</span>
135
+ <span class="vi">@bmp_rec</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
136
+ <span class="vi">@show_formulas</span> <span class="o">=</span> <span class="mi">0</span>
137
+ <span class="vi">@show_grid</span> <span class="o">=</span> <span class="mi">1</span>
138
+ <span class="vi">@show_headers</span> <span class="o">=</span> <span class="mi">1</span>
139
+ <span class="vi">@panes_frozen</span> <span class="o">=</span> <span class="mi">0</span>
140
+ <span class="vi">@show_empty_as_zero</span> <span class="o">=</span> <span class="mi">1</span>
141
+ <span class="vi">@auto_colour_grid</span> <span class="o">=</span> <span class="mi">1</span>
142
+ <span class="vi">@cols_right_to_left</span> <span class="o">=</span> <span class="mi">0</span>
143
+ <span class="vi">@show_outline</span> <span class="o">=</span> <span class="mi">1</span>
144
+ <span class="vi">@remove_splits</span> <span class="o">=</span> <span class="mi">0</span>
145
+ <span class="vi">@selected</span> <span class="o">=</span> <span class="mi">0</span>
146
+ <span class="vi">@sheet_visible</span> <span class="o">=</span> <span class="mi">0</span>
147
+ <span class="vi">@page_preview</span> <span class="o">=</span> <span class="mi">0</span>
148
+
149
+ <span class="vi">@first_visible_row</span> <span class="o">=</span> <span class="mi">0</span>
150
+ <span class="vi">@first_visible_col</span> <span class="o">=</span> <span class="mi">0</span>
151
+ <span class="vi">@grid_colour</span> <span class="o">=</span> <span class="mh">0x40</span>
152
+ <span class="vi">@preview_magn</span> <span class="o">=</span> <span class="mi">0</span>
153
+ <span class="vi">@normal_magn</span> <span class="o">=</span> <span class="mi">0</span>
154
+ <span class="vi">@visibility</span> <span class="o">=</span> <span class="mi">0</span>
155
+
156
+ <span class="vi">@vert_split_pos</span> <span class="o">=</span> <span class="kp">nil</span>
157
+ <span class="vi">@horz_split_pos</span> <span class="o">=</span> <span class="kp">nil</span>
158
+ <span class="vi">@vert_split_first_visible</span> <span class="o">=</span> <span class="kp">nil</span>
159
+ <span class="vi">@horz_split_first_visible</span> <span class="o">=</span> <span class="kp">nil</span>
160
+ <span class="vi">@split_active_pane</span> <span class="o">=</span> <span class="kp">nil</span> <span class="c1"># TODO test implications of converting None -&gt; Nil</span>
161
+
162
+ <span class="vi">@row_gut_width</span> <span class="o">=</span> <span class="mi">0</span>
163
+ <span class="vi">@col_gut_height</span> <span class="o">=</span> <span class="mi">0</span>
164
+
165
+ <span class="vi">@show_auto_page_breaks</span> <span class="o">=</span> <span class="mi">1</span>
166
+ <span class="vi">@dialogue_sheet</span> <span class="o">=</span> <span class="mi">0</span>
167
+ <span class="vi">@auto_style_outline</span> <span class="o">=</span> <span class="mi">0</span>
168
+ <span class="vi">@outline_below</span> <span class="o">=</span> <span class="mi">0</span>
169
+ <span class="vi">@outline_right</span> <span class="o">=</span> <span class="mi">0</span>
170
+ <span class="vi">@fit_num_pages</span> <span class="o">=</span> <span class="mi">0</span>
171
+ <span class="vi">@show_row_outline</span> <span class="o">=</span> <span class="mi">1</span>
172
+ <span class="vi">@show_col_outline</span> <span class="o">=</span> <span class="mi">1</span>
173
+ <span class="vi">@alt_expr_eval</span> <span class="o">=</span> <span class="mi">0</span>
174
+ <span class="vi">@alt_formula_entries</span> <span class="o">=</span> <span class="mi">0</span>
175
+
176
+ <span class="vi">@row_default_height</span> <span class="o">=</span> <span class="mh">0x00FF</span>
177
+ <span class="vi">@col_default_width</span> <span class="o">=</span> <span class="mh">0x0008</span>
178
+
179
+ <span class="vi">@default_row_height_mismatch</span> <span class="o">=</span> <span class="mi">0</span>
180
+ <span class="vi">@default_row_hidden</span> <span class="o">=</span> <span class="mi">0</span>
181
+ <span class="vi">@default_row_space_above</span> <span class="o">=</span> <span class="mi">0</span>
182
+ <span class="vi">@default_row_space_below</span> <span class="o">=</span> <span class="mi">0</span>
183
+
184
+ <span class="vi">@calc_mode</span> <span class="o">=</span> <span class="mi">1</span>
185
+ <span class="vi">@calc_count</span> <span class="o">=</span> <span class="mh">0x0064</span>
186
+ <span class="vi">@rc_ref_mode</span> <span class="o">=</span> <span class="mi">1</span>
187
+ <span class="vi">@iterations_on</span> <span class="o">=</span> <span class="mi">0</span>
188
+ <span class="vi">@delta</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mo">001</span>
189
+ <span class="vi">@save_recalc</span> <span class="o">=</span> <span class="mi">0</span>
190
+ <span class="vi">@formula_options</span> <span class="o">=</span> <span class="no">ExcelFormula</span><span class="o">::</span><span class="no">RECALC_ALWAYS</span> <span class="o">|</span> <span class="no">ExcelFormula</span><span class="o">::</span><span class="no">CALC_ON_OPEN</span>
191
+
192
+ <span class="vi">@print_headers</span> <span class="o">=</span> <span class="mi">0</span>
193
+ <span class="vi">@print_grid</span> <span class="o">=</span> <span class="mi">0</span>
194
+ <span class="vi">@grid_set</span> <span class="o">=</span> <span class="mi">1</span>
195
+ <span class="vi">@vert_page_breaks</span> <span class="o">=</span> <span class="o">[]</span>
196
+ <span class="vi">@horz_page_breaks</span> <span class="o">=</span> <span class="o">[]</span>
197
+ <span class="vi">@header_str</span> <span class="o">=</span> <span class="s1">&#39;&amp;P&#39;</span>
198
+ <span class="vi">@footer_str</span> <span class="o">=</span> <span class="s1">&#39;&amp;F&#39;</span>
199
+ <span class="vi">@print_centered_vert</span> <span class="o">=</span> <span class="mi">0</span>
200
+ <span class="vi">@print_centered_horz</span> <span class="o">=</span> <span class="mi">1</span>
201
+ <span class="vi">@left_margin</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mi">3</span> <span class="c1">#0.5</span>
202
+ <span class="vi">@right_margin</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mi">3</span> <span class="c1">#0.5</span>
203
+ <span class="vi">@top_margin</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mi">61</span> <span class="c1">#1.0</span>
204
+ <span class="vi">@bottom_margin</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mi">37</span> <span class="c1">#1.0</span>
205
+ <span class="vi">@paper_size_code</span> <span class="o">=</span> <span class="mi">9</span> <span class="c1"># A4</span>
206
+ <span class="vi">@print_scaling</span> <span class="o">=</span> <span class="mi">100</span>
207
+ <span class="vi">@start_page_number</span> <span class="o">=</span> <span class="mi">1</span>
208
+ <span class="vi">@fit_width_to_pages</span> <span class="o">=</span> <span class="mi">1</span>
209
+ <span class="vi">@fit_height_to_pages</span> <span class="o">=</span> <span class="mi">1</span>
210
+ <span class="vi">@print_in_rows</span> <span class="o">=</span> <span class="mi">1</span>
211
+ <span class="vi">@portrait</span> <span class="o">=</span> <span class="mi">1</span>
212
+ <span class="vi">@print_not_colour</span> <span class="o">=</span> <span class="mi">0</span>
213
+ <span class="vi">@print_draft</span> <span class="o">=</span> <span class="mi">0</span>
214
+ <span class="vi">@print_notes</span> <span class="o">=</span> <span class="mi">0</span>
215
+ <span class="vi">@print_notes_at_end</span> <span class="o">=</span> <span class="mi">0</span>
216
+ <span class="vi">@print_omit_errors</span> <span class="o">=</span> <span class="mi">0</span>
217
+ <span class="vi">@print_hres</span> <span class="o">=</span> <span class="mh">0x012C</span> <span class="c1"># 300 dpi</span>
218
+ <span class="vi">@print_vres</span> <span class="o">=</span> <span class="mh">0x012C</span> <span class="c1"># 300 dpi</span>
219
+ <span class="vi">@header_margin</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mi">1</span>
220
+ <span class="vi">@footer_margin</span> <span class="o">=</span> <span class="mi">0</span><span class="o">.</span><span class="mi">1</span>
221
+ <span class="vi">@copies_num</span> <span class="o">=</span> <span class="mi">1</span>
222
+
223
+ <span class="vi">@wnd_protect</span> <span class="o">=</span> <span class="mi">0</span>
224
+ <span class="vi">@obj_protect</span> <span class="o">=</span> <span class="mi">0</span>
225
+ <span class="vi">@protect</span> <span class="o">=</span> <span class="mi">0</span>
226
+ <span class="vi">@scen_protect</span> <span class="o">=</span> <span class="mi">0</span>
227
+ <span class="vi">@password</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
228
+
229
+ <span class="vi">@charts</span> <span class="o">=</span> <span class="o">[]</span>
230
+ <span class="k">end</span>
231
+
232
+ <span class="c1"># Accessors Performing Conversions</span>
233
+ <span class="k">def</span> <span class="nf">row_default_height</span>
234
+ <span class="n">twips_to_pixels</span><span class="p">(</span><span class="vi">@row_default_height</span><span class="p">)</span>
235
+ <span class="k">end</span>
236
+
237
+ <span class="k">def</span> <span class="nf">row_default_height</span><span class="o">=</span><span class="p">(</span><span class="n">pixels</span><span class="p">)</span>
238
+ <span class="vi">@row_default_height</span> <span class="o">=</span> <span class="n">pixels_to_twips</span><span class="p">(</span><span class="n">pixels</span><span class="p">)</span>
239
+ <span class="k">end</span>
240
+
241
+ <span class="k">def</span> <span class="nf">calc_mode</span><span class="o">=</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
242
+ <span class="vi">@calc_mode</span> <span class="o">=</span> <span class="p">(</span><span class="n">value</span> <span class="o">==</span> <span class="mh">0xFFFF</span> <span class="o">&amp;&amp;</span> <span class="n">value</span><span class="p">)</span> <span class="o">||</span> <span class="n">value</span> <span class="o">&amp;</span> <span class="mh">0x01</span>
243
+ <span class="k">end</span>
244
+
245
+ <span class="k">def</span> <span class="nf">set_cell_style</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">style</span><span class="p">,</span> <span class="n">create_blanks</span> <span class="o">=</span> <span class="kp">false</span><span class="p">)</span>
246
+ <span class="n">cell</span> <span class="o">=</span> <span class="n">rows</span><span class="o">[</span><span class="n">r</span><span class="o">].</span><span class="n">cell</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
247
+ <span class="k">if</span> <span class="n">cell</span><span class="o">.</span><span class="n">nil?</span>
248
+ <span class="n">write</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="kp">nil</span><span class="p">,</span> <span class="n">style</span><span class="p">)</span> <span class="k">if</span> <span class="n">create_blanks</span>
249
+ <span class="k">else</span>
250
+ <span class="n">cell</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
251
+ <span class="k">end</span>
252
+ <span class="k">end</span>
253
+
254
+ <span class="k">def</span> <span class="nf">hide_columns</span><span class="p">(</span><span class="n">col_range</span><span class="p">)</span>
255
+ <span class="n">col_range</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">c</span><span class="o">|</span>
256
+ <span class="n">hide_column</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
257
+ <span class="k">end</span>
258
+ <span class="k">end</span>
259
+
260
+ <span class="k">def</span> <span class="nf">unhide_columns</span><span class="p">(</span><span class="n">col_range</span><span class="p">)</span>
261
+ <span class="n">col_range</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">c</span><span class="o">|</span>
262
+ <span class="n">unhide_column</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
263
+ <span class="k">end</span>
264
+ <span class="k">end</span>
265
+
266
+ <span class="k">def</span> <span class="nf">set_column_widths</span><span class="p">(</span><span class="n">col_range</span><span class="p">,</span> <span class="n">width</span><span class="p">)</span>
267
+ <span class="n">col_range</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">c</span><span class="o">|</span>
268
+ <span class="n">set_column_width</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">width</span><span class="p">)</span>
269
+ <span class="k">end</span>
270
+ <span class="k">end</span>
271
+
272
+ <span class="k">def</span> <span class="nf">hide_column</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
273
+ <span class="n">col</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">hidden</span> <span class="o">=</span> <span class="kp">true</span>
274
+ <span class="k">end</span>
275
+
276
+ <span class="k">def</span> <span class="nf">unhide_column</span><span class="p">(</span><span class="n">c</span><span class="p">)</span>
277
+ <span class="n">col</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">hidden</span> <span class="o">=</span> <span class="kp">false</span>
278
+ <span class="k">end</span>
279
+
280
+ <span class="c1"># TODO fix this if column doesn&#39;t exist yet.</span>
281
+ <span class="k">def</span> <span class="nf">set_column_width</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">width</span><span class="p">)</span>
282
+ <span class="k">if</span> <span class="n">width</span> <span class="o">&lt;</span> <span class="mi">100</span>
283
+ <span class="c1"># Assume we are trying to use Excel-user style widths, scale up accordingly.</span>
284
+ <span class="c1"># You can call col&#39;s width method directly to avoid this.</span>
285
+ <span class="n">width</span> <span class="o">=</span> <span class="n">width</span> <span class="o">*</span> <span class="mi">260</span>
286
+ <span class="k">end</span>
287
+ <span class="n">col</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="o">.</span><span class="n">width</span> <span class="o">=</span> <span class="n">width</span>
288
+ <span class="k">end</span>
289
+
290
+ <span class="c1"># Change the style for a range of cells. If nil is supplied for row_range,</span>
291
+ <span class="c1"># the new style is supplied to every row (i.e. the entire column). Only</span>
292
+ <span class="c1"># changes style for cells which actually exist, so this does not paint </span>
293
+ <span class="c1"># anything which has not been written to.</span>
294
+ <span class="k">def</span> <span class="nf">set_range_style</span><span class="p">(</span><span class="n">row_range</span><span class="p">,</span> <span class="n">col_range</span><span class="p">,</span> <span class="n">style</span><span class="p">,</span> <span class="n">create_blanks</span> <span class="o">=</span> <span class="kp">false</span><span class="p">)</span>
295
+ <span class="n">row_range</span> <span class="o">||=</span> <span class="mi">0</span><span class="o">.</span><span class="n">.</span><span class="mi">65535</span>
296
+ <span class="n">col_range</span> <span class="o">||=</span> <span class="mi">0</span><span class="o">.</span><span class="n">.</span><span class="mi">255</span>
297
+
298
+ <span class="vi">@rows</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">i</span><span class="p">,</span> <span class="n">r</span><span class="o">|</span>
299
+ <span class="k">next</span> <span class="k">unless</span> <span class="n">row_range</span><span class="o">.</span><span class="n">include?</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
300
+ <span class="n">r</span><span class="o">.</span><span class="n">cells</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">c</span><span class="o">|</span>
301
+ <span class="k">next</span> <span class="k">unless</span> <span class="n">col_range</span><span class="o">.</span><span class="n">include?</span><span class="p">(</span><span class="n">c</span><span class="o">.</span><span class="n">col</span><span class="p">)</span>
302
+ <span class="n">c</span><span class="o">.</span><span class="n">set_style</span><span class="p">(</span><span class="n">style</span><span class="p">)</span>
303
+ <span class="k">end</span>
304
+ <span class="k">end</span>
305
+ <span class="k">end</span>
306
+
307
+ <span class="c1"># TODO get rid of meaningless default value for label, should be required?</span>
308
+ </pre></div>
309
+
310
+
311
+ </div>
312
+ <div id="right">
313
+ <ul id="nav">
314
+ <li><a href="surpass-manual-0-0-5.pdf">Download PDF Manual</a></li>
315
+ <li><a href="http://rubyforge.org/projects/surpass">Rubyforge Project Page</a></li>
316
+ </ul>
317
+ <div class="box">
318
+ <h2 style="margin-top:17px">Latest News</h2>
319
+ <ul>
320
+ <li>...</li>
321
+ </ul>
322
+ </div>
323
+ </div>
324
+ <div id="clear"></div></div>
325
+ <div id="footer">
326
+ <p>Site template designed by <a href="http://loadfoo.org/" rel="external">LoadFoO</a>. Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external">CSS</a> &amp; <a href="http://validator.w3.org/check?uri=referer" rel="external">XHTML</a></p>
327
+ </div>
328
+ </div>
329
+
330
+ </body>
331
+ </html>
@@ -0,0 +1,50 @@
1
+ \relax
2
+ \ifx\hyper@anchor\@undefined
3
+ \global \let \oldcontentsline\contentsline
4
+ \gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
5
+ \global \let \oldnewlabel\newlabel
6
+ \gdef \newlabel#1#2{\newlabelxx{#1}#2}
7
+ \gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
8
+ \AtEndDocument{\let \contentsline\oldcontentsline
9
+ \let \newlabel\oldnewlabel}
10
+ \else
11
+ \global \let \hyper@last\relax
12
+ \fi
13
+
14
+ \@writefile{toc}{\contentsline {chapter}{\numberline {1}Installation and Hello World}{5}{chapter.1}}
15
+ \@writefile{lof}{\addvspace {10\p@ }}
16
+ \@writefile{lot}{\addvspace {10\p@ }}
17
+ \newlabel{cha:installation_and_hello_world}{{1}{5}{Installation and Hello World\relax }{chapter.1}{}}
18
+ \@writefile{toc}{\contentsline {section}{\numberline {1.1}Dependencies}{5}{section.1.1}}
19
+ \newlabel{sec:dependencies}{{1.1}{5}{Dependencies\relax }{section.1.1}{}}
20
+ \@writefile{toc}{\contentsline {section}{\numberline {1.2}Gem Installation}{5}{section.1.2}}
21
+ \@writefile{toc}{\contentsline {section}{\numberline {1.3}Source Installation}{5}{section.1.3}}
22
+ \@writefile{toc}{\contentsline {section}{\numberline {1.4}Hello World}{5}{section.1.4}}
23
+ \@writefile{toc}{\contentsline {subsection}{\numberline {1.4.1}Surpass}{5}{subsection.1.4.1}}
24
+ \@writefile{toc}{\contentsline {subsection}{\numberline {1.4.2}Result}{5}{subsection.1.4.2}}
25
+ \@writefile{toc}{\contentsline {chapter}{\numberline {2}Writing Data}{7}{chapter.2}}
26
+ \@writefile{lof}{\addvspace {10\p@ }}
27
+ \@writefile{lot}{\addvspace {10\p@ }}
28
+ \newlabel{cha:writing_data}{{2}{7}{Writing Data\relax }{chapter.2}{}}
29
+ \@writefile{toc}{\contentsline {section}{\numberline {2.1}write}{7}{section.2.1}}
30
+ \newlabel{sec:write}{{2.1}{7}{write\relax }{section.2.1}{}}
31
+ \@writefile{toc}{\contentsline {section}{\numberline {2.2}Writing Arrays of Data}{7}{section.2.2}}
32
+ \newlabel{sec:writing_arrays_of_data}{{2.2}{7}{Writing Arrays of Data\relax }{section.2.2}{}}
33
+ \@writefile{toc}{\contentsline {section}{\numberline {2.3}Autoformatting}{8}{section.2.3}}
34
+ \newlabel{sec:autoformatting}{{2.3}{8}{Autoformatting\relax }{section.2.3}{}}
35
+ \@writefile{toc}{\contentsline {chapter}{\numberline {3}Formatting}{11}{chapter.3}}
36
+ \@writefile{lof}{\addvspace {10\p@ }}
37
+ \@writefile{lot}{\addvspace {10\p@ }}
38
+ \newlabel{cha:formatting}{{3}{11}{Formatting\relax }{chapter.3}{}}
39
+ \@writefile{toc}{\contentsline {section}{\numberline {3.1}Reference}{11}{section.3.1}}
40
+ \@writefile{toc}{\contentsline {section}{\numberline {3.2}StyleFormat Class}{11}{section.3.2}}
41
+ \@writefile{toc}{\contentsline {section}{\numberline {3.3}Number Format Strings}{12}{section.3.3}}
42
+ \newlabel{sec:number_format_strings}{{3.3}{12}{Number Format Strings\relax }{section.3.3}{}}
43
+ \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Specifying Colours}{13}{subsection.3.3.1}}
44
+ \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Border Formats}{14}{subsection.3.3.2}}
45
+ \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Fill Patterns}{15}{subsection.3.3.3}}
46
+ \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Surpass}{16}{subsection.3.3.4}}
47
+ \@writefile{toc}{\contentsline {chapter}{\numberline {4}Saving}{19}{chapter.4}}
48
+ \@writefile{lof}{\addvspace {10\p@ }}
49
+ \@writefile{lot}{\addvspace {10\p@ }}
50
+ \newlabel{cha:saving}{{4}{19}{Saving\relax }{chapter.4}{}}