# encoding: UTF-8 <-- magic comment, need this because of sime fancy fonts in the default scheme below. See http://stackoverflow.com/questions/6444826/ruby-utf-8-file-encoding require 'rubyXL/objects/ooxml_object' require 'rubyXL/objects/extensions' module RubyXL # http://www.schemacentral.com/sc/ooxml/e-a_ext-1.html class AExtension < OOXMLObject define_attribute(:uri, :string) define_element_name 'a:ext' attr_accessor :raw_xml def self.parse(node) obj = new obj.raw_xml = node.to_xml obj end def write_xml(xml, node_name_override = nil) self.raw_xml end end class AExtensionStorageArea < OOXMLObject define_child_node(RubyXL::AExtension, :collection => true) define_element_name 'a:extLst' end # http://www.schemacentral.com/sc/ooxml/e-a_srgbClr-1.html class CT_ScRgbColor < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint') define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade') define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp') define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:red') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:green') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma') define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma') define_attribute(:r, :int, :required => true) define_attribute(:g, :int, :required => true) define_attribute(:b, :int, :required => true) define_element_name 'a:scrgbClr' end # http://www.schemacentral.com/sc/ooxml/e-a_srgbClr-1.html class CT_SRgbColor < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint') define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade') define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp') define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:red') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:green') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma') define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma') define_attribute(:val, :string, :required => true) define_element_name 'a:srgbClr' end # http://www.schemacentral.com/sc/ooxml/e-a_hslClr-1.html class CT_HslColor < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint') define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade') define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp') define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:red') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:green') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma') define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma') define_attribute(:hue, :int, :required => true) define_attribute(:sat, :int, :required => true) define_attribute(:lum, :int, :required => true) define_element_name 'a:hslClr' end # http://www.schemacentral.com/sc/ooxml/e-a_sysClr-1.html class CT_SystemColor < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint') define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade') define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp') define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:red') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:green') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma') define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma') define_attribute(:val, RubyXL::ST_SystemColorVal, :required => true) define_attribute(:lastClr, :string) define_element_name 'a:sysClr' end # http://www.schemacentral.com/sc/ooxml/e-a_schemeClr-1.html class CT_SchemeColor < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint') define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade') define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp') define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:red') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:green') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma') define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma') define_attribute(:val, RubyXL::ST_SchemeColorVal, :required => true) define_element_name 'a:schemeClr' end # http://www.schemacentral.com/sc/ooxml/e-a_prstClr-1.html class CT_PresetColor < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint') define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade') define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp') define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:red') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:green') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff') define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod') define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma') define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma') define_attribute(:val, RubyXL::ST_PresetColorVal, :required => true) define_element_name 'a:prstClr' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_Color.html class CT_Color < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) end # http://www.schemacentral.com/sc/ooxml/e-a_clrScheme-1.html class CT_ColorScheme < OOXMLObject define_child_node(RubyXL::CT_Color, :node_name => 'a:dk1') define_child_node(RubyXL::CT_Color, :node_name => 'a:lt1') define_child_node(RubyXL::CT_Color, :node_name => 'a:dk2') define_child_node(RubyXL::CT_Color, :node_name => 'a:lt2') define_child_node(RubyXL::CT_Color, :node_name => 'a:accent1') define_child_node(RubyXL::CT_Color, :node_name => 'a:accent2') define_child_node(RubyXL::CT_Color, :node_name => 'a:accent3') define_child_node(RubyXL::CT_Color, :node_name => 'a:accent4') define_child_node(RubyXL::CT_Color, :node_name => 'a:accent5') define_child_node(RubyXL::CT_Color, :node_name => 'a:accent6') define_child_node(RubyXL::CT_Color, :node_name => 'a:hlink') define_child_node(RubyXL::CT_Color, :node_name => 'a:folHlink') define_attribute(:name, :string, :required => true) define_element_name 'a:clrScheme' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_SupplementalFont.html class CT_SupplementalFont < OOXMLObject define_attribute(:script, :string, :required => true) define_attribute(:typeface, :string, :required => true) end # http://www.schemacentral.com/sc/ooxml/t-a_CT_TextFont.html class CT_TextFont < OOXMLObject define_attribute(:typeface, :string) define_attribute(:panose, :string) define_attribute(:pitchFamily, :int, :default => 0) define_attribute(:charset, :int, :default => 1) end # http://www.schemacentral.com/sc/ooxml/t-a_CT_FontCollection.html class CT_FontCollection < OOXMLObject define_child_node(RubyXL::CT_TextFont, :node_name => 'a:latin') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:ea') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:cs') define_child_node(RubyXL::CT_SupplementalFont, :node_name => 'a:font', :collection => [0..-1]) define_child_node(RubyXL::AExtensionStorageArea) end # http://www.schemacentral.com/sc/ooxml/e-a_fontScheme-1.html class FontScheme < OOXMLObject # -- Sequence [1..1] define_child_node(RubyXL::CT_FontCollection, :node_name => 'a:majorFont') define_child_node(RubyXL::CT_FontCollection, :node_name => 'a:minorFont') define_child_node(RubyXL::AExtensionStorageArea) # -- define_attribute(:name, :string, :required => true) define_element_name 'a:fontScheme' end # http://www.schemacentral.com/sc/ooxml/e-a_gs-1.html class CT_GradientStop < OOXMLObject # -- Choice [1..1] (EG_ColorChoice) define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) # -- define_attribute(:pos, :int, :required => true) define_element_name 'a:gs' end # http://www.schemacentral.com/sc/ooxml/e-a_gsLst-1.html class CT_GradientStopList < OOXMLContainerObject define_child_node(RubyXL::CT_GradientStop, :collection => [2..-1]) define_element_name 'a:gsLst' end # http://www.schemacentral.com/sc/ooxml/e-a_lin-1.html class CT_LinearShadeProperties < OOXMLObject define_attribute(:ang, :int) define_attribute(:scaled, :bool) define_element_name 'a:lin' end # http://www.schemacentral.com/sc/ooxml/e-a_tileRect-1.html class CT_RelativeRect < OOXMLObject define_attribute(:l, :int, :default => 0) define_attribute(:t, :int, :default => 0) define_attribute(:r, :int, :default => 0) define_attribute(:b, :int, :default => 0) define_element_name 'a:tileRect' end # http://www.schemacentral.com/sc/ooxml/e-a_path-1.html class CT_PathShadeProperties < OOXMLObject define_child_node(CT_RelativeRect, :node_name => 'a:fillToRect') define_attribute(:path, RubyXL::ST_PathShadeType) define_element_name 'a:path' end # http://www.schemacentral.com/sc/ooxml/e-a_gradFill-1.html class CT_GradientFillProperties < OOXMLObject define_child_node(RubyXL::CT_GradientStopList) define_child_node(RubyXL::CT_LinearShadeProperties) define_child_node(RubyXL::CT_PathShadeProperties) define_child_node(RubyXL::CT_RelativeRect) define_attribute(:flip, RubyXL::ST_TileFlipMode) define_attribute(:rotWithShape, :bool) define_element_name 'a:gradFill' end # http://www.schemacentral.com/sc/ooxml/e-a_pattFill-1.html class CT_PatternFillProperties < OOXMLObject define_child_node(RubyXL::CT_Color, :node_name => 'a:fgClr') define_child_node(RubyXL::CT_Color, :node_name => 'a:bgClr') define_attribute(:prst, RubyXL::ST_PresetPatternVal) define_element_name 'a:pattFill' end # http://www.schemacentral.com/sc/ooxml/e-a_tile-1.html class CT_TileInfoProperties < OOXMLObject define_attribute(:tx, :int) define_attribute(:ty, :int) define_attribute(:sx, :int) define_attribute(:sy, :int) define_attribute(:flip, RubyXL::ST_TileFlipMode) define_attribute(:align, RubyXL::ST_RectAlignment) define_element_name 'a:tile' end # http://www.schemacentral.com/sc/ooxml/e-a_stretch-1.html class CT_StretchInfoProperties < OOXMLObject define_child_node(RubyXL::CT_RelativeRect, :node_name => 'a:fillRect') define_element_name 'a:stretch' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_TintEffect.html class CT_TintEffect < OOXMLObject define_attribute(:hue, :int, :default => 0) define_attribute(:amt, :int, :default => 0) define_element_name 'a:tint' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_HSLEffect.html class CT_HSLEffect < OOXMLObject define_attribute(:hue, :int, :default => 0) define_attribute(:sat, :int, :default => 0) define_attribute(:lum, :int, :default => 0) define_element_name 'a:hsl' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_LuminanceEffect.html class CT_LuminanceEffect < OOXMLObject define_attribute(:bright, :int, :default => 0) define_attribute(:contrast, :int, :default => 0) define_element_name 'a:lum' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_AlphaBiLevelEffect.html class CT_AlphaBiLevelEffect < OOXMLObject define_attribute(:thresh, :int, :required => true) define_element_name 'a:alphaBiLevel' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_AlphaModulateFixedEffect.html class CT_AlphaModulateFixedEffect < OOXMLObject define_attribute(:amt, :int, :default => 100000) define_element_name 'a:alphaModFix' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_AlphaReplaceEffect.html class CT_AlphaReplaceEffect < OOXMLObject define_attribute(:a, :int, :required => true) define_element_name 'a:alphaRepl' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_BiLevelEffect.html class CT_BiLevelEffect < OOXMLObject define_attribute(:thresh, :int, :required => true, :default => 100000) define_element_name 'a:biLevel' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_BlurEffect.html class CT_BlurEffect < OOXMLObject define_attribute(:rad, :int, :default => 0) define_attribute(:grow, :bool, :default => true) define_element_name 'a:blur' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_DuotoneEffect.html class CT_DuotoneEffect < OOXMLObject define_attribute(:rad, :int, :default => 0) define_attribute(:grow, :bool, :default => true) define_element_name 'a:blur' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_ColorChangeEffect.html class CT_ColorChangeEffect < OOXMLObject define_child_node(RubyXL::CT_Color, :node_name => 'a:clrFrom') define_child_node(RubyXL::CT_Color, :node_name => 'a:clrTo') define_attribute(:useA, :bool, :default => true) define_element_name 'a:clrChange' end class CT_EffectContainer < OOXMLObject # Defining class here without actually filling the OOXML definitions # so it can reference itself in the actual definition. end # http://www.schemacentral.com/sc/ooxml/e-a_alphaMod-2.html class CT_AlphaModulateEffect < OOXMLObject define_child_node(RubyXL::CT_EffectContainer, :node_name => :cont) define_element_name 'a:alphaMod' end # http://www.schemacentral.com/sc/ooxml/e-a_blend-1.html class CT_BlendEffect < OOXMLObject define_child_node(RubyXL::CT_EffectContainer, :node_name => :cont) define_attribute(:blend, RubyXL::ST_BlendMode, :required => true) define_element_name 'a:blend' end # http://www.schemacentral.com/sc/ooxml/e-a_effect-1.html class CT_EffectReference < OOXMLObject define_attribute(:ref, :string) define_element_name 'a:effect' end # http://www.schemacentral.com/sc/ooxml/e-a_alphaOutset-1.html class CT_AlphaOutsetEffect < OOXMLObject define_attribute(:rad, :int, :default => 0) define_element_name 'a:alphaOutset' end # http://www.schemacentral.com/sc/ooxml/e-a_blip-1.html class CT_Blip < OOXMLObject define_child_node(RubyXL::CT_AlphaBiLevelEffect) define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaCeiling') define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaFloor') define_child_node(RubyXL::CT_Color, :node_name => 'a:alphaInv') define_child_node(RubyXL::CT_AlphaModulateEffect) define_child_node(RubyXL::CT_AlphaModulateFixedEffect) define_child_node(RubyXL::CT_AlphaReplaceEffect) define_child_node(RubyXL::CT_BiLevelEffect) define_child_node(RubyXL::CT_BlurEffect) define_child_node(RubyXL::CT_ColorChangeEffect) define_child_node(RubyXL::CT_Color, :node_name => 'a:clrRepl') define_child_node(RubyXL::CT_Color, :node_name => 'a:duotone') define_child_node(RubyXL::CT_Color, :node_name => 'a:fillOverlay') define_child_node(RubyXL::BooleanValue, :node_name => 'a:grayscl') define_child_node(RubyXL::CT_HSLEffect) define_child_node(RubyXL::CT_LuminanceEffect) define_child_node(RubyXL::CT_TintEffect) define_attribute(:'r:embed', :string) define_attribute(:'r:link', :string) define_attribute(:cstate, RubyXL::ST_BlipCompression) define_element_name 'a:blip' end # http://www.schemacentral.com/sc/ooxml/e-a_blipFill-1.html class CT_BlipFillProperties < OOXMLObject define_child_node(RubyXL::CT_Blip) define_child_node(RubyXL::CT_RelativeRect, :node_name => 'a:srcRect') define_child_node(RubyXL::CT_TileInfoProperties) define_child_node(RubyXL::CT_StretchInfoProperties) define_attribute(:dpi, :int) define_attribute(:rotWithShape, :bool) define_element_name 'a:blipFill' end # http://www.schemacentral.com/sc/ooxml/e-a_fill-1.html class CT_FillEffect < OOXMLObject define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill') define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill') define_child_node(RubyXL::CT_GradientFillProperties) define_child_node(RubyXL::CT_BlipFillProperties) define_child_node(RubyXL::CT_PatternFillProperties) define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill') define_element_name 'a:fill' end # http://www.schemacentral.com/sc/ooxml/e-a_fillOverlay-1.html class CT_FillOverlayEffect < OOXMLObject define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill') define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill') define_child_node(RubyXL::CT_GradientFillProperties) define_child_node(RubyXL::CT_BlipFillProperties) define_child_node(RubyXL::CT_PatternFillProperties) define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill') define_attribute(:blend, RubyXL::ST_BlendMode) define_element_name 'a:fillOverlay' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_GlowEffect.html class CT_GlowEffect < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:rad, :int, :default => 0) define_element_name 'a:glow' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_InnerShadowEffect.html class CT_InnerShadowEffect < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:blurRad, :int, :default => 0) define_attribute(:dist, :int, :default => 0) define_attribute(:dir, :int, :default => 0) define_element_name 'a:innerShdw' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_OuterShadowEffect.html class CT_OuterShadowEffect < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:blurRad, :int, :default => 0) define_attribute(:dist, :int, :default => 0) define_attribute(:dir, :int, :default => 0) define_attribute(:sx, :int, :default => 100000) define_attribute(:sy, :int, :default => 100000) define_attribute(:kx, :int, :default => 0) define_attribute(:ky, :int, :default => 0) define_attribute(:algn, RubyXL::ST_RectAlignment, :default => 'b') define_attribute(:rotWithShape, :bool, :default => true) define_element_name 'a:outerShdw' end # http://www.schemacentral.com/sc/ooxml/e-a_prstShdw-1.html class CT_PresetShadowEffect < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:prst, RubyXL::ST_PresetShadowVal, :required => true) define_attribute(:dist, :int, :default => 0) define_attribute(:dir, :int, :default => 0) define_element_name 'a:prstShdw' end # http://www.schemacentral.com/sc/ooxml/e-a_reflection-1.html class CT_ReflectionEffect < OOXMLObject define_attribute(:blurRad, :int, :default => 0) define_attribute(:stA, :int, :default => 100000) define_attribute(:stPos, :int, :default => 0) define_attribute(:endA, :int, :default => 0) define_attribute(:endPos, :int, :default => 100000) define_attribute(:dist, :int, :default => 0) define_attribute(:dir, :int, :default => 0) define_attribute(:fadeDir, :int, :default => 5400000) define_attribute(:sx, :int, :default => 100000) define_attribute(:sy, :int, :default => 100000) define_attribute(:kx, :int, :default => 0) define_attribute(:ky, :int, :default => 0) define_attribute(:algn, RubyXL::ST_RectAlignment, :default => 'b') define_attribute(:rotWithShape, :bool, :default => true) define_element_name 'a:reflection' end # http://www.schemacentral.com/sc/ooxml/e-a_relOff-1.html class CT_RelativeOffsetEffect < OOXMLObject define_attribute(:tx, :int) define_attribute(:ty, :int) define_element_name 'a:relOff' end # http://www.schemacentral.com/sc/ooxml/e-a_softEdge-1.html class CT_SoftEdgesEffect < OOXMLObject define_attribute(:rad, :int, :required => true) define_element_name 'a:softEdge' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_TransformEffect.html class CT_TransformEffect < OOXMLObject define_attribute(:sx, :int, :default => 100000) define_attribute(:sy, :int, :default => 100000) define_attribute(:kx, :int, :default => 0) define_attribute(:ky, :int, :default => 0) define_attribute(:tx, :int, :default => 0) define_attribute(:ty, :int, :default => 0) define_element_name 'a:xfrm' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_EffectContainer.html class CT_EffectContainer < OOXMLObject define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:cont') define_child_node(RubyXL::CT_EffectReference) define_child_node(RubyXL::CT_AlphaBiLevelEffect) define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaCeiling') define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaFloor') define_child_node(RubyXL::CT_Color, :node_name => 'a:alphaInv') define_child_node(RubyXL::CT_AlphaModulateEffect) define_child_node(RubyXL::CT_AlphaModulateFixedEffect) define_child_node(RubyXL::CT_AlphaOutsetEffect) define_child_node(RubyXL::CT_AlphaReplaceEffect) define_child_node(RubyXL::CT_BiLevelEffect) define_child_node(RubyXL::CT_BlendEffect) define_child_node(RubyXL::CT_BlurEffect) define_child_node(RubyXL::CT_ColorChangeEffect) define_child_node(RubyXL::CT_Color, :node_name => 'a:clrRepl') define_child_node(RubyXL::CT_Color, :node_name => 'a:duotone') define_child_node(RubyXL::CT_FillEffect) define_child_node(RubyXL::CT_FillOverlayEffect) define_child_node(RubyXL::CT_GlowEffect) define_child_node(RubyXL::BooleanValue, :node_name => 'a:grayscl') define_child_node(RubyXL::CT_HSLEffect) define_child_node(RubyXL::CT_InnerShadowEffect) define_child_node(RubyXL::CT_LuminanceEffect) define_child_node(RubyXL::CT_OuterShadowEffect) define_child_node(RubyXL::CT_PresetShadowEffect) define_child_node(RubyXL::CT_ReflectionEffect) define_child_node(RubyXL::CT_RelativeOffsetEffect) define_child_node(RubyXL::CT_SoftEdgesEffect) define_child_node(RubyXL::CT_TintEffect) define_child_node(RubyXL::CT_TransformEffect) define_attribute(:type, RubyXL::ST_EffectContainerType, :default => 'sib') define_attribute(:name, :string) end # http://www.schemacentral.com/sc/ooxml/e-a_fillStyleLst-1.html class CT_FillStyleList < OOXMLObject # -- Choice [3..*] (EG_FillProperties) define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill') define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill', :collection => true) define_child_node(RubyXL::CT_GradientFillProperties, :collection => true) define_child_node(RubyXL::CT_BlipFillProperties, :collection => true) define_child_node(RubyXL::CT_PatternFillProperties, :collection => true) define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill') # -- define_element_name 'a:fillStyleLst' end # http://www.schemacentral.com/sc/ooxml/e-a_miter-1.html class CT_LineJoinMiterProperties < OOXMLObject define_attribute(:lim, :int) define_element_name 'a:miter' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_LineEndProperties.html class CT_LineEndProperties < OOXMLObject define_attribute(:type, RubyXL::ST_LineEndType) define_attribute(:w, RubyXL::ST_LineEndWidth) define_attribute(:len, RubyXL::ST_LineEndLength) end # http://www.schemacentral.com/sc/ooxml/e-a_prstDash-1.html class CT_PresetLineDashProperties < OOXMLObject define_attribute(:val, RubyXL::ST_PresetLineDashVal) define_element_name 'a:prstDash' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_DashStop.html class CT_DashStop < OOXMLObject define_attribute(:d, :int, :required => true) define_attribute(:sp, :int, :required => true) define_element_name 'a:ds' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_DashStopList.html class CT_DashStopList < OOXMLContainerObject define_child_node(RubyXL::CT_DashStop, :collection => [0..-1]) define_element_name 'a:custDash' end # http://www.schemacentral.com/sc/ooxml/e-a_ln-1.html class CT_LineProperties < OOXMLObject define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill') define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill') define_child_node(RubyXL::CT_GradientFillProperties) define_child_node(RubyXL::CT_PatternFillProperties) define_child_node(RubyXL::CT_PresetLineDashProperties) define_child_node(RubyXL::CT_DashStopList) define_child_node(RubyXL::BooleanValue, :node_name => 'a:round') define_child_node(RubyXL::BooleanValue, :node_name => 'a:bevel') define_child_node(RubyXL::CT_LineJoinMiterProperties) define_child_node(RubyXL::CT_LineEndProperties, :node_name => 'a:headEnd') define_child_node(RubyXL::CT_LineEndProperties, :node_name => 'a:tailEnd') define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:w, :int) define_attribute(:cap, RubyXL::ST_LineCap) define_attribute(:cmpd, RubyXL::ST_CompoundLine) define_attribute(:algn, RubyXL::ST_PenAlignment) define_element_name 'a:ln' end # http://www.schemacentral.com/sc/ooxml/e-a_lnStyleLst-1.html class CT_LineStyleList < OOXMLContainerObject define_child_node(RubyXL::CT_LineProperties, :collection => [3..-1]) define_element_name 'a:lnStyleLst' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_SphereCoords.html class CT_SphereCoords < OOXMLObject define_attribute(:lat, :int, :required => true) define_attribute(:lon, :int, :required => true) define_attribute(:rev, :int, :required => true) define_element_name 'a:rot' end # http://www.schemacentral.com/sc/ooxml/e-a_camera-1.html class CT_Camera < OOXMLObject define_child_node(RubyXL::CT_SphereCoords) define_attribute(:prst, RubyXL::ST_PresetCameraType, :required => true) define_attribute(:fov, :int) define_attribute(:zoom, :int, :default => 100000) define_element_name 'a:camera' end # http://www.schemacentral.com/sc/ooxml/e-a_lightRig-1.html class CT_LightRig < OOXMLObject define_child_node(RubyXL::CT_SphereCoords) define_attribute(:rig, RubyXL::ST_LightRigType, :required => true) define_attribute(:dir, RubyXL::ST_LightRigDirection, :required => true) define_element_name 'a:lightRig' end # http://www.schemacentral.com/sc/ooxml/e-a_anchor-1.html class CT_Point3D < OOXMLObject define_attribute(:x, :int, :required => true) define_attribute(:y, :int, :required => true) define_attribute(:z, :int, :required => true) define_element_name 'a:anchor' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_Vector3D.html class CT_Vector3D < OOXMLObject define_attribute(:dx, :int, :required => true) define_attribute(:dy, :int, :required => true) define_attribute(:dz, :int, :required => true) end # http://www.schemacentral.com/sc/ooxml/t-a_CT_Backdrop.html class CT_Backdrop < OOXMLObject define_child_node(RubyXL::CT_Point3D) define_child_node(RubyXL::CT_Vector3D, :node_name => 'a:norm') define_child_node(RubyXL::CT_Vector3D, :node_name => 'a:up') define_child_node(RubyXL::AExtensionStorageArea) define_element_name 'a:backdrop' end # http://www.schemacentral.com/sc/ooxml/e-a_scene3d-1.html class CT_Scene3D < OOXMLObject define_child_node(RubyXL::CT_Camera, :required => true) define_child_node(RubyXL::CT_LightRig, :required => true) define_child_node(RubyXL::CT_Backdrop) define_child_node(RubyXL::AExtensionStorageArea) define_element_name 'a:scene3d' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_Bevel.html class CT_Bevel < OOXMLObject define_attribute(:w, :int, :default => 76200) define_attribute(:h, :int, :default => 76200) define_attribute(:prst, RubyXL::ST_BevelPresetType) define_element_name 'a:CT_Bevel' end # http://www.schemacentral.com/sc/ooxml/e-a_sp3d-1.html class CT_Shape3D < OOXMLObject define_child_node(RubyXL::CT_Bevel, :node_name => 'a:bevelT') define_child_node(RubyXL::CT_Bevel, :node_name => 'a:bevelB') define_child_node(RubyXL::CT_Color, :node_name => 'a:extrusionClr') define_child_node(RubyXL::CT_Color, :node_name => 'a:contourClr') define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:z, :int, :default => 0) define_attribute(:extrusionH, :int, :default => 0) define_attribute(:contourW, :int, :default => 0) define_attribute(:prstMaterial, RubyXL::ST_PresetMaterialType, :default => 'warmMatte') define_element_name 'a:sp3d' end # http://www.schemacentral.com/sc/ooxml/e-a_blur-1.html class CT_BlurEffect < OOXMLObject define_attribute(:rad, :int, :default => 0) define_attribute(:grow, :bool, :default => true) define_element_name 'a:blur' end # http://www.schemacentral.com/sc/ooxml/e-a_effectLst-1.html class CT_EffectList < OOXMLObject define_child_node(RubyXL::CT_BlurEffect) define_child_node(RubyXL::CT_FillOverlayEffect) define_child_node(RubyXL::CT_GlowEffect) define_child_node(RubyXL::CT_InnerShadowEffect) define_child_node(RubyXL::CT_OuterShadowEffect) define_child_node(RubyXL::CT_PresetShadowEffect) define_child_node(RubyXL::CT_ReflectionEffect) define_child_node(RubyXL::CT_SoftEdgesEffect) define_element_name 'a:effectLst' end # http://www.schemacentral.com/sc/ooxml/e-a_effectStyle-1.html class CT_EffectStyleItem < OOXMLObject define_child_node(RubyXL::CT_EffectList) define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:effectDag') define_child_node(RubyXL::CT_Scene3D) define_child_node(RubyXL::CT_Shape3D) define_element_name 'a:effectStyle' end # http://www.schemacentral.com/sc/ooxml/e-a_effectStyleLst-1.html class CT_EffectStyleList < OOXMLContainerObject define_child_node(RubyXL::CT_EffectStyleItem, :collection => [3..-1]) define_element_name 'a:effectStyleLst' end # http://www.schemacentral.com/sc/ooxml/e-a_fmtScheme-1.html class CT_StyleMatrix < OOXMLObject define_child_node(RubyXL::CT_FillStyleList, :required => true) define_child_node(RubyXL::CT_LineStyleList, :required => true) define_child_node(RubyXL::CT_EffectStyleList, :required => true) define_child_node(RubyXL::CT_FillStyleList, :required => true, :node_name => 'a:bgFillStyleLst') define_attribute(:name, :string) define_element_name 'a:fmtScheme' end # http://www.schemacentral.com/sc/ooxml/e-a_themeElements-1.html class ThemeElements < OOXMLObject define_child_node(RubyXL::CT_ColorScheme) define_child_node(RubyXL::FontScheme) define_child_node(RubyXL::CT_StyleMatrix) define_child_node(RubyXL::AExtensionStorageArea) define_element_name 'a:themeElements' end # http://www.schemacentral.com/sc/ooxml/e-a_off-1.html class Offset < OOXMLObject define_attribute(:x, :int, :required => true) define_attribute(:y, :int, :required => true) define_element_name 'a:off' end # http://www.schemacentral.com/sc/ooxml/e-a_ext-2.html class Extents < OOXMLObject define_attribute(:cx, :int, :required => true) define_attribute(:cy, :int, :required => true) define_element_name 'a:ext' end # http://www.schemacentral.com/sc/ooxml/e-a_xfrm-4.html class CT_Transform2D < OOXMLObject define_attribute(:rot, :int, :default => 0) define_attribute(:flipH, :bool, :default => false) define_attribute(:flipV, :bool, :default => false) define_child_node(RubyXL::Offset) define_child_node(RubyXL::Extents) define_element_name 'a:xfrm' end # http://www.schemacentral.com/sc/ooxml/e-a_gd-1.html class ShapeGuide < OOXMLObject define_attribute(:name, :string, :required => true) define_attribute(:fmla, :string, :required => true) define_element_name 'a:gd' end # http://www.schemacentral.com/sc/ooxml/e-a_avLst-1.html class CT_GeomGuideList < OOXMLContainerObject define_child_node(RubyXL::ShapeGuide, :collection => [0..-1]) end # http://www.schemacentral.com/sc/ooxml/e-a_rect-1.html class ShapeTextRectangle < OOXMLObject define_attribute(:l, :int, :required => true) define_attribute(:t, :int, :required => true) define_attribute(:r, :int, :required => true) define_attribute(:b, :int, :required => true) define_element_name 'a:rect' end # http://www.schemacentral.com/sc/ooxml/e-a_pos-2.html class CT_AdjPoint2D < OOXMLObject define_attribute(:x, :int, :required => true) define_attribute(:y, :int, :required => true) define_element_name 'a:pos' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_PolarAdjustHandle.html class CT_XYAdjustHandle < OOXMLObject define_child_node(RubyXL::CT_AdjPoint2D) define_attribute(:gdRefX, :string) define_attribute(:minX, :int) define_attribute(:maxX, :int) define_attribute(:gdRefY, :string) define_attribute(:minY, :int) define_attribute(:maxY, :int) define_element_name 'a:ahXY' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_PolarAdjustHandle.html class CT_PolarAdjustHandle < OOXMLObject define_child_node(RubyXL::CT_AdjPoint2D) define_attribute(:gdRefR, :string) define_attribute(:minR, :int) define_attribute(:maxR, :int) define_attribute(:gdRefAng, :string) define_attribute(:minAng, :int) define_attribute(:maxAng, :int) define_element_name 'a:ahPolar' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_AdjustHandleList.html class AdjustHandleList < OOXMLObject define_child_node(RubyXL::CT_XYAdjustHandle) define_child_node(RubyXL::CT_PolarAdjustHandle) define_element_name 'a:ahLst' end # http://www.schemacentral.com/sc/ooxml/e-a_cxn-1.html class CT_ConnectionSite < OOXMLObject define_child_node(RubyXL::CT_AdjPoint2D) define_attribute(:ang, :int) define_element_name 'a:cxn' end # http://www.schemacentral.com/sc/ooxml/e-a_cxnLst-1.html class CT_ConnectionSiteList < OOXMLContainerObject define_child_node(RubyXL::CT_ConnectionSite, :collection => [0..-1]) define_element_name 'a:cxnLst' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_Path2DLineTo.html class CT_Path2DTo < OOXMLContainerObject define_child_node(RubyXL::CT_AdjPoint2D) end # http://www.schemacentral.com/sc/ooxml/e-a_arcTo-1.html class CT_Path2DArcTo < OOXMLObject define_attribute(:wR, :int, :required => true) define_attribute(:hR, :int, :required => true) define_attribute(:stAng, :int, :required => true) define_attribute(:swAng, :int, :required => true) define_element_name 'a:arcTo' end # http://www.schemacentral.com/sc/ooxml/e-a_quadBezTo-1.html class CT_Path2DQuadBezierTo < OOXMLContainerObject define_child_node(RubyXL::CT_AdjPoint2D, :collection => [2..2], :node_name => 'a:pt') define_element_name 'a:quadBezTo' end # http://www.schemacentral.com/sc/ooxml/e-a_quadBezTo-1.html class CT_Path2DCubicBezierTo < OOXMLContainerObject define_child_node(RubyXL::CT_AdjPoint2D, :collection => [2..2], :node_name => 'a:pt') define_element_name 'a:cubicBezTo' end # http://www.schemacentral.com/sc/ooxml/e-a_path-2.html class CT_Path2D < OOXMLObject define_child_node(RubyXL::BooleanValue, :node_name => 'a:close') define_child_node(RubyXL::CT_Path2DTo, :node_name => 'a:moveTo') define_child_node(RubyXL::CT_Path2DTo, :node_name => 'a:lnTo') define_child_node(RubyXL::CT_Path2DArcTo, :node_name => 'a:arcTo') define_child_node(RubyXL::CT_Path2DQuadBezierTo) define_child_node(RubyXL::CT_Path2DCubicBezierTo) define_attribute(:w, :int, :default => 0) define_attribute(:h, :int, :default => 0) define_attribute(:fill, RubyXL::ST_PathFillMode, :default => 'norm') define_attribute(:stroke, :bool, :default => true) define_attribute(:extrusionOk, :bool, :default => true) define_element_name 'a:cxn' end # http://www.schemacentral.com/sc/ooxml/e-a_pathLst-1.html class CT_Path2DList < OOXMLContainerObject define_child_node(RubyXL::CT_Path2D, :collection => [0..-1]) define_element_name 'a:pathLst' end # http://www.schemacentral.com/sc/ooxml/e-a_custGeom-1.html class CustomGeometry < OOXMLObject define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:avLst') define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:gdLst') define_child_node(RubyXL::AdjustHandleList) define_child_node(RubyXL::CT_ConnectionSiteList) define_child_node(RubyXL::ShapeTextRectangle) define_child_node(RubyXL::CT_Path2DList) define_element_name 'a:custGeom' end # http://www.schemacentral.com/sc/ooxml/e-a_prstGeom-1.html class PresetGeometry < OOXMLObject define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:avLst') define_attribute(:prst, RubyXL::ST_ShapeType, :required => true) define_element_name 'a:prstGeom' end # http://www.schemacentral.com/sc/ooxml/e-a_spPr-1.html class VisualProperties < OOXMLObject define_child_node(RubyXL::CT_Transform2D) # -- Choice [0..1] (EG_Geometry) define_child_node(RubyXL::CustomGeometry) define_child_node(RubyXL::PresetGeometry) # -- Choice [0..1] (EG_FillProperties) define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill') define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill') define_child_node(RubyXL::CT_GradientFillProperties) define_child_node(RubyXL::CT_BlipFillProperties) define_child_node(RubyXL::CT_PatternFillProperties) define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill') # -- define_child_node(RubyXL::CT_LineProperties) # -- Choice [0..1] (EG_EffectProperties) define_child_node(RubyXL::CT_EffectList) define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:effectDag') # -- define_child_node(RubyXL::CT_Scene3D) define_child_node(RubyXL::CT_Shape3D) define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:bwMode, RubyXL::ST_BlackWhiteMode) define_element_name 'a:spPr' end # http://www.schemacentral.com/sc/ooxml/e-a_prstTxWarp-2.html class CT_PresetTextShape < OOXMLObject define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:avLst') define_attribute(:prst, RubyXL::ST_TextShapeType) define_element_name 'a:prstTxWarp' end # http://www.schemacentral.com/sc/ooxml/e-a_normAutofit-1.html class CT_TextNormalAutofit < OOXMLObject define_attribute(:fontScale, :int, :default => 100000) define_attribute(:lnSpcReduction, :int, :default => 0) define_element_name 'a:normAutofit' end # http://www.schemacentral.com/sc/ooxml/e-a_flatTx-1.html class CT_FlatText < OOXMLObject define_attribute(:z, :int, :default => 0) define_element_name 'a:flatTx' end # http://www.schemacentral.com/sc/ooxml/e-a_bodyPr-1.html class BodyProperties < OOXMLObject define_child_node(RubyXL::CT_PresetTextShape) define_child_node(RubyXL::BooleanValue, :node_name => 'a:noAutofit') define_child_node(RubyXL::CT_TextNormalAutofit) define_child_node(RubyXL::BooleanValue, :node_name => 'a:spAutoFit') define_child_node(RubyXL::CT_Scene3D) define_child_node(RubyXL::CT_Shape3D) define_child_node(RubyXL::CT_FlatText) define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:rot, :int) define_attribute(:spcFirstLastPara, :bool) define_attribute(:vertOverflow, RubyXL::ST_TextVertOverflowType) define_attribute(:horzOverflow, RubyXL::ST_TextHorzOverflowType) define_attribute(:vert, RubyXL::ST_TextVerticalType) define_attribute(:wrap, RubyXL::ST_TextWrappingType) define_attribute(:lIns, :int) define_attribute(:tIns, :int) define_attribute(:rIns, :int) define_attribute(:bIns, :int) define_attribute(:numCol, :int) define_attribute(:spcCol, :int) define_attribute(:rtlCol, :bool) define_attribute(:fromWordArt, :bool) define_attribute(:anchor, RubyXL::ST_TextAnchoringType) define_attribute(:anchorCtr, :bool) define_attribute(:forceAA, :bool) define_attribute(:upright, :bool, :default => false) define_attribute(:compatLnSpc, :bool) define_element_name 'a:bodyPr' end # http://www.schemacentral.com/sc/ooxml/e-a_tab-1.html class CT_TextTabStop < OOXMLObject define_attribute(:pos, :int) define_attribute(:algn, RubyXL::ST_TextTabAlignType) define_element_name 'a:tabLst' end # http://www.schemacentral.com/sc/ooxml/e-a_tabLst-1.html class CT_TextTabStopList < OOXMLContainerObject define_child_node(RubyXL::CT_TextTabStop, :collection => [0..32]) define_element_name 'a:tabLst' end # http://www.schemacentral.com/sc/ooxml/e-a_buAutoNum-1.html class CT_TextAutonumberBullet < OOXMLObject define_attribute(:type, RubyXL::ST_TextAutonumberScheme) define_attribute(:startAt, :int) define_element_name 'a:buAutoNum' end # http://www.schemacentral.com/sc/ooxml/e-a_buChar-1.html class CT_TextCharBullet < OOXMLObject define_attribute(:char, :string, :required => true) define_element_name 'a:buChar' end # http://www.schemacentral.com/sc/ooxml/e-a_buBlip-1.html class CT_TextBlipBullet < OOXMLObject define_child_node(RubyXL::CT_Blip) define_element_name 'a:buBlip' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_TextSpacing.html class CT_TextSpacing < OOXMLObject define_child_node(RubyXL::IntegerValue, :node_name => 'a:spcPct') define_child_node(RubyXL::IntegerValue, :node_name => 'a:spcPts') end # http://www.schemacentral.com/sc/ooxml/e-a_snd-1.html class CT_EmbeddedWAVAudioFile < OOXMLObject define_attribute(:'r:embed', :string) define_attribute(:name, :string, :default => '') define_attribute(:builtIn, :bool, :default => false) define_element_name 'a:snd' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_Hyperlink.html class CT_Hyperlink < OOXMLObject define_child_node(RubyXL::CT_EmbeddedWAVAudioFile) define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:'r:id', :string) define_attribute(:invalidUrl, :string, :default => '') define_attribute(:action, :string, :default => '') define_attribute(:tgtFrame, :string, :default => '') define_attribute(:tooltip, :string, :default => '') define_attribute(:history, :bool, :default => true) define_attribute(:highlightClick, :bool, :default => false) define_attribute(:endSnd, :bool, :default => false) end # http://www.schemacentral.com/sc/ooxml/e-a_defRPr-1.html class CT_TextCharacterProperties < OOXMLObject define_child_node(RubyXL::CT_LineProperties) # -- EG_FillProperties define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill') define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill') define_child_node(RubyXL::CT_GradientFillProperties) define_child_node(RubyXL::CT_BlipFillProperties) define_child_node(RubyXL::CT_PatternFillProperties) define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill') # -- EG_EffectProperties define_child_node(RubyXL::CT_EffectList) define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:effectDag') # -- define_child_node(RubyXL::CT_Color, :node_name => 'a:highlight') # -- EG_TextUnderlineLine define_child_node(RubyXL::BooleanValue, :node_name => 'a:uLnTx') define_child_node(RubyXL::CT_LineProperties, :node_name => 'a:uLn') # -- EG_TextUnderlineFill define_child_node(RubyXL::BooleanValue, :node_name => 'a:uFillTx') define_child_node(RubyXL::CT_FillStyleList, :node_name => 'a:uFill') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:latin') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:ea') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:cs') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:sym') define_child_node(RubyXL::CT_Hyperlink, :node_name => 'a:hlinkClick') define_child_node(RubyXL::CT_Hyperlink, :node_name => 'a:hlinkMouseOver') define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:kumimoji, :bool) define_attribute(:lang, :string) define_attribute(:altLang, :string) define_attribute(:sz, :int) define_attribute(:b, :bool) define_attribute(:i, :bool) define_attribute(:u, RubyXL::ST_TextUnderlineType) define_attribute(:strike, RubyXL::ST_TextStrikeType) define_attribute(:kern, :int) define_attribute(:cap, RubyXL::ST_TextCapsType) define_attribute(:spc, :int) define_attribute(:normalizeH, :bool) define_attribute(:baseline, :int) define_attribute(:noProof, :bool) define_attribute(:dirty, :bool, :default => true) define_attribute(:err, :bool, :default => false) define_attribute(:smtClean, :bool, :default => true) define_attribute(:smtId, :int, :default => 0) define_attribute(:bmk, :string) define_element_name 'a:defRPr' end # http://www.schemacentral.com/sc/ooxml/e-a_defPPr-1.html define_child_node(RubyXL::CT_TextSpacing, :node_name => 'a:lnSpc') class CT_TextParagraphProperties < OOXMLObject define_child_node(RubyXL::CT_TextSpacing, :node_name => 'a:spcBef') define_child_node(RubyXL::CT_TextSpacing, :node_name => 'a:spcAft') define_child_node(RubyXL::BooleanValue, :node_name => 'a:buClrTx') define_child_node(RubyXL::CT_Color, :node_name => 'a:buClr') define_child_node(RubyXL::BooleanValue, :node_name => 'a:buSzTx') define_child_node(RubyXL::IntegerValue, :node_name => 'a:buSzPct') define_child_node(RubyXL::IntegerValue, :node_name => 'a:buSzPts') define_child_node(RubyXL::BooleanValue, :node_name => 'a:buFontTx') define_child_node(RubyXL::CT_TextFont, :node_name => 'a:buFont') define_child_node(RubyXL::BooleanValue, :node_name => 'a:buNone') define_child_node(RubyXL::CT_TextAutonumberBullet) define_child_node(RubyXL::CT_TextCharBullet) define_child_node(RubyXL::CT_TextBlipBullet) define_child_node(RubyXL::CT_TextTabStop) define_child_node(RubyXL::CT_TextCharacterProperties) define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:marL, :int) define_attribute(:marR, :int) define_attribute(:lvl, :int) define_attribute(:indent, :int) define_attribute(:algn, RubyXL::ST_TextAlignType) define_attribute(:defTabSz, :int) define_attribute(:rtl, :bool) define_attribute(:eaLnBrk, :bool) define_attribute(:fontAlgn, RubyXL::ST_TextFontAlignType) define_attribute(:latinLnBrk, :bool) define_attribute(:hangingPunct, :bool) define_element_name 'a:defPPr' end # http://www.schemacentral.com/sc/ooxml/e-a_lstStyle-1.html class CT_TextListStyle < OOXMLObject define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:defPPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl1pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl2pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl3pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl4pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl5pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl6pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl7pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl8pPr') define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl9pPr') define_child_node(RubyXL::AExtensionStorageArea) define_element_name 'a:lstStyle' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_StyleMatrixReference.html class CT_StyleMatrixReference < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:idx, :int, :required => true) end # http://www.schemacentral.com/sc/ooxml/t-a_CT_FontReference.html class CT_FontReference < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:idx, RubyXL::ST_FontCollectionIndex, :required => true) end # http://www.schemacentral.com/sc/ooxml/t-a_CT_ShapeStyle.html class CT_ShapeStyle < OOXMLObject define_child_node(RubyXL::CT_StyleMatrixReference, :node_name => 'a:lnRef') define_child_node(RubyXL::CT_StyleMatrixReference, :node_name => 'a:fillRef') define_child_node(RubyXL::CT_StyleMatrixReference, :node_name => 'a:effectRef') define_child_node(RubyXL::CT_FontReference, :node_name => 'a:fontRef') define_element_name 'a:style' end # http://www.schemacentral.com/sc/ooxml/t-a_CT_DefaultShapeDefinition.html class CT_DefaultShapeDefinition < OOXMLObject define_child_node(RubyXL::VisualProperties) define_child_node(RubyXL::BodyProperties) define_child_node(RubyXL::CT_TextListStyle) define_child_node(RubyXL::CT_ShapeStyle) define_child_node(RubyXL::AExtensionStorageArea) end # http://www.schemacentral.com/sc/ooxml/e-a_objectDefaults-1.html class CT_ObjectStyleDefaults < OOXMLObject define_child_node(RubyXL::CT_DefaultShapeDefinition, :node_name => 'a:spDef') define_child_node(RubyXL::CT_DefaultShapeDefinition, :node_name => 'a:lnDef') define_child_node(RubyXL::CT_DefaultShapeDefinition, :node_name => 'a:txDef') define_child_node(RubyXL::AExtensionStorageArea) define_element_name 'a:objectDefaults' end # http://www.schemacentral.com/sc/ooxml/e-a_clrMap-1.html class CT_ColorMapping < OOXMLObject define_child_node(RubyXL::AExtensionStorageArea) define_attribute(:bg1, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:tx1, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:bg2, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:tx2, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:accent1, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:accent2, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:accent3, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:accent4, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:accent5, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:accent6, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:hlink, RubyXL::ST_ColorSchemeIndex, :required => true) define_attribute(:golHlink, RubyXL::ST_ColorSchemeIndex, :required => true) define_element_name 'a:clrMap' end # http://www.schemacentral.com/sc/ooxml/e-a_extraClrScheme-1.html class CT_ColorSchemeAndMapping < OOXMLObject define_child_node(RubyXL::CT_ColorScheme) define_child_node(RubyXL::CT_ColorMapping) define_element_name 'a:extraClrScheme' end # http://www.schemacentral.com/sc/ooxml/e-a_extraClrSchemeLst-1.html class ExtraColorSchemeList < OOXMLContainerObject define_child_node(RubyXL::CT_ColorSchemeAndMapping, :collection => [0..-1]) define_element_name 'a:extraClrSchemeLst' end # http://www.schemacentral.com/sc/ooxml/e-a_custClr-1.html class CustomColor < OOXMLObject define_child_node(RubyXL::CT_ScRgbColor) define_child_node(RubyXL::CT_SRgbColor) define_child_node(RubyXL::CT_HslColor) define_child_node(RubyXL::CT_SystemColor) define_child_node(RubyXL::CT_SchemeColor) define_child_node(RubyXL::CT_PresetColor) define_attribute(:name, :string, :default => '') define_element_name 'a:custClr' end # http://www.schemacentral.com/sc/ooxml/e-a_custClrLst-1.html class CustomColorList < OOXMLContainerObject define_child_node(RubyXL::CustomColor, :collection => [0..-1]) define_element_name 'a:custClrLst' end # http://www.schemacentral.com/sc/ooxml/e-a_theme.html class Theme < OOXMLTopLevelObject define_attribute(:name, :string, :default => '') define_child_node(RubyXL::ThemeElements) define_child_node(RubyXL::CT_ObjectStyleDefaults) define_child_node(RubyXL::ExtraColorSchemeList) define_child_node(RubyXL::CustomColorList) define_child_node(RubyXL::AExtensionStorageArea) define_element_name 'a:theme' set_namespaces('xmlns:a' => 'http://schemas.openxmlformats.org/drawingml/2006/main') def self.xlsx_path File.join('xl', 'theme', 'theme1.xml') end def self.content_type 'application/vnd.openxmlformats-officedocument.theme+xml' end def self.defaults default_theme = ' ' self.parse(default_theme) end end end