From 27b3467a8e4f8cc56c338634b54fc2408de31ee0 Mon Sep 17 00:00:00 2001 From: Gh14Cc10 Date: Fri, 17 Oct 2014 10:44:26 +0200 Subject: [PATCH] Fix issue #329 - attribute indexed of bgcolor Fix issue #329 - Wrong initial value (check) for attribute indexed of bgcolor. Needed new daily build --- ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk | 63 ++++++++++++++++++---------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk index 9d0ab0c..5ff4470 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_WRITER_2007.slnk @@ -4962,12 +4962,19 @@ ENDMETHOD. is_color = ls_fill-fgcolor iv_color_elem_name = lc_xml_node_fgcolor ). - " bgcolor - create_xl_styles_color_node( - io_document = lo_document - io_parent = lo_sub_element - is_color = ls_fill-bgcolor - iv_color_elem_name = lc_xml_node_bgcolor ). + IF ls_fill-fgcolor-rgb IS INITIAL AND + ls_fill-fgcolor-indexed EQ zcl_excel_style_color=>c_indexed_not_set AND + ls_fill-fgcolor-theme EQ zcl_excel_style_color=>c_theme_not_set AND + ls_fill-fgcolor-tint IS INITIAL AND ls_fill-bgcolor-indexed EQ zcl_excel_style_color=>c_indexed_sys_foreground. + + " bgcolor + create_xl_styles_color_node( + io_document = lo_document + io_parent = lo_sub_element + is_color = ls_fill-bgcolor + iv_color_elem_name = lc_xml_node_bgcolor ). + + ENDIF. lo_element_fill->append_child( new_child = lo_sub_element )."pattern lo_element_fills->append_child( new_child = lo_element_fill ). @@ -5372,12 +5379,19 @@ ENDMETHOD. is_color = ls_fill-fgcolor iv_color_elem_name = lc_xml_node_fgcolor ). - " bgcolor - create_xl_styles_color_node( - io_document = lo_document - io_parent = lo_sub_element_2 - is_color = ls_fill-bgcolor - iv_color_elem_name = lc_xml_node_bgcolor ). + IF ls_fill-fgcolor-rgb IS INITIAL AND + ls_fill-fgcolor-indexed EQ zcl_excel_style_color=>c_indexed_not_set AND + ls_fill-fgcolor-theme EQ zcl_excel_style_color=>c_theme_not_set AND + ls_fill-fgcolor-tint IS INITIAL AND ls_fill-bgcolor-indexed EQ zcl_excel_style_color=>c_indexed_sys_foreground. + + " bgcolor + create_xl_styles_color_node( + io_document = lo_document + io_parent = lo_sub_element_2 + is_color = ls_fill-bgcolor + iv_color_elem_name = lc_xml_node_bgcolor ). + + ENDIF. lo_element_fill->append_child( new_child = lo_sub_element_2 ). "pattern @@ -5430,12 +5444,19 @@ ENDMETHOD. is_color = ls_fill-fgcolor iv_color_elem_name = lc_xml_node_fgcolor ). - " bgcolor - create_xl_styles_color_node( - io_document = lo_document - io_parent = lo_sub_element_2 - is_color = ls_fill-bgcolor - iv_color_elem_name = lc_xml_node_bgcolor ). + IF ls_fill-fgcolor-rgb IS INITIAL AND + ls_fill-fgcolor-indexed EQ zcl_excel_style_color=>c_indexed_not_set AND + ls_fill-fgcolor-theme EQ zcl_excel_style_color=>c_theme_not_set AND + ls_fill-fgcolor-tint IS INITIAL AND ls_fill-bgcolor-indexed EQ zcl_excel_style_color=>c_indexed_sys_foreground. + + " bgcolor + create_xl_styles_color_node( + io_document = lo_document + io_parent = lo_sub_element_2 + is_color = ls_fill-bgcolor + iv_color_elem_name = lc_xml_node_bgcolor ). + + ENDIF. lo_element_fill->append_child( new_child = lo_sub_element_2 ). "pattern @@ -5502,7 +5523,7 @@ ENDMETHOD. - method CREATE_XL_STYLES_COLOR_NODE. + METHOD create_xl_styles_color_node. DATA: lo_sub_element TYPE REF TO if_ixml_element, lv_value TYPE string. @@ -5511,7 +5532,7 @@ ENDMETHOD. lc_xml_attr_indexed TYPE string VALUE 'indexed', lc_xml_attr_tint TYPE string VALUE 'tint'. -"add node only if at least one attribute is set + "add node only if at least one attribute is set CHECK is_color-rgb IS NOT INITIAL OR is_color-indexed <> zcl_excel_style_color=>c_indexed_not_set OR is_color-theme <> zcl_excel_style_color=>c_theme_not_set OR @@ -5546,7 +5567,7 @@ ENDMETHOD. ENDIF. io_parent->append_child( new_child = lo_sub_element ). - endmethod. +ENDMETHOD.