*"* local class implementation for public class
*"* use this source file for the implementation part of
*"* local helper classes*"* use this source file for any type declarations (class
*"* definitions, interfaces or data types) you need for method
*"* implementation or private method's signature*"* use this source file for any macro definitions you need
*"* in the implementation part of the classmethod GET_STRUCTURE.
*initialize colors to 'not set'
es_fill-left_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
es_fill-left_color-theme = zcl_excel_style_color=>c_theme_not_set.
es_fill-right_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
es_fill-right_color-theme = zcl_excel_style_color=>c_theme_not_set.
es_fill-top_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
es_fill-top_color-theme = zcl_excel_style_color=>c_theme_not_set.
es_fill-bottom_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
es_fill-bottom_color-theme = zcl_excel_style_color=>c_theme_not_set.
es_fill-diagonal_color-indexed = zcl_excel_style_color=>c_indexed_not_set.
es_fill-diagonal_color-theme = zcl_excel_style_color=>c_theme_not_set.
* Check if all borders is set otherwise check single border
IF me->allborders IS BOUND.
es_fill-left_color = me->allborders->border_color.
es_fill-left_style = me->allborders->border_style.
es_fill-right_color = me->allborders->border_color.
es_fill-right_style = me->allborders->border_style.
es_fill-top_color = me->allborders->border_color.
es_fill-top_style = me->allborders->border_style.
es_fill-bottom_color = me->allborders->border_color.
es_fill-bottom_style = me->allborders->border_style.
ELSE.
IF me->left IS BOUND.
es_fill-left_color = me->left->border_color.
es_fill-left_style = me->left->border_style.
ENDIF.
IF me->right IS BOUND.
es_fill-right_color = me->right->border_color.
es_fill-right_style = me->right->border_style.
ENDIF.
IF me->top IS BOUND.
es_fill-top_color = me->top->border_color.
es_fill-top_style = me->top->border_style.
ENDIF.
IF me->down IS BOUND.
es_fill-bottom_color = me->down->border_color.
es_fill-bottom_style = me->down->border_style.
ENDIF.
ENDIF.
* Check if diagonal is set
IF me->diagonal IS BOUND.
es_fill-diagonal_color = me->diagonal->border_color.
es_fill-diagonal_style = me->diagonal->border_style.
CASE me->diagonal_mode.
WHEN 1.
es_fill-diagonalup = 1.
es_fill-diagonaldown = 0.
WHEN 2.
es_fill-diagonalup = 0.
es_fill-diagonaldown = 1.
WHEN 3.
es_fill-diagonalup = 1.
es_fill-diagonaldown = 1.
WHEN OTHERS.
es_fill-diagonalup = 0.
es_fill-diagonaldown = 0.
ENDCASE.
ENDIF.
endmethod.