From 4e1931af159498bca2359eba60c9932ccceee61a Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Wed, 7 Aug 2024 09:05:50 +0200 Subject: [PATCH] font class cleanup (#1125) --- src/zcl_excel_font.clas.abap | 30 ++++++++++++++++-------------- src/zcl_excel_worksheet.clas.abap | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/zcl_excel_font.clas.abap b/src/zcl_excel_font.clas.abap index b670008..343d90e 100644 --- a/src/zcl_excel_font.clas.abap +++ b/src/zcl_excel_font.clas.abap @@ -5,6 +5,21 @@ CLASS zcl_excel_font DEFINITION PUBLIC SECTION. + TYPES ty_font_height TYPE n LENGTH 3. + CONSTANTS lc_default_font_height TYPE ty_font_height VALUE '110' ##NO_TEXT. + CONSTANTS lc_default_font_name TYPE zexcel_style_font_name VALUE 'Calibri' ##NO_TEXT. + + CLASS-METHODS calculate_text_width + IMPORTING + !iv_font_name TYPE zexcel_style_font_name + !iv_font_height TYPE ty_font_height + !iv_flag_bold TYPE abap_bool + !iv_flag_italic TYPE abap_bool + !iv_cell_value TYPE zexcel_cell_value + RETURNING + VALUE(rv_width) TYPE f . + PROTECTED SECTION. + PRIVATE SECTION. TYPES: BEGIN OF mty_s_font_metric, char TYPE c LENGTH 1, @@ -17,7 +32,7 @@ CLASS zcl_excel_font DEFINITION TYPES: BEGIN OF mty_s_font_cache, font_name TYPE zexcel_style_font_name, - font_height TYPE tdfontsize, + font_height TYPE ty_font_height, flag_bold TYPE abap_bool, flag_italic TYPE abap_bool, th_font_metrics TYPE mty_th_font_metrics, @@ -27,21 +42,8 @@ CLASS zcl_excel_font DEFINITION TYPE HASHED TABLE OF mty_s_font_cache WITH UNIQUE KEY font_name font_height flag_bold flag_italic . - CONSTANTS lc_default_font_height TYPE tdfontsize VALUE '110' ##NO_TEXT. - CONSTANTS lc_default_font_name TYPE zexcel_style_font_name VALUE 'Calibri' ##NO_TEXT. CLASS-DATA mth_font_cache TYPE mty_th_font_cache . - CLASS-METHODS calculate_text_width - IMPORTING - !iv_font_name TYPE zexcel_style_font_name - !iv_font_height TYPE tdfontsize - !iv_flag_bold TYPE abap_bool - !iv_flag_italic TYPE abap_bool - !iv_cell_value TYPE zexcel_cell_value - RETURNING - VALUE(rv_width) TYPE f . - PROTECTED SECTION. - PRIVATE SECTION. ENDCLASS. diff --git a/src/zcl_excel_worksheet.clas.abap b/src/zcl_excel_worksheet.clas.abap index 169e293..3da076d 100644 --- a/src/zcl_excel_worksheet.clas.abap +++ b/src/zcl_excel_worksheet.clas.abap @@ -1303,7 +1303,7 @@ CLASS zcl_excel_worksheet IMPLEMENTATION. ld_flag_italic TYPE abap_bool VALUE abap_false, ld_date TYPE d, ld_date_char TYPE c LENGTH 50, - ld_font_height TYPE tdfontsize VALUE zcl_excel_font=>lc_default_font_height, + ld_font_height TYPE zcl_excel_font=>ty_font_height VALUE zcl_excel_font=>lc_default_font_height, ld_font_name TYPE zexcel_style_font_name VALUE zcl_excel_font=>lc_default_font_name. " Determine cell content and cell style