axlsx 1.0.11 → 1.0.12

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 (145) hide show
  1. data/.yardopts +4 -0
  2. data/README.md +7 -4
  3. data/examples/example.rb +6 -4
  4. data/examples/example.rb~ +112 -0
  5. data/lib/schema/dc.xsd~ +118 -0
  6. data/lib/schema/dcterms.xsd~ +331 -0
  7. data/lib/schema/opc-coreProperties.xsd~ +50 -0
  8. metadata +43 -193
  9. data/Gemfile +0 -3
  10. data/Gemfile.lock +0 -29
  11. data/axlsx.gemspec +0 -42
  12. data/doc/Axlsx.html +0 -2718
  13. data/doc/Axlsx/App.html +0 -2640
  14. data/doc/Axlsx/Axis.html +0 -1075
  15. data/doc/Axlsx/Bar3DChart.html +0 -1182
  16. data/doc/Axlsx/BarSeries.html +0 -711
  17. data/doc/Axlsx/Border.html +0 -779
  18. data/doc/Axlsx/BorderPr.html +0 -709
  19. data/doc/Axlsx/CatAxis.html +0 -769
  20. data/doc/Axlsx/CatAxisData.html +0 -397
  21. data/doc/Axlsx/Cell.html +0 -3187
  22. data/doc/Axlsx/CellAlignment.html +0 -1247
  23. data/doc/Axlsx/CellProtection.html +0 -565
  24. data/doc/Axlsx/CellStyle.html +0 -949
  25. data/doc/Axlsx/Chart.html +0 -1692
  26. data/doc/Axlsx/Color.html +0 -670
  27. data/doc/Axlsx/ContentType.html +0 -335
  28. data/doc/Axlsx/Core.html +0 -465
  29. data/doc/Axlsx/DataTypeValidator.html +0 -324
  30. data/doc/Axlsx/Default.html +0 -565
  31. data/doc/Axlsx/Drawing.html +0 -1264
  32. data/doc/Axlsx/Fill.html +0 -460
  33. data/doc/Axlsx/Font.html +0 -1554
  34. data/doc/Axlsx/GradientFill.html +0 -1026
  35. data/doc/Axlsx/GradientStop.html +0 -526
  36. data/doc/Axlsx/GraphicFrame.html +0 -642
  37. data/doc/Axlsx/Line3DChart.html +0 -1004
  38. data/doc/Axlsx/LineSeries.html +0 -605
  39. data/doc/Axlsx/Marker.html +0 -857
  40. data/doc/Axlsx/NumFmt.html +0 -562
  41. data/doc/Axlsx/OneCellAnchor.html +0 -982
  42. data/doc/Axlsx/Override.html +0 -552
  43. data/doc/Axlsx/Package.html +0 -825
  44. data/doc/Axlsx/Parser.html +0 -549
  45. data/doc/Axlsx/PatternFill.html +0 -681
  46. data/doc/Axlsx/Pic.html +0 -1701
  47. data/doc/Axlsx/PictureLocking.html +0 -1159
  48. data/doc/Axlsx/Pie3DChart.html +0 -489
  49. data/doc/Axlsx/PieSeries.html +0 -710
  50. data/doc/Axlsx/RegexValidator.html +0 -268
  51. data/doc/Axlsx/Relationship.html +0 -554
  52. data/doc/Axlsx/Relationships.html +0 -338
  53. data/doc/Axlsx/RestrictionValidator.html +0 -300
  54. data/doc/Axlsx/Row.html +0 -916
  55. data/doc/Axlsx/Scaling.html +0 -742
  56. data/doc/Axlsx/SerAxis.html +0 -641
  57. data/doc/Axlsx/Series.html +0 -813
  58. data/doc/Axlsx/SeriesTitle.html +0 -290
  59. data/doc/Axlsx/Styles.html +0 -1754
  60. data/doc/Axlsx/TableStyle.html +0 -705
  61. data/doc/Axlsx/TableStyleElement.html +0 -677
  62. data/doc/Axlsx/TableStyles.html +0 -594
  63. data/doc/Axlsx/Title.html +0 -543
  64. data/doc/Axlsx/TwoCellAnchor.html +0 -973
  65. data/doc/Axlsx/ValAxis.html +0 -538
  66. data/doc/Axlsx/ValAxisData.html +0 -321
  67. data/doc/Axlsx/View3D.html +0 -973
  68. data/doc/Axlsx/Workbook.html +0 -1630
  69. data/doc/Axlsx/Worksheet.html +0 -2682
  70. data/doc/Axlsx/Xf.html +0 -1780
  71. data/doc/_index.html +0 -649
  72. data/doc/class_list.html +0 -47
  73. data/doc/css/common.css +0 -1
  74. data/doc/css/full_list.css +0 -55
  75. data/doc/css/style.css +0 -322
  76. data/doc/file.LICENSE.html +0 -91
  77. data/doc/file.README.html +0 -338
  78. data/doc/file_list.html +0 -52
  79. data/doc/frames.html +0 -13
  80. data/doc/index.html +0 -338
  81. data/doc/js/app.js +0 -205
  82. data/doc/js/full_list.js +0 -167
  83. data/doc/js/jquery.js +0 -16
  84. data/doc/method_list.html +0 -3502
  85. data/doc/top-level-namespace.html +0 -103
  86. data/lib/axlsx.rb +0 -54
  87. data/lib/axlsx/content_type/content_type.rb +0 -23
  88. data/lib/axlsx/content_type/default.rb +0 -37
  89. data/lib/axlsx/content_type/override.rb +0 -37
  90. data/lib/axlsx/doc_props/app.rb +0 -178
  91. data/lib/axlsx/doc_props/core.rb +0 -34
  92. data/lib/axlsx/drawing/axis.rb +0 -90
  93. data/lib/axlsx/drawing/bar_3D_chart.rb +0 -128
  94. data/lib/axlsx/drawing/bar_series.rb +0 -64
  95. data/lib/axlsx/drawing/cat_axis.rb +0 -63
  96. data/lib/axlsx/drawing/cat_axis_data.rb +0 -35
  97. data/lib/axlsx/drawing/chart.rb +0 -179
  98. data/lib/axlsx/drawing/drawing.rb +0 -137
  99. data/lib/axlsx/drawing/graphic_frame.rb +0 -52
  100. data/lib/axlsx/drawing/line_3D_chart.rb +0 -106
  101. data/lib/axlsx/drawing/line_series.rb +0 -46
  102. data/lib/axlsx/drawing/marker.rb +0 -61
  103. data/lib/axlsx/drawing/one_cell_anchor.rb +0 -89
  104. data/lib/axlsx/drawing/pic.rb +0 -153
  105. data/lib/axlsx/drawing/picture_locking.rb +0 -72
  106. data/lib/axlsx/drawing/pie_3D_chart.rb +0 -41
  107. data/lib/axlsx/drawing/pie_series.rb +0 -56
  108. data/lib/axlsx/drawing/scaling.rb +0 -59
  109. data/lib/axlsx/drawing/ser_axis.rb +0 -45
  110. data/lib/axlsx/drawing/series.rb +0 -71
  111. data/lib/axlsx/drawing/series_title.rb +0 -22
  112. data/lib/axlsx/drawing/title.rb +0 -61
  113. data/lib/axlsx/drawing/two_cell_anchor.rb +0 -76
  114. data/lib/axlsx/drawing/val_axis.rb +0 -34
  115. data/lib/axlsx/drawing/val_axis_data.rb +0 -28
  116. data/lib/axlsx/drawing/view_3D.rb +0 -85
  117. data/lib/axlsx/package.rb +0 -214
  118. data/lib/axlsx/rels/relationship.rb +0 -44
  119. data/lib/axlsx/rels/relationships.rb +0 -25
  120. data/lib/axlsx/stylesheet/border.rb +0 -57
  121. data/lib/axlsx/stylesheet/border_pr.rb +0 -68
  122. data/lib/axlsx/stylesheet/cell_alignment.rb +0 -105
  123. data/lib/axlsx/stylesheet/cell_protection.rb +0 -36
  124. data/lib/axlsx/stylesheet/cell_style.rb +0 -65
  125. data/lib/axlsx/stylesheet/color.rb +0 -69
  126. data/lib/axlsx/stylesheet/fill.rb +0 -32
  127. data/lib/axlsx/stylesheet/font.rb +0 -139
  128. data/lib/axlsx/stylesheet/gradient_fill.rb +0 -76
  129. data/lib/axlsx/stylesheet/gradient_stop.rb +0 -33
  130. data/lib/axlsx/stylesheet/num_fmt.rb +0 -63
  131. data/lib/axlsx/stylesheet/pattern_fill.rb +0 -66
  132. data/lib/axlsx/stylesheet/styles.rb +0 -298
  133. data/lib/axlsx/stylesheet/table_style.rb +0 -47
  134. data/lib/axlsx/stylesheet/table_style_element.rb +0 -71
  135. data/lib/axlsx/stylesheet/table_styles.rb +0 -39
  136. data/lib/axlsx/stylesheet/xf.rb +0 -138
  137. data/lib/axlsx/util/constants.rb +0 -216
  138. data/lib/axlsx/util/parser.rb +0 -43
  139. data/lib/axlsx/util/simple_typed_list.rb +0 -160
  140. data/lib/axlsx/util/validators.rb +0 -132
  141. data/lib/axlsx/version.rb +0 -4
  142. data/lib/axlsx/workbook/workbook.rb +0 -160
  143. data/lib/axlsx/workbook/worksheet/cell.rb +0 -340
  144. data/lib/axlsx/workbook/worksheet/row.rb +0 -107
  145. data/lib/axlsx/workbook/worksheet/worksheet.rb +0 -278
@@ -1,153 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- module Axlsx
3
- # a Pic object represents an image in your worksheet
4
- # Worksheet#add_image is the recommended way to manage images in your sheets
5
- # @see Worksheet#add_image
6
- class Pic
7
-
8
- # allowed file extenstions
9
- ALLOWED_EXTENSIONS = ['gif', 'jpeg', 'png', 'jpg']
10
-
11
- # The name to use for this picture
12
- # @return [String]
13
- attr_reader :name
14
-
15
-
16
- # A description of the picture
17
- # @return [String]
18
- attr_reader :descr
19
-
20
- # The path to the image you want to include
21
- # Only local images are supported at this time and only jpg support
22
- # @return [String]
23
- attr_reader :image_src
24
-
25
- # The anchor for this image
26
- # @return [OneCellAnchor]
27
- attr_reader :anchor
28
-
29
- # The picture locking attributes for this picture
30
- attr_reader :picture_locking
31
-
32
- # Creates a new Pic(ture) object
33
- # @param [Anchor] anchor the anchor that holds this image
34
- # @option options [String] name
35
- # @option options [String] descr
36
- # @option options [String] image_src
37
- # @option options [Array] start_at
38
- # @option options [Intger] width
39
- # @option options [Intger] height
40
- def initialize(anchor, options={})
41
- @anchor = anchor
42
- @anchor.drawing.worksheet.workbook.images << self
43
- options.each do |o|
44
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
45
- end
46
- start_at(*options[:start_at]) if options[:start_at]
47
- yield self if block_given?
48
- @picture_locking = PictureLocking.new(options)
49
- end
50
-
51
- def image_src=(v)
52
- Axlsx::validate_string(v)
53
- RestrictionValidator.validate 'Pic.image_src', ALLOWED_EXTENSIONS, File.extname(v).delete('.')
54
- raise ArgumentError, "File does not exist" unless File.exist?(v)
55
- @image_src = v
56
- end
57
-
58
- # @see name
59
- def name=(v) Axlsx::validate_string(v); @name = v; end
60
-
61
- # @see descr
62
- def descr=(v) Axlsx::validate_string(v); @descr = v; end
63
-
64
-
65
- # The file name of image_src without any path information
66
- # @return [String]
67
- def file_name
68
- File.basename(image_src) unless image_src.nil?
69
- end
70
-
71
- # returns the extension of image_src without the preceeding '.'
72
- # @return [String]
73
- def extname
74
- File.extname(image_src).delete('.') unless image_src.nil?
75
- end
76
-
77
- # The index of this image in the workbooks images collections
78
- # @return [Index]
79
- def index
80
- @anchor.drawing.worksheet.workbook.images.index(self)
81
- end
82
-
83
- # The part name for this image used in serialization and relationship building
84
- # @return [String]
85
- def pn
86
- "#{IMAGE_PN % [(index+1), extname]}"
87
- end
88
-
89
- # providing access to the anchor's width attribute
90
- # @param [Integer] v
91
- # @see OneCellAnchor.width
92
- def width
93
- @anchor.width
94
- end
95
-
96
- # @see width
97
- def width=(v)
98
- @anchor.width = v
99
- end
100
-
101
- # providing access to update the anchor's height attribute
102
- # @param [Integer] v
103
- # @see OneCellAnchor.width
104
- def height
105
- @anchor.height
106
- end
107
-
108
- # @see height
109
- def height=(v)
110
- @anchor.height = v
111
- end
112
-
113
- # This is a short cut method to set the start anchor position
114
- # If you need finer granularity in positioning use
115
- # graphic_frame.anchor.from.colOff / rowOff
116
- # @param [Integer] x The column
117
- # @param [Integer] y The row
118
- # @return [Marker]
119
- def start_at(x, y)
120
- @anchor.from.col = x
121
- @anchor.from.row = y
122
- end
123
-
124
- # Serializes the picture
125
- # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
126
- # @return [String]
127
- def to_xml(xml)
128
- xml.send('xdr:pic') {
129
- xml.send('xdr:nvPicPr') {
130
- xml.send('xdr:cNvPr', :id=>"2", :name=>name, :descr=>descr)
131
- xml.send('xdr:cNvPicPr') {
132
- picture_locking.to_xml(xml)
133
- }
134
- }
135
- xml.send('xdr:blipFill') {
136
- xml.send('a:blip', :'xmlns:r' => XML_NS_R, :'r:embed'=>"rId1")
137
- xml.send('a:stretch') {
138
- xml.send('a:fillRect')
139
- }
140
- }
141
- xml.send('xdr:spPr') {
142
- xml.send('a:xfrm') {
143
- xml.send('a:off', :x=>0, :y=>0)
144
- xml.send('a:ext', :cx=>2336800, :cy=>2161540)
145
- }
146
- xml.send('a:prstGeom', :prst=>:rect) {
147
- xml.send('a:avLst')
148
- }
149
- }
150
- }
151
- end
152
- end
153
- end
@@ -1,72 +0,0 @@
1
- module Axlsx
2
- # The picture locking class defines the locking properties for pictures in your workbook.
3
- class PictureLocking
4
-
5
-
6
- attr_reader :noGrp
7
- attr_reader :noSelect
8
- attr_reader :noRot
9
- attr_reader :noChangeAspect
10
- attr_reader :noMove
11
- attr_reader :noResize
12
- attr_reader :noEditPoints
13
- attr_reader :noAdjustHandles
14
- attr_reader :noChangeArrowheads
15
- attr_reader :noChangeShapeType
16
-
17
- # Creates a new PictureLocking object
18
- # @option options [Boolean] noGrp
19
- # @option options [Boolean] noSelect
20
- # @option options [Boolean] noRot
21
- # @option options [Boolean] noChangeAspect
22
- # @option options [Boolean] noMove
23
- # @option options [Boolean] noResize
24
- # @option options [Boolean] noEditPoints
25
- # @option options [Boolean] noAdjustHandles
26
- # @option options [Boolean] noChangeArrowheads
27
- # @option options [Boolean] noChangeShapeType
28
- def initialize(options={})
29
- @noChangeAspect = true
30
- options.each do |o|
31
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
32
- end
33
- end
34
-
35
- # @see noGrp
36
- def noGrp=(v) Axlsx::validate_boolean v; @noGrp = v end
37
-
38
- # @see noSelect
39
- def noSelect=(v) Axlsx::validate_boolean v; @noSelect = v end
40
-
41
- # @see noRot
42
- def noRot=(v) Axlsx::validate_boolean v; @noRot = v end
43
-
44
- # @see noChangeAspect
45
- def noChangeAspect=(v) Axlsx::validate_boolean v; @noChangeAspect = v end
46
-
47
- # @see noMove
48
- def noMove=(v) Axlsx::validate_boolean v; @noMove = v end
49
-
50
- # @see noResize
51
- def noResize=(v) Axlsx::validate_boolean v; @noResize = v end
52
-
53
- # @see noEditPoints
54
- def noEditPoints=(v) Axlsx::validate_boolean v; @noEditPoints = v end
55
-
56
- # @see noAdjustHandles
57
- def noAdjustHandles=(v) Axlsx::validate_boolean v; @noAdjustHandles = v end
58
-
59
- # @see noChangeArrowheads
60
- def noChangeArrowheads=(v) Axlsx::validate_boolean v; @noChangeArrowheads = v end
61
-
62
- # @see noChangeShapeType
63
- def noChangeShapeType=(v) Axlsx::validate_boolean v; @noChangeShapeType = v end
64
-
65
- # Serializes the picture locking
66
- # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
67
- # @return [String]
68
- def to_xml(xml)
69
- xml[:a].picLocks(self.instance_values)
70
- end
71
- end
72
- end
@@ -1,41 +0,0 @@
1
- module Axlsx
2
-
3
-
4
- # The Pie3DChart is a three dimentional piechart (who would have guessed?) that you can add to your worksheet.
5
- # @see Worksheet#add_chart
6
- # @see Chart#add_series
7
- # @see README for an example
8
- class Pie3DChart < Chart
9
-
10
- # Creates a new pie chart object
11
- # @param [GraphicFrame] frame The workbook that owns this chart.
12
- # @option options [Cell, String] title
13
- # @option options [Boolean] show_legend
14
- # @option options [Symbol] grouping
15
- # @option options [String] gapDepth
16
- # @option options [Integer] rotX
17
- # @option options [String] hPercent
18
- # @option options [Integer] rotY
19
- # @option options [String] depthPercent
20
- # @option options [Boolean] rAngAx
21
- # @option options [Integer] perspective
22
- # @see Chart
23
- # @see View3D
24
- def initialize(frame, options={})
25
- super(frame, options)
26
- @series_type = PieSeries
27
- @view3D = View3D.new({:rotX=>30, :perspective=>30}.merge(options))
28
- end
29
-
30
- # Serializes the pie chart
31
- # @return [String]
32
- def to_xml
33
- super() do |xml|
34
- xml.send('c:pie3DChart') {
35
- xml.send('c:varyColors', :val=>1)
36
- @series.each { |ser| ser.to_xml(xml) }
37
- }
38
- end
39
- end
40
- end
41
- end
@@ -1,56 +0,0 @@
1
- module Axlsx
2
- # A PieSeries defines the data and labels and explosion for pie charts series.
3
- # @note The recommended way to manage series is to use Chart#add_series
4
- # @see Worksheet#add_chart
5
- # @see Chart#add_series
6
- class PieSeries < Series
7
-
8
- # The data for this series.
9
- # @return [SimpleTypedList]
10
- attr_reader :data
11
-
12
- # The labels for this series.
13
- # @return [SimpleTypedList]
14
- attr_reader :labels
15
-
16
- # The explosion for this series
17
- # @return [Integert]
18
- attr_reader :explosion
19
-
20
- # Creates a new series
21
- # @option options [Array, SimpleTypedList] data
22
- # @option options [Array, SimpleTypedList] labels
23
- # @option options [String] title
24
- # @option options [Integer] explosion
25
- # @param [Chart] chart
26
- def initialize(chart, options={})
27
- @explosion = nil
28
- super(chart, options)
29
- self.labels = CatAxisData.new(options[:labels]) unless options[:labels].nil?
30
- self.data = ValAxisData.new(options[:data]) unless options[:data].nil?
31
- end
32
-
33
- # @see explosion
34
- def explosion=(v) Axlsx::validate_unsigned_int(v); @explosion = v; end
35
-
36
- # Serializes the series
37
- # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
38
- # @return [String]
39
- def to_xml(xml)
40
- super(xml) do |xml_inner|
41
- xml_inner.send('c:explosion', :val=>@explosion) unless @explosion.nil?
42
- @labels.to_xml(xml_inner) unless @labels.nil?
43
- @data.to_xml(xml_inner) unless @data.nil?
44
- end
45
- end
46
- private
47
-
48
- # assigns the data for this series
49
- def data=(v) DataTypeValidator.validate "Series.data", [SimpleTypedList], v; @data = v; end
50
-
51
- # assigns the labels for this series
52
- def labels=(v) DataTypeValidator.validate "Series.labels", [SimpleTypedList], v; @labels = v; end
53
-
54
- end
55
-
56
- end
@@ -1,59 +0,0 @@
1
- module Axlsx
2
- # The Scaling class defines axis scaling
3
- class Scaling
4
-
5
- # logarithmic base for a logarithmic axis.
6
- # must be between 2 and 1000
7
- # @return [Integer]
8
- attr_reader :logBase
9
-
10
- # the orientation of the axis
11
- # must be one of [:minMax, :maxMin]
12
- # @return [Symbol]
13
- attr_reader :orientation
14
-
15
- # the maximum scaling
16
- # @return [Float]
17
- attr_reader :max
18
-
19
- # the minimu scaling
20
- # @return [Float]
21
- attr_reader :min
22
-
23
- # creates a new Scaling object
24
- # @option options [Integer, Fixnum] logBase
25
- # @option options [Symbol] orientation
26
- # @option options [Float] max
27
- # @option options [Float] min
28
- def initialize(options={})
29
- @orientation = :minMax
30
- @logBase, @min, @max = nil, nil, nil
31
- options.each do |o|
32
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
33
- end
34
- end
35
-
36
- # @see logBase
37
- def logBase=(v) DataTypeValidator.validate "Scaling.logBase", [Integer, Fixnum], v, lambda { |arg| arg >= 2 && arg <= 1000}; @logBase = v; end
38
- # @see orientation
39
- def orientation=(v) RestrictionValidator.validate "Scaling.orientation", [:minMax, :maxMin], v; @orientation = v; end
40
- # @see max
41
- def max=(v) DataTypeValidator.validate "Scaling.max", Float, v; @max = v; end
42
-
43
- # @see min
44
- def min=(v) DataTypeValidator.validate "Scaling.min", Float, v; @min = v; end
45
-
46
- # Serializes the axId
47
- # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
48
- # @return [String]
49
- def to_xml(xml)
50
- xml.send('c:scaling') {
51
- xml.send('c:logBase', :val=> @logBase) unless @logBase.nil?
52
- xml.send('c:orientation', :val=> @orientation) unless @orientation.nil?
53
- xml.send('c:min', :val => @min) unless @min.nil?
54
- xml.send('c:max', :val => @max) unless @max.nil?
55
- }
56
- end
57
-
58
- end
59
- end
@@ -1,45 +0,0 @@
1
- module Axlsx
2
- #A SerAxis object defines a series axis
3
- class SerAxis < Axis
4
-
5
- # The number of tick lables to skip between labels
6
- # @return [Integer]
7
- attr_reader :tickLblSkip
8
-
9
- # The number of tickmarks to be skipped before the next one is rendered.
10
- # @return [Boolean]
11
- attr_reader :tickMarkSkip
12
-
13
- # Creates a new SerAxis object
14
- # @param [Integer] axId the id of this axis. Inherited
15
- # @param [Integer] crossAx the id of the perpendicular axis. Inherited
16
- # @option options [Symbol] axPos. Inherited
17
- # @option options [Symbol] tickLblPos. Inherited
18
- # @option options [Symbol] crosses. Inherited
19
- # @option options [Integer] tickLblSkip
20
- # @option options [Integer] tickMarkSkip
21
- def initialize(axId, crossAx, options={})
22
- @tickLblSkip, @tickMarkSkip = nil, nil
23
- super(axId, crossAx, options)
24
- end
25
-
26
- # @see tickLblSkip
27
- def tickLblSkip=(v) Axlsx::validate_unsigned_int(v); @tickLblSkip = v; end
28
-
29
- # @see tickMarkSkip
30
- def tickMarkSkip=(v) Axlsx::validate_unsigned_int(v); @tickMarkSkip = v; end
31
-
32
- # Serializes the series axis
33
- # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
34
- # @return [String]
35
- def to_xml(xml)
36
- xml.send('c:serAx') {
37
- super(xml)
38
- xml.send('c:tickLblSkip', :val=>@tickLblSkip) unless @tickLblSkip.nil?
39
- xml.send('c:tickMarkSkip', :val=>@tickMarkSkip) unless @tickMarkSkip.nil?
40
- }
41
- end
42
- end
43
-
44
-
45
- end
@@ -1,71 +0,0 @@
1
- module Axlsx
2
- # A Series defines the common series attributes and is the super class for all concrete series types.
3
- # @note The recommended way to manage series is to use Chart#add_series
4
- # @see Worksheet#add_chart
5
- # @see Chart#add_series
6
- class Series
7
-
8
- # The chart that owns this series
9
- # @return [Chart]
10
- attr_reader :chart
11
-
12
- # The title of the series
13
- # @return [SeriesTitle]
14
- attr_reader :title
15
-
16
- # Creates a new series
17
- # @param [Chart] chart
18
- # @option options [Integer] order
19
- # @option options [String] title
20
- def initialize(chart, options={})
21
- @order = nil
22
- self.chart = chart
23
- @chart.series << self
24
- options.each do |o|
25
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
26
- end
27
- end
28
-
29
- # The index of this series in the chart's series.
30
- # @return [Integer]
31
- def index
32
- @chart.series.index(self)
33
- end
34
-
35
-
36
- # The order of this series in the chart's series. By default the order is the index of the series.
37
- # @return [Integer]
38
- def order
39
- @order || index
40
- end
41
-
42
- # @see order
43
- def order=(v) Axlsx::validate_unsigned_int(v); @order = v; end
44
-
45
- # @see title
46
- def title=(v)
47
- v = SeriesTitle.new(v) if v.is_a?(String) || v.is_a?(Cell)
48
- DataTypeValidator.validate "#{self.class}.title", SeriesTitle, v
49
- @title = v
50
- end
51
-
52
- private
53
-
54
- # assigns the chart for this series
55
- def chart=(v) DataTypeValidator.validate "Series.chart", Chart, v; @chart = v; end
56
-
57
- # Serializes the series
58
- # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
59
- # @return [String]
60
- def to_xml(xml)
61
- xml.send('c:ser') {
62
- xml.send('c:idx', :val=>index)
63
- xml.send('c:order', :val=>order || index)
64
- title.to_xml(xml) unless title.nil?
65
- yield xml if block_given?
66
- }
67
- end
68
-
69
- end
70
-
71
- end