Class: Axlsx::Marker

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

Overview

Note:

The recommended way to manage markers is Worksheet#add_chart Markers are created for a two cell anchor based on the :start and :end options.

The Marker class defines a point in the worksheet that drawing anchors attach to.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Marker

Creates a new Marker object

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • col (Integer)
  • colOff (Integer)
  • row (Integer)
  • rowOff (Integer)


28
29
30
31
32
33
# File 'lib/axlsx/drawing/marker.rb', line 28

def initialize(options={})
  @col, @colOff, @row, @rowOff = 0, 0, 0, 0
  options.each do |o|
    self.send("#{o[0]}=", o[1]) if self.respond_to? o[0]
  end      
end

Instance Attribute Details

#colInteger

The column this marker anchors to

Returns:

  • (Integer)


9
10
11
# File 'lib/axlsx/drawing/marker.rb', line 9

def col
  @col
end

#colOffInteger

The offset distance from this marker’s column

Returns:

  • (Integer)


13
14
15
# File 'lib/axlsx/drawing/marker.rb', line 13

def colOff
  @colOff
end

#rowInteger

The row this marker anchors to

Returns:

  • (Integer)


17
18
19
# File 'lib/axlsx/drawing/marker.rb', line 17

def row
  @row
end

#rowOffInteger

The offset distance from this marker’s row

Returns:

  • (Integer)


21
22
23
# File 'lib/axlsx/drawing/marker.rb', line 21

def rowOff
  @rowOff
end

Instance Method Details

#coord(col, row) ⇒ Object

shortcut to set the column, row position for this marker

Parameters:

  • col

    the column for the marker

  • row

    the row of the marker



43
44
45
46
# File 'lib/axlsx/drawing/marker.rb', line 43

def coord(col, row)
  self.col = col
  self.row = row
end

#to_xml(xml) ⇒ String

Serializes the marker

Parameters:

  • xml (Nokogiri::XML::Builder)

    The document builder instance this objects xml will be added to.

Returns:

  • (String)


50
51
52
53
54
# File 'lib/axlsx/drawing/marker.rb', line 50

def to_xml(xml)
  [:col, :colOff, :row, :rowOff].each do |k|
    xml.send("xdr:#{k.to_s}", self.send(k))
  end      
end