caxlsx 3.2.0 → 3.3.0

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 (300) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +9 -9
  3. data/.yardopts_guide +18 -18
  4. data/CHANGELOG.md +385 -354
  5. data/LICENSE +21 -21
  6. data/README.md +165 -168
  7. data/Rakefile +29 -29
  8. data/examples/generate.rb +15 -15
  9. data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
  10. data/lib/axlsx/content_type/content_type.rb +26 -26
  11. data/lib/axlsx/content_type/default.rb +25 -25
  12. data/lib/axlsx/content_type/override.rb +25 -25
  13. data/lib/axlsx/doc_props/app.rb +235 -235
  14. data/lib/axlsx/doc_props/core.rb +39 -39
  15. data/lib/axlsx/drawing/area_chart.rb +99 -99
  16. data/lib/axlsx/drawing/area_series.rb +110 -110
  17. data/lib/axlsx/drawing/ax_data_source.rb +26 -26
  18. data/lib/axlsx/drawing/axes.rb +61 -61
  19. data/lib/axlsx/drawing/axis.rb +190 -190
  20. data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
  21. data/lib/axlsx/drawing/bar_chart.rb +138 -138
  22. data/lib/axlsx/drawing/bar_series.rb +97 -97
  23. data/lib/axlsx/drawing/bubble_chart.rb +59 -59
  24. data/lib/axlsx/drawing/bubble_series.rb +63 -63
  25. data/lib/axlsx/drawing/cat_axis.rb +85 -85
  26. data/lib/axlsx/drawing/chart.rb +299 -276
  27. data/lib/axlsx/drawing/d_lbls.rb +91 -90
  28. data/lib/axlsx/drawing/drawing.rb +167 -167
  29. data/lib/axlsx/drawing/graphic_frame.rb +54 -54
  30. data/lib/axlsx/drawing/hyperlink.rb +100 -100
  31. data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
  32. data/lib/axlsx/drawing/line_chart.rb +99 -99
  33. data/lib/axlsx/drawing/line_series.rb +110 -110
  34. data/lib/axlsx/drawing/marker.rb +84 -84
  35. data/lib/axlsx/drawing/num_data.rb +52 -52
  36. data/lib/axlsx/drawing/num_data_source.rb +62 -62
  37. data/lib/axlsx/drawing/num_val.rb +34 -34
  38. data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
  39. data/lib/axlsx/drawing/pic.rb +211 -211
  40. data/lib/axlsx/drawing/picture_locking.rb +42 -42
  41. data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
  42. data/lib/axlsx/drawing/pie_series.rb +74 -74
  43. data/lib/axlsx/drawing/scaling.rb +60 -60
  44. data/lib/axlsx/drawing/scatter_chart.rb +74 -74
  45. data/lib/axlsx/drawing/scatter_series.rb +129 -129
  46. data/lib/axlsx/drawing/ser_axis.rb +45 -45
  47. data/lib/axlsx/drawing/series.rb +69 -69
  48. data/lib/axlsx/drawing/series_title.rb +25 -25
  49. data/lib/axlsx/drawing/str_data.rb +42 -42
  50. data/lib/axlsx/drawing/str_val.rb +34 -34
  51. data/lib/axlsx/drawing/title.rb +107 -97
  52. data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
  53. data/lib/axlsx/drawing/val_axis.rb +37 -37
  54. data/lib/axlsx/drawing/view_3D.rb +115 -115
  55. data/lib/axlsx/drawing/vml_drawing.rb +42 -42
  56. data/lib/axlsx/drawing/vml_shape.rb +66 -66
  57. data/lib/axlsx/package.rb +398 -388
  58. data/lib/axlsx/rels/relationship.rb +130 -130
  59. data/lib/axlsx/rels/relationships.rb +32 -32
  60. data/lib/axlsx/stylesheet/border.rb +73 -73
  61. data/lib/axlsx/stylesheet/border_pr.rb +71 -71
  62. data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
  63. data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
  64. data/lib/axlsx/stylesheet/cell_style.rb +72 -72
  65. data/lib/axlsx/stylesheet/color.rb +76 -76
  66. data/lib/axlsx/stylesheet/dxf.rb +79 -79
  67. data/lib/axlsx/stylesheet/fill.rb +35 -35
  68. data/lib/axlsx/stylesheet/font.rb +156 -156
  69. data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
  70. data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
  71. data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
  72. data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
  73. data/lib/axlsx/stylesheet/styles.rb +535 -494
  74. data/lib/axlsx/stylesheet/table_style.rb +54 -54
  75. data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
  76. data/lib/axlsx/stylesheet/table_styles.rb +46 -46
  77. data/lib/axlsx/stylesheet/xf.rb +147 -147
  78. data/lib/axlsx/util/accessors.rb +64 -64
  79. data/lib/axlsx/util/constants.rb +416 -410
  80. data/lib/axlsx/util/mime_type_utils.rb +11 -11
  81. data/lib/axlsx/util/options_parser.rb +16 -16
  82. data/lib/axlsx/util/serialized_attributes.rb +89 -89
  83. data/lib/axlsx/util/simple_typed_list.rb +179 -179
  84. data/lib/axlsx/util/storage.rb +146 -146
  85. data/lib/axlsx/util/validators.rb +312 -312
  86. data/lib/axlsx/util/zip_command.rb +73 -73
  87. data/lib/axlsx/version.rb +5 -5
  88. data/lib/axlsx/workbook/defined_name.rb +128 -128
  89. data/lib/axlsx/workbook/defined_names.rb +21 -21
  90. data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
  91. data/lib/axlsx/workbook/workbook.rb +425 -395
  92. data/lib/axlsx/workbook/workbook_view.rb +80 -80
  93. data/lib/axlsx/workbook/workbook_views.rb +22 -22
  94. data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
  95. data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
  96. data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
  97. data/lib/axlsx/workbook/worksheet/border_creator.rb +76 -0
  98. data/lib/axlsx/workbook/worksheet/break.rb +35 -35
  99. data/lib/axlsx/workbook/worksheet/cell.rb +532 -506
  100. data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
  101. data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
  102. data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
  103. data/lib/axlsx/workbook/worksheet/col.rb +145 -145
  104. data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
  105. data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
  106. data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
  107. data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
  108. data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
  109. data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
  110. data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
  111. data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
  112. data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
  113. data/lib/axlsx/workbook/worksheet/data_validation.rb +267 -246
  114. data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
  115. data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
  116. data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
  117. data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
  118. data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
  119. data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
  120. data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
  121. data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
  122. data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
  123. data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
  124. data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
  125. data/lib/axlsx/workbook/worksheet/pivot_table.rb +335 -296
  126. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
  127. data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
  128. data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
  129. data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
  130. data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
  131. data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
  132. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
  133. data/lib/axlsx/workbook/worksheet/row.rb +164 -164
  134. data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
  135. data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
  136. data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
  137. data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
  138. data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
  139. data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
  140. data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
  141. data/lib/axlsx/workbook/worksheet/table.rb +102 -102
  142. data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
  143. data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
  144. data/lib/axlsx/workbook/worksheet/worksheet.rb +829 -786
  145. data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
  146. data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
  147. data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
  148. data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
  149. data/lib/axlsx.rb +204 -185
  150. data/lib/caxlsx.rb +2 -2
  151. data/lib/schema/dc.xsd +118 -118
  152. data/lib/schema/dcmitype.xsd +51 -51
  153. data/lib/schema/dcterms.xsd +331 -331
  154. data/lib/schema/dml-chartDrawing.xsd +146 -146
  155. data/lib/schema/dml-compatibility.xsd +14 -14
  156. data/lib/schema/dml-lockedCanvas.xsd +11 -11
  157. data/lib/schema/dml-main.xsd +3048 -3048
  158. data/lib/schema/dml-picture.xsd +23 -23
  159. data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
  160. data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
  161. data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
  162. data/lib/schema/shared-bibliography.xsd +144 -144
  163. data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
  164. data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
  165. data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
  166. data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
  167. data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
  168. data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
  169. data/lib/schema/shared-relationshipReference.xsd +25 -25
  170. data/lib/schema/vml-main.xsd +569 -569
  171. data/lib/schema/vml-officeDrawing.xsd +509 -509
  172. data/lib/schema/vml-presentationDrawing.xsd +12 -12
  173. data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
  174. data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
  175. data/lib/schema/xml.xsd +116 -116
  176. metadata +5 -252
  177. data/test/benchmark.rb +0 -72
  178. data/test/content_type/tc_content_type.rb +0 -76
  179. data/test/content_type/tc_default.rb +0 -16
  180. data/test/content_type/tc_override.rb +0 -14
  181. data/test/doc_props/tc_app.rb +0 -43
  182. data/test/doc_props/tc_core.rb +0 -42
  183. data/test/drawing/tc_area_chart.rb +0 -39
  184. data/test/drawing/tc_area_series.rb +0 -71
  185. data/test/drawing/tc_axes.rb +0 -8
  186. data/test/drawing/tc_axis.rb +0 -112
  187. data/test/drawing/tc_bar_3D_chart.rb +0 -86
  188. data/test/drawing/tc_bar_chart.rb +0 -86
  189. data/test/drawing/tc_bar_series.rb +0 -46
  190. data/test/drawing/tc_bubble_chart.rb +0 -44
  191. data/test/drawing/tc_bubble_series.rb +0 -21
  192. data/test/drawing/tc_cat_axis.rb +0 -31
  193. data/test/drawing/tc_cat_axis_data.rb +0 -27
  194. data/test/drawing/tc_chart.rb +0 -123
  195. data/test/drawing/tc_d_lbls.rb +0 -57
  196. data/test/drawing/tc_data_source.rb +0 -23
  197. data/test/drawing/tc_drawing.rb +0 -80
  198. data/test/drawing/tc_graphic_frame.rb +0 -27
  199. data/test/drawing/tc_hyperlink.rb +0 -64
  200. data/test/drawing/tc_line_3d_chart.rb +0 -47
  201. data/test/drawing/tc_line_chart.rb +0 -39
  202. data/test/drawing/tc_line_series.rb +0 -71
  203. data/test/drawing/tc_marker.rb +0 -44
  204. data/test/drawing/tc_named_axis_data.rb +0 -27
  205. data/test/drawing/tc_num_data.rb +0 -31
  206. data/test/drawing/tc_num_val.rb +0 -29
  207. data/test/drawing/tc_one_cell_anchor.rb +0 -66
  208. data/test/drawing/tc_pic.rb +0 -103
  209. data/test/drawing/tc_picture_locking.rb +0 -72
  210. data/test/drawing/tc_pie_3D_chart.rb +0 -28
  211. data/test/drawing/tc_pie_series.rb +0 -33
  212. data/test/drawing/tc_scaling.rb +0 -36
  213. data/test/drawing/tc_scatter_chart.rb +0 -48
  214. data/test/drawing/tc_scatter_series.rb +0 -74
  215. data/test/drawing/tc_ser_axis.rb +0 -31
  216. data/test/drawing/tc_series.rb +0 -23
  217. data/test/drawing/tc_series_title.rb +0 -54
  218. data/test/drawing/tc_str_data.rb +0 -18
  219. data/test/drawing/tc_str_val.rb +0 -30
  220. data/test/drawing/tc_title.rb +0 -70
  221. data/test/drawing/tc_two_cell_anchor.rb +0 -36
  222. data/test/drawing/tc_val_axis.rb +0 -24
  223. data/test/drawing/tc_view_3D.rb +0 -54
  224. data/test/drawing/tc_vml_drawing.rb +0 -25
  225. data/test/drawing/tc_vml_shape.rb +0 -106
  226. data/test/fixtures/image1.gif +0 -0
  227. data/test/fixtures/image1.jpeg +0 -0
  228. data/test/fixtures/image1.jpg +0 -0
  229. data/test/fixtures/image1.png +0 -0
  230. data/test/fixtures/image1_fake.jpg +0 -0
  231. data/test/profile.rb +0 -24
  232. data/test/rels/tc_relationship.rb +0 -52
  233. data/test/rels/tc_relationships.rb +0 -37
  234. data/test/stylesheet/tc_border.rb +0 -37
  235. data/test/stylesheet/tc_border_pr.rb +0 -32
  236. data/test/stylesheet/tc_cell_alignment.rb +0 -81
  237. data/test/stylesheet/tc_cell_protection.rb +0 -29
  238. data/test/stylesheet/tc_cell_style.rb +0 -57
  239. data/test/stylesheet/tc_color.rb +0 -43
  240. data/test/stylesheet/tc_dxf.rb +0 -81
  241. data/test/stylesheet/tc_fill.rb +0 -18
  242. data/test/stylesheet/tc_font.rb +0 -133
  243. data/test/stylesheet/tc_gradient_fill.rb +0 -72
  244. data/test/stylesheet/tc_gradient_stop.rb +0 -31
  245. data/test/stylesheet/tc_num_fmt.rb +0 -30
  246. data/test/stylesheet/tc_pattern_fill.rb +0 -43
  247. data/test/stylesheet/tc_styles.rb +0 -309
  248. data/test/stylesheet/tc_table_style.rb +0 -44
  249. data/test/stylesheet/tc_table_style_element.rb +0 -45
  250. data/test/stylesheet/tc_table_styles.rb +0 -29
  251. data/test/stylesheet/tc_xf.rb +0 -120
  252. data/test/tc_axlsx.rb +0 -109
  253. data/test/tc_helper.rb +0 -10
  254. data/test/tc_package.rb +0 -317
  255. data/test/util/tc_mime_type_utils.rb +0 -13
  256. data/test/util/tc_serialized_attributes.rb +0 -19
  257. data/test/util/tc_simple_typed_list.rb +0 -77
  258. data/test/util/tc_validators.rb +0 -210
  259. data/test/workbook/tc_defined_name.rb +0 -49
  260. data/test/workbook/tc_shared_strings_table.rb +0 -59
  261. data/test/workbook/tc_workbook.rb +0 -165
  262. data/test/workbook/tc_workbook_view.rb +0 -50
  263. data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +0 -38
  264. data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +0 -76
  265. data/test/workbook/worksheet/auto_filter/tc_filters.rb +0 -50
  266. data/test/workbook/worksheet/tc_break.rb +0 -49
  267. data/test/workbook/worksheet/tc_cell.rb +0 -465
  268. data/test/workbook/worksheet/tc_cfvo.rb +0 -31
  269. data/test/workbook/worksheet/tc_col.rb +0 -93
  270. data/test/workbook/worksheet/tc_color_scale.rb +0 -58
  271. data/test/workbook/worksheet/tc_comment.rb +0 -72
  272. data/test/workbook/worksheet/tc_comments.rb +0 -57
  273. data/test/workbook/worksheet/tc_conditional_formatting.rb +0 -224
  274. data/test/workbook/worksheet/tc_data_bar.rb +0 -46
  275. data/test/workbook/worksheet/tc_data_validation.rb +0 -265
  276. data/test/workbook/worksheet/tc_date_time_converter.rb +0 -124
  277. data/test/workbook/worksheet/tc_header_footer.rb +0 -151
  278. data/test/workbook/worksheet/tc_icon_set.rb +0 -45
  279. data/test/workbook/worksheet/tc_outline_pr.rb +0 -19
  280. data/test/workbook/worksheet/tc_page_margins.rb +0 -97
  281. data/test/workbook/worksheet/tc_page_set_up_pr.rb +0 -15
  282. data/test/workbook/worksheet/tc_page_setup.rb +0 -143
  283. data/test/workbook/worksheet/tc_pane.rb +0 -54
  284. data/test/workbook/worksheet/tc_pivot_table.rb +0 -180
  285. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +0 -62
  286. data/test/workbook/worksheet/tc_print_options.rb +0 -72
  287. data/test/workbook/worksheet/tc_protected_range.rb +0 -17
  288. data/test/workbook/worksheet/tc_rich_text.rb +0 -44
  289. data/test/workbook/worksheet/tc_rich_text_run.rb +0 -173
  290. data/test/workbook/worksheet/tc_row.rb +0 -160
  291. data/test/workbook/worksheet/tc_selection.rb +0 -55
  292. data/test/workbook/worksheet/tc_sheet_calc_pr.rb +0 -18
  293. data/test/workbook/worksheet/tc_sheet_format_pr.rb +0 -88
  294. data/test/workbook/worksheet/tc_sheet_pr.rb +0 -49
  295. data/test/workbook/worksheet/tc_sheet_protection.rb +0 -117
  296. data/test/workbook/worksheet/tc_sheet_view.rb +0 -214
  297. data/test/workbook/worksheet/tc_table.rb +0 -77
  298. data/test/workbook/worksheet/tc_table_style_info.rb +0 -53
  299. data/test/workbook/worksheet/tc_worksheet.rb +0 -632
  300. data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +0 -55
@@ -1,148 +1,148 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # The Bar3DChart is a three dimentional barchart (who would have guessed?) that you can add to your worksheet.
5
- # @see Worksheet#add_chart
6
- # @see Chart#add_series
7
- # @see Package#serialize
8
- # @see README for an example
9
- class Bar3DChart < Chart
10
-
11
- # the category axis
12
- # @return [CatAxis]
13
- def cat_axis
14
- axes[:cat_axis]
15
- end
16
- alias :catAxis :cat_axis
17
-
18
- # the value axis
19
- # @return [ValAxis]
20
- def val_axis
21
- axes[:val_axis]
22
- end
23
- alias :valAxis :val_axis
24
-
25
- # The direction of the bars in the chart
26
- # must be one of [:bar, :col]
27
- # @return [Symbol]
28
- def bar_dir
29
- @bar_dir ||= :bar
30
- end
31
- alias :barDir :bar_dir
32
-
33
- # space between bar or column clusters, as a percentage of the bar or column width.
34
- # @return [Integer]
35
- attr_reader :gap_depth
36
- alias :gapDepth :gap_depth
37
-
38
- # space between bar or column clusters, as a percentage of the bar or column width.
39
- # @return [Integer]
40
- def gap_width
41
- @gap_width ||= 150
42
- end
43
- alias :gapWidth :gap_width
44
-
45
- #grouping for a column, line, or area chart.
46
- # must be one of [:percentStacked, :clustered, :standard, :stacked]
47
- # @return [Symbol]
48
- def grouping
49
- @grouping ||= :clustered
50
- end
51
-
52
- # The shabe of the bars or columns
53
- # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
54
- # @return [Symbol]
55
- def shape
56
- @shape ||= :box
57
- end
58
-
59
- # Creates a new bar chart object
60
- # @param [GraphicFrame] frame The workbook that owns this chart.
61
- # @option options [Cell, String] title
62
- # @option options [Boolean] show_legend
63
- # @option options [Symbol] bar_dir
64
- # @option options [Symbol] grouping
65
- # @option options [String] gap_width
66
- # @option options [String] gap_depth
67
- # @option options [Symbol] shape
68
- # @option options [Integer] rot_x
69
- # @option options [String] h_percent
70
- # @option options [Integer] rot_y
71
- # @option options [String] depth_percent
72
- # @option options [Boolean] r_ang_ax
73
- # @option options [Integer] perspective
74
- # @see Chart
75
- # @see View3D
76
- def initialize(frame, options={})
77
- @vary_colors = true
78
- @gap_width, @gap_depth, @shape = nil, nil, nil
79
- super(frame, options)
80
- @series_type = BarSeries
81
- @view_3D = View3D.new({:r_ang_ax=>1}.merge(options))
82
- @d_lbls = nil
83
- end
84
-
85
- # The direction of the bars in the chart
86
- # must be one of [:bar, :col]
87
- def bar_dir=(v)
88
- RestrictionValidator.validate "Bar3DChart.bar_dir", [:bar, :col], v
89
- @bar_dir = v
90
- end
91
- alias :barDir= :bar_dir=
92
-
93
- #grouping for a column, line, or area chart.
94
- # must be one of [:percentStacked, :clustered, :standard, :stacked]
95
- def grouping=(v)
96
- RestrictionValidator.validate "Bar3DChart.grouping", [:percentStacked, :clustered, :standard, :stacked], v
97
- @grouping = v
98
- end
99
-
100
- # space between bar or column clusters, as a percentage of the bar or column width.
101
- def gap_width=(v)
102
- RangeValidator.validate "Bar3DChart.gap_width", 0, 500, v
103
- @gap_width=(v)
104
- end
105
- alias :gapWidth= :gap_width=
106
-
107
- # space between bar or column clusters, as a percentage of the bar or column width.
108
- def gap_depth=(v)
109
- RangeValidator.validate "Bar3DChart.gap_depth", 0, 500, v
110
- @gap_depth=(v)
111
- end
112
- alias :gapDepth= :gap_depth=
113
-
114
- # The shabe of the bars or columns
115
- # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
116
- def shape=(v)
117
- RestrictionValidator.validate "Bar3DChart.shape", [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax], v
118
- @shape = v
119
- end
120
-
121
- # Serializes the object
122
- # @param [String] str
123
- # @return [String]
124
- def to_xml_string(str = '')
125
- super(str) do
126
- str << '<c:bar3DChart>'
127
- str << ('<c:barDir val="' << bar_dir.to_s << '"/>')
128
- str << ('<c:grouping val="' << grouping.to_s << '"/>')
129
- str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
130
- @series.each { |ser| ser.to_xml_string(str) }
131
- @d_lbls.to_xml_string(str) if @d_lbls
132
- str << ('<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil?
133
- str << ('<c:gapDepth val="' << @gap_depth.to_s << '"/>') unless @gap_depth.nil?
134
- str << ('<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil?
135
- axes.to_xml_string(str, :ids => true)
136
- str << '</c:bar3DChart>'
137
- axes.to_xml_string(str)
138
- end
139
- end
140
-
141
- # A hash of axes used by this chart. Bar charts have a value and
142
- # category axes specified via axes[:val_axes] and axes[:cat_axis]
143
- # @return [Axes]
144
- def axes
145
- @axes ||= Axes.new(:cat_axis => CatAxis, :val_axis => ValAxis)
146
- end
147
- end
148
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+
4
+ # The Bar3DChart is a three dimentional barchart (who would have guessed?) that you can add to your worksheet.
5
+ # @see Worksheet#add_chart
6
+ # @see Chart#add_series
7
+ # @see Package#serialize
8
+ # @see README for an example
9
+ class Bar3DChart < Chart
10
+
11
+ # the category axis
12
+ # @return [CatAxis]
13
+ def cat_axis
14
+ axes[:cat_axis]
15
+ end
16
+ alias :catAxis :cat_axis
17
+
18
+ # the value axis
19
+ # @return [ValAxis]
20
+ def val_axis
21
+ axes[:val_axis]
22
+ end
23
+ alias :valAxis :val_axis
24
+
25
+ # The direction of the bars in the chart
26
+ # must be one of [:bar, :col]
27
+ # @return [Symbol]
28
+ def bar_dir
29
+ @bar_dir ||= :bar
30
+ end
31
+ alias :barDir :bar_dir
32
+
33
+ # space between bar or column clusters, as a percentage of the bar or column width.
34
+ # @return [Integer]
35
+ attr_reader :gap_depth
36
+ alias :gapDepth :gap_depth
37
+
38
+ # space between bar or column clusters, as a percentage of the bar or column width.
39
+ # @return [Integer]
40
+ def gap_width
41
+ @gap_width ||= 150
42
+ end
43
+ alias :gapWidth :gap_width
44
+
45
+ #grouping for a column, line, or area chart.
46
+ # must be one of [:percentStacked, :clustered, :standard, :stacked]
47
+ # @return [Symbol]
48
+ def grouping
49
+ @grouping ||= :clustered
50
+ end
51
+
52
+ # The shabe of the bars or columns
53
+ # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
54
+ # @return [Symbol]
55
+ def shape
56
+ @shape ||= :box
57
+ end
58
+
59
+ # Creates a new bar chart object
60
+ # @param [GraphicFrame] frame The workbook that owns this chart.
61
+ # @option options [Cell, String] title
62
+ # @option options [Boolean] show_legend
63
+ # @option options [Symbol] bar_dir
64
+ # @option options [Symbol] grouping
65
+ # @option options [String] gap_width
66
+ # @option options [String] gap_depth
67
+ # @option options [Symbol] shape
68
+ # @option options [Integer] rot_x
69
+ # @option options [String] h_percent
70
+ # @option options [Integer] rot_y
71
+ # @option options [String] depth_percent
72
+ # @option options [Boolean] r_ang_ax
73
+ # @option options [Integer] perspective
74
+ # @see Chart
75
+ # @see View3D
76
+ def initialize(frame, options={})
77
+ @vary_colors = true
78
+ @gap_width, @gap_depth, @shape = nil, nil, nil
79
+ super(frame, options)
80
+ @series_type = BarSeries
81
+ @view_3D = View3D.new({:r_ang_ax=>1}.merge(options))
82
+ @d_lbls = nil
83
+ end
84
+
85
+ # The direction of the bars in the chart
86
+ # must be one of [:bar, :col]
87
+ def bar_dir=(v)
88
+ RestrictionValidator.validate "Bar3DChart.bar_dir", [:bar, :col], v
89
+ @bar_dir = v
90
+ end
91
+ alias :barDir= :bar_dir=
92
+
93
+ #grouping for a column, line, or area chart.
94
+ # must be one of [:percentStacked, :clustered, :standard, :stacked]
95
+ def grouping=(v)
96
+ RestrictionValidator.validate "Bar3DChart.grouping", [:percentStacked, :clustered, :standard, :stacked], v
97
+ @grouping = v
98
+ end
99
+
100
+ # space between bar or column clusters, as a percentage of the bar or column width.
101
+ def gap_width=(v)
102
+ RangeValidator.validate "Bar3DChart.gap_width", 0, 500, v
103
+ @gap_width=(v)
104
+ end
105
+ alias :gapWidth= :gap_width=
106
+
107
+ # space between bar or column clusters, as a percentage of the bar or column width.
108
+ def gap_depth=(v)
109
+ RangeValidator.validate "Bar3DChart.gap_depth", 0, 500, v
110
+ @gap_depth=(v)
111
+ end
112
+ alias :gapDepth= :gap_depth=
113
+
114
+ # The shabe of the bars or columns
115
+ # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
116
+ def shape=(v)
117
+ RestrictionValidator.validate "Bar3DChart.shape", [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax], v
118
+ @shape = v
119
+ end
120
+
121
+ # Serializes the object
122
+ # @param [String] str
123
+ # @return [String]
124
+ def to_xml_string(str = '')
125
+ super(str) do
126
+ str << '<c:bar3DChart>'
127
+ str << ('<c:barDir val="' << bar_dir.to_s << '"/>')
128
+ str << ('<c:grouping val="' << grouping.to_s << '"/>')
129
+ str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
130
+ @series.each { |ser| ser.to_xml_string(str) }
131
+ @d_lbls.to_xml_string(str) if @d_lbls
132
+ str << ('<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil?
133
+ str << ('<c:gapDepth val="' << @gap_depth.to_s << '"/>') unless @gap_depth.nil?
134
+ str << ('<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil?
135
+ axes.to_xml_string(str, :ids => true)
136
+ str << '</c:bar3DChart>'
137
+ axes.to_xml_string(str)
138
+ end
139
+ end
140
+
141
+ # A hash of axes used by this chart. Bar charts have a value and
142
+ # category axes specified via axes[:val_axes] and axes[:cat_axis]
143
+ # @return [Axes]
144
+ def axes
145
+ @axes ||= Axes.new(:cat_axis => CatAxis, :val_axis => ValAxis)
146
+ end
147
+ end
148
+ end
@@ -1,138 +1,138 @@
1
- # encoding: UTF-8
2
- module Axlsx
3
-
4
- # The BarChart is a two dimentional barchart that you can add to your worksheet.
5
- # @see Worksheet#add_chart
6
- # @see Chart#add_series
7
- # @see Package#serialize
8
- # @see README for an example
9
- class BarChart < Chart
10
-
11
- # the category axis
12
- # @return [CatAxis]
13
- def cat_axis
14
- axes[:cat_axis]
15
- end
16
- alias :catAxis :cat_axis
17
-
18
- # the value axis
19
- # @return [ValAxis]
20
- def val_axis
21
- axes[:val_axis]
22
- end
23
- alias :valAxis :val_axis
24
-
25
- # The direction of the bars in the chart
26
- # must be one of [:bar, :col]
27
- # @return [Symbol]
28
- def bar_dir
29
- @bar_dir ||= :bar
30
- end
31
- alias :barDir :bar_dir
32
-
33
- # space between bar or column clusters, as a percentage of the bar or column width.
34
- # @return [Integer]
35
- def gap_width
36
- @gap_width ||= 150
37
- end
38
- alias :gapWidth :gap_width
39
-
40
- #grouping for a column, line, or area chart.
41
- # must be one of [:percentStacked, :clustered, :standard, :stacked]
42
- # @return [Symbol]
43
- def grouping
44
- @grouping ||= :clustered
45
- end
46
-
47
- # Overlap between series
48
- # @return [Integer]
49
- def overlap
50
- @overlap ||= 0
51
- end
52
-
53
- # The shape of the bars or columns
54
- # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
55
- # @return [Symbol]
56
- def shape
57
- @shape ||= :box
58
- end
59
-
60
- # Creates a new bar chart object
61
- # @param [GraphicFrame] frame The workbook that owns this chart.
62
- # @option options [Cell, String] title
63
- # @option options [Boolean] show_legend
64
- # @option options [Symbol] bar_dir
65
- # @option options [Symbol] grouping
66
- # @option options [String] gap_width
67
- # @option options [Symbol] shape
68
- # @see Chart
69
- def initialize(frame, options={})
70
- @vary_colors = true
71
- @gap_width, @overlap, @shape = nil, nil, nil
72
- super(frame, options)
73
- @series_type = BarSeries
74
- @d_lbls = nil
75
- end
76
-
77
- # The direction of the bars in the chart
78
- # must be one of [:bar, :col]
79
- def bar_dir=(v)
80
- RestrictionValidator.validate "BarChart.bar_dir", [:bar, :col], v
81
- @bar_dir = v
82
- end
83
- alias :barDir= :bar_dir=
84
-
85
- #grouping for a column, line, or area chart.
86
- # must be one of [:percentStacked, :clustered, :standard, :stacked]
87
- def grouping=(v)
88
- RestrictionValidator.validate "BarChart.grouping", [:percentStacked, :clustered, :standard, :stacked], v
89
- @grouping = v
90
- end
91
-
92
- # space between bar or column clusters, as a percentage of the bar or column width.
93
- def gap_width=(v)
94
- RangeValidator.validate "BarChart.gap_width", 0, 500, v
95
- @gap_width=(v)
96
- end
97
- alias :gapWidth= :gap_width=
98
-
99
- def overlap=(v)
100
- RangeValidator.validate "BarChart.overlap", -100, 100, v
101
- @overlap=(v)
102
- end
103
-
104
- # The shape of the bars or columns
105
- # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
106
- def shape=(v)
107
- RestrictionValidator.validate "BarChart.shape", [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax], v
108
- @shape = v
109
- end
110
-
111
- # Serializes the object
112
- # @param [String] str
113
- # @return [String]
114
- def to_xml_string(str = '')
115
- super(str) do
116
- str << '<c:barChart>'
117
- str << ('<c:barDir val="' << bar_dir.to_s << '"/>')
118
- str << ('<c:grouping val="' << grouping.to_s << '"/>')
119
- str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
120
- @series.each { |ser| ser.to_xml_string(str) }
121
- @d_lbls.to_xml_string(str) if @d_lbls
122
- str << ('<c:overlap val="' << @overlap.to_s << '"/>') unless @overlap.nil?
123
- str << ('<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil?
124
- str << ('<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil?
125
- axes.to_xml_string(str, :ids => true)
126
- str << '</c:barChart>'
127
- axes.to_xml_string(str)
128
- end
129
- end
130
-
131
- # A hash of axes used by this chart. Bar charts have a value and
132
- # category axes specified via axes[:val_axes] and axes[:cat_axis]
133
- # @return [Axes]
134
- def axes
135
- @axes ||= Axes.new(:cat_axis => CatAxis, :val_axis => ValAxis)
136
- end
137
- end
138
- end
1
+ # encoding: UTF-8
2
+ module Axlsx
3
+
4
+ # The BarChart is a two dimentional barchart that you can add to your worksheet.
5
+ # @see Worksheet#add_chart
6
+ # @see Chart#add_series
7
+ # @see Package#serialize
8
+ # @see README for an example
9
+ class BarChart < Chart
10
+
11
+ # the category axis
12
+ # @return [CatAxis]
13
+ def cat_axis
14
+ axes[:cat_axis]
15
+ end
16
+ alias :catAxis :cat_axis
17
+
18
+ # the value axis
19
+ # @return [ValAxis]
20
+ def val_axis
21
+ axes[:val_axis]
22
+ end
23
+ alias :valAxis :val_axis
24
+
25
+ # The direction of the bars in the chart
26
+ # must be one of [:bar, :col]
27
+ # @return [Symbol]
28
+ def bar_dir
29
+ @bar_dir ||= :bar
30
+ end
31
+ alias :barDir :bar_dir
32
+
33
+ # space between bar or column clusters, as a percentage of the bar or column width.
34
+ # @return [Integer]
35
+ def gap_width
36
+ @gap_width ||= 150
37
+ end
38
+ alias :gapWidth :gap_width
39
+
40
+ #grouping for a column, line, or area chart.
41
+ # must be one of [:percentStacked, :clustered, :standard, :stacked]
42
+ # @return [Symbol]
43
+ def grouping
44
+ @grouping ||= :clustered
45
+ end
46
+
47
+ # Overlap between series
48
+ # @return [Integer]
49
+ def overlap
50
+ @overlap ||= 0
51
+ end
52
+
53
+ # The shape of the bars or columns
54
+ # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
55
+ # @return [Symbol]
56
+ def shape
57
+ @shape ||= :box
58
+ end
59
+
60
+ # Creates a new bar chart object
61
+ # @param [GraphicFrame] frame The workbook that owns this chart.
62
+ # @option options [Cell, String] title
63
+ # @option options [Boolean] show_legend
64
+ # @option options [Symbol] bar_dir
65
+ # @option options [Symbol] grouping
66
+ # @option options [String] gap_width
67
+ # @option options [Symbol] shape
68
+ # @see Chart
69
+ def initialize(frame, options={})
70
+ @vary_colors = true
71
+ @gap_width, @overlap, @shape = nil, nil, nil
72
+ super(frame, options)
73
+ @series_type = BarSeries
74
+ @d_lbls = nil
75
+ end
76
+
77
+ # The direction of the bars in the chart
78
+ # must be one of [:bar, :col]
79
+ def bar_dir=(v)
80
+ RestrictionValidator.validate "BarChart.bar_dir", [:bar, :col], v
81
+ @bar_dir = v
82
+ end
83
+ alias :barDir= :bar_dir=
84
+
85
+ #grouping for a column, line, or area chart.
86
+ # must be one of [:percentStacked, :clustered, :standard, :stacked]
87
+ def grouping=(v)
88
+ RestrictionValidator.validate "BarChart.grouping", [:percentStacked, :clustered, :standard, :stacked], v
89
+ @grouping = v
90
+ end
91
+
92
+ # space between bar or column clusters, as a percentage of the bar or column width.
93
+ def gap_width=(v)
94
+ RangeValidator.validate "BarChart.gap_width", 0, 500, v
95
+ @gap_width=(v)
96
+ end
97
+ alias :gapWidth= :gap_width=
98
+
99
+ def overlap=(v)
100
+ RangeValidator.validate "BarChart.overlap", -100, 100, v
101
+ @overlap=(v)
102
+ end
103
+
104
+ # The shape of the bars or columns
105
+ # must be one of [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax]
106
+ def shape=(v)
107
+ RestrictionValidator.validate "BarChart.shape", [:cone, :coneToMax, :box, :cylinder, :pyramid, :pyramidToMax], v
108
+ @shape = v
109
+ end
110
+
111
+ # Serializes the object
112
+ # @param [String] str
113
+ # @return [String]
114
+ def to_xml_string(str = '')
115
+ super(str) do
116
+ str << '<c:barChart>'
117
+ str << ('<c:barDir val="' << bar_dir.to_s << '"/>')
118
+ str << ('<c:grouping val="' << grouping.to_s << '"/>')
119
+ str << ('<c:varyColors val="' << vary_colors.to_s << '"/>')
120
+ @series.each { |ser| ser.to_xml_string(str) }
121
+ @d_lbls.to_xml_string(str) if @d_lbls
122
+ str << ('<c:overlap val="' << @overlap.to_s << '"/>') unless @overlap.nil?
123
+ str << ('<c:gapWidth val="' << @gap_width.to_s << '"/>') unless @gap_width.nil?
124
+ str << ('<c:shape val="' << @shape.to_s << '"/>') unless @shape.nil?
125
+ axes.to_xml_string(str, :ids => true)
126
+ str << '</c:barChart>'
127
+ axes.to_xml_string(str)
128
+ end
129
+ end
130
+
131
+ # A hash of axes used by this chart. Bar charts have a value and
132
+ # category axes specified via axes[:val_axes] and axes[:cat_axis]
133
+ # @return [Axes]
134
+ def axes
135
+ @axes ||= Axes.new(:cat_axis => CatAxis, :val_axis => ValAxis)
136
+ end
137
+ end
138
+ end