diff options
| author | Randy Morgan <[email protected]> | 2012-04-03 08:38:37 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-04-03 08:38:37 +0900 |
| commit | 7df172a8f3815e1291f41098705650afd5a2b41d (patch) | |
| tree | 35f25742e09201a50c595ac0250c000a3c272c65 /lib/axlsx/drawing | |
| parent | 6f998ecb098c2a3a5eabc6f8ef44a0f25632f2c8 (diff) | |
| download | caxlsx-7df172a8f3815e1291f41098705650afd5a2b41d.tar.gz caxlsx-7df172a8f3815e1291f41098705650afd5a2b41d.zip | |
pre-release cleanup
Diffstat (limited to 'lib/axlsx/drawing')
29 files changed, 119 insertions, 4 deletions
diff --git a/lib/axlsx/drawing/axis.rb b/lib/axlsx/drawing/axis.rb index e686314c..9206e848 100644 --- a/lib/axlsx/drawing/axis.rb +++ b/lib/axlsx/drawing/axis.rb @@ -84,6 +84,9 @@ module Axlsx def crosses=(v) RestrictionValidator.validate "#{self.class}.crosses", [:autoZero, :min, :max], v; @crosses = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:axId val="' << @axId.to_s << '"/>' @scaling.to_xml_string str diff --git a/lib/axlsx/drawing/bar_3D_chart.rb b/lib/axlsx/drawing/bar_3D_chart.rb index f623ab9f..abed702b 100644 --- a/lib/axlsx/drawing/bar_3D_chart.rb +++ b/lib/axlsx/drawing/bar_3D_chart.rb @@ -105,6 +105,9 @@ module Axlsx @shape = v end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do |str_inner| str_inner << '<c:bar3DChart>' diff --git a/lib/axlsx/drawing/bar_series.rb b/lib/axlsx/drawing/bar_series.rb index 65cd87d9..86ae6367 100644 --- a/lib/axlsx/drawing/bar_series.rb +++ b/lib/axlsx/drawing/bar_series.rb @@ -40,6 +40,9 @@ module Axlsx @shape = v end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do |str_inner| @labels.to_xml_string(str_inner) unless @labels.nil? diff --git a/lib/axlsx/drawing/cat_axis.rb b/lib/axlsx/drawing/cat_axis.rb index 66f21943..a961d736 100644 --- a/lib/axlsx/drawing/cat_axis.rb +++ b/lib/axlsx/drawing/cat_axis.rb @@ -47,7 +47,9 @@ module Axlsx # must be between a string between 0 and 1000 def lblOffset=(v) RegexValidator.validate "#{self.class}.lblOffset", LBL_OFFSET_REGEX, v; @lblOffset = v; end - + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:catAx>' super(str) diff --git a/lib/axlsx/drawing/cat_axis_data.rb b/lib/axlsx/drawing/cat_axis_data.rb index ced5a305..30df1132 100644 --- a/lib/axlsx/drawing/cat_axis_data.rb +++ b/lib/axlsx/drawing/cat_axis_data.rb @@ -11,7 +11,9 @@ module Axlsx data.each { |i| @list << i } if data.is_a?(SimpleTypedList) end - + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:cat>' str << '<c:strRef>' diff --git a/lib/axlsx/drawing/chart.rb b/lib/axlsx/drawing/chart.rb index 65140d66..62bff861 100644 --- a/lib/axlsx/drawing/chart.rb +++ b/lib/axlsx/drawing/chart.rb @@ -113,7 +113,9 @@ module Axlsx @series.last end - + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<?xml version="1.0" encoding="UTF-8"?>' str << '<c:chartSpace xmlns:c="' << XML_NS_C << '" xmlns:a="' << XML_NS_A << '">' diff --git a/lib/axlsx/drawing/drawing.rb b/lib/axlsx/drawing/drawing.rb index d9241f29..1267d22e 100644 --- a/lib/axlsx/drawing/drawing.rb +++ b/lib/axlsx/drawing/drawing.rb @@ -138,6 +138,9 @@ module Axlsx r end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<?xml version="1.0" encoding="UTF-8"?>' str << '<xdr:wsDr xmlns:xdr="' << XML_NS_XDR << '" xmlns:a="' << XML_NS_A << '" xmlns:c="' << XML_NS_C << '">' diff --git a/lib/axlsx/drawing/graphic_frame.rb b/lib/axlsx/drawing/graphic_frame.rb index d123e58a..6466a656 100644 --- a/lib/axlsx/drawing/graphic_frame.rb +++ b/lib/axlsx/drawing/graphic_frame.rb @@ -28,6 +28,9 @@ module Axlsx "rId#{@anchor.index+1}" end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<xdr:graphicFrame>' str << '<xdr:nvGraphicFramePr>' diff --git a/lib/axlsx/drawing/hyperlink.rb b/lib/axlsx/drawing/hyperlink.rb index ae217f31..6caebb6e 100644 --- a/lib/axlsx/drawing/hyperlink.rb +++ b/lib/axlsx/drawing/hyperlink.rb @@ -73,6 +73,9 @@ module Axlsx end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') h = self.instance_values.merge({:'r:id' => "rId#{id}", :'xmlns:r' => XML_NS_R }) h.delete('href') diff --git a/lib/axlsx/drawing/line_3D_chart.rb b/lib/axlsx/drawing/line_3D_chart.rb index 74c10850..0f8a07f8 100644 --- a/lib/axlsx/drawing/line_3D_chart.rb +++ b/lib/axlsx/drawing/line_3D_chart.rb @@ -85,6 +85,9 @@ module Axlsx @gapDepth=(v) end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do |str_inner| str_inner << '<c:line3DChart>' diff --git a/lib/axlsx/drawing/line_series.rb b/lib/axlsx/drawing/line_series.rb index 136408dd..ac3840f1 100644 --- a/lib/axlsx/drawing/line_series.rb +++ b/lib/axlsx/drawing/line_series.rb @@ -25,6 +25,9 @@ module Axlsx @data = ValAxisData.new(options[:data]) unless options[:data].nil? end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do @labels.to_xml_string(str) unless @labels.nil? diff --git a/lib/axlsx/drawing/marker.rb b/lib/axlsx/drawing/marker.rb index 985cf321..8da9477e 100644 --- a/lib/axlsx/drawing/marker.rb +++ b/lib/axlsx/drawing/marker.rb @@ -50,6 +50,9 @@ module Axlsx self.row = row end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') [:col, :colOff, :row, :rowOff].each do |k| str << '<xdr:' << k.to_s << '>' << self.send(k).to_s << '</xdr:' << k.to_s << '>' diff --git a/lib/axlsx/drawing/named_axis_data.rb b/lib/axlsx/drawing/named_axis_data.rb index 952dc10e..218057ed 100644 --- a/lib/axlsx/drawing/named_axis_data.rb +++ b/lib/axlsx/drawing/named_axis_data.rb @@ -1,14 +1,20 @@ # encoding: UTF-8 +# TODO: review cat, val and named access data to extend this and reduce replicated code. module Axlsx # The ValAxisData class manages the values for a chart value series. class NamedAxisData < CatAxisData + # creates a new NamedAxisData Object + # @param [String] name The serialized node name for the axis data object + # @param [Array] The data to associate with the axis data object def initialize(name, data=[]) super(data) @name = name end - + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:' << @name.to_s << '>' str << '<c:numRef>' diff --git a/lib/axlsx/drawing/one_cell_anchor.rb b/lib/axlsx/drawing/one_cell_anchor.rb index fd33892c..9a202cc1 100644 --- a/lib/axlsx/drawing/one_cell_anchor.rb +++ b/lib/axlsx/drawing/one_cell_anchor.rb @@ -62,6 +62,9 @@ module Axlsx end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<xdr:oneCellAnchor>' str << '<xdr:from>' diff --git a/lib/axlsx/drawing/pic.rb b/lib/axlsx/drawing/pic.rb index 733dc1df..e5e005fa 100644 --- a/lib/axlsx/drawing/pic.rb +++ b/lib/axlsx/drawing/pic.rb @@ -144,6 +144,9 @@ module Axlsx @anchor.from.row = y end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<xdr:pic>' str << '<xdr:nvPicPr>' diff --git a/lib/axlsx/drawing/picture_locking.rb b/lib/axlsx/drawing/picture_locking.rb index 867e32b4..0d6f4e54 100644 --- a/lib/axlsx/drawing/picture_locking.rb +++ b/lib/axlsx/drawing/picture_locking.rb @@ -63,6 +63,9 @@ module Axlsx # @see noChangeShapeType def noChangeShapeType=(v) Axlsx::validate_boolean v; @noChangeShapeType = v end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<a:picLocks ' str << instance_values.map { |key, value| '' << key.to_s << '="' << value.to_s << '"' }.join(' ') diff --git a/lib/axlsx/drawing/pie_3D_chart.rb b/lib/axlsx/drawing/pie_3D_chart.rb index 67ae791b..fea89d0e 100644 --- a/lib/axlsx/drawing/pie_3D_chart.rb +++ b/lib/axlsx/drawing/pie_3D_chart.rb @@ -28,6 +28,9 @@ module Axlsx @view3D = View3D.new({:rotX=>30, :perspective=>30}.merge(options)) end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do |str_inner| str_inner << '<c:pie3DChart>' diff --git a/lib/axlsx/drawing/pie_series.rb b/lib/axlsx/drawing/pie_series.rb index bf61c9ab..0deac1be 100644 --- a/lib/axlsx/drawing/pie_series.rb +++ b/lib/axlsx/drawing/pie_series.rb @@ -1,5 +1,6 @@ # encoding: UTF-8 module Axlsx + # A PieSeries defines the data and labels and explosion for pie charts series. # @note The recommended way to manage series is to use Chart#add_series # @see Worksheet#add_chart @@ -34,6 +35,9 @@ module Axlsx # @see explosion def explosion=(v) Axlsx::validate_unsigned_int(v); @explosion = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do |str_inner| str_inner << '<c:explosion val="' << @explosion << '"/>' unless @explosion.nil? diff --git a/lib/axlsx/drawing/scaling.rb b/lib/axlsx/drawing/scaling.rb index af9cf2aa..29333bc7 100644 --- a/lib/axlsx/drawing/scaling.rb +++ b/lib/axlsx/drawing/scaling.rb @@ -44,6 +44,9 @@ module Axlsx # @see min def min=(v) DataTypeValidator.validate "Scaling.min", Float, v; @min = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:scaling>' str << '<c:logBase val="' << @logBase.to_s << '"/>' unless @logBase.nil? diff --git a/lib/axlsx/drawing/scatter_chart.rb b/lib/axlsx/drawing/scatter_chart.rb index d8d7bb6d..1495a907 100644 --- a/lib/axlsx/drawing/scatter_chart.rb +++ b/lib/axlsx/drawing/scatter_chart.rb @@ -1,6 +1,15 @@ # encoding: UTF-8 module Axlsx + + # The ScatterChart allows you to insert a scatter chart into your worksheet + # @see Worksheet#add_chart + # @see Chart#add_series + # @see README for an example class ScatterChart < Chart + + # The Style for the scatter chart + # must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker + # return [Symbol] attr_reader :scatterStyle # the x value axis @@ -11,6 +20,7 @@ module Axlsx # @return [ValAxis] attr_reader :yValAxis + # Creates a new scatter chart def initialize(frame, options={}) @scatterStyle = :lineMarker @xValAxId = rand(8 ** 8) @@ -19,8 +29,20 @@ module Axlsx @yValAxis = ValAxis.new(@yValAxId, @xValAxId) super(frame, options) @series_type = ScatterSeries + options.each do |o| + self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}=" + end + end + + # see #scatterStyle + def scatterStyle=(v) + Axlsx.validate_scatter_style(v) + @scatterStyle = v end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super do |str| str << '<c:scatterChart>' diff --git a/lib/axlsx/drawing/scatter_series.rb b/lib/axlsx/drawing/scatter_series.rb index 03b2cbdd..2469e0bf 100644 --- a/lib/axlsx/drawing/scatter_series.rb +++ b/lib/axlsx/drawing/scatter_series.rb @@ -1,6 +1,13 @@ # encoding: UTF-8 module Axlsx + + # A ScatterSeries defines the x and y position of data in the chart + # @note The recommended way to manage series is to use Chart#add_series + # @see Worksheet#add_chart + # @see Chart#add_series + # @see examples/example.rb class ScatterSeries < Series + # The x data for this series. # @return [NamedAxisData] attr_reader :xData @@ -9,6 +16,7 @@ module Axlsx # @return [NamedAxisData] attr_reader :yData + # Creates a new ScatterSeries def initialize(chart, options={}) @xData, @yData = nil super(chart, options) @@ -17,6 +25,9 @@ module Axlsx @yData = NamedAxisData.new("yVal", options[:yData]) unless options[:yData].nil? end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') super(str) do |inner_str| @xData.to_xml_string(inner_str) unless @xData.nil? diff --git a/lib/axlsx/drawing/ser_axis.rb b/lib/axlsx/drawing/ser_axis.rb index fdc0d43d..703786e5 100644 --- a/lib/axlsx/drawing/ser_axis.rb +++ b/lib/axlsx/drawing/ser_axis.rb @@ -30,6 +30,9 @@ module Axlsx # @see tickMarkSkip def tickMarkSkip=(v) Axlsx::validate_unsigned_int(v); @tickMarkSkip = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:serAx>' super(str) diff --git a/lib/axlsx/drawing/series.rb b/lib/axlsx/drawing/series.rb index 9ab2db13..798919b5 100644 --- a/lib/axlsx/drawing/series.rb +++ b/lib/axlsx/drawing/series.rb @@ -55,6 +55,9 @@ module Axlsx # assigns the chart for this series def chart=(v) DataTypeValidator.validate "Series.chart", Chart, v; @chart = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:ser>' str << '<c:idx val="' << index.to_s << '"/>' diff --git a/lib/axlsx/drawing/series_title.rb b/lib/axlsx/drawing/series_title.rb index 39ec10d5..658be425 100644 --- a/lib/axlsx/drawing/series_title.rb +++ b/lib/axlsx/drawing/series_title.rb @@ -3,6 +3,9 @@ module Axlsx # A series title is a Title with a slightly different serialization than chart titles. class SeriesTitle < Title + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:tx>' str << '<c:strRef>' diff --git a/lib/axlsx/drawing/title.rb b/lib/axlsx/drawing/title.rb index a9c253c8..a85d8e11 100644 --- a/lib/axlsx/drawing/title.rb +++ b/lib/axlsx/drawing/title.rb @@ -39,6 +39,9 @@ module Axlsx #def overlay=(v) Axlsx::validate_boolean v; @overlay=v; end #def spPr=(v) DataTypeValidator.validate 'Title.spPr', SpPr, v; @spPr = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:title>' unless @text.empty? diff --git a/lib/axlsx/drawing/two_cell_anchor.rb b/lib/axlsx/drawing/two_cell_anchor.rb index cfa102ae..b496bd8a 100644 --- a/lib/axlsx/drawing/two_cell_anchor.rb +++ b/lib/axlsx/drawing/two_cell_anchor.rb @@ -55,6 +55,9 @@ module Axlsx @drawing.anchors.index(self) end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<xdr:twoCellAnchor>' str << '<xdr:from>' diff --git a/lib/axlsx/drawing/val_axis.rb b/lib/axlsx/drawing/val_axis.rb index f2675733..6e55c8ea 100644 --- a/lib/axlsx/drawing/val_axis.rb +++ b/lib/axlsx/drawing/val_axis.rb @@ -22,6 +22,9 @@ module Axlsx # @see crossBetween def crossBetween=(v) RestrictionValidator.validate "ValAxis.crossBetween", [:between, :midCat], v; @crossBetween = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:valAx>' super(str) diff --git a/lib/axlsx/drawing/val_axis_data.rb b/lib/axlsx/drawing/val_axis_data.rb index c28e8a58..61044cd6 100644 --- a/lib/axlsx/drawing/val_axis_data.rb +++ b/lib/axlsx/drawing/val_axis_data.rb @@ -3,6 +3,9 @@ module Axlsx # The ValAxisData class manages the values for a chart value series. class ValAxisData < CatAxisData + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:val>' str << '<c:numRef>' diff --git a/lib/axlsx/drawing/view_3D.rb b/lib/axlsx/drawing/view_3D.rb index c2af0953..1090f4a7 100644 --- a/lib/axlsx/drawing/view_3D.rb +++ b/lib/axlsx/drawing/view_3D.rb @@ -70,6 +70,9 @@ module Axlsx def perspective=(v) DataTypeValidator.validate "#{self.class}.perspective", [Integer, Fixnum], v, lambda {|arg| arg >= 0 && arg <= 240 }; @perspective = v; end + # Serializes the object + # @param [String] str + # @return [String] def to_xml_string(str = '') str << '<c:view3D>' str << '<c:rotX val="' << @rotX.to_s << '"/>' unless @rotX.nil? |
