Class: Writexlsx::Drawing

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDrawing

Returns a new instance of Drawing.



8
9
10
11
12
13
# File 'lib/write_xlsx/drawing.rb', line 8

def initialize
  @writer = Package::XMLWriterSimple.new
  @drawings    = []
  @embedded    = false
  @orientation = false
end

Instance Attribute Details

#embedded=(value) ⇒ Object (writeonly)

Sets the attribute embedded

Parameters:

  • value

    the value to set the attribute embedded to.



6
7
8
# File 'lib/write_xlsx/drawing.rb', line 6

def embedded=(value)
  @embedded = value
end

Instance Method Details

#add_drawing_object(*args) ⇒ Object

Add a chart or image sub object to the drawing.



56
57
58
# File 'lib/write_xlsx/drawing.rb', line 56

def add_drawing_object(*args)
  @drawings << args
end

#assemble_xml_fileObject

Assemble and write the XML file.



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/write_xlsx/drawing.rb', line 26

def assemble_xml_file
  @writer.xml_decl

  # Write the xdr:wsDr element.
  write_drawing_workspace

  if @embedded
      index = 0
      @drawings.each do |dimensions|
        # Write the xdr:twoCellAnchor element.
        index += 1

        write_two_cell_anchor(index, *(dimensions.flatten))
      end
  else
    index = 0

    # Write the xdr:absoluteAnchor element.
    index += 1
    write_absolute_anchor(index)
  end

  @writer.end_tag('xdr:wsDr')
  @writer.crlf
  @writer.close
end

#set_xml_writer(filename) ⇒ Object



19
20
21
# File 'lib/write_xlsx/drawing.rb', line 19

def set_xml_writer(filename)
  @writer.set_xml_writer(filename)
end

#xml_strObject



15
16
17
# File 'lib/write_xlsx/drawing.rb', line 15

def xml_str
  @writer.string
end