From 665cb62591df5807f7044cd2ecea4918b5a346e5 Mon Sep 17 00:00:00 2001 From: Alessandro Iannacci Date: Thu, 6 Dec 2012 11:57:05 +0000 Subject: [PATCH] Charts: added layout management git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@395 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049 --- ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk | 64 +++++++++++------ ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk | 48 ++++++++++++- ZA2X/CLAS/ZCL_EXCEL_GRAPH_PIE.slnk | 102 ++++++++++++++++++++++------ 3 files changed, 173 insertions(+), 41 deletions(-) diff --git a/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk b/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk index 1f14b74..1c4e8be 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_GRAPH.slnk @@ -317,18 +317,18 @@ public section. !IP_IDX type I optional !IP_ORDER type I !IP_INVERTIFNEGATIVE type STRING optional - !IP_LBL_FROM_COL type STRING optional - !IP_LBL_FROM_ROW type STRING optional - !IP_LBL_TO_COL type STRING optional - !IP_LBL_TO_ROW type STRING optional + !IP_LBL_FROM_COL type ZEXCEL_CELL_COLUMN_ALPHA optional + !IP_LBL_FROM_ROW type ZEXCEL_CELL_ROW optional + !IP_LBL_TO_COL type ZEXCEL_CELL_COLUMN_ALPHA optional + !IP_LBL_TO_ROW type ZEXCEL_CELL_ROW optional !IP_LBL type STRING optional - !IP_REF_FROM_COL type STRING optional - !IP_REF_FROM_ROW type STRING optional - !IP_REF_TO_COL type STRING optional - !IP_REF_TO_ROW type STRING optional + !IP_REF_FROM_COL type ZEXCEL_CELL_COLUMN_ALPHA optional + !IP_REF_FROM_ROW type ZEXCEL_CELL_ROW optional + !IP_REF_TO_COL type ZEXCEL_CELL_COLUMN_ALPHA optional + !IP_REF_TO_ROW type ZEXCEL_CELL_ROW optional !IP_REF type STRING optional !IP_SERNAME type STRING - !IP_SHEET type STRING optional . + !IP_SHEET type ZEXCEL_SHEET_TITLE optional . methods SET_STYLE importing !IP_STYLE type S_STYLE . @@ -611,29 +611,51 @@ endmethod. - - - - - + + + + + - - - - + + + + - + METHOD create_serie. DATA ls_serie TYPE s_series. + DATA: lv_start_row_c TYPE char7, + lv_stop_row_c TYPE char7. + + IF ip_lbl IS NOT SUPPLIED. - CONCATENATE ip_sheet '!$' ip_lbl_from_col '$' ip_lbl_from_row ':$' ip_lbl_to_col '$' ip_lbl_to_row INTO ls_serie-lbl. + lv_stop_row_c = ip_lbl_to_row. + SHIFT lv_stop_row_c RIGHT DELETING TRAILING space. + SHIFT lv_stop_row_c LEFT DELETING LEADING space. + lv_start_row_c = ip_lbl_from_row. + SHIFT lv_start_row_c RIGHT DELETING TRAILING space. + SHIFT lv_start_row_c LEFT DELETING LEADING space. + ls_serie-lbl = ip_sheet. + ls_serie-lbl = zcl_excel_common=>escape_string( ip_value = ls_serie-lbl ). + CONCATENATE ls_serie-lbl '!$' ip_lbl_from_col '$' lv_start_row_c ':$' ip_lbl_to_col '$' lv_stop_row_c INTO ls_serie-lbl. + CLEAR: lv_start_row_c, lv_stop_row_c. ELSE. ls_serie-lbl = ip_lbl. ENDIF. IF ip_ref IS NOT SUPPLIED. - CONCATENATE ip_sheet '!$' ip_ref_from_col '$' ip_ref_from_row ':$' ip_ref_to_col '$' ip_ref_to_row INTO ls_serie-ref. + lv_stop_row_c = ip_ref_to_row. + SHIFT lv_stop_row_c RIGHT DELETING TRAILING space. + SHIFT lv_stop_row_c LEFT DELETING LEADING space. + lv_start_row_c = ip_ref_from_row. + SHIFT lv_start_row_c RIGHT DELETING TRAILING space. + SHIFT lv_start_row_c LEFT DELETING LEADING space. + ls_serie-ref = ip_sheet. + ls_serie-ref = zcl_excel_common=>escape_string( ip_value = ls_serie-ref ). + CONCATENATE ls_serie-ref '!$' ip_lbl_from_col '$' lv_start_row_c ':$' ip_lbl_to_col '$' lv_stop_row_c INTO ls_serie-ref. + CLEAR: lv_start_row_c, lv_stop_row_c. ELSE. ls_serie-ref = ip_ref. ENDIF. diff --git a/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk b/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk index 33ac340..a4f02b7 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_GRAPH_BARS.slnk @@ -99,7 +99,23 @@ public section. *"* do not include other source files here!!! private section. *"* private components of class ZCL_EXCEL_GRAPH_BARS -*"* do not include other source files here!!! +*"* do not include other source files here!!! + + methods SET_SHOW_LEGEND_KEY + importing + !IP_VALUE type CHAR1 . + methods SET_SHOW_VALUES + importing + !IP_VALUE type CHAR1 . + methods SET_SHOW_CAT_NAME + importing + !IP_VALUE type CHAR1 . + methods SET_SHOW_SER_NAME + importing + !IP_VALUE type CHAR1 . + methods SET_SHOW_PERCENT + importing + !IP_VALUE type CHAR1 . *"* use this source file for the definition and implementation of *"* local helper classes, interface definitions and type *"* declarations @@ -291,6 +307,36 @@ public section. APPEND ls_ax TO me->axes. sort me->axes by axid ascending. +ENDMETHOD. + + + + METHOD set_show_cat_name. + ns_showcatnameval = ip_value. +ENDMETHOD. + + + + METHOD set_show_legend_key. + ns_showlegendkeyval = ip_value. +ENDMETHOD. + + + + METHOD set_show_percent. + ns_showpercentval = ip_value. +ENDMETHOD. + + + + METHOD set_show_ser_name. + ns_showsernameval = ip_value. +ENDMETHOD. + + + + METHOD set_show_values. + ns_showvalval = ip_value. ENDMETHOD. diff --git a/ZA2X/CLAS/ZCL_EXCEL_GRAPH_PIE.slnk b/ZA2X/CLAS/ZCL_EXCEL_GRAPH_PIE.slnk index 2435218..8fe7e1e 100644 --- a/ZA2X/CLAS/ZCL_EXCEL_GRAPH_PIE.slnk +++ b/ZA2X/CLAS/ZCL_EXCEL_GRAPH_PIE.slnk @@ -1,28 +1,54 @@ - class ZCL_EXCEL_GRAPH_PIE definition - public - inheriting from ZCL_EXCEL_GRAPH - final - create public . + *----------------------------------------------------------------------* +* CLASS ZCL_EXCEL_GRAPH_PIE DEFINITION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* +CLASS zcl_excel_graph_pie DEFINITION + PUBLIC + INHERITING FROM zcl_excel_graph + FINAL + CREATE PUBLIC . -public section. + PUBLIC SECTION. *"* public components of class ZCL_EXCEL_GRAPH_PIE *"* do not include other source files here!!! - data NS_LEGENDPOSVAL type STRING value 'r'. "#EC NOTEXT . - data NS_OVERLAYVAL type STRING value '0'. "#EC NOTEXT . - data NS_PPRRTL type STRING value '0'. "#EC NOTEXT . - data NS_ENDPARARPRLANG type STRING value 'it-IT'. "#EC NOTEXT . - data NS_VARYCOLORSVAL type STRING value '1'. "#EC NOTEXT . - data NS_FIRSTSLICEANGVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWLEGENDKEYVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWVALVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWCATNAMEVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWSERNAMEVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWPERCENTVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWBUBBLESIZEVAL type STRING value '0'. "#EC NOTEXT . - data NS_SHOWLEADERLINESVAL type STRING value '1'. "#EC NOTEXT . + DATA ns_legendposval TYPE string VALUE 'r'. "#EC NOTEXT . + DATA ns_overlayval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_pprrtl TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_endpararprlang TYPE string VALUE 'it-IT'. "#EC NOTEXT . + DATA ns_varycolorsval TYPE string VALUE '1'. "#EC NOTEXT . + DATA ns_firstsliceangval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showlegendkeyval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showvalval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showcatnameval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showsernameval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showpercentval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showbubblesizeval TYPE string VALUE '0'. "#EC NOTEXT . + DATA ns_showleaderlinesval TYPE string VALUE '1'. "#EC NOTEXT . + CONSTANTS c_show_true TYPE char1 VALUE '1'. "#EC NOTEXT + CONSTANTS c_show_false TYPE char1 VALUE '0'. "#EC NOTEXT + + METHODS set_show_legend_key + IMPORTING + !ip_value TYPE char1 . + METHODS set_show_values + IMPORTING + !ip_value TYPE char1 . + METHODS set_show_cat_name + IMPORTING + !ip_value TYPE char1 . + METHODS set_show_ser_name + IMPORTING + !ip_value TYPE char1 . + METHODS set_show_percent + IMPORTING + !ip_value TYPE char1 . + METHODS set_show_leader_lines + IMPORTING + !ip_value TYPE char1 . protected section. *"* protected components of class ZCL_EXCEL_GRAPH_PIE *"* do not include other source files here!!! @@ -37,6 +63,8 @@ public section. *"* components in the private section *"* use this source file for any macro definitions you need *"* in the implementation part of the class + + @@ -51,4 +79,40 @@ public section. + + + METHOD set_show_cat_name. + ns_showcatnameval = ip_value. +ENDMETHOD. + + + + METHOD set_show_leader_lines. + ns_showleaderlinesval = ip_value. +ENDMETHOD. + + + + METHOD set_show_legend_key. + ns_showlegendkeyval = ip_value. +ENDMETHOD. + + + + METHOD set_show_percent. + ns_showpercentval = ip_value. +ENDMETHOD. + + + + METHOD set_show_ser_name. + ns_showsernameval = ip_value. +ENDMETHOD. + + + + METHOD set_show_values. + ns_showvalval = ip_value. +ENDMETHOD. +