mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Merge pull request #1527 from christianguenter2/tag_popups
tag popups: dependency injection
This commit is contained in:
commit
cda961dbe1
|
@ -80,7 +80,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_services_git IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD commit.
|
||||
|
@ -191,7 +191,7 @@ CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION.
|
|||
|
||||
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
|
||||
|
||||
ls_tag = zcl_abapgit_tag_popups=>tag_select_popup( lo_repo ).
|
||||
ls_tag = zcl_abapgit_ui_factory=>get_tag_popups( )->tag_select_popup( lo_repo ).
|
||||
IF ls_tag IS INITIAL.
|
||||
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
||||
ENDIF.
|
||||
|
@ -315,7 +315,7 @@ CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION.
|
|||
|
||||
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
|
||||
|
||||
ls_tag = zcl_abapgit_tag_popups=>tag_select_popup( lo_repo ).
|
||||
ls_tag = zcl_abapgit_ui_factory=>get_tag_popups( )->tag_select_popup( lo_repo ).
|
||||
IF ls_tag IS INITIAL.
|
||||
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
||||
ENDIF.
|
||||
|
@ -333,7 +333,7 @@ CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION.
|
|||
|
||||
lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ).
|
||||
|
||||
zcl_abapgit_tag_popups=>tag_list_popup( lo_repo ).
|
||||
zcl_abapgit_ui_factory=>get_tag_popups( )->tag_list_popup( lo_repo ).
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -1,26 +1,11 @@
|
|||
CLASS zcl_abapgit_tag_popups DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC.
|
||||
CREATE PRIVATE
|
||||
GLOBAL FRIENDS zcl_abapgit_ui_factory.
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
CLASS-METHODS:
|
||||
tag_list_popup
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
RETURNING
|
||||
VALUE(rs_tag) TYPE zif_abapgit_definitions=>ty_git_tag
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
tag_select_popup
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
RETURNING
|
||||
VALUE(rs_tag) TYPE zif_abapgit_definitions=>ty_git_tag
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
INTERFACES: zif_abapgit_tag_popups.
|
||||
|
||||
PRIVATE SECTION.
|
||||
TYPES:
|
||||
|
@ -31,12 +16,12 @@ CLASS zcl_abapgit_tag_popups DEFINITION
|
|||
tty_tag_out TYPE STANDARD TABLE OF ty_tag_out
|
||||
WITH NON-UNIQUE DEFAULT KEY.
|
||||
|
||||
CLASS-DATA:
|
||||
DATA:
|
||||
mt_tags TYPE tty_tag_out,
|
||||
mo_docking_container TYPE REF TO cl_gui_docking_container,
|
||||
mo_text_control TYPE REF TO cl_gui_textedit.
|
||||
|
||||
CLASS-METHODS:
|
||||
METHODS:
|
||||
on_double_click FOR EVENT double_click OF cl_salv_events_table
|
||||
IMPORTING row column,
|
||||
|
||||
|
@ -59,6 +44,39 @@ ENDCLASS.
|
|||
CLASS zcl_abapgit_tag_popups IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD clean_up.
|
||||
|
||||
IF mo_text_control IS BOUND.
|
||||
|
||||
mo_text_control->finalize( ).
|
||||
mo_text_control->free(
|
||||
EXCEPTIONS
|
||||
cntl_error = 1
|
||||
cntl_system_error = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
CLEAR: mo_text_control.
|
||||
|
||||
ENDIF.
|
||||
|
||||
IF mo_docking_container IS BOUND.
|
||||
|
||||
mo_docking_container->finalize( ).
|
||||
mo_docking_container->free(
|
||||
EXCEPTIONS
|
||||
cntl_error = 1
|
||||
cntl_system_error = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
CLEAR: mo_docking_container.
|
||||
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD on_double_click.
|
||||
|
||||
FIELD-SYMBOLS: <ls_tag> TYPE zcl_abapgit_tag_popups=>ty_tag_out.
|
||||
|
@ -99,7 +117,60 @@ CLASS zcl_abapgit_tag_popups IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD tag_list_popup.
|
||||
METHOD show_docking_container_with.
|
||||
|
||||
IF mo_docking_container IS NOT BOUND.
|
||||
|
||||
CREATE OBJECT mo_docking_container
|
||||
EXPORTING
|
||||
side = cl_gui_docking_container=>dock_at_bottom
|
||||
extension = 120
|
||||
EXCEPTIONS
|
||||
cntl_error = 1
|
||||
cntl_system_error = 2
|
||||
create_error = 3
|
||||
lifetime_error = 4
|
||||
lifetime_dynpro_dynpro_link = 5
|
||||
OTHERS = 6.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ENDIF.
|
||||
|
||||
IF mo_text_control IS NOT BOUND.
|
||||
CREATE OBJECT mo_text_control
|
||||
EXPORTING
|
||||
parent = mo_docking_container
|
||||
EXCEPTIONS
|
||||
error_cntl_create = 1
|
||||
error_cntl_init = 2
|
||||
error_cntl_link = 3
|
||||
error_dp_create = 4
|
||||
gui_type_not_supported = 5
|
||||
OTHERS = 6.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
mo_text_control->set_readonly_mode(
|
||||
EXCEPTIONS
|
||||
error_cntl_call_method = 1
|
||||
invalid_parameter = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ENDIF.
|
||||
|
||||
mo_text_control->set_textstream(
|
||||
EXPORTING
|
||||
text = iv_text
|
||||
EXCEPTIONS
|
||||
error_cntl_call_method = 1
|
||||
not_supported_by_gui = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_tag_popups~tag_list_popup.
|
||||
|
||||
DATA: lo_alv TYPE REF TO cl_salv_table,
|
||||
lo_table_header TYPE REF TO cl_salv_form_header_info,
|
||||
|
@ -190,7 +261,7 @@ CLASS zcl_abapgit_tag_popups IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD tag_select_popup.
|
||||
METHOD zif_abapgit_tag_popups~tag_select_popup.
|
||||
|
||||
DATA: lt_tags TYPE zif_abapgit_definitions=>ty_git_tag_list_tt,
|
||||
lv_answer TYPE c LENGTH 1,
|
||||
|
@ -247,90 +318,4 @@ CLASS zcl_abapgit_tag_popups IMPLEMENTATION.
|
|||
rs_tag = <ls_tag>.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD clean_up.
|
||||
|
||||
IF mo_text_control IS BOUND.
|
||||
|
||||
mo_text_control->finalize( ).
|
||||
mo_text_control->free(
|
||||
EXCEPTIONS
|
||||
cntl_error = 1
|
||||
cntl_system_error = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
CLEAR: mo_text_control.
|
||||
|
||||
ENDIF.
|
||||
|
||||
IF mo_docking_container IS BOUND.
|
||||
|
||||
mo_docking_container->finalize( ).
|
||||
mo_docking_container->free(
|
||||
EXCEPTIONS
|
||||
cntl_error = 1
|
||||
cntl_system_error = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
CLEAR: mo_docking_container.
|
||||
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD show_docking_container_with.
|
||||
|
||||
IF mo_docking_container IS NOT BOUND.
|
||||
|
||||
CREATE OBJECT mo_docking_container
|
||||
EXPORTING
|
||||
side = cl_gui_docking_container=>dock_at_bottom
|
||||
extension = 120
|
||||
EXCEPTIONS
|
||||
cntl_error = 1
|
||||
cntl_system_error = 2
|
||||
create_error = 3
|
||||
lifetime_error = 4
|
||||
lifetime_dynpro_dynpro_link = 5
|
||||
OTHERS = 6.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ENDIF.
|
||||
|
||||
IF mo_text_control IS NOT BOUND.
|
||||
CREATE OBJECT mo_text_control
|
||||
EXPORTING
|
||||
parent = mo_docking_container
|
||||
EXCEPTIONS
|
||||
error_cntl_create = 1
|
||||
error_cntl_init = 2
|
||||
error_cntl_link = 3
|
||||
error_dp_create = 4
|
||||
gui_type_not_supported = 5
|
||||
OTHERS = 6.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
mo_text_control->set_readonly_mode(
|
||||
EXCEPTIONS
|
||||
error_cntl_call_method = 1
|
||||
invalid_parameter = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ENDIF.
|
||||
|
||||
mo_text_control->set_textstream(
|
||||
EXPORTING
|
||||
text = iv_text
|
||||
EXCEPTIONS
|
||||
error_cntl_call_method = 1
|
||||
not_supported_by_gui = 2
|
||||
OTHERS = 3 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>Popups</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<CLSFINAL>X</CLSFINAL>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
|
|
|
@ -7,11 +7,16 @@ CLASS zcl_abapgit_ui_factory DEFINITION
|
|||
CLASS-METHODS:
|
||||
get_popups
|
||||
RETURNING
|
||||
VALUE(ri_popups) TYPE REF TO zif_abapgit_popups.
|
||||
VALUE(ri_popups) TYPE REF TO zif_abapgit_popups,
|
||||
|
||||
get_tag_popups
|
||||
RETURNING
|
||||
VALUE(ri_tag_popups) TYPE REF TO zif_abapgit_tag_popups.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CLASS-DATA:
|
||||
mi_popups TYPE REF TO zif_abapgit_popups.
|
||||
mi_popups TYPE REF TO zif_abapgit_popups,
|
||||
mi_tag_popups TYPE REF TO zif_abapgit_tag_popups.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
@ -29,4 +34,14 @@ CLASS zcl_abapgit_ui_factory IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_tag_popups.
|
||||
|
||||
IF mi_tag_popups IS INITIAL.
|
||||
CREATE OBJECT mi_tag_popups TYPE zcl_abapgit_tag_popups.
|
||||
ENDIF.
|
||||
|
||||
ri_tag_popups = mi_tag_popups.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
|
@ -6,7 +6,11 @@ CLASS zcl_abapgit_ui_injector DEFINITION
|
|||
CLASS-METHODS:
|
||||
set_popups
|
||||
IMPORTING
|
||||
ii_popups TYPE REF TO zif_abapgit_popups.
|
||||
ii_popups TYPE REF TO zif_abapgit_popups,
|
||||
|
||||
set_tag_popups
|
||||
IMPORTING
|
||||
ii_tag_popups TYPE REF TO zif_abapgit_tag_popups.
|
||||
|
||||
ENDCLASS.
|
||||
|
||||
|
@ -20,4 +24,10 @@ CLASS zcl_abapgit_ui_injector IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD set_tag_popups.
|
||||
|
||||
zcl_abapgit_ui_factory=>mi_tag_popups = ii_tag_popups.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
||||
|
|
21
src/ui/zif_abapgit_tag_popups.intf.abap
Normal file
21
src/ui/zif_abapgit_tag_popups.intf.abap
Normal file
|
@ -0,0 +1,21 @@
|
|||
INTERFACE zif_abapgit_tag_popups
|
||||
PUBLIC.
|
||||
|
||||
METHODS:
|
||||
tag_list_popup
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
RETURNING
|
||||
VALUE(rs_tag) TYPE zif_abapgit_definitions=>ty_git_tag
|
||||
RAISING
|
||||
zcx_abapgit_exception,
|
||||
|
||||
tag_select_popup
|
||||
IMPORTING
|
||||
io_repo TYPE REF TO zcl_abapgit_repo_online
|
||||
RETURNING
|
||||
VALUE(rs_tag) TYPE zif_abapgit_definitions=>ty_git_tag
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
ENDINTERFACE.
|
16
src/ui/zif_abapgit_tag_popups.intf.xml
Normal file
16
src/ui/zif_abapgit_tag_popups.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_TAG_POPUPS</CLSNAME>
|
||||
<VERSION>1</VERSION>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abapGit tag popups</DESCRIPT>
|
||||
<EXPOSURE>2</EXPOSURE>
|
||||
<STATE>1</STATE>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOINTERF>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
Loading…
Reference in New Issue
Block a user