class OoxmlParser::GraphicFrame

Class for parsing ‘graphicFrame`

Attributes

graphic_data[RW]
non_visual_properties[RW]

@return [NonVisualShapeProperties] non visual properties

properties[RW]
transform[RW]

Public Class Methods

new(graphic_data = [], parent: nil) click to toggle source
Calls superclass method OoxmlParser::OOXMLDocumentObject::new
# File lib/ooxml_parser/pptx_parser/presentation/slide/graphic_frame/graphic_frame.rb, line 12
def initialize(graphic_data = [], parent: nil)
  @graphic_data = graphic_data
  super(parent: parent)
end

Public Instance Methods

parse(node) click to toggle source

Parse GraphicFrame object @param node [Nokogiri::XML:Element] node to parse @return [GraphicFrame] result of parsing

# File lib/ooxml_parser/pptx_parser/presentation/slide/graphic_frame/graphic_frame.rb, line 20
def parse(node)
  node.xpath('*').each do |node_child|
    case node_child.name
    when 'xfrm'
      @transform = DocxShapeSize.new(parent: self).parse(node_child)
    when 'graphic'
      graphic_data = []
      node_child.xpath('*').each do |node_child_child|
        case node_child_child.name
        when 'graphicData'
          node_child_child.xpath('*').each do |graphic_node_child|
            case graphic_node_child.name
            when 'tbl'
              graphic_data << Table.new(parent: self).parse(graphic_node_child)
            when 'chart'
              @chart_reference = ChartReference.new(parent: self).parse(graphic_node_child)
              root_object.add_to_xmls_stack(root_object.get_link_from_rels(@chart_reference.id))
              graphic_data << Chart.new(parent: self).parse
              root_object.xmls_stack.pop
            when 'oleObj'
              graphic_data << OleObject.new(parent: self).parse(graphic_node_child)
            end
          end
        end
      end
      @graphic_data = graphic_data
    when 'nvGraphicFramePr'
      @non_visual_properties = NonVisualShapeProperties.new(parent: self).parse(node_child)
    end
  end
  self
end