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)


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

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)


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

def col
  @col
end

#colOffInteger

The offset distance from this marker’s column

Returns:

  • (Integer)


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

def colOff
  @colOff
end

#rowInteger

The row this marker anchors to

Returns:

  • (Integer)


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

def row
  @row
end

#rowOffInteger

The offset distance from this marker’s row

Returns:

  • (Integer)


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

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



48
49
50
51
# File 'lib/axlsx/drawing/marker.rb', line 48

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)


55
56
57
58
59
# File 'lib/axlsx/drawing/marker.rb', line 55

def to_xml(xml)
  [:col, :colOff, :row, :rowOff].each do |k|
    xml.send(k.to_sym, self.send(k))
  end      
end