Sha256: ecb864c522aa4a0de99b5b1ce015d464bebdf7d3449d571288cb9ee2044d79ce

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

# Chart Axis Title
module OoxmlParser
  class ChartAxisTitle < OOXMLDocumentObject
    attr_accessor :layout, :overlay, :elements

    def initialize(layout = nil, overlay = nil, elements = [])
      @layout = layout
      @overlay = overlay
      @elements = elements
    end

    def nil?
      @layout.nil? && @overlay.nil? && @elements.empty?
    end

    def self.parse(axis_title_node)
      title = ChartAxisTitle.new
      axis_title_node.xpath('*').each do |title_node_child|
        case title_node_child.name
        when 'tx'
          title_node_child.xpath('c:rich/*').each do |rich_node_child|
            case rich_node_child.name
            when 'p'
              Presentation.current_font_style = FontStyle.new(true) # Default font style for chart title always bold
              title.elements << Paragraph.parse(rich_node_child)
              Presentation.current_font_style = FontStyle.new
            end
          end
        when 'layout'
          title.layout = OOXMLDocumentObject.option_enabled?(title_node_child)
        when 'overlay'
          title.overlay = OOXMLDocumentObject.option_enabled?(title_node_child)
        end
      end
      title
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ooxml_parser-0.1.2 lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_axis_title.rb
ooxml_parser-0.1.1 lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_axis_title.rb