From e9b5487f3b53a974ff438d25b1402b73ba96fe75 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Hühne Date: Wed, 6 Jun 2012 18:40:49 +0200 Subject: Added selection function to the sheet view class. --- lib/axlsx/workbook/worksheet/sheet_view.rb | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/axlsx/workbook/worksheet/sheet_view.rb b/lib/axlsx/workbook/worksheet/sheet_view.rb index 87e208c9..0cc50200 100644 --- a/lib/axlsx/workbook/worksheet/sheet_view.rb +++ b/lib/axlsx/workbook/worksheet/sheet_view.rb @@ -7,7 +7,7 @@ module Axlsx class SheetView # instance values that must be serialized as their own elements - e.g. not attributes. - CHILD_ELEMENTS = [ :pane ] + CHILD_ELEMENTS = [ :pane, :selections ] # The pane object for the sheet view # @return [Pane] @@ -259,6 +259,7 @@ module Axlsx @default_grid_color = @show_grid_lines = @show_row_col_headers = @show_ruler = @show_zeros = true @zoom_scale = 100 @zoom_scale_normal = @zoom_scale_page_layout_view = @zoom_scale_sheet_layout_view = @workbook_view_id = 0 + @selections = {} # write options to instance variables options.each do |o| @@ -267,6 +268,14 @@ module Axlsx end + # Adds a new selection + # param [Symbol] pane + # param [Hash] options + # return [Selection] + def add_selection(pane, options = {}) + @selections[pane] = Selection.new(options.merge(:pane => pane)) + end + # @see color_id def color_id=(v); Axlsx::validate_unsigned_int(v); @color_id = v end @@ -356,6 +365,9 @@ module Axlsx str << instance_values.map { |key, value| '' << key.gsub(/_(.)/){ $1.upcase } << %{="#{value}"} unless CHILD_ELEMENTS.include?(key.to_sym) }.join(' ') str << '>' @pane.to_xml_string(str) if @pane + @selections.each do |key, selection| + selection.to_xml_string(str) + end str << '' str << '' str << '' -- cgit v1.2.3