summaryrefslogtreecommitdiff
path: root/report/xml_report.rb
diff options
context:
space:
mode:
Diffstat (limited to 'report/xml_report.rb')
-rwxr-xr-xreport/xml_report.rb66
1 files changed, 49 insertions, 17 deletions
diff --git a/report/xml_report.rb b/report/xml_report.rb
index 7467c47..b308c01 100755
--- a/report/xml_report.rb
+++ b/report/xml_report.rb
@@ -93,38 +93,70 @@ module Reports
end
end
- # adds a new image to a REXML:Element, returns the figure as element
- #
- # example: <tt>add_imagefigure( section2, "Nice graph", "/images/graph1.svg", "SVG", "This graph shows..." )</tt>
- #
- # call-seq:
- # add_imagefigure( element, title, path, filetype, caption = nil ) => REXML::Element
- #
- def add_imagefigure( element, title, path, filetype, size_pct=100, caption = nil )
-
+ def imagefigure( title, path, filetype, size_pct=100, caption = nil )
figure = Reports::XMLReportUtil.attribute_element("figure", {"float" => 0})
figure << Reports::XMLReportUtil.text_element("title", title)
media = Element.new("mediaobject")
image = Element.new("imageobject")
imagedata = Reports::XMLReportUtil.attribute_element("imagedata",
- {"fileref" => path, "format"=>filetype, "contentwidth" => size_pct.to_s+"%",
- #"contentdepth"=> "4in"
- })#"width" => "6in", "height" => "5in"}) #"contentwidth" => "100%"})
+ {"fileref" => path, "format"=>filetype, "contentwidth" => size_pct.to_s+"%",
+ #"contentdepth"=> "4in"
+ })#"width" => "6in", "height" => "5in"}) #"contentwidth" => "100%"})
#imagedata = Reports::XMLReportUtil.attribute_element("imagedata",{"width" => "6in", "fileref" => path, "format"=>filetype})
@resource_path_elements[imagedata] = "fileref"
image << imagedata
-
media << image
-
# ulink = Element.new("ulink")
# ulink.add_attributes({"url" => "http://google.de"})
# ulink << image
# media << ulink
-
media << Reports::XMLReportUtil.text_element("caption", caption) if caption
- figure << media
+ figure << media
+ figure
+ end
+
+ # adds a new image to a REXML:Element, returns the figure as element
+ #
+ # example: <tt>add_imagefigure( section2, "Nice graph", "/images/graph1.svg", "SVG", "This graph shows..." )</tt>
+ #
+ # call-seq:
+ # add_imagefigure( element, title, path, filetype, caption = nil ) => REXML::Element
+ #
+ def add_imagefigure( element, title, path, filetype, size_pct=100, caption = nil )
+ figure = imagefigure( title, path, filetype, size_pct, caption)
element << figure
- return figure
+ return figure
+ end
+
+ # bit of a hack to algin the last two elements that have been added to element into one row
+ def align_last_two_elements( element, title )
+ imgs = []
+ element.elements.each do |e|
+ imgs[0] = imgs[1]
+ imgs[1] = e
+ end
+ element.delete_element imgs[0]
+ element.delete_element imgs[1]
+ add_imagefigures_in_row( element, imgs, title )
+ end
+
+ def add_imagefigures_in_row( element, imagefigures, title )
+ params = {"frame" => "none", "colsep" => 0, "rowsep" => 0 }
+ table = Reports::XMLReportUtil.attribute_element("table",params)
+ table << Reports::XMLReportUtil.text_element("title", title)
+ tgroup = Reports::XMLReportUtil.attribute_element("tgroup",{"cols" => 2})
+ tbody = Element.new("tbody")
+ row = Element.new("row")
+ imagefigures.each do |f|
+ entry = Element.new("entry")
+ entry << f
+ row << entry
+ end
+ tbody << row
+ tgroup << tbody
+ table << tgroup
+ element << table
+ table
end
def add_image( element, url )