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 |