Class: Axlsx::Title

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/drawing/title.rb

Overview

A Title stores information about the title of a chart

Direct Known Subclasses

SeriesTitle

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(title = "") ⇒ Title

Creates a new Title object

Parameters:

  • title (String, Cell) (defaults to: "")

    The cell or string to be used for the chart’s title



15
16
17
18
# File 'lib/axlsx/drawing/title.rb', line 15

def initialize(title="")
  self.cell = title if title.is_a?(Cell)
  self.text = title.to_s unless title.is_a?(Cell)
end

Instance Attribute Details

#cellCell

The cell that holds the text for the title. Setting this property will automatically update the text attribute.

Returns:



11
12
13
# File 'lib/axlsx/drawing/title.rb', line 11

def cell
  @cell
end

#textString

The text to be shown. Setting this property directly with a string will remove the cell reference.

Returns:

  • (String)


7
8
9
# File 'lib/axlsx/drawing/title.rb', line 7

def text
  @text
end

Instance Method Details

#to_xml(xml) ⇒ String

Serializes the chart title

Parameters:

  • xml (Nokogiri::XML::Builder)

    The document builder instance this objects xml will be added to.

Returns:

  • (String)


44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/axlsx/drawing/title.rb', line 44

def to_xml(xml)
  xml.send('c:title') {
    xml.send('c:tx') {
      xml.send('c:strRef') {
        xml.send('c:f', Axlsx::cell_range([@cell]))
        xml.send('c:strCache') {
          xml.send('c:ptCount', :val=>1)
          xml.send('c:pt', :idx=>0) {
            xml.send('c:v', @text)
          }
        }
      }
    }
  }      
end