Sha256: 6e0ffff7f054729619f4f0d70b607fa1f96aa3e955776e60424d2826c92441d3

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents

module OoxmlParser
  class GraphicFrame < OOXMLDocumentObject
    attr_accessor :properties, :transform, :graphic_data

    def initialize(graphic_data = [])
      @graphic_data = graphic_data
    end

    def self.parse(graphic_frame_node)
      graphic_frame = GraphicFrame.new
      graphic_frame_node.xpath('*').each do |graphic_frame_node_child|
        case graphic_frame_node_child.name
        when 'nvGraphicFramePr'
        when 'xfrm'
          graphic_frame.transform = TransformEffect.parse(graphic_frame_node_child)
        when 'graphic'
          graphic_data = []
          graphic_frame_node_child.xpath('a:graphicData/*').each do |graphic_node_child|
            case graphic_node_child.name
            when 'tbl'
              graphic_data << Table.parse(graphic_node_child)
            when 'chart'
              OOXMLDocumentObject.add_to_xmls_stack(OOXMLDocumentObject.get_link_from_rels(graphic_node_child.attribute('id').value))
              graphic_data << Chart.parse
              OOXMLDocumentObject.xmls_stack.pop
            end
          end
          graphic_frame.graphic_data = graphic_data
        end
      end
      graphic_frame
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ooxml_parser-0.1.2 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/graphic_frame/graphic_frame.rb
ooxml_parser-0.1.1 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/graphic_frame/graphic_frame.rb