Class: Axlsx::Title
- Inherits:
-
Object
- Object
- Axlsx::Title
- Defined in:
- lib/axlsx/drawing/title.rb
Overview
A Title stores information about the title of a chart
Direct Known Subclasses
Instance Attribute Summary collapse
-
#cell ⇒ Cell
The cell that holds the text for the title.
-
#text ⇒ String
The text to be shown.
-
#text_size ⇒ String
Text size property.
Instance Method Summary collapse
-
#empty? ⇒ Boolean
Check if the title is empty.
-
#initialize(title = "", title_size = "") ⇒ Title
constructor
Creates a new Title object.
-
#to_xml_string(str = +'')) ⇒ String
Serializes the object.
Constructor Details
#initialize(title = "", title_size = "") ⇒ Title
Creates a new Title object
20 21 22 23 24 25 26 27 28 |
# File 'lib/axlsx/drawing/title.rb', line 20 def initialize(title = "", title_size = "") self.cell = title if title.is_a?(Cell) self.text = title.to_s unless title.is_a?(Cell) self.text_size = if title_size.to_s.empty? "1600" else title_size.to_s end end |
Instance Attribute Details
#cell ⇒ Cell
The cell that holds the text for the title. Setting this property will automatically update the text attribute.
16 17 18 |
# File 'lib/axlsx/drawing/title.rb', line 16 def cell @cell end |
#text ⇒ String
The text to be shown. Setting this property directly with a string will remove the cell reference.
8 9 10 |
# File 'lib/axlsx/drawing/title.rb', line 8 def text @text end |
#text_size ⇒ String
Text size property
12 13 14 |
# File 'lib/axlsx/drawing/title.rb', line 12 def text_size @text_size end |
Instance Method Details
#empty? ⇒ Boolean
Check if the title is empty.
A title is considered empty if it is an empty string. If the title references a cell it is not empty, even if the referenced cell is blank (because the cell’s value could still change later).
57 58 59 |
# File 'lib/axlsx/drawing/title.rb', line 57 def empty? @text.empty? && @cell.nil? end |
#to_xml_string(str = +'')) ⇒ String
Serializes the object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/axlsx/drawing/title.rb', line 69 def to_xml_string(str = +'') str << '<c:title>' unless empty? clean_value = Axlsx.trust_input ? @text.to_s : ::CGI.escapeHTML(Axlsx.sanitize(@text.to_s)) str << '<c:tx>' if @cell.is_a?(Cell) str << '<c:strRef>' str << '<c:f>' << Axlsx.cell_range([@cell]) << '</c:f>' str << '<c:strCache>' str << '<c:ptCount val="1"/>' str << '<c:pt idx="0">' str << '<c:v>' << clean_value << '</c:v>' str << '</c:pt>' str << '</c:strCache>' str << '</c:strRef>' else str << '<c:rich>' str << '<a:bodyPr/>' str << '<a:lstStyle/>' str << '<a:p>' str << '<a:r>' str << '<a:rPr sz="' << @text_size.to_s << '"/>' str << '<a:t>' << clean_value << '</a:t>' str << '</a:r>' str << '</a:p>' str << '</c:rich>' end str << '</c:tx>' end str << '<c:layout/>' str << '<c:overlay val="0"/>' str << '</c:title>' end |