abap2xlsx/ZA2X/CLAS/ZCL_EXCEL_HYPERLINK.slnk
Tomek Mackowski 1d625968dc closes #22
adding support for hyperlinks. Both internal links (within spreadsheet) and external urls are supported.

git-svn-id: https://subversion.assembla.com/svn/abap2xlsx/trunk@25 b7d68dce-7c3c-4a99-8ce0-9ea847f5d049
2010-10-14 21:18:46 +00:00

140 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-16"?>
<CLAS CLSNAME="ZCL_EXCEL_HYPERLINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" UUID="DFD57606ED7E50F1A3520003FF8F0689" CATEGORY="00" EXPOSURE="0" STATE="1" RELEASE="0" AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" CHGDANYON="00000000" CLSFINAL="X" CLSCCINCL="X" FIXPT="X" UNICODE="X" R3RELEASE="701" CLSBCCAT="00" DURATION_TYPE="0 " RISK_LEVEL="0 ">
<publicSection>class ZCL_EXCEL_HYPERLINK definition
public
final
create private .
*&quot;* public components of class ZCL_EXCEL_HYPERLINK
*&quot;* do not include other source files here!!!
public section.
type-pools ABAP .
class-methods CREATE_EXTERNAL_LINK
importing
!IV_URL type STRING
returning
value(OV_LINK) type ref to ZCL_EXCEL_HYPERLINK .
class-methods CREATE_INTERNAL_LINK
importing
!IV_LOCATION type STRING
returning
value(OV_LINK) type ref to ZCL_EXCEL_HYPERLINK .
methods IS_INTERNAL
returning
value(EV_RET) type ABAP_BOOL .
methods SET_CELL_REFERENCE
importing
!IP_COLUMN type ZEXCEL_CELL_COLUMN_ALPHA
!IP_ROW type ZEXCEL_CELL_ROW .
methods GET_REF
returning
value(EV_REF) type STRING .
methods GET_URL
returning
value(EV_URL) type STRING .</publicSection>
<protectedSection>*&quot;* protected components of class ZCL_EXCEL_HYPERLINK
*&quot;* do not include other source files here!!!
protected section.</protectedSection>
<privateSection>*&quot;* private components of class ZCL_EXCEL_HYPERLINK
*&quot;* do not include other source files here!!!
private section.
data LOCATION type STRING .
data CELL_REFERENCE type STRING .
data INTERNAL type ABAP_BOOL .
data COLUMN type ZEXCEL_CELL_COLUMN_ALPHA .
data ROW type ZEXCEL_CELL_ROW .
class-methods CREATE
importing
!IV_URL type STRING
!IV_INTERNAL type ABAP_BOOL
returning
value(OV_LINK) type ref to ZCL_EXCEL_HYPERLINK .</privateSection>
<localImplementation>*&quot;* local class implementation for public class
*&quot;* use this source file for the implementation part of
*&quot;* local helper classes</localImplementation>
<localTypes>*&quot;* use this source file for any type declarations (class
*&quot;* definitions, interfaces or data types) you need for method
*&quot;* implementation or private method&apos;s signature</localTypes>
<localMacros>*&quot;* use this source file for any macro definitions you need
*&quot;* in the implementation part of the class</localMacros>
<textPool/>
<classDocumentation/>
<typeUsage CLSNAME="ZCL_EXCEL_HYPERLINK" TYPEGROUP="ABAP" VERSION="1" TPUTYPE="0" EXPLICIT="X" IMPLICIT="X"/>
<forwardDeclaration>ABAP</forwardDeclaration>
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CELL_REFERENCE" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="2 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" EXPOSURE="0" STATE="1" EDITORDER="4 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="INTERNAL" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="3 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ABAP_BOOL" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="LOCATION" VERSION="1" LANGU="E" EXPOSURE="0" STATE="1" EDITORDER="1 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="STRING" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
<attribute CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" EXPOSURE="0" STATE="1" EDITORDER="5 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" ATTDECLTYP="0" ATTEXPVIRT="0" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW" SRCROW1="0 " SRCCOLUMN1="0 " SRCROW2="0 " SRCCOLUMN2="0 " R3RELEASE="701" TYPESRC_LENG="0 "/>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" VERSION="1" LANGU="E" DESCRIPT="Creates new instance of hyperlink" EXPOSURE="0" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" SCONAME="IV_URL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" SCONAME="IV_INTERNAL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ABAP_BOOL"/>
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE" SCONAME="OV_LINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="3 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK"/>
<source>method CREATE.
data: lo_hyperlink type REF TO zcl_excel_hyperlink.
create OBJECT lo_hyperlink.
lo_hyperlink-&gt;location = iv_url.
lo_hyperlink-&gt;internal = iv_internal.
ov_link = lo_hyperlink.
endmethod.</source>
<methodDocumentation/>
</method>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_EXTERNAL_LINK" VERSION="1" LANGU="E" DESCRIPT="Creates new instance of external link (URL)" EXPOSURE="2" STATE="1" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_EXTERNAL_LINK" SCONAME="IV_URL" VERSION="1" LANGU="E" DESCRIPT="URL location" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_EXTERNAL_LINK" SCONAME="OV_LINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK"/>
<source>METHOD create_external_link.
ov_link = zcl_excel_hyperlink=&gt;create( iv_url = iv_url
iv_internal = abap_false ).
ENDMETHOD.</source>
<methodDocumentation/>
</method>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_INTERNAL_LINK" VERSION="1" LANGU="E" DESCRIPT="Creates new instance of internal link" EXPOSURE="2" STATE="1" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="1" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_INTERNAL_LINK" SCONAME="IV_LOCATION" VERSION="1" LANGU="E" DESCRIPT="Location in current spraedsheet" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="STRING"/>
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="CREATE_INTERNAL_LINK" SCONAME="OV_LINK" VERSION="1" LANGU="E" DESCRIPT="Hyperlink" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDBY="BCUSER" CHANGEDON="20101014" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="3" TYPE="ZCL_EXCEL_HYPERLINK"/>
<source>METHOD create_internal_link.
ov_link = zcl_excel_hyperlink=&gt;create( iv_url = iv_location
iv_internal = abap_true ).
ENDMETHOD.</source>
<methodDocumentation/>
</method>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_REF" VERSION="1" LANGU="E" DESCRIPT="Gets the reference string" EXPOSURE="2" STATE="1" EDITORDER="5 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_REF" SCONAME="EV_REF" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>METHOD get_ref.
ev_ref = row.
CONDENSE ev_ref.
CONCATENATE column ev_ref INTO ev_ref.
ENDMETHOD.</source>
<methodDocumentation/>
</method>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_URL" VERSION="1" LANGU="E" DESCRIPT="Gets the urls of the link" EXPOSURE="2" STATE="1" EDITORDER="6 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="GET_URL" SCONAME="EV_URL" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="STRING"/>
<source>method GET_URL.
ev_url = me-&gt;location.
endmethod.</source>
<methodDocumentation/>
</method>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="IS_INTERNAL" VERSION="1" LANGU="E" DESCRIPT="Checks if link is pointing to internall location" EXPOSURE="2" STATE="1" EDITORDER="3 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="IS_INTERNAL" SCONAME="EV_RET" VERSION="1" LANGU="E" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="3" PARPASSTYP="0" TYPTYPE="1" TYPE="ABAP_BOOL"/>
<source>method IS_INTERNAL.
ev_ret = me-&gt;internal.
endmethod.</source>
<methodDocumentation/>
</method>
<method CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="SET_CELL_REFERENCE" VERSION="1" LANGU="E" DESCRIPT="Sets reference to the cell" EXPOSURE="2" STATE="1" EDITORDER="4 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" MTDTYPE="0" MTDDECLTYP="0" R3RELEASE="701" BCMTDCAT="00" BCMTDSYN="0">
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="SET_CELL_REFERENCE" SCONAME="IP_COLUMN" VERSION="1" LANGU="E" DESCRIPT="Cell Column" CMPTYPE="1" MTDTYPE="0" EDITORDER="1 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_COLUMN_ALPHA"/>
<parameter CLSNAME="ZCL_EXCEL_HYPERLINK" CMPNAME="SET_CELL_REFERENCE" SCONAME="IP_ROW" VERSION="1" LANGU="E" DESCRIPT="Cell Row" CMPTYPE="1" MTDTYPE="0" EDITORDER="2 " DISPID="0 " AUTHOR="BCUSER" CREATEDON="20101011" CHANGEDON="00000000" PARDECLTYP="0" PARPASSTYP="1" TYPTYPE="1" TYPE="ZEXCEL_CELL_ROW"/>
<source>METHOD set_cell_reference.
me-&gt;column = ip_column.
me-&gt;row = ip_row.
ENDMETHOD.</source>
<methodDocumentation/>
</method>
</CLAS>