ooxml_parser 0.4.1 → 0.5.0

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 (343) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ooxml_parser.rb +3 -0
  3. data/lib/ooxml_parser/common_parser/common_data/alternate_content/alternate_content.rb +2 -0
  4. data/lib/ooxml_parser/common_parser/common_data/alternate_content/alternate_content/chart_style.rb +2 -0
  5. data/lib/ooxml_parser/common_parser/common_data/alternate_content/alternate_content/choice.rb +2 -0
  6. data/lib/ooxml_parser/common_parser/common_data/alternate_content/alternate_content/choice/math_text.rb +2 -0
  7. data/lib/ooxml_parser/common_parser/common_data/alternate_content/alternate_content/choice/math_text/math_paragraph.rb +2 -0
  8. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart.rb +33 -4
  9. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/pivot_formats.rb +33 -0
  10. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/pivot_formats/pivot_format.rb +26 -0
  11. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/plot_area.rb +67 -0
  12. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/plot_area/common_chart_data.rb +31 -0
  13. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series.rb +20 -7
  14. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_text.rb +5 -3
  15. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_text/{string_reference.rb → number_string_reference.rb} +9 -7
  16. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_text/string_reference/{string_cache.rb → number_string_cache.rb} +11 -6
  17. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_text/string_reference/string_cache/point.rb +9 -2
  18. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_text/string_reference/string_cache/point/text_value.rb +2 -0
  19. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/x_y_values.rb +22 -0
  20. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/view_3d.rb +2 -0
  21. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_axis.rb +3 -1
  22. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_axis/scaling.rb +2 -0
  23. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_axis_title.rb +7 -4
  24. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_cells_range.rb +4 -0
  25. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_legend.rb +3 -0
  26. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart_point.rb +3 -1
  27. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/display_labels_properties.rb +6 -0
  28. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/docx_drawing.rb +2 -0
  29. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/docx_drawing/doc_properties.rb +2 -0
  30. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_drawing_distance_from_text.rb +2 -0
  31. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_drawing_position.rb +2 -0
  32. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_drawing_properties.rb +3 -1
  33. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_wrap_drawing.rb +2 -0
  34. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/ooxml_coordinates.rb +11 -8
  35. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/ooxml_size.rb +23 -14
  36. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/size_relative/picture_dimension.rb +2 -0
  37. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/size_relative_horizontal.rb +2 -0
  38. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/size_relative_vertical.rb +2 -0
  39. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/docx_graphic.rb +3 -1
  40. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/picture/docx_blip.rb +3 -0
  41. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/picture/docx_blip/file_reference.rb +4 -0
  42. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/picture/docx_picture.rb +2 -0
  43. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape.rb +4 -0
  44. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/non_visual_shape_properties.rb +3 -0
  45. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/non_visual_shape_properties/common_non_visual_properties.rb +3 -1
  46. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/non_visual_shape_properties/non_visual_properties.rb +2 -0
  47. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/non_visual_shape_properties/non_visual_properties/shape_placeholder.rb +2 -0
  48. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/ooxml_text_box.rb +2 -0
  49. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/text_body.rb +2 -0
  50. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_body_properties/ooxml_shape_body_properties.rb +2 -0
  51. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_body_properties/ooxml_shape_body_properties/preset_text_warp.rb +2 -0
  52. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/color/docx_color_scheme.rb +4 -2
  53. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/color/docx_pattern_fill.rb +4 -2
  54. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/custom_geometry/docx_custom_geometry/docx_shape_line_path.rb +2 -0
  55. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/custom_geometry/docx_custom_geometry/docx_shape_line_path/docx_shape_line_element.rb +2 -0
  56. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/custom_geometry/ooxml_custom_geometry.rb +3 -1
  57. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_color.rb +3 -1
  58. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_line.rb +5 -2
  59. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties.rb +3 -1
  60. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/blip_fill.rb +2 -0
  61. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/blip_fill/blip.rb +2 -0
  62. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/blip_fill/blip/alpha_mod_fix.rb +2 -0
  63. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/preset_geometry.rb +2 -0
  64. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/preset_geometry/shape_adjust_value_list.rb +2 -0
  65. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/preset_geometry/shape_adjust_value_list/shape_guide.rb +2 -0
  66. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_properties/text_box.rb +12 -11
  67. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/docx_shape_size.rb +11 -5
  68. data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/shape_properties/line/line_end.rb +3 -0
  69. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/group/old_docx_group.rb +3 -1
  70. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/group/old_docx_group_element.rb +3 -1
  71. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/group/old_docx_group_properties.rb +3 -1
  72. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/old_docx_picture.rb +2 -0
  73. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/shape/old_docx_shape.rb +2 -0
  74. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/shape/old_docx_shape_fill.rb +2 -0
  75. data/lib/ooxml_parser/common_parser/common_data/alternate_content/picture/shape/old_docx_shape_properties.rb +2 -0
  76. data/lib/ooxml_parser/common_parser/common_data/borders_properties.rb +22 -9
  77. data/lib/ooxml_parser/common_parser/common_data/color.rb +83 -67
  78. data/lib/ooxml_parser/common_parser/common_data/color/color_helper.rb +25 -21
  79. data/lib/ooxml_parser/common_parser/common_data/color/ooxml_color.rb +7 -3
  80. data/lib/ooxml_parser/common_parser/common_data/colors/color_alpha_channel.rb +4 -1
  81. data/lib/ooxml_parser/common_parser/common_data/colors/color_properties.rb +2 -0
  82. data/lib/ooxml_parser/common_parser/common_data/colors/hsl_color.rb +12 -8
  83. data/lib/ooxml_parser/common_parser/common_data/colors/image_fill.rb +3 -0
  84. data/lib/ooxml_parser/common_parser/common_data/colors/presentation_fill.rb +6 -1
  85. data/lib/ooxml_parser/common_parser/common_data/colors/presentation_fill/gradient_color.rb +3 -1
  86. data/lib/ooxml_parser/common_parser/common_data/colors/presentation_fill/gradient_color/gradient_stop.rb +5 -3
  87. data/lib/ooxml_parser/common_parser/common_data/colors/presentation_fill/gradient_color/linear_gradient.rb +2 -0
  88. data/lib/ooxml_parser/common_parser/common_data/colors/presentation_fill/presentation_pattern.rb +4 -2
  89. data/lib/ooxml_parser/common_parser/common_data/colors/scheme_color.rb +5 -1
  90. data/lib/ooxml_parser/common_parser/common_data/colors/theme_colors.rb +14 -14
  91. data/lib/ooxml_parser/common_parser/common_data/colors/tile.rb +2 -0
  92. data/lib/ooxml_parser/common_parser/common_data/content_types.rb +36 -0
  93. data/lib/ooxml_parser/common_parser/common_data/content_types/content_type_default.rb +23 -0
  94. data/lib/ooxml_parser/common_parser/common_data/content_types/content_type_override.rb +23 -0
  95. data/lib/ooxml_parser/common_parser/common_data/coordinates.rb +11 -6
  96. data/lib/ooxml_parser/common_parser/common_data/font_style.rb +3 -2
  97. data/lib/ooxml_parser/common_parser/common_data/hyperlink.rb +4 -2
  98. data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object.rb +19 -2
  99. data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object/ooxml_document_object_helper.rb +107 -116
  100. data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object/ooxml_object_attribute_helper.rb +31 -0
  101. data/lib/ooxml_parser/common_parser/common_data/paragraph.rb +2 -0
  102. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_properties.rb +3 -0
  103. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run.rb +24 -0
  104. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties.rb +9 -8
  105. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/outline.rb +2 -0
  106. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/position.rb +2 -0
  107. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/run_spacing.rb +2 -0
  108. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/run_style.rb +2 -0
  109. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb +9 -0
  110. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/size.rb +2 -0
  111. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/text.rb +2 -0
  112. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/numbering_properties.rb +2 -0
  113. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_borders.rb +3 -0
  114. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_spacing.rb +5 -3
  115. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/spacing.rb +12 -25
  116. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/spacing/line_spacing.rb +33 -0
  117. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/tabs.rb +2 -0
  118. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/tabs/tab.rb +3 -0
  119. data/lib/ooxml_parser/common_parser/common_data/paragraph/text_field.rb +2 -0
  120. data/lib/ooxml_parser/common_parser/common_data/relationships.rb +24 -19
  121. data/lib/ooxml_parser/common_parser/common_data/relationships/relationship.rb +2 -0
  122. data/lib/ooxml_parser/common_parser/common_data/table.rb +3 -0
  123. data/lib/ooxml_parser/common_parser/common_data/table/margins/paragraph_margins.rb +3 -8
  124. data/lib/ooxml_parser/common_parser/common_data/table/margins/table_margins.rb +3 -0
  125. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_element.rb +3 -1
  126. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_layout.rb +2 -0
  127. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_look.rb +2 -0
  128. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_position.rb +9 -2
  129. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_style.rb +19 -17
  130. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_style_column_band_size.rb +2 -0
  131. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_style_properties.rb +2 -0
  132. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_style_properties/table_style_properties_helper.rb +4 -1
  133. data/lib/ooxml_parser/common_parser/common_data/table/properties/table_style_row_band_size.rb +3 -1
  134. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/cell.rb +4 -0
  135. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/cell_properties.rb +7 -4
  136. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/grid_span.rb +35 -0
  137. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/properties/border.rb +2 -0
  138. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/properties/borders.rb +21 -39
  139. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/properties/table_cell_line.rb +2 -0
  140. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/properties/table_cell_line/line_join.rb +4 -4
  141. data/lib/ooxml_parser/common_parser/common_data/table/row/row.rb +5 -2
  142. data/lib/ooxml_parser/common_parser/common_data/table/row/row/table_row_properties.rb +2 -0
  143. data/lib/ooxml_parser/common_parser/common_data/table/row/row/table_row_properties/table_row_height.rb +2 -0
  144. data/lib/ooxml_parser/common_parser/common_data/table/table_grid.rb +2 -0
  145. data/lib/ooxml_parser/common_parser/common_data/table/table_grid/grid_column.rb +3 -1
  146. data/lib/ooxml_parser/common_parser/common_data/table/table_properties.rb +26 -4
  147. data/lib/ooxml_parser/common_parser/common_data/table/table_properties/table_borders.rb +2 -0
  148. data/lib/ooxml_parser/common_parser/common_data/underline.rb +2 -0
  149. data/lib/ooxml_parser/common_parser/common_data/valued_child.rb +2 -0
  150. data/lib/ooxml_parser/common_parser/common_document_structure.rb +17 -0
  151. data/lib/ooxml_parser/common_parser/parser.rb +6 -2
  152. data/lib/ooxml_parser/configuration.rb +3 -0
  153. data/lib/ooxml_parser/docx_parser/docx_data/document_structure.rb +72 -37
  154. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/comments.rb +36 -0
  155. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/comments/comment.rb +34 -0
  156. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/comments_extended.rb +4 -1
  157. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/comments_extended/comment_extended.rb +2 -0
  158. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/document_background.rb +2 -0
  159. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/document_properties.rb +3 -1
  160. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/document_settings.rb +6 -1
  161. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/document_structure_helpers.rb +2 -1
  162. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/document_style.rb +8 -12
  163. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/document_style/document_style_helper.rb +2 -0
  164. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph.rb +71 -81
  165. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/bookmark_end.rb +22 -0
  166. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/bookmark_start.rb +26 -0
  167. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/comment_range_end.rb +22 -0
  168. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/comment_range_start.rb +26 -0
  169. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula.rb +3 -0
  170. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/accent.rb +2 -0
  171. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/argument_properties.rb +2 -0
  172. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/argument_properties/argument_size.rb +2 -0
  173. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/bar.rb +2 -0
  174. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/box.rb +2 -0
  175. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/delimeter.rb +2 -0
  176. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/fraction.rb +2 -0
  177. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/function.rb +2 -0
  178. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/group_char.rb +2 -0
  179. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/index.rb +2 -0
  180. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/limit.rb +4 -2
  181. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/math_run.rb +2 -0
  182. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/math_run/math_run_properties.rb +2 -0
  183. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/matrix.rb +2 -0
  184. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/matrix/matrix_row.rb +2 -0
  185. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/nary.rb +2 -0
  186. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/nary/nary_properties.rb +2 -0
  187. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/nary/nary_properties/nary_grow.rb +2 -0
  188. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/nary/nary_properties/nary_limit_location.rb +2 -0
  189. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/pre_sub_superscript.rb +2 -0
  190. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_formula/radical.rb +4 -2
  191. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_helper.rb +11 -6
  192. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run.rb +17 -20
  193. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/docx_paragraph_run_helpers.rb +11 -3
  194. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/object.rb +2 -0
  195. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/object/ole_object.rb +2 -0
  196. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/shape.rb +39 -6
  197. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/shape/shape_properties.rb +3 -0
  198. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/shape/shape_properties/shape_margins.rb +3 -0
  199. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/shape/shape_properties/shape_size.rb +3 -0
  200. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/shape/shape_properties/stroke.rb +3 -0
  201. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/text_fill.rb +2 -0
  202. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/docx_paragraph_run/text_outline.rb +2 -0
  203. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/field_simple.rb +41 -0
  204. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/frame_properties.rb +3 -0
  205. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/indents.rb +3 -0
  206. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/inserted.rb +2 -0
  207. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_content.rb +2 -0
  208. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/sdt/sdt_properties.rb +2 -0
  209. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/structured_document_tag.rb +2 -0
  210. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/style_parametres.rb +3 -1
  211. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/header_footer.rb +4 -1
  212. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering.rb +7 -1
  213. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering.rb +2 -0
  214. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/multilevel_type.rb +2 -0
  215. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/numbering_level.rb +3 -2
  216. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/numbering_level/level_justification.rb +2 -0
  217. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/numbering_level/level_text.rb +2 -0
  218. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/numbering_level/numbering_format.rb +2 -0
  219. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/numbering_level/suffix.rb +2 -0
  220. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/numbering_definition.rb +4 -3
  221. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb +6 -2
  222. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns/column.rb +2 -0
  223. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/document_grid.rb +2 -0
  224. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/footnote_properties.rb +2 -0
  225. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/note.rb +13 -14
  226. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/page_margins.rb +10 -8
  227. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/page_properties.rb +3 -0
  228. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/page_size.rb +4 -0
  229. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/styles.rb +12 -1
  230. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/styles/document_defaults.rb +2 -0
  231. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/styles/document_defaults/paragraph_properties_default.rb +2 -0
  232. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/styles/document_defaults/run_properties_default.rb +2 -0
  233. data/lib/ooxml_parser/docx_parser/docx_parser.rb +3 -0
  234. data/lib/ooxml_parser/helpers/string_helper.rb +3 -1
  235. data/lib/ooxml_parser/name.rb +8 -0
  236. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation.rb +30 -37
  237. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/comment_authors.rb +39 -0
  238. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/comment_authors/comment_author.rb +38 -0
  239. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_comments.rb +33 -0
  240. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_comments/presentation_comment.rb +39 -0
  241. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_helpers.rb +3 -0
  242. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_theme.rb +9 -3
  243. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_theme/font_scheme.rb +36 -0
  244. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_theme/font_scheme/font_collection.rb +31 -0
  245. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_theme/font_scheme/font_collection/text_font.rb +22 -0
  246. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_theme/theme_color.rb +11 -8
  247. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide.rb +8 -4
  248. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/background.rb +4 -1
  249. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/background/background_properties.rb +2 -0
  250. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/background/background_properties/stretch.rb +2 -0
  251. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/common_slide_data.rb +2 -0
  252. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/common_slide_data/shape_tree.rb +2 -0
  253. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/connection_shape.rb +2 -0
  254. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/graphic_frame/graphic_frame.rb +5 -2
  255. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/presentation_alternate_content.rb +2 -4
  256. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/presentation_notes.rb +3 -1
  257. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/shape/non_visual_shape_properties/hyperlinks/hyperlink_for_hover.rb +2 -0
  258. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/shapes_grouping.rb +2 -0
  259. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing.rb +2 -0
  260. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/animation_effect/animation_effect.rb +3 -0
  261. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/behavior/behavior.rb +3 -0
  262. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/behavior/target_element.rb +3 -9
  263. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/set_time_node.rb +3 -0
  264. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node.rb +4 -4
  265. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node/common_timing.rb +6 -3
  266. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node/common_timing/{condition.rb → codition_list/condition.rb} +3 -9
  267. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/time_node/common_timing/condition_list.rb +27 -0
  268. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide_helper.rb +4 -0
  269. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition.rb +3 -0
  270. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition/sound_action.rb +5 -5
  271. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition/sound_action/sound.rb +2 -0
  272. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition_properties/transition_properties.rb +8 -2
  273. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/transition/transition_properties/transition_properties/wheel.rb +22 -0
  274. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide_size.rb +2 -0
  275. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/table_styles.rb +38 -0
  276. data/lib/ooxml_parser/pptx_parser/pptx_parser.rb +4 -1
  277. data/lib/ooxml_parser/version.rb +3 -1
  278. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook.rb +38 -38
  279. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/chartsheet.rb +3 -1
  280. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/shared_string_table.rb +46 -0
  281. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/shared_string_table/string_index.rb +26 -0
  282. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet.rb +13 -1
  283. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/cell_xfs.rb +37 -0
  284. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/{worksheet/xlsx_row/xlsx_cell → style_sheet/cell_xfs}/cell_style/alignment.rb +2 -0
  285. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/cell_xfs/xf.rb +145 -0
  286. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/fills.rb +2 -0
  287. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/fills/fill.rb +2 -0
  288. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/fills/fill/pattern_fill.rb +2 -0
  289. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/fonts.rb +5 -3
  290. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/fonts/font.rb +2 -0
  291. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/number_formats.rb +2 -5
  292. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/number_formats/number_format.rb +2 -0
  293. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/xlsx_borders.rb +37 -0
  294. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/style_sheet/xlsx_borders/xlsx_border.rb +34 -0
  295. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/workbook_helpers.rb +3 -0
  296. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet.rb +51 -25
  297. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/excel_comments.rb +28 -29
  298. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/excel_comments/author.rb +16 -0
  299. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/excel_comments/comment_list.rb +26 -0
  300. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/excel_comments/excel_comment.rb +10 -0
  301. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/ole_objects.rb +2 -0
  302. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/page_setup.rb +105 -0
  303. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/sheet_format_properties.rb +2 -0
  304. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/sheet_view.rb +2 -0
  305. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/sheet_view/pane.rb +2 -0
  306. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part.rb +8 -1
  307. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/autofilter.rb +2 -0
  308. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/autofilter/filter_column.rb +12 -0
  309. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/autofilter/filter_column/custom_filters.rb +42 -0
  310. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/autofilter/filter_column/custom_filters/custom_filter.rb +26 -0
  311. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/extension_list.rb +2 -0
  312. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/extension_list/extension.rb +2 -0
  313. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/extension_list/extension/sparkline_groups.rb +3 -1
  314. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/extension_list/extension/sparkline_groups/sparkline_group.rb +2 -0
  315. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/extension_list/extension/x14_table.rb +2 -0
  316. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/table_columns.rb +42 -0
  317. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/table_columns/table_column.rb +34 -0
  318. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/table_part/table_style_info.rb +2 -0
  319. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/worksheet_helper.rb +14 -0
  320. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_column_properties.rb +8 -1
  321. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_drawing.rb +3 -0
  322. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_drawing/xlsx_drawing_position_parameters.rb +2 -0
  323. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_row.rb +3 -1
  324. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_row/xlsx_cell.rb +60 -27
  325. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_row/xlsx_cell/formula.rb +39 -0
  326. data/lib/ooxml_parser/xlsx_parser/xlsx_parser.rb +4 -1
  327. metadata +82 -29
  328. data/LICENSE.txt +0 -661
  329. data/README.md +0 -43
  330. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/order.rb +0 -20
  331. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_index.rb +0 -20
  332. data/lib/ooxml_parser/common_parser/common_data/alternate_content/chart/chart/series/series_text/string_reference/string_cache/point_count.rb +0 -20
  333. data/lib/ooxml_parser/common_parser/common_data/colors/presentation_fill/gradient_color/gradient_stop/preset_color.rb +0 -20
  334. data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/language.rb +0 -20
  335. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/cell_properties/vertical_merge.rb +0 -20
  336. data/lib/ooxml_parser/common_parser/common_data/table/row/cell/merge.rb +0 -30
  337. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/comment.rb +0 -28
  338. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/docx_paragraph/bookmark.rb +0 -21
  339. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/abstract_numbering/numbering_level/start.rb +0 -20
  340. data/lib/ooxml_parser/docx_parser/docx_data/document_structure/numbering/numbering_definition/abstract_numbering_id.rb +0 -20
  341. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_comment.rb +0 -31
  342. data/lib/ooxml_parser/pptx_parser/pptx_data/presentation/presentation_comment/presentation_comment_author.rb +0 -26
  343. data/lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_row/xlsx_cell/cell_style.rb +0 -128
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'non_visual_shape_properties/common_non_visual_properties'
2
4
  require_relative 'non_visual_shape_properties/non_visual_properties'
3
5
  module OoxmlParser
6
+ # Class for working with NonVisualShapeProperties
4
7
  class NonVisualShapeProperties < OOXMLDocumentObject
5
8
  attr_accessor :common_properties, :non_visual_properties
6
9
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for `cNvPr` data
3
5
  class CommonNonVisualProperties < OOXMLDocumentObject
@@ -29,7 +31,7 @@ module OoxmlParser
29
31
  when 'hlinkClick'
30
32
  @on_click_hyperlink = Hyperlink.new(parent: self).parse(node_child)
31
33
  when 'hlinkHover'
32
- @hyperlink_for_hover = HyperlinkForHover.new(parent: self).parse(node_child)
34
+ @hyperlink_for_hover = Hyperlink.new(parent: self).parse(node_child)
33
35
  end
34
36
  end
35
37
  self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'non_visual_properties/shape_placeholder'
2
4
  module OoxmlParser
3
5
  # Class for parsing `nvPr` object
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for data about `ph` node
3
5
  class ShapePlaceholder < OOXMLDocumentObject
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for parsing `txbx` tags
3
5
  class OOXMLTextBox < OOXMLDocumentObject
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for parsing `txBody` tags
3
5
  class TextBody < OOXMLDocumentObject
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'ooxml_shape_body_properties/preset_text_warp'
2
4
 
3
5
  module OoxmlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for parsing `prstTxWarp` tags
3
5
  class PresetTextWarp < OOXMLDocumentObject
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # DOCX Color Scheme
3
5
  class DocxColorScheme < OOXMLDocumentObject
@@ -17,7 +19,7 @@ module OoxmlParser
17
19
  case node_child.name
18
20
  when 'solidFill'
19
21
  @type = :solid
20
- @color = Color.parse_color_model(node_child)
22
+ @color = Color.new(parent: self).parse_color_model(node_child)
21
23
  when 'gradFill'
22
24
  @type = :gradient
23
25
  @color = GradientColor.new(parent: self).parse(node_child)
@@ -27,7 +29,7 @@ module OoxmlParser
27
29
  when 'srgbClr'
28
30
  @color = Color.new(parent: self).parse_hex_string(node_child.attribute('val').value)
29
31
  when 'schemeClr'
30
- @color = Color.parse_scheme_color(node_child)
32
+ @color = Color.new(parent: self).parse_scheme_color(node_child)
31
33
  end
32
34
  end
33
35
  self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Docx Pattern Fill Data
3
5
  class DocxPatternFill < OOXMLDocumentObject
@@ -11,9 +13,9 @@ module OoxmlParser
11
13
  node.xpath('*').each do |node_child|
12
14
  case node_child.name
13
15
  when 'fgClr'
14
- @foreground_color = Color.parse_color_model(node_child)
16
+ @foreground_color = Color.new(parent: self).parse_color_model(node_child)
15
17
  when 'bgClr'
16
- @background_color = Color.parse_color_model(node_child)
18
+ @background_color = Color.new(parent: self).parse_color_model(node_child)
17
19
  end
18
20
  end
19
21
  self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'docx_shape_line_path/docx_shape_line_element'
2
4
  module OoxmlParser
3
5
  # Docx Shape Line Path
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Docx Shape Line Element
3
5
  class DocxShapeLineElement < OOXMLDocumentObject
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'docx_custom_geometry/docx_shape_line_path'
2
- # Docx Custom Geometry
3
4
  module OoxmlParser
5
+ # Docx Custom Geometry
4
6
  class OOXMLCustomGeometry < OOXMLDocumentObject
5
7
  attr_accessor :paths_list
6
8
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'color/docx_pattern_fill'
2
4
  module OoxmlParser
3
5
  # Color inside DOCX
@@ -25,7 +27,7 @@ module OoxmlParser
25
27
  end
26
28
  when 'solidFill'
27
29
  @type = :solid
28
- @value = Color.parse_color_model(node_child)
30
+ @value = Color.new(parent: self).parse_color_model(node_child)
29
31
  when 'gradFill'
30
32
  @type = :gradient
31
33
  @value = GradientColor.new(parent: self).parse(node_child)
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'color/docx_color_scheme'
2
4
  require_relative 'line/line_end'
3
- # Docx Shape Line
4
5
  module OoxmlParser
6
+ # Docx Shape Line
5
7
  class DocxShapeLine < OOXMLDocumentObject
6
8
  attr_accessor :width, :color_scheme, :cap, :head_end, :tail_end, :fill
7
9
  # @return [ValuedChild] dash properties
@@ -22,7 +24,8 @@ module OoxmlParser
22
24
  end
23
25
  end
24
26
 
25
- def nil?
27
+ # @return [True, False] is line invisible
28
+ def invisible?
26
29
  stroke_size.zero? && cap.nil?
27
30
  end
28
31
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'docx_color'
2
4
  require_relative 'docx_shape_size'
3
5
  require_relative 'docx_shape_line'
@@ -5,8 +7,8 @@ require_relative 'docx_shape_properties/blip_fill'
5
7
  require_relative 'docx_shape_properties/preset_geometry'
6
8
  require_relative 'docx_shape_properties/text_box'
7
9
  require_relative 'custom_geometry/ooxml_custom_geometry'
8
- # DOCX Shape Properties
9
10
  module OoxmlParser
11
+ # DOCX Shape Properties
10
12
  class DocxShapeProperties < OOXMLDocumentObject
11
13
  attr_accessor :shape_size, :preset_geometry, :fill_color, :text_box, :line, :custom_geometry
12
14
  attr_accessor :blip_fill
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'blip_fill/blip'
2
4
  module OoxmlParser
3
5
  # Class for parsing `a:blipFill` tag
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'blip/alpha_mod_fix'
2
4
 
3
5
  module OoxmlParser
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for parsing `a:alphaModFix` tag
3
5
  class AlphaModFix < OOXMLDocumentObject
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'preset_geometry/shape_adjust_value_list'
2
4
  module OoxmlParser
3
5
  # Class for describing Preset Geometry
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'shape_adjust_value_list/shape_guide'
2
4
  module OoxmlParser
3
5
  # Class for describing List of Shape Adjust Values
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Class for describing Shape Guide
3
5
  class ShapeGuide < OOXMLDocumentObject
@@ -1,5 +1,7 @@
1
- # Class for working with TextBox (w:txbxContent)
1
+ # frozen_string_literal: true
2
+
2
3
  module OoxmlParser
4
+ # Class for working with TextBox (w:txbxContent)
3
5
  class TextBox
4
6
  # Parse TextBox List
5
7
  # @param [Nokogiri::XML:Node] node with TextBox
@@ -7,16 +9,15 @@ module OoxmlParser
7
9
  def self.parse_list(node, parent: nil)
8
10
  elements = []
9
11
  text_box_content_node = node.xpath('w:txbxContent').first
10
- unless text_box_content_node.nil?
11
- text_box_content_node.xpath('*').each_with_index do |textbox_element, i|
12
- case textbox_element.name
13
- when 'p'
14
- DocumentStructure.default_paragraph_style = DocxParagraph.new
15
- DocumentStructure.default_paragraph_style.spacing = Spacing.new(0, 0.35, 1.15, :multiple)
16
- elements << DocumentStructure.default_paragraph_style.dup.parse(textbox_element, i, parent: parent)
17
- when 'tbl'
18
- elements << Table.new(parent: parent).parse(textbox_element, i)
19
- end
12
+
13
+ text_box_content_node&.xpath('*')&.each_with_index do |textbox_element, i|
14
+ case textbox_element.name
15
+ when 'p'
16
+ DocumentStructure.default_paragraph_style = DocxParagraph.new
17
+ DocumentStructure.default_paragraph_style.spacing = Spacing.new(0, 0.35, 1.15, :multiple)
18
+ elements << DocumentStructure.default_paragraph_style.dup.parse(textbox_element, i, parent: parent)
19
+ when 'tbl'
20
+ elements << Table.new(parent: parent).parse(textbox_element, i)
20
21
  end
21
22
  end
22
23
  elements
@@ -1,9 +1,15 @@
1
- # Docx Shape Size
1
+ # frozen_string_literal: true
2
+
2
3
  module OoxmlParser
4
+ # Docx Shape Size
3
5
  class DocxShapeSize < OOXMLDocumentObject
4
- attr_accessor :rotation, :flip_horizontal, :flip_vertical, :offset, :extent
6
+ attr_accessor :rotation, :offset, :extent
5
7
  attr_accessor :child_offset
6
8
  attr_accessor :child_extent
9
+ # @return [True, False] is image flipped horizontally
10
+ attr_reader :flip_horizontal
11
+ # @return [True, False] is image flipped vertically
12
+ attr_reader :flip_vertical
7
13
 
8
14
  alias extents extent
9
15
 
@@ -14,11 +20,11 @@ module OoxmlParser
14
20
  node.attributes.each do |key, value|
15
21
  case key
16
22
  when 'rot'
17
- @rotation = value.value.to_f
23
+ @rotation = OoxmlSize.new(value.value.to_f, :one_60000th_degree)
18
24
  when 'flipH'
19
- @flip_horizontal = value.value.to_f
25
+ @flip_horizontal = attribute_enabled?(value)
20
26
  when 'flipV'
21
- @flip_vertical = value.value.to_f
27
+ @flip_vertical = attribute_enabled?(value)
22
28
  end
23
29
  end
24
30
  node.xpath('*').each do |node_child|
@@ -1,4 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
4
+ # Class for working with LineEnd data
2
5
  class LineEnd < OOXMLDocumentObject
3
6
  attr_accessor :type, :length, :width
4
7
 
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'old_docx_group_properties'
2
4
  require_relative 'old_docx_group_element'
3
- # Fallback DOCX group data
4
5
  module OoxmlParser
6
+ # Fallback DOCX group data
5
7
  class OldDocxGroup < OOXMLDocumentObject
6
8
  attr_accessor :elements, :properties
7
9
 
@@ -1,5 +1,7 @@
1
- # Fallback DOCX Gropu Element data
1
+ # frozen_string_literal: true
2
+
2
3
  module OoxmlParser
4
+ # Fallback DOCX group element data
3
5
  class OldDocxGroupElement
4
6
  attr_accessor :type, :object
5
7
 
@@ -1,5 +1,7 @@
1
- # Fallback DOCX group properties
1
+ # frozen_string_literal: true
2
+
2
3
  module OoxmlParser
4
+ # Fallback DOCX group properties
3
5
  class OldDocxGroupProperties
4
6
  attr_accessor :wrap
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'shape/old_docx_shape'
2
4
  require_relative 'shape/old_docx_shape_fill'
3
5
  require_relative 'group/old_docx_group'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'old_docx_shape_properties'
2
4
  module OoxmlParser
3
5
  # Fallback DOCX shape data
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Fallback DOCX shape fill properties
3
5
  class OldDocxShapeFill < OOXMLDocumentObject
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OoxmlParser
2
4
  # Fallback DOCX Shape Properties
3
5
  class OldDocxShapeProperties < OOXMLDocumentObject
@@ -1,33 +1,45 @@
1
- # Border Properties Data
1
+ # frozen_string_literal: true
2
+
2
3
  module OoxmlParser
4
+ # Border Properties Data
3
5
  class BordersProperties < OOXMLDocumentObject
4
- attr_accessor :color, :space, :sz, :val, :shadow, :frame, :side
6
+ attr_accessor :color, :space, :val, :shadow, :frame, :side
7
+ # @return [OoxmlSize] size of border
8
+ attr_reader :size
5
9
 
6
- def initialize(color = :auto, sz = 0, val = :none, space = 0, parent: nil)
10
+ def initialize(color = :auto, size = 0, val = :none, space = 0, parent: nil)
7
11
  @color = color
8
- @sz = sz
12
+ @size = size
9
13
  @val = val
10
14
  @space = space
11
15
  @parent = parent
12
16
  end
13
17
 
14
- alias size sz
18
+ # @return [OoxmlSize] alias for sz
19
+ def sz
20
+ size
21
+ end
22
+
23
+ extend Gem::Deprecate
24
+ deprecate :sz, 'size', 2020, 1
15
25
 
16
26
  def nil?
17
- @sz.zero? && val == :none
27
+ size.zero? && val == :none
18
28
  end
19
29
 
20
30
  def to_s
21
31
  return '' if nil?
22
- "borders color: #{@color}, size: #{@sz}, space: #{@space}, value: #{@val}"
32
+
33
+ "borders color: #{@color}, size: #{size}, space: #{@space}, value: #{@val}"
23
34
  end
24
35
 
25
36
  def copy
26
- BordersProperties.new(@color, @sz, @val, @space)
37
+ BordersProperties.new(@color, size, @val, @space)
27
38
  end
28
39
 
29
40
  def visible?
30
41
  return false if nil?
42
+
31
43
  val != 'none'
32
44
  end
33
45
 
@@ -36,12 +48,13 @@ module OoxmlParser
36
48
  # @return [BordersProperties] value of BordersProperties
37
49
  def parse(node)
38
50
  return nil if node.attribute('val').value == 'nil'
51
+
39
52
  node.attributes.each do |key, value|
40
53
  case key
41
54
  when 'val'
42
55
  @val = value.value.to_sym
43
56
  when 'sz'
44
- @sz = OoxmlSize.new(value.value.to_f, :one_eighth_point)
57
+ @size = OoxmlSize.new(value.value.to_f, :one_eighth_point)
45
58
  when 'space'
46
59
  @space = OoxmlSize.new(value.value.to_f, :point)
47
60
  when 'color'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'color/color_helper'
2
4
  require_relative 'color/ooxml_color'
3
5
  require_relative 'colors/color_alpha_channel'
@@ -6,8 +8,8 @@ require_relative 'colors/scheme_color'
6
8
  require_relative 'colors/color_properties'
7
9
  require_relative 'colors/theme_colors'
8
10
  # @author Pavel.Lobashov
9
- # Class for Color in RGB
10
11
  module OoxmlParser
12
+ # Class for Color in RGB
11
13
  class Color < OOXMLDocumentObject
12
14
  include ColorHelper
13
15
  # @return [Array] Deprecated Indexed colors
@@ -181,6 +183,7 @@ module OoxmlParser
181
183
  return false if none? && color_to_check.any?
182
184
  return false if !none? && color_to_check.none?
183
185
  return true if self == color_to_check
186
+
184
187
  red = color_to_check.red
185
188
  green = color_to_check.green
186
189
  blue = color_to_check.blue
@@ -199,6 +202,83 @@ module OoxmlParser
199
202
  @blue = (@blue * shade.to_f).to_i
200
203
  end
201
204
 
205
+ def parse_scheme_color(scheme_color_node)
206
+ color = root_object.theme.color_scheme[scheme_color_node.attribute('val').value.to_sym].color
207
+ hls = HSLColor.rgb_to_hsl(color)
208
+ scheme_name = nil
209
+ scheme_color_node.xpath('*').each do |scheme_color_node_child|
210
+ case scheme_color_node_child.name
211
+ when 'lumMod'
212
+ hls.l = hls.l * (scheme_color_node_child.attribute('val').value.to_f / 100_000.0)
213
+ when 'lumOff'
214
+ hls.l = hls.l + (scheme_color_node_child.attribute('val').value.to_f / 100_000.0)
215
+ end
216
+ end
217
+ scheme_color_node.attributes.each do |key, value|
218
+ case key
219
+ when 'val'
220
+ scheme_name = value.to_s
221
+ end
222
+ end
223
+ color = hls.to_rgb
224
+ @red = color.red
225
+ @green = color.green
226
+ @blue = color.blue
227
+ @alpha_channel = ColorAlphaChannel.parse(scheme_color_node)
228
+ @scheme = scheme_name
229
+ self
230
+ end
231
+
232
+ def parse_color_model(color_model_parent_node)
233
+ color = nil
234
+ tint = nil
235
+ color_model_parent_node.xpath('*').each do |color_model_node|
236
+ color_model_node.xpath('*').each do |color_mode_node_child|
237
+ case color_mode_node_child.name
238
+ when 'tint'
239
+ tint = color_mode_node_child.attribute('val').value.to_f / 100_000.0
240
+ end
241
+ end
242
+ case color_model_node.name
243
+ when 'scrgbClr'
244
+ color = Color.new(color_model_node.attribute('r').value.to_i, color_model_node.attribute('g').value.to_i, color_model_node.attribute('b').value.to_i)
245
+ color.alpha_channel = ColorAlphaChannel.parse(color_model_node)
246
+ when 'srgbClr'
247
+ color = Color.new.parse_hex_string(color_model_node.attribute('val').value)
248
+ color.alpha_channel = ColorAlphaChannel.parse(color_model_node)
249
+ when 'schemeClr'
250
+ color = Color.new(parent: self).parse_scheme_color(color_model_node)
251
+ end
252
+ end
253
+ return nil unless color
254
+
255
+ color.calculate_with_tint!(1.0 - tint) if tint
256
+ @red = color.red
257
+ @green = color.green
258
+ @blue = color.blue
259
+ @alpha_channel = color.alpha_channel
260
+ @scheme = color.scheme
261
+ self
262
+ end
263
+
264
+ def parse_color(color_node)
265
+ case color_node.name
266
+ when 'srgbClr'
267
+ color = parse_hex_string(color_node.attribute('val').value)
268
+ color.properties = ColorProperties.new(parent: color).parse(color_node)
269
+ color
270
+ when 'schemeClr'
271
+ color = SchemeColor.new(parent: parent)
272
+ return ValuedChild.new(:string, parent: parent).parse(color_node) unless root_object.theme
273
+
274
+ color.value = root_object.theme.color_scheme[color_node.attribute('val').value.to_sym].color
275
+ color.properties = ColorProperties.new(parent: color).parse(color_node)
276
+ color.converted_color = Color.new(parent: self).parse_scheme_color(color_node)
277
+ color.value.calculate_with_tint!(1.0 - color.properties.tint) if color.properties.tint
278
+ color
279
+ end
280
+ end
281
+
202
282
  class << self
203
283
  def generate_random_color
204
284
  Color.new(rand(256), rand(256), rand(256))
@@ -216,12 +296,14 @@ module OoxmlParser
216
296
  def get_rgb_by_color_index(index)
217
297
  color_by_index = COLOR_INDEXED[index]
218
298
  return :unknown if color_by_index.nil?
299
+
219
300
  color_by_index == 'n/a' ? Color.new : Color.new.parse_hex_string(color_by_index)
220
301
  end
221
302
 
222
303
  def parse_string(str)
223
304
  return str if str.is_a?(Color)
224
305
  return Color.new(VALUE_FOR_NONE_COLOR, VALUE_FOR_NONE_COLOR, VALUE_FOR_NONE_COLOR) if str == 'none' || str == '' || str == 'transparent' || str.nil?
306
+
225
307
  split = if str.include?('RGB (') || str.include?('rgb(')
226
308
  str.gsub(/[(RGBrgb\(\) )]/, '').split(',')
227
309
  elsif str.include?('RGB ') || str.include?('rgb')
@@ -259,72 +341,6 @@ module OoxmlParser
259
341
  something
260
342
  end
261
343
  end
262
-
263
- def parse_scheme_color(scheme_color_node)
264
- color = ThemeColors.list[scheme_color_node.attribute('val').value.to_sym]
265
- hls = HSLColor.rgb_to_hsl(color)
266
- scheme_name = nil
267
- scheme_color_node.xpath('*').each do |scheme_color_node_child|
268
- case scheme_color_node_child.name
269
- when 'lumMod'
270
- hls.l = hls.l * (scheme_color_node_child.attribute('val').value.to_f / 100_000.0)
271
- when 'lumOff'
272
- hls.l = hls.l + (scheme_color_node_child.attribute('val').value.to_f / 100_000.0)
273
- end
274
- end
275
- scheme_color_node.attributes.each do |key, value|
276
- case key
277
- when 'val'
278
- scheme_name = value.to_s
279
- end
280
- end
281
- color = hls.to_rgb
282
- color.alpha_channel = ColorAlphaChannel.parse(scheme_color_node)
283
- color.scheme = scheme_name
284
- color
285
- end
286
-
287
- def parse_color_model(color_model_parent_node)
288
- color = nil
289
- tint = nil
290
- color_model_parent_node.xpath('*').each do |color_model_node|
291
- color_model_node.xpath('*').each do |color_mode_node_child|
292
- case color_mode_node_child.name
293
- when 'tint'
294
- tint = color_mode_node_child.attribute('val').value.to_f / 100_000.0
295
- end
296
- end
297
- case color_model_node.name
298
- when 'scrgbClr'
299
- color = Color.new(color_model_node.attribute('r').value.to_i, color_model_node.attribute('g').value.to_i, color_model_node.attribute('b').value.to_i)
300
- color.alpha_channel = ColorAlphaChannel.parse(color_model_node)
301
- when 'srgbClr'
302
- color = Color.new.parse_hex_string(color_model_node.attribute('val').value)
303
- color.alpha_channel = ColorAlphaChannel.parse(color_model_node)
304
- when 'schemeClr'
305
- color = parse_scheme_color(color_model_node)
306
- end
307
- end
308
- return nil unless color
309
- color.calculate_with_tint!(1.0 - tint) if tint
310
- color
311
- end
312
-
313
- def parse_color(color_node)
314
- case color_node.name
315
- when 'srgbClr'
316
- color = Color.new.parse_hex_string(color_node.attribute('val').value)
317
- color.properties = ColorProperties.new(parent: color).parse(color_node)
318
- color
319
- when 'schemeClr'
320
- color = SchemeColor.new
321
- color.value = ThemeColors.list[color_node.attribute('val').value.to_sym]
322
- color.properties = ColorProperties.new(parent: color).parse(color_node)
323
- color.converted_color = parse_scheme_color(color_node)
324
- color.value.calculate_with_tint!(1.0 - color.properties.tint) if color.properties.tint
325
- color
326
- end
327
- end
328
344
  end
329
345
  end
330
346
  end