allow injection of progress indicator

This commit is contained in:
larshp 2019-03-12 15:00:07 +00:00 committed by Lars Hvam
parent 4e780068c7
commit 6dc56433ab
2 changed files with 32 additions and 12 deletions

View File

@ -7,6 +7,9 @@ CLASS zcl_abapgit_progress DEFINITION
INTERFACES zif_abapgit_progress . INTERFACES zif_abapgit_progress .
CLASS-METHODS set_instance
IMPORTING
!ii_progress TYPE REF TO zif_abapgit_progress .
CLASS-METHODS get_instance CLASS-METHODS get_instance
IMPORTING IMPORTING
!iv_total TYPE i !iv_total TYPE i
@ -15,10 +18,8 @@ CLASS zcl_abapgit_progress DEFINITION
PROTECTED SECTION. PROTECTED SECTION.
DATA mv_total TYPE i . 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 METHODS calc_pct
IMPORTING IMPORTING
!iv_current TYPE i !iv_current TYPE i
@ -49,18 +50,34 @@ CLASS ZCL_ABAPGIT_PROGRESS IMPLEMENTATION.
ENDMETHOD. 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. ENDMETHOD.
METHOD get_instance. METHOD set_instance.
CREATE OBJECT ri_progress TYPE zcl_abapgit_progress gi_progress = ii_progress.
EXPORTING
iv_total = iv_total. ENDMETHOD.
METHOD zif_abapgit_progress~set_total.
mv_total = iv_total.
CLEAR mv_cv_time_next.
CLEAR mv_cv_datum_next.
ENDMETHOD. ENDMETHOD.

View File

@ -1,9 +1,12 @@
INTERFACE zif_abapgit_progress INTERFACE zif_abapgit_progress
PUBLIC . PUBLIC .
METHODS show METHODS show
IMPORTING IMPORTING
iv_current TYPE i !iv_current TYPE i
iv_text TYPE csequence . !iv_text TYPE csequence .
METHODS set_total
IMPORTING
!iv_total TYPE i .
ENDINTERFACE. ENDINTERFACE.