From 6dc56433ab6fc828ec8bc8e202cab3e2fd58af31 Mon Sep 17 00:00:00 2001 From: larshp Date: Tue, 12 Mar 2019 15:00:07 +0000 Subject: [PATCH] allow injection of progress indicator --- src/utils/zcl_abapgit_progress.clas.abap | 35 ++++++++++++++++++------ src/utils/zif_abapgit_progress.intf.abap | 9 ++++-- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/utils/zcl_abapgit_progress.clas.abap b/src/utils/zcl_abapgit_progress.clas.abap index d97190382..eea43c145 100644 --- a/src/utils/zcl_abapgit_progress.clas.abap +++ b/src/utils/zcl_abapgit_progress.clas.abap @@ -7,6 +7,9 @@ CLASS zcl_abapgit_progress DEFINITION INTERFACES zif_abapgit_progress . + CLASS-METHODS set_instance + IMPORTING + !ii_progress TYPE REF TO zif_abapgit_progress . CLASS-METHODS get_instance IMPORTING !iv_total TYPE i @@ -15,10 +18,8 @@ CLASS zcl_abapgit_progress DEFINITION PROTECTED SECTION. DATA mv_total TYPE i . + CLASS-DATA gi_progress TYPE REF TO zif_abapgit_progress . - METHODS constructor - IMPORTING - !iv_total TYPE i . METHODS calc_pct IMPORTING !iv_current TYPE i @@ -49,18 +50,34 @@ CLASS ZCL_ABAPGIT_PROGRESS IMPLEMENTATION. ENDMETHOD. - METHOD constructor. + METHOD get_instance. - mv_total = iv_total. +* max one progress indicator at a time is supported + + IF gi_progress IS INITIAL. + CREATE OBJECT gi_progress TYPE zcl_abapgit_progress. + ENDIF. + + gi_progress->set_total( iv_total ). + + ri_progress = gi_progress. ENDMETHOD. - METHOD get_instance. + METHOD set_instance. - CREATE OBJECT ri_progress TYPE zcl_abapgit_progress - EXPORTING - iv_total = iv_total. + gi_progress = ii_progress. + + ENDMETHOD. + + + METHOD zif_abapgit_progress~set_total. + + mv_total = iv_total. + + CLEAR mv_cv_time_next. + CLEAR mv_cv_datum_next. ENDMETHOD. diff --git a/src/utils/zif_abapgit_progress.intf.abap b/src/utils/zif_abapgit_progress.intf.abap index 920527c05..d1908972c 100644 --- a/src/utils/zif_abapgit_progress.intf.abap +++ b/src/utils/zif_abapgit_progress.intf.abap @@ -1,9 +1,12 @@ INTERFACE zif_abapgit_progress PUBLIC . + METHODS show IMPORTING - iv_current TYPE i - iv_text TYPE csequence . - + !iv_current TYPE i + !iv_text TYPE csequence . + METHODS set_total + IMPORTING + !iv_total TYPE i . ENDINTERFACE.