require 'rubyXL/objects/ooxml_object'
require 'rubyXL/objects/simple_types'
require 'rubyXL/objects/extensions'
module RubyXL
# http://www.schemacentral.com/sc/ooxml/e-ssml_dateGroupItem-1.html
class DateGroupItem < OOXMLObject
define_attribute(:year, :int, :required => true)
define_attribute(:month, :int)
define_attribute(:day, :int)
define_attribute(:hour, :int)
define_attribute(:minute, :int)
define_attribute(:second, :int)
define_attribute(:dateTimeGrouping, RubyXL::ST_DateTimeGrouping)
define_element_name 'dateGroupItem'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_filters-1.html
class FilterContainer < OOXMLObject
define_attribute(:blank, :bool, :default => false)
define_attribute(:calendarType, RubyXL::ST_CalendarType, :default => 'none')
define_child_node(RubyXL::StringValue, :collection => true, :accessor => :filters, :node_name => :filter)
define_child_node(RubyXL::DateGroupItem, :collection => true, :accessor => :date_group_items)
define_element_name 'filters'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_top10-1.html
class Top10 < OOXMLObject
define_attribute(:top, :bool, :default => true)
define_attribute(:percent, :bool, :default => false)
define_attribute(:val, :double, :required => true)
define_attribute(:filterVal, :double)
define_element_name 'top10'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_customFilter-1.html
class CustomFilter < OOXMLObject
define_attribute(:operator, RubyXL::ST_FilterOperator, :default => 'equal')
define_attribute(:val, :string)
define_element_name 'customFilter'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_customFilters-1.html
class CustomFilters < OOXMLContainerObject
define_attribute(:and, :bool, :default => false)
define_child_node(RubyXL::CustomFilter, :collection => true)
define_element_name 'customFilters'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_dynamicFilter-1.html
class DynamicFilter < OOXMLObject
define_attribute(:type, RubyXL::ST_DynamicFilterType, :required => true)
define_attribute(:val, :double)
define_attribute(:maxVal, :double)
define_element_name 'dynamicFilter'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_colorFilter-1.html
class ColorFilter < OOXMLObject
define_attribute(:dxfId, :string)
define_attribute(:cellColor, :bool)
define_element_name 'colorFilter'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_iconFilter-1.html
class IconFilter < OOXMLObject
define_attribute(:iconSet, RubyXL::ST_IconSetType)
define_attribute(:iconId, :int)
define_element_name 'iconFilter'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_filterColumn-1.html
class AutoFilterColumn < OOXMLObject
define_attribute(:colId, :int, :required => true)
define_attribute(:hiddenButton, :bool, :default => false)
define_attribute(:showButton, :bool, :default => true)
define_child_node(RubyXL::FilterContainer)
define_child_node(RubyXL::Top10)
define_child_node(RubyXL::CustomFilters)
define_child_node(RubyXL::DynamicFilter)
define_child_node(RubyXL::ColorFilter)
define_child_node(RubyXL::IconFilter)
define_child_node(RubyXL::ExtensionStorageArea)
define_element_name 'filterColumn'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_sortCondition-1.html
class SortCondition < OOXMLObject
define_attribute(:descending, :bool, :default => false)
define_attribute(:sortBy, RubyXL::ST_SortBy, :default => 'value')
define_attribute(:ref, :ref, :required => true)
define_attribute(:customList, :string)
define_attribute(:dxfId, :int)
define_attribute(:iconSet, RubyXL::ST_IconSetType, :required => true, :default => '3Arrows')
define_attribute(:iconId, :int)
define_element_name 'sortCondition'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_sortState-2.html
class SortState < OOXMLObject
define_attribute(:columnSort, :bool, :default => false)
define_attribute(:caseSensitive, :bool, :default => false)
define_attribute(:sortMethod, RubyXL::ST_SortMethod, :default => 'none')
define_attribute(:ref, :ref, :required => true)
define_child_node(RubyXL::SortCondition, :collection => true)
define_child_node(RubyXL::ExtensionStorageArea)
define_element_name 'sortState'
end
# http://www.schemacentral.com/sc/ooxml/e-ssml_autoFilter-2.html
class AutoFilter < OOXMLObject
define_attribute(:ref, :ref)
define_child_node(RubyXL::AutoFilterColumn)
define_child_node(RubyXL::SortState)
define_child_node(RubyXL::ExtensionStorageArea)
define_element_name 'autoFilter'
end
end