Sha256: d591d071382e802bbf259d0aab161c29ea275c0644f29a638cd7c24e8e1013be

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

require_relative 'docx_group_element'
# Docx Groping Drawing Data
module OoxmlParser
  class DocxGroupedDrawing < OOXMLDocumentObject
    attr_accessor :elements, :properties

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

    def self.parse(grouping_node)
      grouping = DocxGroupedDrawing.new
      grouping_node.xpath('*').each do |grouping_node_child|
        case grouping_node_child.name
        when 'grpSpPr'
          grouping.properties = DocxShapeProperties.parse(grouping_node_child)
        when 'cNvGrpSpPr'
        when 'pic'
          element = DocxGroupElement.new(:picture)
          element.object = DocxPicture.parse(grouping_node_child)
          grouping.elements << element
        when 'wsp'
          element = DocxGroupElement.new(:shape)
          element.object = DocxShape.parse(grouping_node_child)
          grouping.elements << element
        when 'grpSp'
          element = parse(grouping_node_child)
          grouping.elements << element
        end
      end
      grouping
    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/drawing/graphic/group/docx_grouped_drawing.rb
ooxml_parser-0.1.1 lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/group/docx_grouped_drawing.rb