mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
add factory for GUI_IS_AVAILABLE
This commit adds an indirection for function module GUI_IS_AVAILABLE via interface ZIF_ABAPGIT_GUI_FUNCTIONS and factory ZCL_ABAPGIT_UI_FACTORY. For tests the implementation can be replaced with ZCL_ABAPGIT_UI_INJECTOR=>SET_GUI_FUNCTIONS
This commit is contained in:
parent
db6f21f78c
commit
45a2ba1cd1
|
@ -183,13 +183,12 @@ CLASS ZCL_ABAPGIT_OBJECTS_ACTIVATION IMPLEMENTATION.
|
|||
|
||||
METHOD activate_old.
|
||||
|
||||
DATA: lv_popup TYPE abap_bool.
|
||||
DATA: lv_popup TYPE abap_bool,
|
||||
li_gui TYPE REF TO zif_abapgit_gui_functions.
|
||||
|
||||
IF gt_objects IS NOT INITIAL.
|
||||
|
||||
CALL FUNCTION 'GUI_IS_AVAILABLE'
|
||||
IMPORTING
|
||||
return = lv_popup.
|
||||
lv_popup = zcl_abapgit_ui_factory=>get_gui_functions( )->gui_is_available( ).
|
||||
|
||||
CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE'
|
||||
EXPORTING
|
||||
|
|
9
src/objects/zif_abapgit_gui_functions.intf.abap
Normal file
9
src/objects/zif_abapgit_gui_functions.intf.abap
Normal file
|
@ -0,0 +1,9 @@
|
|||
INTERFACE zif_abapgit_gui_functions
|
||||
PUBLIC .
|
||||
|
||||
METHODS:
|
||||
gui_is_available
|
||||
RETURNING
|
||||
VALUE(rv_gui_is_available) TYPE abap_bool.
|
||||
|
||||
ENDINTERFACE.
|
16
src/objects/zif_abapgit_gui_functions.intf.xml
Normal file
16
src/objects/zif_abapgit_gui_functions.intf.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOINTERF>
|
||||
<CLSNAME>ZIF_ABAPGIT_GUI_FUNCTIONS</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>GUI functions</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOINTERF>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
23
src/ui/zcl_abapgit_gui_functions.clas.abap
Normal file
23
src/ui/zcl_abapgit_gui_functions.clas.abap
Normal file
|
@ -0,0 +1,23 @@
|
|||
CLASS zcl_abapgit_gui_functions DEFINITION
|
||||
PUBLIC
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
INTERFACES:
|
||||
zif_abapgit_gui_functions.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_gui_functions IMPLEMENTATION.
|
||||
|
||||
METHOD zif_abapgit_gui_functions~gui_is_available.
|
||||
|
||||
CALL FUNCTION 'GUI_IS_AVAILABLE'
|
||||
IMPORTING
|
||||
return = rv_gui_is_available.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
18
src/ui/zcl_abapgit_gui_functions.clas.xml
Normal file
18
src/ui/zcl_abapgit_gui_functions.clas.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_ABAPGIT_GUI_FUNCTIONS</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>GUI function modules</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -11,36 +11,52 @@ CLASS zcl_abapgit_ui_factory DEFINITION
|
|||
|
||||
get_tag_popups
|
||||
RETURNING
|
||||
VALUE(ri_tag_popups) TYPE REF TO zif_abapgit_tag_popups.
|
||||
VALUE(ri_tag_popups) TYPE REF TO zif_abapgit_tag_popups,
|
||||
|
||||
get_gui_functions
|
||||
RETURNING
|
||||
VALUE(ri_gui_functions) TYPE REF TO zif_abapgit_gui_functions.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA:
|
||||
mi_popups TYPE REF TO zif_abapgit_popups,
|
||||
mi_tag_popups TYPE REF TO zif_abapgit_tag_popups.
|
||||
gi_popups TYPE REF TO zif_abapgit_popups,
|
||||
gi_tag_popups TYPE REF TO zif_abapgit_tag_popups,
|
||||
gi_gui_functions TYPE REF TO zif_abapgit_gui_functions.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_ui_factory IMPLEMENTATION.
|
||||
|
||||
METHOD get_popups.
|
||||
|
||||
IF mi_popups IS INITIAL.
|
||||
CREATE OBJECT mi_popups TYPE zcl_abapgit_popups.
|
||||
IF gi_popups IS INITIAL.
|
||||
CREATE OBJECT gi_popups TYPE zcl_abapgit_popups.
|
||||
ENDIF.
|
||||
|
||||
ri_popups = mi_popups.
|
||||
ri_popups = gi_popups.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_tag_popups.
|
||||
|
||||
IF mi_tag_popups IS INITIAL.
|
||||
CREATE OBJECT mi_tag_popups TYPE zcl_abapgit_tag_popups.
|
||||
IF gi_tag_popups IS INITIAL.
|
||||
CREATE OBJECT gi_tag_popups TYPE zcl_abapgit_tag_popups.
|
||||
ENDIF.
|
||||
|
||||
ri_tag_popups = mi_tag_popups.
|
||||
ri_tag_popups = gi_tag_popups.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_gui_functions.
|
||||
|
||||
IF gi_gui_functions IS INITIAL.
|
||||
CREATE OBJECT gi_gui_functions TYPE zcl_abapgit_gui_functions.
|
||||
ENDIF.
|
||||
|
||||
ri_gui_functions = gi_gui_functions.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
|
|
@ -10,24 +10,36 @@ CLASS zcl_abapgit_ui_injector DEFINITION
|
|||
|
||||
set_tag_popups
|
||||
IMPORTING
|
||||
ii_tag_popups TYPE REF TO zif_abapgit_tag_popups.
|
||||
ii_tag_popups TYPE REF TO zif_abapgit_tag_popups,
|
||||
|
||||
set_gui_functions
|
||||
IMPORTING
|
||||
ii_gui_functions TYPE REF TO zif_abapgit_gui_functions.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_ui_injector IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_UI_INJECTOR IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD set_gui_functions.
|
||||
|
||||
zcl_abapgit_ui_factory=>gi_gui_functions = ii_gui_functions.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_popups.
|
||||
|
||||
zcl_abapgit_ui_factory=>mi_popups = ii_popups.
|
||||
zcl_abapgit_ui_factory=>gi_popups = ii_popups.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_tag_popups.
|
||||
|
||||
zcl_abapgit_ui_factory=>mi_tag_popups = ii_tag_popups.
|
||||
zcl_abapgit_ui_factory=>gi_tag_popups = ii_tag_popups.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
Loading…
Reference in New Issue
Block a user