summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/drawing
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-04-03 08:38:37 +0900
committerRandy Morgan <[email protected]>2012-04-03 08:38:37 +0900
commit7df172a8f3815e1291f41098705650afd5a2b41d (patch)
tree35f25742e09201a50c595ac0250c000a3c272c65 /lib/axlsx/drawing
parent6f998ecb098c2a3a5eabc6f8ef44a0f25632f2c8 (diff)
downloadcaxlsx-7df172a8f3815e1291f41098705650afd5a2b41d.tar.gz
caxlsx-7df172a8f3815e1291f41098705650afd5a2b41d.zip
pre-release cleanup
Diffstat (limited to 'lib/axlsx/drawing')
-rw-r--r--lib/axlsx/drawing/axis.rb3
-rw-r--r--lib/axlsx/drawing/bar_3D_chart.rb3
-rw-r--r--lib/axlsx/drawing/bar_series.rb3
-rw-r--r--lib/axlsx/drawing/cat_axis.rb4
-rw-r--r--lib/axlsx/drawing/cat_axis_data.rb4
-rw-r--r--lib/axlsx/drawing/chart.rb4
-rw-r--r--lib/axlsx/drawing/drawing.rb3
-rw-r--r--lib/axlsx/drawing/graphic_frame.rb3
-rw-r--r--lib/axlsx/drawing/hyperlink.rb3
-rw-r--r--lib/axlsx/drawing/line_3D_chart.rb3
-rw-r--r--lib/axlsx/drawing/line_series.rb3
-rw-r--r--lib/axlsx/drawing/marker.rb3
-rw-r--r--lib/axlsx/drawing/named_axis_data.rb8
-rw-r--r--lib/axlsx/drawing/one_cell_anchor.rb3
-rw-r--r--lib/axlsx/drawing/pic.rb3
-rw-r--r--lib/axlsx/drawing/picture_locking.rb3
-rw-r--r--lib/axlsx/drawing/pie_3D_chart.rb3
-rw-r--r--lib/axlsx/drawing/pie_series.rb4
-rw-r--r--lib/axlsx/drawing/scaling.rb3
-rw-r--r--lib/axlsx/drawing/scatter_chart.rb22
-rw-r--r--lib/axlsx/drawing/scatter_series.rb11
-rw-r--r--lib/axlsx/drawing/ser_axis.rb3
-rw-r--r--lib/axlsx/drawing/series.rb3
-rw-r--r--lib/axlsx/drawing/series_title.rb3
-rw-r--r--lib/axlsx/drawing/title.rb3
-rw-r--r--lib/axlsx/drawing/two_cell_anchor.rb3
-rw-r--r--lib/axlsx/drawing/val_axis.rb3
-rw-r--r--lib/axlsx/drawing/val_axis_data.rb3
-rw-r--r--lib/axlsx/drawing/view_3D.rb3
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?