rubyXL 1.2.10 → 3.4.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (518) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +60 -0
  3. data/.codeclimate.yml +3 -0
  4. data/.rubocop.yml +124 -0
  5. data/CHANGELOG.md +12 -0
  6. data/Gemfile +18 -14
  7. data/LICENSE.txt +1 -1
  8. data/README.rdoc +170 -100
  9. data/Rakefile +76 -26
  10. data/VERSION +1 -1
  11. data/lib/rubyXL/cell.rb +13 -447
  12. data/lib/rubyXL/convenience_methods/cell.rb +276 -0
  13. data/lib/rubyXL/convenience_methods/color.rb +156 -0
  14. data/lib/rubyXL/convenience_methods/font.rb +63 -0
  15. data/lib/rubyXL/convenience_methods/workbook.rb +137 -0
  16. data/lib/rubyXL/convenience_methods/worksheet.rb +734 -0
  17. data/lib/rubyXL/convenience_methods.rb +5 -0
  18. data/lib/rubyXL/objects/border.rb +71 -0
  19. data/lib/rubyXL/objects/calculation_chain.rb +31 -0
  20. data/lib/rubyXL/objects/cell_style.rb +63 -0
  21. data/lib/rubyXL/objects/chartsheet.rb +88 -0
  22. data/lib/rubyXL/objects/color.rb +25 -0
  23. data/lib/rubyXL/objects/column_range.rb +93 -0
  24. data/lib/rubyXL/objects/comments.rb +44 -0
  25. data/lib/rubyXL/objects/connection.rb +175 -0
  26. data/lib/rubyXL/objects/container_nodes.rb +131 -0
  27. data/lib/rubyXL/objects/content_types.rb +74 -0
  28. data/lib/rubyXL/objects/data_validation.rb +37 -0
  29. data/lib/rubyXL/objects/document_properties.rb +156 -0
  30. data/lib/rubyXL/objects/extensions.rb +51 -0
  31. data/lib/rubyXL/objects/external_links.rb +115 -0
  32. data/lib/rubyXL/objects/fill.rb +52 -0
  33. data/lib/rubyXL/objects/filters.rb +118 -0
  34. data/lib/rubyXL/objects/font.rb +43 -0
  35. data/lib/rubyXL/objects/formula.rb +22 -0
  36. data/lib/rubyXL/objects/ooxml_object.rb +469 -0
  37. data/lib/rubyXL/objects/query_table.rb +106 -0
  38. data/lib/rubyXL/objects/reference.rb +119 -0
  39. data/lib/rubyXL/objects/relationships.rb +213 -0
  40. data/lib/rubyXL/objects/root.rb +84 -0
  41. data/lib/rubyXL/objects/shared_strings.rb +67 -0
  42. data/lib/rubyXL/objects/sheet_common.rb +49 -0
  43. data/lib/rubyXL/objects/sheet_data.rb +219 -0
  44. data/lib/rubyXL/objects/simple_types.rb +249 -0
  45. data/lib/rubyXL/objects/storage.rb +193 -0
  46. data/lib/rubyXL/objects/stylesheet.rb +224 -0
  47. data/lib/rubyXL/objects/text.rb +92 -0
  48. data/lib/rubyXL/objects/theme.rb +1730 -0
  49. data/lib/rubyXL/objects/workbook.rb +572 -0
  50. data/lib/rubyXL/objects/worksheet.rb +762 -0
  51. data/lib/rubyXL/parser.rb +18 -459
  52. data/lib/rubyXL/worksheet.rb +73 -1461
  53. data/lib/rubyXL.rb +9 -7
  54. data/rdoc/README_rdoc.html +534 -0
  55. data/rdoc/RubyXL/AExtension.html +187 -0
  56. data/rdoc/RubyXL/AExtensionStorageArea.html +97 -0
  57. data/rdoc/RubyXL/ActiveX.html +156 -0
  58. data/rdoc/RubyXL/ActiveXBinary.html +106 -0
  59. data/rdoc/RubyXL/AdjustHandleList.html +99 -0
  60. data/rdoc/RubyXL/Alignment.html +99 -0
  61. data/rdoc/RubyXL/AlternateContent.html +97 -0
  62. data/rdoc/RubyXL/AlternateUrls.html +99 -0
  63. data/rdoc/RubyXL/Authors.html +99 -0
  64. data/rdoc/RubyXL/AutoFilter.html +99 -0
  65. data/rdoc/RubyXL/AutoFilterColumn.html +99 -0
  66. data/rdoc/RubyXL/BinaryImageFile.html +108 -0
  67. data/rdoc/RubyXL/BodyProperties.html +99 -0
  68. data/rdoc/RubyXL/BooleanNode.html +97 -0
  69. data/rdoc/RubyXL/BooleanValue.html +97 -0
  70. data/rdoc/RubyXL/Border.html +223 -0
  71. data/rdoc/RubyXL/BorderEdge.html +160 -0
  72. data/rdoc/RubyXL/Borders.html +138 -0
  73. data/rdoc/RubyXL/Break.html +99 -0
  74. data/rdoc/RubyXL/BreakList.html +99 -0
  75. data/rdoc/RubyXL/CT_AdjPoint2D.html +99 -0
  76. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +99 -0
  77. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +99 -0
  78. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +99 -0
  79. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +99 -0
  80. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +99 -0
  81. data/rdoc/RubyXL/CT_Backdrop.html +99 -0
  82. data/rdoc/RubyXL/CT_Bevel.html +99 -0
  83. data/rdoc/RubyXL/CT_BiLevelEffect.html +99 -0
  84. data/rdoc/RubyXL/CT_BlendEffect.html +99 -0
  85. data/rdoc/RubyXL/CT_Blip.html +99 -0
  86. data/rdoc/RubyXL/CT_BlipFillProperties.html +99 -0
  87. data/rdoc/RubyXL/CT_BlurEffect.html +99 -0
  88. data/rdoc/RubyXL/CT_Camera.html +99 -0
  89. data/rdoc/RubyXL/CT_Color.html +99 -0
  90. data/rdoc/RubyXL/CT_ColorChangeEffect.html +99 -0
  91. data/rdoc/RubyXL/CT_ColorMapping.html +99 -0
  92. data/rdoc/RubyXL/CT_ColorScheme.html +99 -0
  93. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +99 -0
  94. data/rdoc/RubyXL/CT_ConnectionSite.html +99 -0
  95. data/rdoc/RubyXL/CT_ConnectionSiteList.html +99 -0
  96. data/rdoc/RubyXL/CT_DashStop.html +99 -0
  97. data/rdoc/RubyXL/CT_DashStopList.html +99 -0
  98. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +99 -0
  99. data/rdoc/RubyXL/CT_DuotoneEffect.html +99 -0
  100. data/rdoc/RubyXL/CT_EffectContainer.html +99 -0
  101. data/rdoc/RubyXL/CT_EffectList.html +99 -0
  102. data/rdoc/RubyXL/CT_EffectReference.html +99 -0
  103. data/rdoc/RubyXL/CT_EffectStyleItem.html +99 -0
  104. data/rdoc/RubyXL/CT_EffectStyleList.html +99 -0
  105. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +99 -0
  106. data/rdoc/RubyXL/CT_FillEffect.html +99 -0
  107. data/rdoc/RubyXL/CT_FillOverlayEffect.html +99 -0
  108. data/rdoc/RubyXL/CT_FillStyleList.html +99 -0
  109. data/rdoc/RubyXL/CT_FlatText.html +99 -0
  110. data/rdoc/RubyXL/CT_FontCollection.html +99 -0
  111. data/rdoc/RubyXL/CT_FontReference.html +99 -0
  112. data/rdoc/RubyXL/CT_GeomGuideList.html +99 -0
  113. data/rdoc/RubyXL/CT_GlowEffect.html +99 -0
  114. data/rdoc/RubyXL/CT_GradientFillProperties.html +99 -0
  115. data/rdoc/RubyXL/CT_GradientStop.html +99 -0
  116. data/rdoc/RubyXL/CT_GradientStopList.html +99 -0
  117. data/rdoc/RubyXL/CT_HSLEffect.html +99 -0
  118. data/rdoc/RubyXL/CT_HslColor.html +99 -0
  119. data/rdoc/RubyXL/CT_Hyperlink.html +99 -0
  120. data/rdoc/RubyXL/CT_InnerShadowEffect.html +99 -0
  121. data/rdoc/RubyXL/CT_LightRig.html +99 -0
  122. data/rdoc/RubyXL/CT_LineEndProperties.html +99 -0
  123. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +99 -0
  124. data/rdoc/RubyXL/CT_LineProperties.html +99 -0
  125. data/rdoc/RubyXL/CT_LineStyleList.html +99 -0
  126. data/rdoc/RubyXL/CT_LinearShadeProperties.html +99 -0
  127. data/rdoc/RubyXL/CT_LuminanceEffect.html +99 -0
  128. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +99 -0
  129. data/rdoc/RubyXL/CT_OuterShadowEffect.html +99 -0
  130. data/rdoc/RubyXL/CT_Path2D.html +99 -0
  131. data/rdoc/RubyXL/CT_Path2DArcTo.html +99 -0
  132. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +99 -0
  133. data/rdoc/RubyXL/CT_Path2DList.html +99 -0
  134. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +99 -0
  135. data/rdoc/RubyXL/CT_Path2DTo.html +99 -0
  136. data/rdoc/RubyXL/CT_PathShadeProperties.html +99 -0
  137. data/rdoc/RubyXL/CT_PatternFillProperties.html +99 -0
  138. data/rdoc/RubyXL/CT_Point3D.html +99 -0
  139. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +99 -0
  140. data/rdoc/RubyXL/CT_PresetColor.html +99 -0
  141. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +99 -0
  142. data/rdoc/RubyXL/CT_PresetShadowEffect.html +99 -0
  143. data/rdoc/RubyXL/CT_PresetTextShape.html +99 -0
  144. data/rdoc/RubyXL/CT_ReflectionEffect.html +99 -0
  145. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +99 -0
  146. data/rdoc/RubyXL/CT_RelativeRect.html +99 -0
  147. data/rdoc/RubyXL/CT_SRgbColor.html +99 -0
  148. data/rdoc/RubyXL/CT_ScRgbColor.html +99 -0
  149. data/rdoc/RubyXL/CT_Scene3D.html +99 -0
  150. data/rdoc/RubyXL/CT_SchemeColor.html +99 -0
  151. data/rdoc/RubyXL/CT_Shape3D.html +99 -0
  152. data/rdoc/RubyXL/CT_ShapeStyle.html +99 -0
  153. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +99 -0
  154. data/rdoc/RubyXL/CT_SphereCoords.html +99 -0
  155. data/rdoc/RubyXL/CT_StretchInfoProperties.html +99 -0
  156. data/rdoc/RubyXL/CT_StyleMatrix.html +99 -0
  157. data/rdoc/RubyXL/CT_StyleMatrixReference.html +99 -0
  158. data/rdoc/RubyXL/CT_SupplementalFont.html +99 -0
  159. data/rdoc/RubyXL/CT_SystemColor.html +99 -0
  160. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +99 -0
  161. data/rdoc/RubyXL/CT_TextBlipBullet.html +99 -0
  162. data/rdoc/RubyXL/CT_TextCharBullet.html +99 -0
  163. data/rdoc/RubyXL/CT_TextCharacterProperties.html +99 -0
  164. data/rdoc/RubyXL/CT_TextFont.html +99 -0
  165. data/rdoc/RubyXL/CT_TextListStyle.html +99 -0
  166. data/rdoc/RubyXL/CT_TextNormalAutofit.html +99 -0
  167. data/rdoc/RubyXL/CT_TextParagraphProperties.html +99 -0
  168. data/rdoc/RubyXL/CT_TextSpacing.html +99 -0
  169. data/rdoc/RubyXL/CT_TextTabStop.html +99 -0
  170. data/rdoc/RubyXL/CT_TextTabStopList.html +99 -0
  171. data/rdoc/RubyXL/CT_TileInfoProperties.html +99 -0
  172. data/rdoc/RubyXL/CT_TintEffect.html +99 -0
  173. data/rdoc/RubyXL/CT_Transform2D.html +99 -0
  174. data/rdoc/RubyXL/CT_TransformEffect.html +99 -0
  175. data/rdoc/RubyXL/CT_Vector3D.html +99 -0
  176. data/rdoc/RubyXL/CT_XYAdjustHandle.html +99 -0
  177. data/rdoc/RubyXL/CalculationChain.html +149 -0
  178. data/rdoc/RubyXL/CalculationChainCell.html +99 -0
  179. data/rdoc/RubyXL/CalculationProperties.html +99 -0
  180. data/rdoc/RubyXL/Cell.html +510 -0
  181. data/rdoc/RubyXL/CellConvenienceMethods.html +1077 -0
  182. data/rdoc/RubyXL/CellExt.html +99 -0
  183. data/rdoc/RubyXL/CellSmartTag.html +99 -0
  184. data/rdoc/RubyXL/CellSmartTagProperty.html +99 -0
  185. data/rdoc/RubyXL/CellSmartTags.html +99 -0
  186. data/rdoc/RubyXL/CellStyle.html +99 -0
  187. data/rdoc/RubyXL/CellStyleXFs.html +138 -0
  188. data/rdoc/RubyXL/CellStyles.html +138 -0
  189. data/rdoc/RubyXL/CellValue.html +139 -0
  190. data/rdoc/RubyXL/CellWatch.html +99 -0
  191. data/rdoc/RubyXL/CellWatches.html +99 -0
  192. data/rdoc/RubyXL/CellXFs.html +139 -0
  193. data/rdoc/RubyXL/ChartColorsFile.html +108 -0
  194. data/rdoc/RubyXL/ChartFile.html +160 -0
  195. data/rdoc/RubyXL/ChartStyleFile.html +108 -0
  196. data/rdoc/RubyXL/ChartUserShapesFile.html +108 -0
  197. data/rdoc/RubyXL/Chartsheet.html +213 -0
  198. data/rdoc/RubyXL/ChartsheetPageSetup.html +99 -0
  199. data/rdoc/RubyXL/ChartsheetProperties.html +99 -0
  200. data/rdoc/RubyXL/ChartsheetProtection.html +99 -0
  201. data/rdoc/RubyXL/ChartsheetView.html +99 -0
  202. data/rdoc/RubyXL/ChartsheetViews.html +99 -0
  203. data/rdoc/RubyXL/Color.html +151 -0
  204. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +246 -0
  205. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +285 -0
  206. data/rdoc/RubyXL/ColorConvenienceClasses.html +91 -0
  207. data/rdoc/RubyXL/ColorConvenienceMethods.html +139 -0
  208. data/rdoc/RubyXL/ColorFilter.html +99 -0
  209. data/rdoc/RubyXL/ColorScale.html +99 -0
  210. data/rdoc/RubyXL/ColorSet.html +99 -0
  211. data/rdoc/RubyXL/Colors.html +99 -0
  212. data/rdoc/RubyXL/ColumnRange.html +230 -0
  213. data/rdoc/RubyXL/ColumnRanges.html +237 -0
  214. data/rdoc/RubyXL/Comment.html +99 -0
  215. data/rdoc/RubyXL/CommentList.html +99 -0
  216. data/rdoc/RubyXL/CommentsFile.html +165 -0
  217. data/rdoc/RubyXL/ConditionalFormatValue.html +99 -0
  218. data/rdoc/RubyXL/ConditionalFormatting.html +99 -0
  219. data/rdoc/RubyXL/ConditionalFormattingRule.html +99 -0
  220. data/rdoc/RubyXL/Connection.html +99 -0
  221. data/rdoc/RubyXL/ConnectionTable.html +99 -0
  222. data/rdoc/RubyXL/ConnectionTables.html +99 -0
  223. data/rdoc/RubyXL/ConnectionTextField.html +99 -0
  224. data/rdoc/RubyXL/ConnectionTextFields.html +99 -0
  225. data/rdoc/RubyXL/Connections.html +149 -0
  226. data/rdoc/RubyXL/ContentTypeDefault.html +97 -0
  227. data/rdoc/RubyXL/ContentTypeOverride.html +97 -0
  228. data/rdoc/RubyXL/ContentTypes.html +211 -0
  229. data/rdoc/RubyXL/ControlPropertiesFile.html +108 -0
  230. data/rdoc/RubyXL/CorePropertiesFile.html +355 -0
  231. data/rdoc/RubyXL/CustomColor.html +99 -0
  232. data/rdoc/RubyXL/CustomColorList.html +99 -0
  233. data/rdoc/RubyXL/CustomFilter.html +99 -0
  234. data/rdoc/RubyXL/CustomFilters.html +99 -0
  235. data/rdoc/RubyXL/CustomGeometry.html +99 -0
  236. data/rdoc/RubyXL/CustomProperties.html +99 -0
  237. data/rdoc/RubyXL/CustomPropertiesFile.html +108 -0
  238. data/rdoc/RubyXL/CustomProperty.html +99 -0
  239. data/rdoc/RubyXL/CustomPropertyFile.html +108 -0
  240. data/rdoc/RubyXL/CustomSheetView.html +99 -0
  241. data/rdoc/RubyXL/CustomSheetViews.html +99 -0
  242. data/rdoc/RubyXL/CustomWorkbookView.html +99 -0
  243. data/rdoc/RubyXL/CustomWorkbookViews.html +99 -0
  244. data/rdoc/RubyXL/CustomXMLFile.html +106 -0
  245. data/rdoc/RubyXL/DXF.html +99 -0
  246. data/rdoc/RubyXL/DXFs.html +99 -0
  247. data/rdoc/RubyXL/DataBar.html +99 -0
  248. data/rdoc/RubyXL/DataConsolidate.html +99 -0
  249. data/rdoc/RubyXL/DataConsolidationReference.html +99 -0
  250. data/rdoc/RubyXL/DataConsolidationReferences.html +99 -0
  251. data/rdoc/RubyXL/DataType.html +114 -0
  252. data/rdoc/RubyXL/DataValidation.html +99 -0
  253. data/rdoc/RubyXL/DataValidations.html +99 -0
  254. data/rdoc/RubyXL/DateGroupItem.html +99 -0
  255. data/rdoc/RubyXL/DefinedName.html +99 -0
  256. data/rdoc/RubyXL/DefinedNameExt.html +99 -0
  257. data/rdoc/RubyXL/DefinedNames.html +99 -0
  258. data/rdoc/RubyXL/DefinedNamesExt.html +99 -0
  259. data/rdoc/RubyXL/DocumentPropertiesFile.html +213 -0
  260. data/rdoc/RubyXL/DrawingFile.html +159 -0
  261. data/rdoc/RubyXL/DynamicFilter.html +99 -0
  262. data/rdoc/RubyXL/EmbeddedControl.html +99 -0
  263. data/rdoc/RubyXL/EmbeddedControls.html +99 -0
  264. data/rdoc/RubyXL/Extension.html +99 -0
  265. data/rdoc/RubyXL/ExtensionStorageArea.html +99 -0
  266. data/rdoc/RubyXL/Extents.html +99 -0
  267. data/rdoc/RubyXL/ExternalBook.html +99 -0
  268. data/rdoc/RubyXL/ExternalLinksFile.html +155 -0
  269. data/rdoc/RubyXL/ExternalReference.html +99 -0
  270. data/rdoc/RubyXL/ExternalReferences.html +99 -0
  271. data/rdoc/RubyXL/ExtraColorSchemeList.html +99 -0
  272. data/rdoc/RubyXL/FieldItem.html +99 -0
  273. data/rdoc/RubyXL/FileRecoveryProperties.html +99 -0
  274. data/rdoc/RubyXL/FileSharing.html +99 -0
  275. data/rdoc/RubyXL/FileVersion.html +99 -0
  276. data/rdoc/RubyXL/Fill.html +138 -0
  277. data/rdoc/RubyXL/Fills.html +138 -0
  278. data/rdoc/RubyXL/FilterContainer.html +99 -0
  279. data/rdoc/RubyXL/FloatNode.html +97 -0
  280. data/rdoc/RubyXL/FloatValue.html +97 -0
  281. data/rdoc/RubyXL/Font.html +148 -0
  282. data/rdoc/RubyXL/FontConvenienceMethods.html +442 -0
  283. data/rdoc/RubyXL/FontScheme.html +99 -0
  284. data/rdoc/RubyXL/Fonts.html +138 -0
  285. data/rdoc/RubyXL/Formula.html +99 -0
  286. data/rdoc/RubyXL/FunctionGroup.html +99 -0
  287. data/rdoc/RubyXL/FunctionGroups.html +99 -0
  288. data/rdoc/RubyXL/GenericStorageObject.html +241 -0
  289. data/rdoc/RubyXL/GradientFill.html +99 -0
  290. data/rdoc/RubyXL/HeaderFooterSettings.html +99 -0
  291. data/rdoc/RubyXL/Hyperlink.html +99 -0
  292. data/rdoc/RubyXL/HyperlinkRelFile.html +106 -0
  293. data/rdoc/RubyXL/Hyperlinks.html +99 -0
  294. data/rdoc/RubyXL/IconFilter.html +99 -0
  295. data/rdoc/RubyXL/IconSet.html +99 -0
  296. data/rdoc/RubyXL/IgnoredError.html +99 -0
  297. data/rdoc/RubyXL/IgnoredErrors.html +99 -0
  298. data/rdoc/RubyXL/IndexedColors.html +99 -0
  299. data/rdoc/RubyXL/InputCells.html +99 -0
  300. data/rdoc/RubyXL/IntegerNode.html +97 -0
  301. data/rdoc/RubyXL/IntegerValue.html +97 -0
  302. data/rdoc/RubyXL/LegacyCell.html +130 -0
  303. data/rdoc/RubyXL/LegacyWorksheet.html +306 -0
  304. data/rdoc/RubyXL/MRUColors.html +99 -0
  305. data/rdoc/RubyXL/MacrosFile.html +108 -0
  306. data/rdoc/RubyXL/MergedCell.html +99 -0
  307. data/rdoc/RubyXL/MergedCells.html +99 -0
  308. data/rdoc/RubyXL/NumFmt.html +99 -0
  309. data/rdoc/RubyXL/NumberFormat.html +139 -0
  310. data/rdoc/RubyXL/NumberFormats.html +147 -0
  311. data/rdoc/RubyXL/OLEObject.html +99 -0
  312. data/rdoc/RubyXL/OLEObjectFile.html +108 -0
  313. data/rdoc/RubyXL/OLEObjects.html +99 -0
  314. data/rdoc/RubyXL/OLESize.html +99 -0
  315. data/rdoc/RubyXL/OOXMLContainerObject.html +309 -0
  316. data/rdoc/RubyXL/OOXMLIgnored.html +167 -0
  317. data/rdoc/RubyXL/OOXMLObject.html +107 -0
  318. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +455 -0
  319. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +442 -0
  320. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +470 -0
  321. data/rdoc/RubyXL/OOXMLTopLevelObject.html +297 -0
  322. data/rdoc/RubyXL/OdbcOleDbProperties.html +99 -0
  323. data/rdoc/RubyXL/Offset.html +99 -0
  324. data/rdoc/RubyXL/OlapProperties.html +99 -0
  325. data/rdoc/RubyXL/OleItem.html +99 -0
  326. data/rdoc/RubyXL/OleItems.html +99 -0
  327. data/rdoc/RubyXL/OleLink.html +99 -0
  328. data/rdoc/RubyXL/OutlineProperties.html +99 -0
  329. data/rdoc/RubyXL/PageMargins.html +99 -0
  330. data/rdoc/RubyXL/PageSetup.html +99 -0
  331. data/rdoc/RubyXL/PageSetupProperties.html +99 -0
  332. data/rdoc/RubyXL/Pane.html +99 -0
  333. data/rdoc/RubyXL/Parser.html +174 -0
  334. data/rdoc/RubyXL/PatternFill.html +99 -0
  335. data/rdoc/RubyXL/PersonMetadata.html +108 -0
  336. data/rdoc/RubyXL/PhoneticProperties.html +99 -0
  337. data/rdoc/RubyXL/PhoneticRun.html +99 -0
  338. data/rdoc/RubyXL/PivotArea.html +99 -0
  339. data/rdoc/RubyXL/PivotCache.html +99 -0
  340. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +116 -0
  341. data/rdoc/RubyXL/PivotCacheRecordsFile.html +108 -0
  342. data/rdoc/RubyXL/PivotCaches.html +99 -0
  343. data/rdoc/RubyXL/PivotReference.html +99 -0
  344. data/rdoc/RubyXL/PivotReferences.html +99 -0
  345. data/rdoc/RubyXL/PivotTableFile.html +116 -0
  346. data/rdoc/RubyXL/PivotTableSelection.html +99 -0
  347. data/rdoc/RubyXL/PresetGeometry.html +99 -0
  348. data/rdoc/RubyXL/PrintOptions.html +99 -0
  349. data/rdoc/RubyXL/PrinterSettingsFile.html +108 -0
  350. data/rdoc/RubyXL/ProtectedRange.html +99 -0
  351. data/rdoc/RubyXL/ProtectedRanges.html +99 -0
  352. data/rdoc/RubyXL/Protection.html +99 -0
  353. data/rdoc/RubyXL/QueryParameter.html +99 -0
  354. data/rdoc/RubyXL/QueryParameters.html +99 -0
  355. data/rdoc/RubyXL/QueryTable.html +157 -0
  356. data/rdoc/RubyXL/QueryTableDeletedField.html +99 -0
  357. data/rdoc/RubyXL/QueryTableDeletedFields.html +99 -0
  358. data/rdoc/RubyXL/QueryTableField.html +99 -0
  359. data/rdoc/RubyXL/QueryTableFields.html +99 -0
  360. data/rdoc/RubyXL/QueryTableRefresh.html +99 -0
  361. data/rdoc/RubyXL/RID.html +97 -0
  362. data/rdoc/RubyXL/RawOOXML.html +187 -0
  363. data/rdoc/RubyXL/Reference.html +510 -0
  364. data/rdoc/RubyXL/Relationship.html +97 -0
  365. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +131 -0
  366. data/rdoc/RubyXL/RelationshipSupport.html +336 -0
  367. data/rdoc/RubyXL/RevisionPointer.html +99 -0
  368. data/rdoc/RubyXL/RichText.html +141 -0
  369. data/rdoc/RubyXL/RichTextRun.html +138 -0
  370. data/rdoc/RubyXL/Row.html +357 -0
  371. data/rdoc/RubyXL/RowExt.html +99 -0
  372. data/rdoc/RubyXL/RunProperties.html +99 -0
  373. data/rdoc/RubyXL/Scenario.html +99 -0
  374. data/rdoc/RubyXL/Scenarios.html +99 -0
  375. data/rdoc/RubyXL/Selection.html +146 -0
  376. data/rdoc/RubyXL/ShapeGuide.html +99 -0
  377. data/rdoc/RubyXL/ShapeTextRectangle.html +99 -0
  378. data/rdoc/RubyXL/SharedStringsTable.html +328 -0
  379. data/rdoc/RubyXL/Sheet.html +99 -0
  380. data/rdoc/RubyXL/SheetCalculationProperties.html +99 -0
  381. data/rdoc/RubyXL/SheetData.html +162 -0
  382. data/rdoc/RubyXL/SheetDataExt.html +99 -0
  383. data/rdoc/RubyXL/SheetDataSet.html +99 -0
  384. data/rdoc/RubyXL/SheetMetadata.html +108 -0
  385. data/rdoc/RubyXL/SheetName.html +99 -0
  386. data/rdoc/RubyXL/SheetNames.html +99 -0
  387. data/rdoc/RubyXL/Sheets.html +99 -0
  388. data/rdoc/RubyXL/SlicerCacheFile.html +108 -0
  389. data/rdoc/RubyXL/SlicerFile.html +108 -0
  390. data/rdoc/RubyXL/SmartTagProperties.html +99 -0
  391. data/rdoc/RubyXL/SmartTagType.html +99 -0
  392. data/rdoc/RubyXL/SmartTagTypes.html +99 -0
  393. data/rdoc/RubyXL/SmartTags.html +99 -0
  394. data/rdoc/RubyXL/SortCondition.html +99 -0
  395. data/rdoc/RubyXL/SortState.html +99 -0
  396. data/rdoc/RubyXL/Sqref.html +167 -0
  397. data/rdoc/RubyXL/Stop.html +99 -0
  398. data/rdoc/RubyXL/StringNode.html +97 -0
  399. data/rdoc/RubyXL/StringNodeW3C.html +167 -0
  400. data/rdoc/RubyXL/StringValue.html +97 -0
  401. data/rdoc/RubyXL/Stylesheet.html +281 -0
  402. data/rdoc/RubyXL/TableFile.html +108 -0
  403. data/rdoc/RubyXL/TableParts.html +97 -0
  404. data/rdoc/RubyXL/TableStyle.html +99 -0
  405. data/rdoc/RubyXL/TableStyles.html +99 -0
  406. data/rdoc/RubyXL/Text.html +175 -0
  407. data/rdoc/RubyXL/TextImportSettings.html +99 -0
  408. data/rdoc/RubyXL/Theme.html +535 -0
  409. data/rdoc/RubyXL/ThemeElements.html +99 -0
  410. data/rdoc/RubyXL/ThumbnailFile.html +108 -0
  411. data/rdoc/RubyXL/Top10.html +99 -0
  412. data/rdoc/RubyXL/VMLDrawingFile.html +116 -0
  413. data/rdoc/RubyXL/Variant.html +99 -0
  414. data/rdoc/RubyXL/Vector.html +142 -0
  415. data/rdoc/RubyXL/VectorValue.html +97 -0
  416. data/rdoc/RubyXL/VisualProperties.html +99 -0
  417. data/rdoc/RubyXL/WebPublishObject.html +99 -0
  418. data/rdoc/RubyXL/WebPublishObjects.html +99 -0
  419. data/rdoc/RubyXL/WebPublishingItem.html +99 -0
  420. data/rdoc/RubyXL/WebPublishingItems.html +99 -0
  421. data/rdoc/RubyXL/WebPublishingProperties.html +99 -0
  422. data/rdoc/RubyXL/WebQueryProperties.html +99 -0
  423. data/rdoc/RubyXL/Workbook.html +948 -0
  424. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +596 -0
  425. data/rdoc/RubyXL/WorkbookProperties.html +99 -0
  426. data/rdoc/RubyXL/WorkbookProtection.html +99 -0
  427. data/rdoc/RubyXL/WorkbookRoot.html +325 -0
  428. data/rdoc/RubyXL/WorkbookView.html +99 -0
  429. data/rdoc/RubyXL/WorkbookViews.html +99 -0
  430. data/rdoc/RubyXL/Worksheet.html +418 -0
  431. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +2205 -0
  432. data/rdoc/RubyXL/WorksheetDimensions.html +99 -0
  433. data/rdoc/RubyXL/WorksheetFormatProperties.html +97 -0
  434. data/rdoc/RubyXL/WorksheetProperties.html +99 -0
  435. data/rdoc/RubyXL/WorksheetProtection.html +99 -0
  436. data/rdoc/RubyXL/WorksheetView.html +99 -0
  437. data/rdoc/RubyXL/WorksheetViews.html +99 -0
  438. data/rdoc/RubyXL/XF.html +99 -0
  439. data/rdoc/RubyXL.html +338 -0
  440. data/rdoc/created.rid +45 -0
  441. data/rdoc/css/fonts.css +167 -0
  442. data/rdoc/css/rdoc.css +687 -0
  443. data/rdoc/fonts/Lato-Light.ttf +0 -0
  444. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  445. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  446. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  447. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  448. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  449. data/rdoc/images/add.png +0 -0
  450. data/rdoc/images/arrow_up.png +0 -0
  451. data/rdoc/images/brick.png +0 -0
  452. data/rdoc/images/brick_link.png +0 -0
  453. data/rdoc/images/bug.png +0 -0
  454. data/rdoc/images/bullet_black.png +0 -0
  455. data/rdoc/images/bullet_toggle_minus.png +0 -0
  456. data/rdoc/images/bullet_toggle_plus.png +0 -0
  457. data/rdoc/images/date.png +0 -0
  458. data/rdoc/images/delete.png +0 -0
  459. data/rdoc/images/find.png +0 -0
  460. data/rdoc/images/loadingAnimation.gif +0 -0
  461. data/rdoc/images/macFFBgHack.png +0 -0
  462. data/rdoc/images/package.png +0 -0
  463. data/rdoc/images/page_green.png +0 -0
  464. data/rdoc/images/page_white_text.png +0 -0
  465. data/rdoc/images/page_white_width.png +0 -0
  466. data/rdoc/images/plugin.png +0 -0
  467. data/rdoc/images/ruby.png +0 -0
  468. data/rdoc/images/tag_blue.png +0 -0
  469. data/rdoc/images/tag_green.png +0 -0
  470. data/rdoc/images/transparent.png +0 -0
  471. data/rdoc/images/wrench.png +0 -0
  472. data/rdoc/images/wrench_orange.png +0 -0
  473. data/rdoc/images/zoom.png +0 -0
  474. data/rdoc/index.html +477 -0
  475. data/rdoc/js/darkfish.js +97 -0
  476. data/rdoc/js/navigation.js +105 -0
  477. data/rdoc/js/navigation.js.gz +0 -0
  478. data/rdoc/js/search.js +110 -0
  479. data/rdoc/js/search_index.js +1 -0
  480. data/rdoc/js/search_index.js.gz +0 -0
  481. data/rdoc/js/searcher.js +229 -0
  482. data/rdoc/js/searcher.js.gz +0 -0
  483. data/rdoc/table_of_contents.html +3021 -0
  484. data/rubyXL.gemspec +521 -60
  485. data/spec/lib/cell_spec.rb +386 -143
  486. data/spec/lib/color_spec.rb +11 -4
  487. data/spec/lib/parser_spec.rb +90 -38
  488. data/spec/lib/reference_spec.rb +64 -0
  489. data/spec/lib/rgb_color_spec.rb +29 -0
  490. data/spec/lib/stylesheet_spec.rb +27 -0
  491. data/spec/lib/text_spec.rb +27 -0
  492. data/spec/lib/workbook_spec.rb +168 -22
  493. data/spec/lib/worksheet_spec.rb +1207 -1220
  494. data/spec/spec_helper.rb +13 -0
  495. data/test/input/.gitkeep +0 -0
  496. data/test/output/.gitkeep +0 -0
  497. data/test/test_parse_write.rb +15 -0
  498. data/tmp/.gitignore +1 -0
  499. metadata +634 -168
  500. data/Gemfile.lock +0 -34
  501. data/lib/.DS_Store +0 -0
  502. data/lib/rubyXL/Hash.rb +0 -60
  503. data/lib/rubyXL/color.rb +0 -14
  504. data/lib/rubyXL/private_class.rb +0 -265
  505. data/lib/rubyXL/workbook.rb +0 -450
  506. data/lib/rubyXL/writer/app_writer.rb +0 -62
  507. data/lib/rubyXL/writer/calc_chain_writer.rb +0 -33
  508. data/lib/rubyXL/writer/content_types_writer.rb +0 -77
  509. data/lib/rubyXL/writer/core_writer.rb +0 -51
  510. data/lib/rubyXL/writer/root_rels_writer.rb +0 -25
  511. data/lib/rubyXL/writer/shared_strings_writer.rb +0 -30
  512. data/lib/rubyXL/writer/styles_writer.rb +0 -407
  513. data/lib/rubyXL/writer/theme_writer.rb +0 -343
  514. data/lib/rubyXL/writer/workbook_rels_writer.rb +0 -59
  515. data/lib/rubyXL/writer/workbook_writer.rb +0 -77
  516. data/lib/rubyXL/writer/worksheet_writer.rb +0 -230
  517. data/lib/rubyXL/zip.rb +0 -20
  518. data/spec/lib/hash_spec.rb +0 -28
@@ -0,0 +1,1730 @@
1
+ require 'rubyXL/objects/ooxml_object'
2
+ require 'rubyXL/objects/extensions'
3
+
4
+ module RubyXL
5
+ # http://www.datypic.com/sc/ooxml/e-a_ext-1.html
6
+ class AExtension < OOXMLObject
7
+ define_attribute(:uri, :string)
8
+ define_element_name 'a:ext'
9
+ attr_accessor :raw_xml
10
+
11
+ def self.parse(node, ignore)
12
+ obj = new
13
+ obj.raw_xml = node.to_xml
14
+ obj
15
+ end
16
+
17
+ def write_xml(xml, node_name_override = nil)
18
+ self.raw_xml
19
+ end
20
+ end
21
+
22
+ class AExtensionStorageArea < OOXMLObject
23
+ define_child_node(RubyXL::AExtension, :collection => true)
24
+ define_element_name 'a:extLst'
25
+ end
26
+
27
+ # http://www.datypic.com/sc/ooxml/e-a_srgbClr-1.html
28
+ class CT_ScRgbColor < OOXMLObject
29
+ # -- Choice [0..*] (a:EG_ColorTransform)
30
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint')
31
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade')
32
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp')
33
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv')
34
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray')
35
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha')
36
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff')
37
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod')
38
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue')
39
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff')
40
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod')
41
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat')
42
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff')
43
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod')
44
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum')
45
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff')
46
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod')
47
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:red')
48
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff')
49
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod')
50
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:green')
51
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff')
52
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod')
53
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue')
54
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff')
55
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod')
56
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma')
57
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma')
58
+ define_attribute(:r, :int, :required => true)
59
+ define_attribute(:g, :int, :required => true)
60
+ define_attribute(:b, :int, :required => true)
61
+ define_element_name 'a:scrgbClr'
62
+ end
63
+
64
+ # http://www.datypic.com/sc/ooxml/e-a_srgbClr-1.html
65
+ class CT_SRgbColor < OOXMLObject
66
+ # -- Choice [0..*] (a:EG_ColorTransform)
67
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint')
68
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade')
69
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp')
70
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv')
71
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray')
72
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha')
73
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff')
74
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod')
75
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue')
76
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff')
77
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod')
78
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat')
79
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff')
80
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod')
81
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum')
82
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff')
83
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod')
84
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:red')
85
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff')
86
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod')
87
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:green')
88
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff')
89
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod')
90
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue')
91
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff')
92
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod')
93
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma')
94
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma')
95
+ define_attribute(:val, :string, :required => true)
96
+ define_element_name 'a:srgbClr'
97
+ end
98
+
99
+ # http://www.datypic.com/sc/ooxml/e-a_hslClr-1.html
100
+ class CT_HslColor < OOXMLObject
101
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint')
102
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade')
103
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp')
104
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv')
105
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray')
106
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha')
107
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff')
108
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod')
109
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue')
110
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff')
111
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod')
112
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat')
113
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff')
114
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod')
115
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum')
116
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff')
117
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod')
118
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:red')
119
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff')
120
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod')
121
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:green')
122
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff')
123
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod')
124
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue')
125
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff')
126
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod')
127
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma')
128
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma')
129
+ define_attribute(:hue, :int, :required => true)
130
+ define_attribute(:sat, :int, :required => true)
131
+ define_attribute(:lum, :int, :required => true)
132
+ define_element_name 'a:hslClr'
133
+ end
134
+
135
+ # http://www.datypic.com/sc/ooxml/e-a_sysClr-1.html
136
+ class CT_SystemColor < OOXMLObject
137
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint')
138
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade')
139
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp')
140
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv')
141
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray')
142
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha')
143
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff')
144
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod')
145
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue')
146
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff')
147
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod')
148
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat')
149
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff')
150
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod')
151
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum')
152
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff')
153
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod')
154
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:red')
155
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff')
156
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod')
157
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:green')
158
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff')
159
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod')
160
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue')
161
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff')
162
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod')
163
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma')
164
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma')
165
+ define_attribute(:val, RubyXL::ST_SystemColorVal, :required => true)
166
+ define_attribute(:lastClr, :string)
167
+ define_element_name 'a:sysClr'
168
+ end
169
+
170
+ # http://www.datypic.com/sc/ooxml/e-a_schemeClr-1.html
171
+ class CT_SchemeColor < OOXMLObject
172
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint')
173
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade')
174
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp')
175
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv')
176
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray')
177
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha')
178
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff')
179
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod')
180
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue')
181
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff')
182
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod')
183
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat')
184
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff')
185
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod')
186
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum')
187
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff')
188
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod')
189
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:red')
190
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff')
191
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod')
192
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:green')
193
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff')
194
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod')
195
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue')
196
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff')
197
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod')
198
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma')
199
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma')
200
+ define_attribute(:val, RubyXL::ST_SchemeColorVal, :required => true)
201
+ define_element_name 'a:schemeClr'
202
+ end
203
+
204
+ # http://www.datypic.com/sc/ooxml/e-a_prstClr-1.html
205
+ class CT_PresetColor < OOXMLObject
206
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:tint')
207
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:shade')
208
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:comp')
209
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:inv')
210
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gray')
211
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alpha')
212
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaOff')
213
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:alphaMod')
214
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hue')
215
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueOff')
216
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:hueMod')
217
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:sat')
218
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satOff')
219
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:satMod')
220
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lum')
221
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumOff')
222
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:lumMod')
223
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:red')
224
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redOff')
225
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:redMod')
226
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:green')
227
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenOff')
228
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:greenMod')
229
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blue')
230
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueOff')
231
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:blueMod')
232
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:gamma')
233
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:invGamma')
234
+ define_attribute(:val, RubyXL::ST_PresetColorVal, :required => true)
235
+ define_element_name 'a:prstClr'
236
+ end
237
+
238
+ # http://www.datypic.com/sc/ooxml/t-a_CT_Color.html
239
+ class CT_Color < OOXMLObject
240
+ define_child_node(RubyXL::CT_ScRgbColor)
241
+ define_child_node(RubyXL::CT_SRgbColor)
242
+ define_child_node(RubyXL::CT_HslColor)
243
+ define_child_node(RubyXL::CT_SystemColor)
244
+ define_child_node(RubyXL::CT_SchemeColor)
245
+ define_child_node(RubyXL::CT_PresetColor)
246
+ end
247
+
248
+ # http://www.datypic.com/sc/ooxml/e-a_clrScheme-1.html
249
+ class CT_ColorScheme < OOXMLObject
250
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:dk1')
251
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:lt1')
252
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:dk2')
253
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:lt2')
254
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:accent1')
255
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:accent2')
256
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:accent3')
257
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:accent4')
258
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:accent5')
259
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:accent6')
260
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:hlink')
261
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:folHlink')
262
+ define_attribute(:name, :string, :required => true)
263
+ define_element_name 'a:clrScheme'
264
+ end
265
+
266
+ # http://www.datypic.com/sc/ooxml/t-a_CT_SupplementalFont.html
267
+ class CT_SupplementalFont < OOXMLObject
268
+ define_attribute(:script, :string, :required => true)
269
+ define_attribute(:typeface, :string, :required => true)
270
+ end
271
+
272
+ # http://www.datypic.com/sc/ooxml/t-a_CT_TextFont.html
273
+ class CT_TextFont < OOXMLObject
274
+ define_attribute(:typeface, :string)
275
+ define_attribute(:panose, :string)
276
+ define_attribute(:pitchFamily, :int, :default => 0)
277
+ define_attribute(:charset, :int, :default => 1)
278
+ end
279
+
280
+ # http://www.datypic.com/sc/ooxml/t-a_CT_FontCollection.html
281
+ class CT_FontCollection < OOXMLObject
282
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:latin')
283
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:ea')
284
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:cs')
285
+ define_child_node(RubyXL::CT_SupplementalFont, :node_name => 'a:font', :collection => [0..-1])
286
+ define_child_node(RubyXL::AExtensionStorageArea)
287
+ end
288
+
289
+ # http://www.datypic.com/sc/ooxml/e-a_fontScheme-1.html
290
+ class FontScheme < OOXMLObject
291
+ # -- Sequence [1..1]
292
+ define_child_node(RubyXL::CT_FontCollection, :node_name => 'a:majorFont')
293
+ define_child_node(RubyXL::CT_FontCollection, :node_name => 'a:minorFont')
294
+ define_child_node(RubyXL::AExtensionStorageArea)
295
+ # --
296
+ define_attribute(:name, :string, :required => true)
297
+ define_element_name 'a:fontScheme'
298
+ end
299
+
300
+ # http://www.datypic.com/sc/ooxml/e-a_gs-1.html
301
+ class CT_GradientStop < OOXMLObject
302
+ # -- Choice [1..1] (EG_ColorChoice)
303
+ define_child_node(RubyXL::CT_ScRgbColor)
304
+ define_child_node(RubyXL::CT_SRgbColor)
305
+ define_child_node(RubyXL::CT_HslColor)
306
+ define_child_node(RubyXL::CT_SystemColor)
307
+ define_child_node(RubyXL::CT_SchemeColor)
308
+ define_child_node(RubyXL::CT_PresetColor)
309
+ # --
310
+ define_attribute(:pos, :int, :required => true)
311
+ define_element_name 'a:gs'
312
+ end
313
+
314
+ # http://www.datypic.com/sc/ooxml/e-a_gsLst-1.html
315
+ class CT_GradientStopList < OOXMLContainerObject
316
+ define_child_node(RubyXL::CT_GradientStop, :collection => [2..-1])
317
+ define_element_name 'a:gsLst'
318
+ end
319
+
320
+ # http://www.datypic.com/sc/ooxml/e-a_lin-1.html
321
+ class CT_LinearShadeProperties < OOXMLObject
322
+ define_attribute(:ang, :int)
323
+ define_attribute(:scaled, :bool)
324
+ define_element_name 'a:lin'
325
+ end
326
+
327
+ # http://www.datypic.com/sc/ooxml/e-a_tileRect-1.html
328
+ class CT_RelativeRect < OOXMLObject
329
+ define_attribute(:l, :int, :default => 0)
330
+ define_attribute(:t, :int, :default => 0)
331
+ define_attribute(:r, :int, :default => 0)
332
+ define_attribute(:b, :int, :default => 0)
333
+ define_element_name 'a:tileRect'
334
+ end
335
+
336
+ # http://www.datypic.com/sc/ooxml/e-a_path-1.html
337
+ class CT_PathShadeProperties < OOXMLObject
338
+ define_child_node(CT_RelativeRect, :node_name => 'a:fillToRect')
339
+ define_attribute(:path, RubyXL::ST_PathShadeType)
340
+ define_element_name 'a:path'
341
+ end
342
+
343
+ # http://www.datypic.com/sc/ooxml/e-a_gradFill-1.html
344
+ class CT_GradientFillProperties < OOXMLObject
345
+ define_child_node(RubyXL::CT_GradientStopList)
346
+ define_child_node(RubyXL::CT_LinearShadeProperties)
347
+ define_child_node(RubyXL::CT_PathShadeProperties)
348
+ define_child_node(RubyXL::CT_RelativeRect)
349
+ define_attribute(:flip, RubyXL::ST_TileFlipMode)
350
+ define_attribute(:rotWithShape, :bool)
351
+ define_element_name 'a:gradFill'
352
+ end
353
+
354
+ # http://www.datypic.com/sc/ooxml/e-a_pattFill-1.html
355
+ class CT_PatternFillProperties < OOXMLObject
356
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:fgClr')
357
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:bgClr')
358
+ define_attribute(:prst, RubyXL::ST_PresetPatternVal)
359
+ define_element_name 'a:pattFill'
360
+ end
361
+
362
+ # http://www.datypic.com/sc/ooxml/e-a_tile-1.html
363
+ class CT_TileInfoProperties < OOXMLObject
364
+ define_attribute(:tx, :int)
365
+ define_attribute(:ty, :int)
366
+ define_attribute(:sx, :int)
367
+ define_attribute(:sy, :int)
368
+ define_attribute(:flip, RubyXL::ST_TileFlipMode)
369
+ define_attribute(:align, RubyXL::ST_RectAlignment)
370
+ define_element_name 'a:tile'
371
+ end
372
+
373
+ # http://www.datypic.com/sc/ooxml/e-a_stretch-1.html
374
+ class CT_StretchInfoProperties < OOXMLObject
375
+ define_child_node(RubyXL::CT_RelativeRect, :node_name => 'a:fillRect')
376
+ define_element_name 'a:stretch'
377
+ end
378
+
379
+ # http://www.datypic.com/sc/ooxml/t-a_CT_TintEffect.html
380
+ class CT_TintEffect < OOXMLObject
381
+ define_attribute(:hue, :int, :default => 0)
382
+ define_attribute(:amt, :int, :default => 0)
383
+ define_element_name 'a:tint'
384
+ end
385
+
386
+ # http://www.datypic.com/sc/ooxml/t-a_CT_HSLEffect.html
387
+ class CT_HSLEffect < OOXMLObject
388
+ define_attribute(:hue, :int, :default => 0)
389
+ define_attribute(:sat, :int, :default => 0)
390
+ define_attribute(:lum, :int, :default => 0)
391
+ define_element_name 'a:hsl'
392
+ end
393
+
394
+ # http://www.datypic.com/sc/ooxml/t-a_CT_LuminanceEffect.html
395
+ class CT_LuminanceEffect < OOXMLObject
396
+ define_attribute(:bright, :int, :default => 0)
397
+ define_attribute(:contrast, :int, :default => 0)
398
+ define_element_name 'a:lum'
399
+ end
400
+
401
+ # http://www.datypic.com/sc/ooxml/t-a_CT_AlphaBiLevelEffect.html
402
+ class CT_AlphaBiLevelEffect < OOXMLObject
403
+ define_attribute(:thresh, :int, :required => true)
404
+ define_element_name 'a:alphaBiLevel'
405
+ end
406
+
407
+ # http://www.datypic.com/sc/ooxml/t-a_CT_AlphaModulateFixedEffect.html
408
+ class CT_AlphaModulateFixedEffect < OOXMLObject
409
+ define_attribute(:amt, :int, :default => 100000)
410
+ define_element_name 'a:alphaModFix'
411
+ end
412
+
413
+ # http://www.datypic.com/sc/ooxml/t-a_CT_AlphaReplaceEffect.html
414
+ class CT_AlphaReplaceEffect < OOXMLObject
415
+ define_attribute(:a, :int, :required => true)
416
+ define_element_name 'a:alphaRepl'
417
+ end
418
+
419
+ # http://www.datypic.com/sc/ooxml/t-a_CT_BiLevelEffect.html
420
+ class CT_BiLevelEffect < OOXMLObject
421
+ define_attribute(:thresh, :int, :required => true, :default => 100000)
422
+ define_element_name 'a:biLevel'
423
+ end
424
+
425
+ # http://www.datypic.com/sc/ooxml/t-a_CT_BlurEffect.html
426
+ class CT_BlurEffect < OOXMLObject
427
+ define_attribute(:rad, :int, :default => 0)
428
+ define_attribute(:grow, :bool, :default => true)
429
+ define_element_name 'a:blur'
430
+ end
431
+
432
+ # http://www.datypic.com/sc/ooxml/t-a_CT_DuotoneEffect.html
433
+ class CT_DuotoneEffect < OOXMLObject
434
+ define_attribute(:rad, :int, :default => 0)
435
+ define_attribute(:grow, :bool, :default => true)
436
+ define_element_name 'a:blur'
437
+ end
438
+
439
+ # http://www.datypic.com/sc/ooxml/t-a_CT_ColorChangeEffect.html
440
+ class CT_ColorChangeEffect < OOXMLObject
441
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:clrFrom')
442
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:clrTo')
443
+ define_attribute(:useA, :bool, :default => true)
444
+ define_element_name 'a:clrChange'
445
+ end
446
+
447
+ class CT_EffectContainer < OOXMLObject
448
+ # Defining class here without actually filling the OOXML definitions
449
+ # so it can reference itself in the actual definition.
450
+ end
451
+
452
+ # http://www.datypic.com/sc/ooxml/e-a_alphaMod-2.html
453
+ class CT_AlphaModulateEffect < OOXMLObject
454
+ define_child_node(RubyXL::CT_EffectContainer, :node_name => :cont)
455
+ define_element_name 'a:alphaMod'
456
+ end
457
+
458
+ # http://www.datypic.com/sc/ooxml/e-a_blend-1.html
459
+ class CT_BlendEffect < OOXMLObject
460
+ define_child_node(RubyXL::CT_EffectContainer, :node_name => :cont)
461
+ define_attribute(:blend, RubyXL::ST_BlendMode, :required => true)
462
+ define_element_name 'a:blend'
463
+ end
464
+
465
+ # http://www.datypic.com/sc/ooxml/e-a_effect-1.html
466
+ class CT_EffectReference < OOXMLObject
467
+ define_attribute(:ref, :string)
468
+ define_element_name 'a:effect'
469
+ end
470
+
471
+ # http://www.datypic.com/sc/ooxml/e-a_alphaOutset-1.html
472
+ class CT_AlphaOutsetEffect < OOXMLObject
473
+ define_attribute(:rad, :int, :default => 0)
474
+ define_element_name 'a:alphaOutset'
475
+ end
476
+
477
+ # http://www.datypic.com/sc/ooxml/e-a_blip-1.html
478
+ class CT_Blip < OOXMLObject
479
+ define_child_node(RubyXL::CT_AlphaBiLevelEffect)
480
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaCeiling')
481
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaFloor')
482
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:alphaInv')
483
+ define_child_node(RubyXL::CT_AlphaModulateEffect)
484
+ define_child_node(RubyXL::CT_AlphaModulateFixedEffect)
485
+ define_child_node(RubyXL::CT_AlphaReplaceEffect)
486
+ define_child_node(RubyXL::CT_BiLevelEffect)
487
+ define_child_node(RubyXL::CT_BlurEffect)
488
+ define_child_node(RubyXL::CT_ColorChangeEffect)
489
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:clrRepl')
490
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:duotone')
491
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:fillOverlay')
492
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grayscl')
493
+ define_child_node(RubyXL::CT_HSLEffect)
494
+ define_child_node(RubyXL::CT_LuminanceEffect)
495
+ define_child_node(RubyXL::CT_TintEffect)
496
+ define_attribute(:'r:embed', :string)
497
+ define_attribute(:'r:link', :string)
498
+ define_attribute(:cstate, RubyXL::ST_BlipCompression)
499
+ define_element_name 'a:blip'
500
+ end
501
+
502
+ # http://www.datypic.com/sc/ooxml/e-a_blipFill-1.html
503
+ class CT_BlipFillProperties < OOXMLObject
504
+ define_child_node(RubyXL::CT_Blip)
505
+ define_child_node(RubyXL::CT_RelativeRect, :node_name => 'a:srcRect')
506
+ define_child_node(RubyXL::CT_TileInfoProperties)
507
+ define_child_node(RubyXL::CT_StretchInfoProperties)
508
+ define_attribute(:dpi, :int)
509
+ define_attribute(:rotWithShape, :bool)
510
+ define_element_name 'a:blipFill'
511
+ end
512
+
513
+ # http://www.datypic.com/sc/ooxml/e-a_fill-1.html
514
+ class CT_FillEffect < OOXMLObject
515
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill')
516
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill')
517
+ define_child_node(RubyXL::CT_GradientFillProperties)
518
+ define_child_node(RubyXL::CT_BlipFillProperties)
519
+ define_child_node(RubyXL::CT_PatternFillProperties)
520
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill')
521
+ define_element_name 'a:fill'
522
+ end
523
+
524
+ # http://www.datypic.com/sc/ooxml/e-a_fillOverlay-1.html
525
+ class CT_FillOverlayEffect < OOXMLObject
526
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill')
527
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill')
528
+ define_child_node(RubyXL::CT_GradientFillProperties)
529
+ define_child_node(RubyXL::CT_BlipFillProperties)
530
+ define_child_node(RubyXL::CT_PatternFillProperties)
531
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill')
532
+ define_attribute(:blend, RubyXL::ST_BlendMode)
533
+ define_element_name 'a:fillOverlay'
534
+ end
535
+
536
+ # http://www.datypic.com/sc/ooxml/t-a_CT_GlowEffect.html
537
+ class CT_GlowEffect < OOXMLObject
538
+ define_child_node(RubyXL::CT_ScRgbColor)
539
+ define_child_node(RubyXL::CT_SRgbColor)
540
+ define_child_node(RubyXL::CT_HslColor)
541
+ define_child_node(RubyXL::CT_SystemColor)
542
+ define_child_node(RubyXL::CT_SchemeColor)
543
+ define_child_node(RubyXL::CT_PresetColor)
544
+ define_attribute(:rad, :int, :default => 0)
545
+ define_element_name 'a:glow'
546
+ end
547
+
548
+ # http://www.datypic.com/sc/ooxml/t-a_CT_InnerShadowEffect.html
549
+ class CT_InnerShadowEffect < OOXMLObject
550
+ define_child_node(RubyXL::CT_ScRgbColor)
551
+ define_child_node(RubyXL::CT_SRgbColor)
552
+ define_child_node(RubyXL::CT_HslColor)
553
+ define_child_node(RubyXL::CT_SystemColor)
554
+ define_child_node(RubyXL::CT_SchemeColor)
555
+ define_child_node(RubyXL::CT_PresetColor)
556
+ define_attribute(:blurRad, :int, :default => 0)
557
+ define_attribute(:dist, :int, :default => 0)
558
+ define_attribute(:dir, :int, :default => 0)
559
+ define_element_name 'a:innerShdw'
560
+ end
561
+
562
+ # http://www.datypic.com/sc/ooxml/t-a_CT_OuterShadowEffect.html
563
+ class CT_OuterShadowEffect < OOXMLObject
564
+ define_child_node(RubyXL::CT_ScRgbColor)
565
+ define_child_node(RubyXL::CT_SRgbColor)
566
+ define_child_node(RubyXL::CT_HslColor)
567
+ define_child_node(RubyXL::CT_SystemColor)
568
+ define_child_node(RubyXL::CT_SchemeColor)
569
+ define_child_node(RubyXL::CT_PresetColor)
570
+ define_attribute(:blurRad, :int, :default => 0)
571
+ define_attribute(:dist, :int, :default => 0)
572
+ define_attribute(:dir, :int, :default => 0)
573
+ define_attribute(:sx, :int, :default => 100000)
574
+ define_attribute(:sy, :int, :default => 100000)
575
+ define_attribute(:kx, :int, :default => 0)
576
+ define_attribute(:ky, :int, :default => 0)
577
+ define_attribute(:algn, RubyXL::ST_RectAlignment, :default => 'b')
578
+ define_attribute(:rotWithShape, :bool, :default => true)
579
+ define_element_name 'a:outerShdw'
580
+ end
581
+
582
+ # http://www.datypic.com/sc/ooxml/e-a_prstShdw-1.html
583
+ class CT_PresetShadowEffect < OOXMLObject
584
+ define_child_node(RubyXL::CT_ScRgbColor)
585
+ define_child_node(RubyXL::CT_SRgbColor)
586
+ define_child_node(RubyXL::CT_HslColor)
587
+ define_child_node(RubyXL::CT_SystemColor)
588
+ define_child_node(RubyXL::CT_SchemeColor)
589
+ define_child_node(RubyXL::CT_PresetColor)
590
+ define_attribute(:prst, RubyXL::ST_PresetShadowVal, :required => true)
591
+ define_attribute(:dist, :int, :default => 0)
592
+ define_attribute(:dir, :int, :default => 0)
593
+ define_element_name 'a:prstShdw'
594
+ end
595
+
596
+ # http://www.datypic.com/sc/ooxml/e-a_reflection-1.html
597
+ class CT_ReflectionEffect < OOXMLObject
598
+ define_attribute(:blurRad, :int, :default => 0)
599
+ define_attribute(:stA, :int, :default => 100000)
600
+ define_attribute(:stPos, :int, :default => 0)
601
+ define_attribute(:endA, :int, :default => 0)
602
+ define_attribute(:endPos, :int, :default => 100000)
603
+ define_attribute(:dist, :int, :default => 0)
604
+ define_attribute(:dir, :int, :default => 0)
605
+ define_attribute(:fadeDir, :int, :default => 5400000)
606
+ define_attribute(:sx, :int, :default => 100000)
607
+ define_attribute(:sy, :int, :default => 100000)
608
+ define_attribute(:kx, :int, :default => 0)
609
+ define_attribute(:ky, :int, :default => 0)
610
+ define_attribute(:algn, RubyXL::ST_RectAlignment, :default => 'b')
611
+ define_attribute(:rotWithShape, :bool, :default => true)
612
+ define_element_name 'a:reflection'
613
+ end
614
+
615
+ # http://www.datypic.com/sc/ooxml/e-a_relOff-1.html
616
+ class CT_RelativeOffsetEffect < OOXMLObject
617
+ define_attribute(:tx, :int)
618
+ define_attribute(:ty, :int)
619
+ define_element_name 'a:relOff'
620
+ end
621
+
622
+ # http://www.datypic.com/sc/ooxml/e-a_softEdge-1.html
623
+ class CT_SoftEdgesEffect < OOXMLObject
624
+ define_attribute(:rad, :int, :required => true)
625
+ define_element_name 'a:softEdge'
626
+ end
627
+
628
+ # http://www.datypic.com/sc/ooxml/t-a_CT_TransformEffect.html
629
+ class CT_TransformEffect < OOXMLObject
630
+ define_attribute(:sx, :int, :default => 100000)
631
+ define_attribute(:sy, :int, :default => 100000)
632
+ define_attribute(:kx, :int, :default => 0)
633
+ define_attribute(:ky, :int, :default => 0)
634
+ define_attribute(:tx, :int, :default => 0)
635
+ define_attribute(:ty, :int, :default => 0)
636
+ define_element_name 'a:xfrm'
637
+ end
638
+
639
+ # http://www.datypic.com/sc/ooxml/t-a_CT_EffectContainer.html
640
+ class CT_EffectContainer < OOXMLObject
641
+ define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:cont')
642
+ define_child_node(RubyXL::CT_EffectReference)
643
+ define_child_node(RubyXL::CT_AlphaBiLevelEffect)
644
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaCeiling')
645
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:alphaFloor')
646
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:alphaInv')
647
+ define_child_node(RubyXL::CT_AlphaModulateEffect)
648
+ define_child_node(RubyXL::CT_AlphaModulateFixedEffect)
649
+ define_child_node(RubyXL::CT_AlphaOutsetEffect)
650
+ define_child_node(RubyXL::CT_AlphaReplaceEffect)
651
+ define_child_node(RubyXL::CT_BiLevelEffect)
652
+ define_child_node(RubyXL::CT_BlendEffect)
653
+ define_child_node(RubyXL::CT_BlurEffect)
654
+ define_child_node(RubyXL::CT_ColorChangeEffect)
655
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:clrRepl')
656
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:duotone')
657
+ define_child_node(RubyXL::CT_FillEffect)
658
+ define_child_node(RubyXL::CT_FillOverlayEffect)
659
+ define_child_node(RubyXL::CT_GlowEffect)
660
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grayscl')
661
+ define_child_node(RubyXL::CT_HSLEffect)
662
+ define_child_node(RubyXL::CT_InnerShadowEffect)
663
+ define_child_node(RubyXL::CT_LuminanceEffect)
664
+ define_child_node(RubyXL::CT_OuterShadowEffect)
665
+ define_child_node(RubyXL::CT_PresetShadowEffect)
666
+ define_child_node(RubyXL::CT_ReflectionEffect)
667
+ define_child_node(RubyXL::CT_RelativeOffsetEffect)
668
+ define_child_node(RubyXL::CT_SoftEdgesEffect)
669
+ define_child_node(RubyXL::CT_TintEffect)
670
+ define_child_node(RubyXL::CT_TransformEffect)
671
+ define_attribute(:type, RubyXL::ST_EffectContainerType, :default => 'sib')
672
+ define_attribute(:name, :string)
673
+ end
674
+
675
+ # http://www.datypic.com/sc/ooxml/e-a_fillStyleLst-1.html
676
+ class CT_FillStyleList < OOXMLObject
677
+ # -- Choice [3..*] (EG_FillProperties)
678
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill')
679
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill', :collection => true)
680
+ define_child_node(RubyXL::CT_GradientFillProperties, :collection => true)
681
+ define_child_node(RubyXL::CT_BlipFillProperties, :collection => true)
682
+ define_child_node(RubyXL::CT_PatternFillProperties, :collection => true)
683
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill')
684
+ # --
685
+ define_element_name 'a:fillStyleLst'
686
+ end
687
+
688
+ # http://www.datypic.com/sc/ooxml/e-a_miter-1.html
689
+ class CT_LineJoinMiterProperties < OOXMLObject
690
+ define_attribute(:lim, :int)
691
+ define_element_name 'a:miter'
692
+ end
693
+
694
+ # http://www.datypic.com/sc/ooxml/t-a_CT_LineEndProperties.html
695
+ class CT_LineEndProperties < OOXMLObject
696
+ define_attribute(:type, RubyXL::ST_LineEndType)
697
+ define_attribute(:w, RubyXL::ST_LineEndWidth)
698
+ define_attribute(:len, RubyXL::ST_LineEndLength)
699
+ end
700
+
701
+ # http://www.datypic.com/sc/ooxml/e-a_prstDash-1.html
702
+ class CT_PresetLineDashProperties < OOXMLObject
703
+ define_attribute(:val, RubyXL::ST_PresetLineDashVal)
704
+ define_element_name 'a:prstDash'
705
+ end
706
+
707
+ # http://www.datypic.com/sc/ooxml/t-a_CT_DashStop.html
708
+ class CT_DashStop < OOXMLObject
709
+ define_attribute(:d, :int, :required => true)
710
+ define_attribute(:sp, :int, :required => true)
711
+ define_element_name 'a:ds'
712
+ end
713
+
714
+ # http://www.datypic.com/sc/ooxml/t-a_CT_DashStopList.html
715
+ class CT_DashStopList < OOXMLContainerObject
716
+ define_child_node(RubyXL::CT_DashStop, :collection => [0..-1])
717
+ define_element_name 'a:custDash'
718
+ end
719
+
720
+ # http://www.datypic.com/sc/ooxml/e-a_ln-1.html
721
+ class CT_LineProperties < OOXMLObject
722
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill')
723
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill')
724
+ define_child_node(RubyXL::CT_GradientFillProperties)
725
+ define_child_node(RubyXL::CT_PatternFillProperties)
726
+ define_child_node(RubyXL::CT_PresetLineDashProperties)
727
+ define_child_node(RubyXL::CT_DashStopList)
728
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:round')
729
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:bevel')
730
+ define_child_node(RubyXL::CT_LineJoinMiterProperties)
731
+ define_child_node(RubyXL::CT_LineEndProperties, :node_name => 'a:headEnd')
732
+ define_child_node(RubyXL::CT_LineEndProperties, :node_name => 'a:tailEnd')
733
+ define_child_node(RubyXL::AExtensionStorageArea)
734
+ define_attribute(:w, :int)
735
+ define_attribute(:cap, RubyXL::ST_LineCap)
736
+ define_attribute(:cmpd, RubyXL::ST_CompoundLine)
737
+ define_attribute(:algn, RubyXL::ST_PenAlignment)
738
+ define_element_name 'a:ln'
739
+ end
740
+
741
+ # http://www.datypic.com/sc/ooxml/e-a_lnStyleLst-1.html
742
+ class CT_LineStyleList < OOXMLContainerObject
743
+ define_child_node(RubyXL::CT_LineProperties, :collection => [3..-1])
744
+ define_element_name 'a:lnStyleLst'
745
+ end
746
+
747
+ # http://www.datypic.com/sc/ooxml/t-a_CT_SphereCoords.html
748
+ class CT_SphereCoords < OOXMLObject
749
+ define_attribute(:lat, :int, :required => true)
750
+ define_attribute(:lon, :int, :required => true)
751
+ define_attribute(:rev, :int, :required => true)
752
+ define_element_name 'a:rot'
753
+ end
754
+
755
+ # http://www.datypic.com/sc/ooxml/e-a_camera-1.html
756
+ class CT_Camera < OOXMLObject
757
+ define_child_node(RubyXL::CT_SphereCoords)
758
+ define_attribute(:prst, RubyXL::ST_PresetCameraType, :required => true)
759
+ define_attribute(:fov, :int)
760
+ define_attribute(:zoom, :int, :default => 100000)
761
+ define_element_name 'a:camera'
762
+ end
763
+
764
+ # http://www.datypic.com/sc/ooxml/e-a_lightRig-1.html
765
+ class CT_LightRig < OOXMLObject
766
+ define_child_node(RubyXL::CT_SphereCoords)
767
+ define_attribute(:rig, RubyXL::ST_LightRigType, :required => true)
768
+ define_attribute(:dir, RubyXL::ST_LightRigDirection, :required => true)
769
+ define_element_name 'a:lightRig'
770
+ end
771
+
772
+ # http://www.datypic.com/sc/ooxml/e-a_anchor-1.html
773
+ class CT_Point3D < OOXMLObject
774
+ define_attribute(:x, :int, :required => true)
775
+ define_attribute(:y, :int, :required => true)
776
+ define_attribute(:z, :int, :required => true)
777
+ define_element_name 'a:anchor'
778
+ end
779
+
780
+ # http://www.datypic.com/sc/ooxml/t-a_CT_Vector3D.html
781
+ class CT_Vector3D < OOXMLObject
782
+ define_attribute(:dx, :int, :required => true)
783
+ define_attribute(:dy, :int, :required => true)
784
+ define_attribute(:dz, :int, :required => true)
785
+ end
786
+
787
+ # http://www.datypic.com/sc/ooxml/t-a_CT_Backdrop.html
788
+ class CT_Backdrop < OOXMLObject
789
+ define_child_node(RubyXL::CT_Point3D)
790
+ define_child_node(RubyXL::CT_Vector3D, :node_name => 'a:norm')
791
+ define_child_node(RubyXL::CT_Vector3D, :node_name => 'a:up')
792
+ define_child_node(RubyXL::AExtensionStorageArea)
793
+ define_element_name 'a:backdrop'
794
+ end
795
+
796
+ # http://www.datypic.com/sc/ooxml/e-a_scene3d-1.html
797
+ class CT_Scene3D < OOXMLObject
798
+ define_child_node(RubyXL::CT_Camera, :required => true)
799
+ define_child_node(RubyXL::CT_LightRig, :required => true)
800
+ define_child_node(RubyXL::CT_Backdrop)
801
+ define_child_node(RubyXL::AExtensionStorageArea)
802
+ define_element_name 'a:scene3d'
803
+ end
804
+
805
+ # http://www.datypic.com/sc/ooxml/t-a_CT_Bevel.html
806
+ class CT_Bevel < OOXMLObject
807
+ define_attribute(:w, :int, :default => 76200)
808
+ define_attribute(:h, :int, :default => 76200)
809
+ define_attribute(:prst, RubyXL::ST_BevelPresetType)
810
+ define_element_name 'a:CT_Bevel'
811
+ end
812
+
813
+ # http://www.datypic.com/sc/ooxml/e-a_sp3d-1.html
814
+ class CT_Shape3D < OOXMLObject
815
+ define_child_node(RubyXL::CT_Bevel, :node_name => 'a:bevelT')
816
+ define_child_node(RubyXL::CT_Bevel, :node_name => 'a:bevelB')
817
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:extrusionClr')
818
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:contourClr')
819
+ define_child_node(RubyXL::AExtensionStorageArea)
820
+ define_attribute(:z, :int, :default => 0)
821
+ define_attribute(:extrusionH, :int, :default => 0)
822
+ define_attribute(:contourW, :int, :default => 0)
823
+ define_attribute(:prstMaterial, RubyXL::ST_PresetMaterialType, :default => 'warmMatte')
824
+ define_element_name 'a:sp3d'
825
+ end
826
+
827
+ # http://www.datypic.com/sc/ooxml/e-a_effectLst-1.html
828
+ class CT_EffectList < OOXMLObject
829
+ define_child_node(RubyXL::CT_BlurEffect)
830
+ define_child_node(RubyXL::CT_FillOverlayEffect)
831
+ define_child_node(RubyXL::CT_GlowEffect)
832
+ define_child_node(RubyXL::CT_InnerShadowEffect)
833
+ define_child_node(RubyXL::CT_OuterShadowEffect)
834
+ define_child_node(RubyXL::CT_PresetShadowEffect)
835
+ define_child_node(RubyXL::CT_ReflectionEffect)
836
+ define_child_node(RubyXL::CT_SoftEdgesEffect)
837
+ define_element_name 'a:effectLst'
838
+ end
839
+
840
+ # http://www.datypic.com/sc/ooxml/e-a_effectStyle-1.html
841
+ class CT_EffectStyleItem < OOXMLObject
842
+ define_child_node(RubyXL::CT_EffectList)
843
+ define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:effectDag')
844
+ define_child_node(RubyXL::CT_Scene3D)
845
+ define_child_node(RubyXL::CT_Shape3D)
846
+ define_element_name 'a:effectStyle'
847
+ end
848
+
849
+ # http://www.datypic.com/sc/ooxml/e-a_effectStyleLst-1.html
850
+ class CT_EffectStyleList < OOXMLContainerObject
851
+ define_child_node(RubyXL::CT_EffectStyleItem, :collection => [3..-1])
852
+ define_element_name 'a:effectStyleLst'
853
+ end
854
+
855
+ # http://www.datypic.com/sc/ooxml/e-a_fmtScheme-1.html
856
+ class CT_StyleMatrix < OOXMLObject
857
+ define_child_node(RubyXL::CT_FillStyleList, :required => true)
858
+ define_child_node(RubyXL::CT_LineStyleList, :required => true)
859
+ define_child_node(RubyXL::CT_EffectStyleList, :required => true)
860
+ define_child_node(RubyXL::CT_FillStyleList, :required => true, :node_name => 'a:bgFillStyleLst')
861
+ define_attribute(:name, :string)
862
+ define_element_name 'a:fmtScheme'
863
+ end
864
+
865
+ # http://www.datypic.com/sc/ooxml/e-a_themeElements-1.html
866
+ class ThemeElements < OOXMLObject
867
+ define_child_node(RubyXL::CT_ColorScheme)
868
+ define_child_node(RubyXL::FontScheme)
869
+ define_child_node(RubyXL::CT_StyleMatrix)
870
+ define_child_node(RubyXL::AExtensionStorageArea)
871
+ define_element_name 'a:themeElements'
872
+ end
873
+
874
+ # http://www.datypic.com/sc/ooxml/e-a_off-1.html
875
+ class Offset < OOXMLObject
876
+ define_attribute(:x, :int, :required => true)
877
+ define_attribute(:y, :int, :required => true)
878
+ define_element_name 'a:off'
879
+ end
880
+
881
+ # http://www.datypic.com/sc/ooxml/e-a_ext-2.html
882
+ class Extents < OOXMLObject
883
+ define_attribute(:cx, :int, :required => true)
884
+ define_attribute(:cy, :int, :required => true)
885
+ define_element_name 'a:ext'
886
+ end
887
+
888
+ # http://www.datypic.com/sc/ooxml/e-a_xfrm-4.html
889
+ class CT_Transform2D < OOXMLObject
890
+ define_attribute(:rot, :int, :default => 0)
891
+ define_attribute(:flipH, :bool, :default => false)
892
+ define_attribute(:flipV, :bool, :default => false)
893
+ define_child_node(RubyXL::Offset)
894
+ define_child_node(RubyXL::Extents)
895
+ define_element_name 'a:xfrm'
896
+ end
897
+
898
+ # http://www.datypic.com/sc/ooxml/e-a_gd-1.html
899
+ class ShapeGuide < OOXMLObject
900
+ define_attribute(:name, :string, :required => true)
901
+ define_attribute(:fmla, :string, :required => true)
902
+ define_element_name 'a:gd'
903
+ end
904
+
905
+ # http://www.datypic.com/sc/ooxml/e-a_avLst-1.html
906
+ class CT_GeomGuideList < OOXMLContainerObject
907
+ define_child_node(RubyXL::ShapeGuide, :collection => [0..-1])
908
+ end
909
+
910
+ # http://www.datypic.com/sc/ooxml/e-a_rect-1.html
911
+ class ShapeTextRectangle < OOXMLObject
912
+ define_attribute(:l, :int, :required => true)
913
+ define_attribute(:t, :int, :required => true)
914
+ define_attribute(:r, :int, :required => true)
915
+ define_attribute(:b, :int, :required => true)
916
+ define_element_name 'a:rect'
917
+ end
918
+
919
+ # http://www.datypic.com/sc/ooxml/e-a_pos-2.html
920
+ class CT_AdjPoint2D < OOXMLObject
921
+ define_attribute(:x, :int, :required => true)
922
+ define_attribute(:y, :int, :required => true)
923
+ define_element_name 'a:pos'
924
+ end
925
+
926
+ # http://www.datypic.com/sc/ooxml/t-a_CT_PolarAdjustHandle.html
927
+ class CT_XYAdjustHandle < OOXMLObject
928
+ define_child_node(RubyXL::CT_AdjPoint2D)
929
+ define_attribute(:gdRefX, :string)
930
+ define_attribute(:minX, :int)
931
+ define_attribute(:maxX, :int)
932
+ define_attribute(:gdRefY, :string)
933
+ define_attribute(:minY, :int)
934
+ define_attribute(:maxY, :int)
935
+ define_element_name 'a:ahXY'
936
+ end
937
+
938
+ # http://www.datypic.com/sc/ooxml/t-a_CT_PolarAdjustHandle.html
939
+ class CT_PolarAdjustHandle < OOXMLObject
940
+ define_child_node(RubyXL::CT_AdjPoint2D)
941
+ define_attribute(:gdRefR, :string)
942
+ define_attribute(:minR, :int)
943
+ define_attribute(:maxR, :int)
944
+ define_attribute(:gdRefAng, :string)
945
+ define_attribute(:minAng, :int)
946
+ define_attribute(:maxAng, :int)
947
+ define_element_name 'a:ahPolar'
948
+ end
949
+
950
+ # http://www.datypic.com/sc/ooxml/t-a_CT_AdjustHandleList.html
951
+ class AdjustHandleList < OOXMLObject
952
+ define_child_node(RubyXL::CT_XYAdjustHandle)
953
+ define_child_node(RubyXL::CT_PolarAdjustHandle)
954
+ define_element_name 'a:ahLst'
955
+ end
956
+
957
+ # http://www.datypic.com/sc/ooxml/e-a_cxn-1.html
958
+ class CT_ConnectionSite < OOXMLObject
959
+ define_child_node(RubyXL::CT_AdjPoint2D)
960
+ define_attribute(:ang, :int)
961
+ define_element_name 'a:cxn'
962
+ end
963
+
964
+ # http://www.datypic.com/sc/ooxml/e-a_cxnLst-1.html
965
+ class CT_ConnectionSiteList < OOXMLContainerObject
966
+ define_child_node(RubyXL::CT_ConnectionSite, :collection => [0..-1])
967
+ define_element_name 'a:cxnLst'
968
+ end
969
+
970
+ # http://www.datypic.com/sc/ooxml/t-a_CT_Path2DLineTo.html
971
+ class CT_Path2DTo < OOXMLContainerObject
972
+ define_child_node(RubyXL::CT_AdjPoint2D)
973
+ end
974
+
975
+ # http://www.datypic.com/sc/ooxml/e-a_arcTo-1.html
976
+ class CT_Path2DArcTo < OOXMLObject
977
+ define_attribute(:wR, :int, :required => true)
978
+ define_attribute(:hR, :int, :required => true)
979
+ define_attribute(:stAng, :int, :required => true)
980
+ define_attribute(:swAng, :int, :required => true)
981
+ define_element_name 'a:arcTo'
982
+ end
983
+
984
+ # http://www.datypic.com/sc/ooxml/e-a_quadBezTo-1.html
985
+ class CT_Path2DQuadBezierTo < OOXMLContainerObject
986
+ define_child_node(RubyXL::CT_AdjPoint2D, :collection => [2..2], :node_name => 'a:pt')
987
+ define_element_name 'a:quadBezTo'
988
+ end
989
+
990
+ # http://www.datypic.com/sc/ooxml/e-a_quadBezTo-1.html
991
+ class CT_Path2DCubicBezierTo < OOXMLContainerObject
992
+ define_child_node(RubyXL::CT_AdjPoint2D, :collection => [2..2], :node_name => 'a:pt')
993
+ define_element_name 'a:cubicBezTo'
994
+ end
995
+
996
+ # http://www.datypic.com/sc/ooxml/e-a_path-2.html
997
+ class CT_Path2D < OOXMLObject
998
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:close')
999
+ define_child_node(RubyXL::CT_Path2DTo, :node_name => 'a:moveTo')
1000
+ define_child_node(RubyXL::CT_Path2DTo, :node_name => 'a:lnTo')
1001
+ define_child_node(RubyXL::CT_Path2DArcTo, :node_name => 'a:arcTo')
1002
+ define_child_node(RubyXL::CT_Path2DQuadBezierTo)
1003
+ define_child_node(RubyXL::CT_Path2DCubicBezierTo)
1004
+ define_attribute(:w, :int, :default => 0)
1005
+ define_attribute(:h, :int, :default => 0)
1006
+ define_attribute(:fill, RubyXL::ST_PathFillMode, :default => 'norm')
1007
+ define_attribute(:stroke, :bool, :default => true)
1008
+ define_attribute(:extrusionOk, :bool, :default => true)
1009
+ define_element_name 'a:path'
1010
+ end
1011
+
1012
+ # http://www.datypic.com/sc/ooxml/e-a_pathLst-1.html
1013
+ class CT_Path2DList < OOXMLContainerObject
1014
+ define_child_node(RubyXL::CT_Path2D, :collection => [0..-1])
1015
+ define_element_name 'a:pathLst'
1016
+ end
1017
+
1018
+ # http://www.datypic.com/sc/ooxml/e-a_custGeom-1.html
1019
+ class CustomGeometry < OOXMLObject
1020
+ define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:avLst')
1021
+ define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:gdLst')
1022
+ define_child_node(RubyXL::AdjustHandleList)
1023
+ define_child_node(RubyXL::CT_ConnectionSiteList)
1024
+ define_child_node(RubyXL::ShapeTextRectangle)
1025
+ define_child_node(RubyXL::CT_Path2DList)
1026
+ define_element_name 'a:custGeom'
1027
+ end
1028
+
1029
+ # http://www.datypic.com/sc/ooxml/e-a_prstGeom-1.html
1030
+ class PresetGeometry < OOXMLObject
1031
+ define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:avLst')
1032
+ define_attribute(:prst, RubyXL::ST_ShapeType, :required => true)
1033
+ define_element_name 'a:prstGeom'
1034
+ end
1035
+
1036
+ # http://www.datypic.com/sc/ooxml/e-a_spPr-1.html
1037
+ class VisualProperties < OOXMLObject
1038
+ define_child_node(RubyXL::CT_Transform2D)
1039
+ # -- Choice [0..1] (EG_Geometry)
1040
+ define_child_node(RubyXL::CustomGeometry)
1041
+ define_child_node(RubyXL::PresetGeometry)
1042
+ # -- Choice [0..1] (EG_FillProperties)
1043
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill')
1044
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill')
1045
+ define_child_node(RubyXL::CT_GradientFillProperties)
1046
+ define_child_node(RubyXL::CT_BlipFillProperties)
1047
+ define_child_node(RubyXL::CT_PatternFillProperties)
1048
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill')
1049
+ # --
1050
+ define_child_node(RubyXL::CT_LineProperties)
1051
+ # -- Choice [0..1] (EG_EffectProperties)
1052
+ define_child_node(RubyXL::CT_EffectList)
1053
+ define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:effectDag')
1054
+ # --
1055
+ define_child_node(RubyXL::CT_Scene3D)
1056
+ define_child_node(RubyXL::CT_Shape3D)
1057
+ define_child_node(RubyXL::AExtensionStorageArea)
1058
+ define_attribute(:bwMode, RubyXL::ST_BlackWhiteMode)
1059
+ define_element_name 'a:spPr'
1060
+ end
1061
+
1062
+ # http://www.datypic.com/sc/ooxml/e-a_prstTxWarp-2.html
1063
+ class CT_PresetTextShape < OOXMLObject
1064
+ define_child_node(RubyXL::CT_GeomGuideList, :node_name => 'a:avLst')
1065
+ define_attribute(:prst, RubyXL::ST_TextShapeType)
1066
+ define_element_name 'a:prstTxWarp'
1067
+ end
1068
+
1069
+ # http://www.datypic.com/sc/ooxml/e-a_normAutofit-1.html
1070
+ class CT_TextNormalAutofit < OOXMLObject
1071
+ define_attribute(:fontScale, :int, :default => 100000)
1072
+ define_attribute(:lnSpcReduction, :int, :default => 0)
1073
+ define_element_name 'a:normAutofit'
1074
+ end
1075
+
1076
+ # http://www.datypic.com/sc/ooxml/e-a_flatTx-1.html
1077
+ class CT_FlatText < OOXMLObject
1078
+ define_attribute(:z, :int, :default => 0)
1079
+ define_element_name 'a:flatTx'
1080
+ end
1081
+
1082
+ # http://www.datypic.com/sc/ooxml/e-a_bodyPr-1.html
1083
+ class BodyProperties < OOXMLObject
1084
+ define_child_node(RubyXL::CT_PresetTextShape)
1085
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noAutofit')
1086
+ define_child_node(RubyXL::CT_TextNormalAutofit)
1087
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:spAutoFit')
1088
+ define_child_node(RubyXL::CT_Scene3D)
1089
+ define_child_node(RubyXL::CT_Shape3D)
1090
+ define_child_node(RubyXL::CT_FlatText)
1091
+ define_child_node(RubyXL::AExtensionStorageArea)
1092
+ define_attribute(:rot, :int)
1093
+ define_attribute(:spcFirstLastPara, :bool)
1094
+ define_attribute(:vertOverflow, RubyXL::ST_TextVertOverflowType)
1095
+ define_attribute(:horzOverflow, RubyXL::ST_TextHorzOverflowType)
1096
+ define_attribute(:vert, RubyXL::ST_TextVerticalType)
1097
+ define_attribute(:wrap, RubyXL::ST_TextWrappingType)
1098
+ define_attribute(:lIns, :int)
1099
+ define_attribute(:tIns, :int)
1100
+ define_attribute(:rIns, :int)
1101
+ define_attribute(:bIns, :int)
1102
+ define_attribute(:numCol, :int)
1103
+ define_attribute(:spcCol, :int)
1104
+ define_attribute(:rtlCol, :bool)
1105
+ define_attribute(:fromWordArt, :bool)
1106
+ define_attribute(:anchor, RubyXL::ST_TextAnchoringType)
1107
+ define_attribute(:anchorCtr, :bool)
1108
+ define_attribute(:forceAA, :bool)
1109
+ define_attribute(:upright, :bool, :default => false)
1110
+ define_attribute(:compatLnSpc, :bool)
1111
+ define_element_name 'a:bodyPr'
1112
+ end
1113
+
1114
+ # http://www.datypic.com/sc/ooxml/e-a_tab-1.html
1115
+ class CT_TextTabStop < OOXMLObject
1116
+ define_attribute(:pos, :int)
1117
+ define_attribute(:algn, RubyXL::ST_TextTabAlignType)
1118
+ define_element_name 'a:tabLst'
1119
+ end
1120
+
1121
+ # http://www.datypic.com/sc/ooxml/e-a_tabLst-1.html
1122
+ class CT_TextTabStopList < OOXMLContainerObject
1123
+ define_child_node(RubyXL::CT_TextTabStop, :collection => [0..32])
1124
+ define_element_name 'a:tabLst'
1125
+ end
1126
+
1127
+ # http://www.datypic.com/sc/ooxml/e-a_buAutoNum-1.html
1128
+ class CT_TextAutonumberBullet < OOXMLObject
1129
+ define_attribute(:type, RubyXL::ST_TextAutonumberScheme)
1130
+ define_attribute(:startAt, :int)
1131
+ define_element_name 'a:buAutoNum'
1132
+ end
1133
+
1134
+ # http://www.datypic.com/sc/ooxml/e-a_buChar-1.html
1135
+ class CT_TextCharBullet < OOXMLObject
1136
+ define_attribute(:char, :string, :required => true)
1137
+ define_element_name 'a:buChar'
1138
+ end
1139
+
1140
+ # http://www.datypic.com/sc/ooxml/e-a_buBlip-1.html
1141
+ class CT_TextBlipBullet < OOXMLObject
1142
+ define_child_node(RubyXL::CT_Blip)
1143
+ define_element_name 'a:buBlip'
1144
+ end
1145
+
1146
+ # http://www.datypic.com/sc/ooxml/t-a_CT_TextSpacing.html
1147
+ class CT_TextSpacing < OOXMLObject
1148
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:spcPct')
1149
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:spcPts')
1150
+ end
1151
+
1152
+ # http://www.datypic.com/sc/ooxml/e-a_snd-1.html
1153
+ class CT_EmbeddedWAVAudioFile < OOXMLObject
1154
+ define_attribute(:'r:embed', :string)
1155
+ define_attribute(:name, :string, :default => '')
1156
+ define_attribute(:builtIn, :bool, :default => false)
1157
+ define_element_name 'a:snd'
1158
+ end
1159
+
1160
+ # http://www.datypic.com/sc/ooxml/t-a_CT_Hyperlink.html
1161
+ class CT_Hyperlink < OOXMLObject
1162
+ define_child_node(RubyXL::CT_EmbeddedWAVAudioFile)
1163
+ define_child_node(RubyXL::AExtensionStorageArea)
1164
+ define_relationship
1165
+ define_attribute(:invalidUrl, :string, :default => '')
1166
+ define_attribute(:action, :string, :default => '')
1167
+ define_attribute(:tgtFrame, :string, :default => '')
1168
+ define_attribute(:tooltip, :string, :default => '')
1169
+ define_attribute(:history, :bool, :default => true)
1170
+ define_attribute(:highlightClick, :bool, :default => false)
1171
+ define_attribute(:endSnd, :bool, :default => false)
1172
+ end
1173
+
1174
+ # http://www.datypic.com/sc/ooxml/e-a_defRPr-1.html
1175
+ class CT_TextCharacterProperties < OOXMLObject
1176
+ define_child_node(RubyXL::CT_LineProperties)
1177
+ # -- EG_FillProperties
1178
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:noFill')
1179
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:solidFill')
1180
+ define_child_node(RubyXL::CT_GradientFillProperties)
1181
+ define_child_node(RubyXL::CT_BlipFillProperties)
1182
+ define_child_node(RubyXL::CT_PatternFillProperties)
1183
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:grpFill')
1184
+ # -- EG_EffectProperties
1185
+ define_child_node(RubyXL::CT_EffectList)
1186
+ define_child_node(RubyXL::CT_EffectContainer, :node_name => 'a:effectDag')
1187
+ # --
1188
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:highlight')
1189
+ # -- EG_TextUnderlineLine
1190
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:uLnTx')
1191
+ define_child_node(RubyXL::CT_LineProperties, :node_name => 'a:uLn')
1192
+ # -- EG_TextUnderlineFill
1193
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:uFillTx')
1194
+ define_child_node(RubyXL::CT_FillStyleList, :node_name => 'a:uFill')
1195
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:latin')
1196
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:ea')
1197
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:cs')
1198
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:sym')
1199
+ define_child_node(RubyXL::CT_Hyperlink, :node_name => 'a:hlinkClick')
1200
+ define_child_node(RubyXL::CT_Hyperlink, :node_name => 'a:hlinkMouseOver')
1201
+ define_child_node(RubyXL::AExtensionStorageArea)
1202
+ define_attribute(:kumimoji, :bool)
1203
+ define_attribute(:lang, :string)
1204
+ define_attribute(:altLang, :string)
1205
+ define_attribute(:sz, :int)
1206
+ define_attribute(:b, :bool)
1207
+ define_attribute(:i, :bool)
1208
+ define_attribute(:u, RubyXL::ST_TextUnderlineType)
1209
+ define_attribute(:strike, RubyXL::ST_TextStrikeType)
1210
+ define_attribute(:kern, :int)
1211
+ define_attribute(:cap, RubyXL::ST_TextCapsType)
1212
+ define_attribute(:spc, :int)
1213
+ define_attribute(:normalizeH, :bool)
1214
+ define_attribute(:baseline, :int)
1215
+ define_attribute(:noProof, :bool)
1216
+ define_attribute(:dirty, :bool, :default => true)
1217
+ define_attribute(:err, :bool, :default => false)
1218
+ define_attribute(:smtClean, :bool, :default => true)
1219
+ define_attribute(:smtId, :int, :default => 0)
1220
+ define_attribute(:bmk, :string)
1221
+ define_element_name 'a:defRPr'
1222
+ end
1223
+
1224
+ # http://www.datypic.com/sc/ooxml/e-a_defPPr-1.html
1225
+ class CT_TextParagraphProperties < OOXMLObject
1226
+ define_child_node(RubyXL::CT_TextSpacing, :node_name => 'a:lnSpc')
1227
+ define_child_node(RubyXL::CT_TextSpacing, :node_name => 'a:spcBef')
1228
+ define_child_node(RubyXL::CT_TextSpacing, :node_name => 'a:spcAft')
1229
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:buClrTx')
1230
+ define_child_node(RubyXL::CT_Color, :node_name => 'a:buClr')
1231
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:buSzTx')
1232
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:buSzPct')
1233
+ define_child_node(RubyXL::IntegerValue, :node_name => 'a:buSzPts')
1234
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:buFontTx')
1235
+ define_child_node(RubyXL::CT_TextFont, :node_name => 'a:buFont')
1236
+ define_child_node(RubyXL::BooleanValue, :node_name => 'a:buNone')
1237
+ define_child_node(RubyXL::CT_TextAutonumberBullet)
1238
+ define_child_node(RubyXL::CT_TextCharBullet)
1239
+ define_child_node(RubyXL::CT_TextBlipBullet)
1240
+ define_child_node(RubyXL::CT_TextTabStop)
1241
+ define_child_node(RubyXL::CT_TextCharacterProperties)
1242
+ define_child_node(RubyXL::AExtensionStorageArea)
1243
+ define_attribute(:marL, :int)
1244
+ define_attribute(:marR, :int)
1245
+ define_attribute(:lvl, :int)
1246
+ define_attribute(:indent, :int)
1247
+ define_attribute(:algn, RubyXL::ST_TextAlignType)
1248
+ define_attribute(:defTabSz, :int)
1249
+ define_attribute(:rtl, :bool)
1250
+ define_attribute(:eaLnBrk, :bool)
1251
+ define_attribute(:fontAlgn, RubyXL::ST_TextFontAlignType)
1252
+ define_attribute(:latinLnBrk, :bool)
1253
+ define_attribute(:hangingPunct, :bool)
1254
+ define_element_name 'a:defPPr'
1255
+ end
1256
+
1257
+ # http://www.datypic.com/sc/ooxml/e-a_lstStyle-1.html
1258
+ class CT_TextListStyle < OOXMLObject
1259
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:defPPr')
1260
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl1pPr')
1261
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl2pPr')
1262
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl3pPr')
1263
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl4pPr')
1264
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl5pPr')
1265
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl6pPr')
1266
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl7pPr')
1267
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl8pPr')
1268
+ define_child_node(RubyXL::CT_TextParagraphProperties, :node_name => 'a:lvl9pPr')
1269
+ define_child_node(RubyXL::AExtensionStorageArea)
1270
+ define_element_name 'a:lstStyle'
1271
+ end
1272
+
1273
+ # http://www.datypic.com/sc/ooxml/t-a_CT_StyleMatrixReference.html
1274
+ class CT_StyleMatrixReference < OOXMLObject
1275
+ define_child_node(RubyXL::CT_ScRgbColor)
1276
+ define_child_node(RubyXL::CT_SRgbColor)
1277
+ define_child_node(RubyXL::CT_HslColor)
1278
+ define_child_node(RubyXL::CT_SystemColor)
1279
+ define_child_node(RubyXL::CT_SchemeColor)
1280
+ define_child_node(RubyXL::CT_PresetColor)
1281
+ define_attribute(:idx, :int, :required => true)
1282
+ end
1283
+
1284
+ # http://www.datypic.com/sc/ooxml/t-a_CT_FontReference.html
1285
+ class CT_FontReference < OOXMLObject
1286
+ define_child_node(RubyXL::CT_ScRgbColor)
1287
+ define_child_node(RubyXL::CT_SRgbColor)
1288
+ define_child_node(RubyXL::CT_HslColor)
1289
+ define_child_node(RubyXL::CT_SystemColor)
1290
+ define_child_node(RubyXL::CT_SchemeColor)
1291
+ define_child_node(RubyXL::CT_PresetColor)
1292
+ define_attribute(:idx, RubyXL::ST_FontCollectionIndex, :required => true)
1293
+ end
1294
+
1295
+ # http://www.datypic.com/sc/ooxml/t-a_CT_ShapeStyle.html
1296
+ class CT_ShapeStyle < OOXMLObject
1297
+ define_child_node(RubyXL::CT_StyleMatrixReference, :node_name => 'a:lnRef')
1298
+ define_child_node(RubyXL::CT_StyleMatrixReference, :node_name => 'a:fillRef')
1299
+ define_child_node(RubyXL::CT_StyleMatrixReference, :node_name => 'a:effectRef')
1300
+ define_child_node(RubyXL::CT_FontReference, :node_name => 'a:fontRef')
1301
+ define_element_name 'a:style'
1302
+ end
1303
+
1304
+ # http://www.datypic.com/sc/ooxml/t-a_CT_DefaultShapeDefinition.html
1305
+ class CT_DefaultShapeDefinition < OOXMLObject
1306
+ define_child_node(RubyXL::VisualProperties)
1307
+ define_child_node(RubyXL::BodyProperties)
1308
+ define_child_node(RubyXL::CT_TextListStyle)
1309
+ define_child_node(RubyXL::CT_ShapeStyle)
1310
+ define_child_node(RubyXL::AExtensionStorageArea)
1311
+ end
1312
+
1313
+ # http://www.datypic.com/sc/ooxml/e-a_objectDefaults-1.html
1314
+ class CT_ObjectStyleDefaults < OOXMLObject
1315
+ define_child_node(RubyXL::CT_DefaultShapeDefinition, :node_name => 'a:spDef')
1316
+ define_child_node(RubyXL::CT_DefaultShapeDefinition, :node_name => 'a:lnDef')
1317
+ define_child_node(RubyXL::CT_DefaultShapeDefinition, :node_name => 'a:txDef')
1318
+ define_child_node(RubyXL::AExtensionStorageArea)
1319
+ define_element_name 'a:objectDefaults'
1320
+ end
1321
+
1322
+ # http://www.datypic.com/sc/ooxml/e-a_clrMap-1.html
1323
+ class CT_ColorMapping < OOXMLObject
1324
+ define_child_node(RubyXL::AExtensionStorageArea)
1325
+ define_attribute(:bg1, RubyXL::ST_ColorSchemeIndex, :required => true)
1326
+ define_attribute(:tx1, RubyXL::ST_ColorSchemeIndex, :required => true)
1327
+ define_attribute(:bg2, RubyXL::ST_ColorSchemeIndex, :required => true)
1328
+ define_attribute(:tx2, RubyXL::ST_ColorSchemeIndex, :required => true)
1329
+ define_attribute(:accent1, RubyXL::ST_ColorSchemeIndex, :required => true)
1330
+ define_attribute(:accent2, RubyXL::ST_ColorSchemeIndex, :required => true)
1331
+ define_attribute(:accent3, RubyXL::ST_ColorSchemeIndex, :required => true)
1332
+ define_attribute(:accent4, RubyXL::ST_ColorSchemeIndex, :required => true)
1333
+ define_attribute(:accent5, RubyXL::ST_ColorSchemeIndex, :required => true)
1334
+ define_attribute(:accent6, RubyXL::ST_ColorSchemeIndex, :required => true)
1335
+ define_attribute(:hlink, RubyXL::ST_ColorSchemeIndex, :required => true)
1336
+ define_attribute(:golHlink, RubyXL::ST_ColorSchemeIndex, :required => true)
1337
+ define_element_name 'a:clrMap'
1338
+ end
1339
+
1340
+ # http://www.datypic.com/sc/ooxml/e-a_extraClrScheme-1.html
1341
+ class CT_ColorSchemeAndMapping < OOXMLObject
1342
+ define_child_node(RubyXL::CT_ColorScheme)
1343
+ define_child_node(RubyXL::CT_ColorMapping)
1344
+ define_element_name 'a:extraClrScheme'
1345
+ end
1346
+
1347
+ # http://www.datypic.com/sc/ooxml/e-a_extraClrSchemeLst-1.html
1348
+ class ExtraColorSchemeList < OOXMLContainerObject
1349
+ define_child_node(RubyXL::CT_ColorSchemeAndMapping, :collection => [0..-1])
1350
+ define_element_name 'a:extraClrSchemeLst'
1351
+ end
1352
+
1353
+ # http://www.datypic.com/sc/ooxml/e-a_custClr-1.html
1354
+ class CustomColor < OOXMLObject
1355
+ define_child_node(RubyXL::CT_ScRgbColor)
1356
+ define_child_node(RubyXL::CT_SRgbColor)
1357
+ define_child_node(RubyXL::CT_HslColor)
1358
+ define_child_node(RubyXL::CT_SystemColor)
1359
+ define_child_node(RubyXL::CT_SchemeColor)
1360
+ define_child_node(RubyXL::CT_PresetColor)
1361
+ define_attribute(:name, :string, :default => '')
1362
+ define_element_name 'a:custClr'
1363
+ end
1364
+
1365
+ # http://www.datypic.com/sc/ooxml/e-a_custClrLst-1.html
1366
+ class CustomColorList < OOXMLContainerObject
1367
+ define_child_node(RubyXL::CustomColor, :collection => [0..-1])
1368
+ define_element_name 'a:custClrLst'
1369
+ end
1370
+
1371
+ # http://www.datypic.com/sc/ooxml/e-a_theme.html
1372
+ class Theme < OOXMLTopLevelObject
1373
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.theme+xml'.freeze
1374
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme'.freeze
1375
+
1376
+ define_attribute(:name, :string, :default => '')
1377
+ define_child_node(RubyXL::ThemeElements)
1378
+ define_child_node(RubyXL::CT_ObjectStyleDefaults)
1379
+ define_child_node(RubyXL::ExtraColorSchemeList)
1380
+ define_child_node(RubyXL::CustomColorList)
1381
+ define_child_node(RubyXL::AExtensionStorageArea)
1382
+
1383
+ define_element_name 'a:theme'
1384
+
1385
+ set_namespaces('http://schemas.openxmlformats.org/drawingml/2006/main' => 'a')
1386
+
1387
+ def xlsx_path
1388
+ ROOT.join('xl', 'theme', 'theme1.xml')
1389
+ end
1390
+
1391
+ def get_theme_color(idx)
1392
+ color_scheme = a_theme_elements&.a_clr_scheme
1393
+
1394
+ return unless color_scheme
1395
+
1396
+ case idx
1397
+ when 0 then color_scheme.a_lt1
1398
+ when 1 then color_scheme.a_dk1
1399
+ when 2 then color_scheme.a_lt2
1400
+ when 3 then color_scheme.a_dk2
1401
+ when 4 then color_scheme.a_accent1
1402
+ when 5 then color_scheme.a_accent2
1403
+ when 6 then color_scheme.a_accent3
1404
+ when 7 then color_scheme.a_accent4
1405
+ when 8 then color_scheme.a_accent5
1406
+ when 9 then color_scheme.a_accent6
1407
+ end
1408
+ end
1409
+
1410
+ def self.default
1411
+ default_theme = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1412
+ <a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
1413
+ <a:themeElements>
1414
+ <a:clrScheme name="Office">
1415
+ <a:dk1>
1416
+ <a:sysClr val="windowText" lastClr="000000"/>
1417
+ </a:dk1>
1418
+ <a:lt1>
1419
+ <a:sysClr val="window" lastClr="FFFFFF"/>
1420
+ </a:lt1>
1421
+ <a:dk2>
1422
+ <a:srgbClr val="1F497D"/>
1423
+ </a:dk2>
1424
+ <a:lt2>
1425
+ <a:srgbClr val="EEECE1"/>
1426
+ </a:lt2>
1427
+ <a:accent1>
1428
+ <a:srgbClr val="4F81BD"/>
1429
+ </a:accent1>
1430
+ <a:accent2>
1431
+ <a:srgbClr val="C0504D"/>
1432
+ </a:accent2>
1433
+ <a:accent3>
1434
+ <a:srgbClr val="9BBB59"/>
1435
+ </a:accent3>
1436
+ <a:accent4>
1437
+ <a:srgbClr val="8064A2"/>
1438
+ </a:accent4>
1439
+ <a:accent5>
1440
+ <a:srgbClr val="4BACC6"/>
1441
+ </a:accent5>
1442
+ <a:accent6>
1443
+ <a:srgbClr val="F79646"/>
1444
+ </a:accent6>
1445
+ <a:hlink>
1446
+ <a:srgbClr val="0000FF"/>
1447
+ </a:hlink>
1448
+ <a:folHlink>
1449
+ <a:srgbClr val="800080"/>
1450
+ </a:folHlink>
1451
+ </a:clrScheme>
1452
+ <a:fontScheme name="Office">
1453
+ <a:majorFont>
1454
+ <a:latin typeface="Cambria"/>
1455
+ <a:ea typeface=""/>
1456
+ <a:cs typeface=""/>
1457
+ <a:font script="Jpan" typeface="MS Pゴシック"/>
1458
+ <a:font script="Hang" typeface="맑은 고딕"/>
1459
+ <a:font script="Hans" typeface="宋体"/>
1460
+ <a:font script="Hant" typeface="新細明體"/>
1461
+ <a:font script="Arab" typeface="Times New Roman"/>
1462
+ <a:font script="Hebr" typeface="Times New Roman"/>
1463
+ <a:font script="Thai" typeface="Tahoma"/>
1464
+ <a:font script="Ethi" typeface="Nyala"/>
1465
+ <a:font script="Beng" typeface="Vrinda"/>
1466
+ <a:font script="Gujr" typeface="Shruti"/>
1467
+ <a:font script="Khmr" typeface="MoolBoran"/>
1468
+ <a:font script="Knda" typeface="Tunga"/>
1469
+ <a:font script="Guru" typeface="Raavi"/>
1470
+ <a:font script="Cans" typeface="Euphemia"/>
1471
+ <a:font script="Cher" typeface="Plantagenet Cherokee"/>
1472
+ <a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
1473
+ <a:font script="Tibt" typeface="Microsoft Himalaya"/>
1474
+ <a:font script="Thaa" typeface="MV Boli"/>
1475
+ <a:font script="Deva" typeface="Mangal"/>
1476
+ <a:font script="Telu" typeface="Gautami"/>
1477
+ <a:font script="Taml" typeface="Latha"/>
1478
+ <a:font script="Syrc" typeface="Estrangelo Edessa"/>
1479
+ <a:font script="Orya" typeface="Kalinga"/>
1480
+ <a:font script="Mlym" typeface="Kartika"/>
1481
+ <a:font script="Laoo" typeface="DokChampa"/>
1482
+ <a:font script="Sinh" typeface="Iskoola Pota"/>
1483
+ <a:font script="Mong" typeface="Mongolian Baiti"/>
1484
+ <a:font script="Viet" typeface="Times New Roman"/>
1485
+ <a:font script="Uigh" typeface="Microsoft Uighur"/>
1486
+ </a:majorFont>
1487
+ <a:minorFont>
1488
+ <a:latin typeface="Calibri"/>
1489
+ <a:ea typeface=""/>
1490
+ <a:cs typeface=""/>
1491
+ <a:font script="Jpan" typeface="MS Pゴシック"/>
1492
+ <a:font script="Hang" typeface="맑은 고딕"/>
1493
+ <a:font script="Hans" typeface="宋体"/>
1494
+ <a:font script="Hant" typeface="新細明體"/>
1495
+ <a:font script="Arab" typeface="Arial"/>
1496
+ <a:font script="Hebr" typeface="Arial"/>
1497
+ <a:font script="Thai" typeface="Tahoma"/>
1498
+ <a:font script="Ethi" typeface="Nyala"/>
1499
+ <a:font script="Beng" typeface="Vrinda"/>
1500
+ <a:font script="Gujr" typeface="Shruti"/>
1501
+ <a:font script="Khmr" typeface="DaunPenh"/>
1502
+ <a:font script="Knda" typeface="Tunga"/>
1503
+ <a:font script="Guru" typeface="Raavi"/>
1504
+ <a:font script="Cans" typeface="Euphemia"/>
1505
+ <a:font script="Cher" typeface="Plantagenet Cherokee"/>
1506
+ <a:font script="Yiii" typeface="Microsoft Yi Baiti"/>
1507
+ <a:font script="Tibt" typeface="Microsoft Himalaya"/>
1508
+ <a:font script="Thaa" typeface="MV Boli"/>
1509
+ <a:font script="Deva" typeface="Mangal"/>
1510
+ <a:font script="Telu" typeface="Gautami"/>
1511
+ <a:font script="Taml" typeface="Latha"/>
1512
+ <a:font script="Syrc" typeface="Estrangelo Edessa"/>
1513
+ <a:font script="Orya" typeface="Kalinga"/>
1514
+ <a:font script="Mlym" typeface="Kartika"/>
1515
+ <a:font script="Laoo" typeface="DokChampa"/>
1516
+ <a:font script="Sinh" typeface="Iskoola Pota"/>
1517
+ <a:font script="Mong" typeface="Mongolian Baiti"/>
1518
+ <a:font script="Viet" typeface="Arial"/>
1519
+ <a:font script="Uigh" typeface="Microsoft Uighur"/>
1520
+ </a:minorFont>
1521
+ </a:fontScheme>
1522
+ <a:fmtScheme name="Office">
1523
+ <a:fillStyleLst>
1524
+ <a:solidFill>
1525
+ <a:schemeClr val="phClr"/>
1526
+ </a:solidFill>
1527
+ <a:gradFill rotWithShape="1">
1528
+ <a:gsLst>
1529
+ <a:gs pos="0">
1530
+ <a:schemeClr val="phClr">
1531
+ <a:tint val="50000"/>
1532
+ <a:satMod val="300000"/>
1533
+ </a:schemeClr>
1534
+ </a:gs>
1535
+ <a:gs pos="35000">
1536
+ <a:schemeClr val="phClr">
1537
+ <a:tint val="37000"/>
1538
+ <a:satMod val="300000"/>
1539
+ </a:schemeClr>
1540
+ </a:gs>
1541
+ <a:gs pos="100000">
1542
+ <a:schemeClr val="phClr">
1543
+ <a:tint val="15000"/>
1544
+ <a:satMod val="350000"/>
1545
+ </a:schemeClr>
1546
+ </a:gs>
1547
+ </a:gsLst>
1548
+ <a:lin ang="16200000" scaled="1"/>
1549
+ </a:gradFill>
1550
+ <a:gradFill rotWithShape="1">
1551
+ <a:gsLst>
1552
+ <a:gs pos="0">
1553
+ <a:schemeClr val="phClr">
1554
+ <a:tint val="100000"/>
1555
+ <a:shade val="100000"/>
1556
+ <a:satMod val="130000"/>
1557
+ </a:schemeClr>
1558
+ </a:gs>
1559
+ <a:gs pos="100000">
1560
+ <a:schemeClr val="phClr">
1561
+ <a:tint val="50000"/>
1562
+ <a:shade val="100000"/>
1563
+ <a:satMod val="350000"/>
1564
+ </a:schemeClr>
1565
+ </a:gs>
1566
+ </a:gsLst>
1567
+ <a:lin ang="16200000" scaled="0"/>
1568
+ </a:gradFill>
1569
+ </a:fillStyleLst>
1570
+ <a:lnStyleLst>
1571
+ <a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">
1572
+ <a:solidFill>
1573
+ <a:schemeClr val="phClr">
1574
+ <a:shade val="95000"/>
1575
+ <a:satMod val="105000"/>
1576
+ </a:schemeClr>
1577
+ </a:solidFill>
1578
+ <a:prstDash val="solid"/>
1579
+ </a:ln>
1580
+ <a:ln w="25400" cap="flat" cmpd="sng" algn="ctr">
1581
+ <a:solidFill>
1582
+ <a:schemeClr val="phClr"/>
1583
+ </a:solidFill>
1584
+ <a:prstDash val="solid"/>
1585
+ </a:ln>
1586
+ <a:ln w="38100" cap="flat" cmpd="sng" algn="ctr">
1587
+ <a:solidFill>
1588
+ <a:schemeClr val="phClr"/>
1589
+ </a:solidFill>
1590
+ <a:prstDash val="solid"/>
1591
+ </a:ln>
1592
+ </a:lnStyleLst>
1593
+ <a:effectStyleLst>
1594
+ <a:effectStyle>
1595
+ <a:effectLst>
1596
+ <a:outerShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0">
1597
+ <a:srgbClr val="000000">
1598
+ <a:alpha val="38000"/>
1599
+ </a:srgbClr>
1600
+ </a:outerShdw>
1601
+ </a:effectLst>
1602
+ </a:effectStyle>
1603
+ <a:effectStyle>
1604
+ <a:effectLst>
1605
+ <a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">
1606
+ <a:srgbClr val="000000">
1607
+ <a:alpha val="35000"/>
1608
+ </a:srgbClr>
1609
+ </a:outerShdw>
1610
+ </a:effectLst>
1611
+ </a:effectStyle>
1612
+ <a:effectStyle>
1613
+ <a:effectLst>
1614
+ <a:outerShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">
1615
+ <a:srgbClr val="000000">
1616
+ <a:alpha val="35000"/>
1617
+ </a:srgbClr>
1618
+ </a:outerShdw>
1619
+ </a:effectLst>
1620
+ <a:scene3d>
1621
+ <a:camera prst="orthographicFront">
1622
+ <a:rot lat="0" lon="0" rev="0"/>
1623
+ </a:camera>
1624
+ <a:lightRig rig="threePt" dir="t">
1625
+ <a:rot lat="0" lon="0" rev="1200000"/>
1626
+ </a:lightRig>
1627
+ </a:scene3d>
1628
+ <a:sp3d>
1629
+ <a:bevelT w="63500" h="25400"/>
1630
+ </a:sp3d>
1631
+ </a:effectStyle>
1632
+ </a:effectStyleLst>
1633
+ <a:bgFillStyleLst>
1634
+ <a:solidFill>
1635
+ <a:schemeClr val="phClr"/>
1636
+ </a:solidFill>
1637
+ <a:gradFill rotWithShape="1">
1638
+ <a:gsLst>
1639
+ <a:gs pos="0">
1640
+ <a:schemeClr val="phClr">
1641
+ <a:tint val="40000"/>
1642
+ <a:satMod val="350000"/>
1643
+ </a:schemeClr>
1644
+ </a:gs>
1645
+ <a:gs pos="40000">
1646
+ <a:schemeClr val="phClr">
1647
+ <a:tint val="45000"/>
1648
+ <a:shade val="99000"/>
1649
+ <a:satMod val="350000"/>
1650
+ </a:schemeClr>
1651
+ </a:gs>
1652
+ <a:gs pos="100000">
1653
+ <a:schemeClr val="phClr">
1654
+ <a:shade val="20000"/>
1655
+ <a:satMod val="255000"/>
1656
+ </a:schemeClr>
1657
+ </a:gs>
1658
+ </a:gsLst>
1659
+ <a:path path="circle">
1660
+ <a:fillToRect l="50000" t="-80000" r="50000" b="180000"/>
1661
+ </a:path>
1662
+ </a:gradFill>
1663
+ <a:gradFill rotWithShape="1">
1664
+ <a:gsLst>
1665
+ <a:gs pos="0">
1666
+ <a:schemeClr val="phClr">
1667
+ <a:tint val="80000"/>
1668
+ <a:satMod val="300000"/>
1669
+ </a:schemeClr>
1670
+ </a:gs>
1671
+ <a:gs pos="100000">
1672
+ <a:schemeClr val="phClr">
1673
+ <a:shade val="30000"/>
1674
+ <a:satMod val="200000"/>
1675
+ </a:schemeClr>
1676
+ </a:gs>
1677
+ </a:gsLst>
1678
+ <a:path path="circle">
1679
+ <a:fillToRect l="50000" t="50000" r="50000" b="50000"/>
1680
+ </a:path>
1681
+ </a:gradFill>
1682
+ </a:bgFillStyleLst>
1683
+ </a:fmtScheme>
1684
+ </a:themeElements>
1685
+ <a:objectDefaults>
1686
+ <a:spDef>
1687
+ <a:spPr/>
1688
+ <a:bodyPr/>
1689
+ <a:lstStyle/>
1690
+ <a:style>
1691
+ <a:lnRef idx="1">
1692
+ <a:schemeClr val="accent1"/>
1693
+ </a:lnRef>
1694
+ <a:fillRef idx="3">
1695
+ <a:schemeClr val="accent1"/>
1696
+ </a:fillRef>
1697
+ <a:effectRef idx="2">
1698
+ <a:schemeClr val="accent1"/>
1699
+ </a:effectRef>
1700
+ <a:fontRef idx="minor">
1701
+ <a:schemeClr val="lt1"/>
1702
+ </a:fontRef>
1703
+ </a:style>
1704
+ </a:spDef>
1705
+ <a:lnDef>
1706
+ <a:spPr/>
1707
+ <a:bodyPr/>
1708
+ <a:lstStyle/>
1709
+ <a:style>
1710
+ <a:lnRef idx="2">
1711
+ <a:schemeClr val="accent1"/>
1712
+ </a:lnRef>
1713
+ <a:fillRef idx="0">
1714
+ <a:schemeClr val="accent1"/>
1715
+ </a:fillRef>
1716
+ <a:effectRef idx="1">
1717
+ <a:schemeClr val="accent1"/>
1718
+ </a:effectRef>
1719
+ <a:fontRef idx="minor">
1720
+ <a:schemeClr val="tx1"/>
1721
+ </a:fontRef>
1722
+ </a:style>
1723
+ </a:lnDef>
1724
+ </a:objectDefaults>
1725
+ <a:extraClrSchemeLst/>
1726
+ </a:theme>'
1727
+ self.parse(default_theme)
1728
+ end
1729
+ end
1730
+ end