summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/drawing/drawing.rb
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-02-02 20:26:15 +0900
committerRandy Morgan <[email protected]>2012-02-02 20:26:15 +0900
commit710f5eac4d8d7d017c42348180e9ae0a5e8fec3c (patch)
tree4cce6fc0e445705de8e3cad06152a7455c2942bf /lib/axlsx/drawing/drawing.rb
parentd4a00926a263329befc9526a930b274210a13abf (diff)
downloadcaxlsx-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.rb11
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