49 lines
1.2 KiB
OpenEdge ABL
49 lines
1.2 KiB
OpenEdge ABL
![]() |
VERSION 1.0 CLASS
|
||
|
BEGIN
|
||
|
MultiUse = -1 'True
|
||
|
END
|
||
|
Attribute VB_Name = "CDS_Edge"
|
||
|
Attribute VB_GlobalNameSpace = False
|
||
|
Attribute VB_Creatable = False
|
||
|
Attribute VB_PredeclaredId = False
|
||
|
Attribute VB_Exposed = False
|
||
|
' ========== Class Module for Graph edge ========
|
||
|
' Shared module version: 20210410
|
||
|
' Tested in: TestCommons
|
||
|
' Depends on: ex_VBA
|
||
|
' Required reference:
|
||
|
Option Explicit
|
||
|
|
||
|
Public source_ As Variant
|
||
|
Public dest_ As Variant
|
||
|
|
||
|
Public Function Init(vSource As Variant, vDestination As Variant)
|
||
|
source_ = vSource
|
||
|
dest_ = vDestination
|
||
|
End Function
|
||
|
|
||
|
Public Function Clone() As CDS_Edge
|
||
|
Set Clone = New CDS_Edge
|
||
|
Call Clone.Init(source_, dest_)
|
||
|
End Function
|
||
|
|
||
|
Public Function Reversed() As CDS_Edge
|
||
|
Dim iEdge As New CDS_Edge
|
||
|
Call iEdge.Init(dest_, source_)
|
||
|
Set Reversed = iEdge
|
||
|
End Function
|
||
|
|
||
|
Public Property Get ID() As String
|
||
|
ID = VBA.CStr(source_) & "-" & VBA.CStr(dest_)
|
||
|
End Property
|
||
|
|
||
|
Public Function Compare(rhs As Variant) As Double
|
||
|
Compare = CompareDeep(source_, rhs.source_)
|
||
|
If Compare = 0 Then _
|
||
|
Compare = CompareDeep(dest_, rhs.dest_)
|
||
|
End Function
|
||
|
|
||
|
Public Function ToString(Optional nIndent& = 0) As String
|
||
|
ToString = "$Edge " & ID
|
||
|
End Function
|