diff options
| author | Randy Morgan <[email protected]> | 2012-02-02 20:26:15 +0900 |
|---|---|---|
| committer | Randy Morgan <[email protected]> | 2012-02-02 20:26:15 +0900 |
| commit | 710f5eac4d8d7d017c42348180e9ae0a5e8fec3c (patch) | |
| tree | 4cce6fc0e445705de8e3cad06152a7455c2942bf /lib/axlsx/drawing/drawing.rb | |
| parent | d4a00926a263329befc9526a930b274210a13abf (diff) | |
| download | caxlsx-710f5eac4d8d7d017c42348180e9ae0a5e8fec3c.tar.gz caxlsx-710f5eac4d8d7d017c42348180e9ae0a5e8fec3c.zip | |
Adding in hyperlinking for images as per issue #22
Diffstat (limited to 'lib/axlsx/drawing/drawing.rb')
| -rw-r--r-- | lib/axlsx/drawing/drawing.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/axlsx/drawing/drawing.rb b/lib/axlsx/drawing/drawing.rb index 3775d8cc..0f8e0892 100644 --- a/lib/axlsx/drawing/drawing.rb +++ b/lib/axlsx/drawing/drawing.rb @@ -29,6 +29,7 @@ module Axlsx require 'axlsx/drawing/picture_locking.rb' require 'axlsx/drawing/pic.rb' + require 'axlsx/drawing/hyperlink.rb' # A Drawing is a canvas for charts. Each worksheet has a single drawing that manages anchors. # The anchors reference the charts via graphical frames. This is not a trivial relationship so please do follow the advice in the note. @@ -79,6 +80,13 @@ module Axlsx charts.map { |a| a.object.chart } end + # An array of hyperlink objects associated with this drawings images + # @return [Array] + def hyperlinks + links = self.images.select { |a| a.hyperlink.is_a?(Hyperlink) } + links.map { |a| a.hyperlink } + end + # An array of image objects that are associated with this drawing's anchors # @return [Array] def images @@ -120,6 +128,9 @@ module Axlsx images.each do |image| r << Relationship.new(IMAGE_R, "../#{image.pn}") end + hyperlinks.each do |hyperlink| + r << Relationship.new(HYPERLINK_R, hyperlink.href, :target_mode => :External) + end r end |
