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_string(str = '') ⇒ String

Serializes the object

Parameters:

  • str (String) (defaults to: '')

Returns:

  • (String)


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

def to_xml_string(str = '')
  [:col, :colOff, :row, :rowOff].each do |k|
    str << '<xdr:' << k.to_s << '>' << self.send(k).to_s << '</xdr:' << k.to_s << '>'
  end
end