Module: Writexlsx::Worksheet::DrawingRelations
- Included in:
- Writexlsx::Worksheet
- Defined in:
- lib/write_xlsx/worksheet/drawing_relations.rb
Instance Method Summary collapse
- #drawing_links ⇒ Object
-
#drawing_rel_index(target = nil) ⇒ Object
DrawingRelations.
- #external_links ⇒ Object
-
#get_vml_drawing_rel_index(target) ⇒ Object
Get the index used to address a vml_drawing rel link.
-
#set_external_comment_links(comment_id) ⇒ Object
:nodoc:.
-
#set_external_vml_links(vml_drawing_id) ⇒ Object
:nodoc:.
Instance Method Details
#drawing_links ⇒ Object
71 72 73 |
# File 'lib/write_xlsx/worksheet/drawing_relations.rb', line 71 def drawing_links [@drawing_links] end |
#drawing_rel_index(target = nil) ⇒ Object
DrawingRelations
Manages drawing relationships and external linkage information.
Responsibilities:
-
Relationship ID allocation for drawings and VML objects
-
Tracking drawing and VML relationship mappings
-
Managing external links for drawings, comments, tables, and media
-
Providing relationship data for rels file generation
This module handles *how drawing resources are linked together*. It does not prepare drawing objects or write XML output.
Get the index used to address a drawing rel link.
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/write_xlsx/worksheet/drawing_relations.rb', line 26 def drawing_rel_index(target = nil) if !target # Undefined values for drawings like charts will always be unique. @drawing_rels_id += 1 elsif ptrue?(@drawing_rels[target]) @drawing_rels[target] else @drawing_rels_id += 1 @drawing_rels[target] = @drawing_rels_id end end |
#external_links ⇒ Object
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/write_xlsx/worksheet/drawing_relations.rb', line 60 def external_links [ @external_hyper_links, @external_drawing_links, @external_vml_links, @external_background_links, @external_table_links, @external_comment_links ].reject(&:empty?) end |
#get_vml_drawing_rel_index(target) ⇒ Object
Get the index used to address a vml_drawing rel link.
41 42 43 44 45 46 47 48 |
# File 'lib/write_xlsx/worksheet/drawing_relations.rb', line 41 def get_vml_drawing_rel_index(target) if @vml_drawing_rels[target] @vml_drawing_rels[target] else @vml_drawing_rels_id += 1 @vml_drawing_rels[target] = @vml_drawing_rels_id end end |
#set_external_comment_links(comment_id) ⇒ Object
:nodoc:
55 56 57 58 |
# File 'lib/write_xlsx/worksheet/drawing_relations.rb', line 55 def set_external_comment_links(comment_id) # :nodoc: @external_comment_links << ['/comments', "../comments#{comment_id}.xml"] end |
#set_external_vml_links(vml_drawing_id) ⇒ Object
:nodoc:
50 51 52 53 |
# File 'lib/write_xlsx/worksheet/drawing_relations.rb', line 50 def set_external_vml_links(vml_drawing_id) # :nodoc: @external_vml_links << ['/vmlDrawing', "../drawings/vmlDrawing#{vml_drawing_id}.vml"] end |