Files
EgtCAM5/Utility/SelData.vb
T
Dario Sassi 70b1519ecb EgtCAM5 :
- aggiunta gestione selezione facce di supefici diverse per lavorazioni (per ora una sola faccia per superficie).
2018-10-29 07:51:54 +00:00

90 lines
2.4 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Module SelData
Private Class SelData
Friend m_nId As Integer
Friend m_nSub As Integer
Sub New()
m_nId = GDB_ID.NULL
m_nSub = -1
End Sub
Sub New(nId As Integer, nSub As Integer)
m_nId = nId
m_nSub = nSub
End Sub
End Class
Private m_IdSub As New List(Of SelData)
Friend Sub ClearIdSub()
m_IdSub.Clear()
End Sub
Friend Sub VerifyIdSub()
' Elimino i record con identificativi di entità non selezionate
Dim i As Integer = 0
Do While i < m_IdSub.Count() - 1
If Not EgtIsSelectedObj(m_IdSub(i).m_nId) Then
m_IdSub.RemoveAt(i)
Else
i += 1
End If
Loop
End Sub
Friend Function AddIdSub(nId As Integer, nSub As Integer) As Boolean
' Ricerca di record con identificativo da aggiungere
Dim nInd As Integer = -1
For i As Integer = 0 To m_IdSub.Count() - 1
If m_IdSub(i).m_nId = nId Then
nInd = i
Exit For
End If
Next
' Se trovato, aggiorno Sub
If nInd >= 0 Then
m_IdSub(nInd).m_nSub = nSub
' altrimenti aggiungo un nuovo record
Else
m_IdSub.Add(New SelData(nId, nSub))
End If
Return True
End Function
Friend Function RemoveIdSub(nId As Integer) As Boolean
' Ricerca di record con identificativo da rimuovere
For i As Integer = 0 To m_IdSub.Count() - 1
If m_IdSub(i).m_nId = nId Then
m_IdSub.RemoveAt(i)
Exit For
End If
Next
Return True
End Function
Friend Function GetIdSub(nInd As Integer, ByRef nId As Integer, ByRef nSub As Integer) As Boolean
If nInd < 0 Or nInd > m_IdSub.Count() - 1 Then
nId = GDB_ID.NULL
Return False
End If
nId = m_IdSub(nInd).m_nId
nSub = m_IdSub(nInd).m_nSub
Return True
End Function
Friend Function GetAllIdSub(ByRef vId() As Integer, ByRef vSub() As Integer) As Boolean
Dim MyId(m_IdSub.Count() - 1) As Integer
Dim MySub(m_IdSub.Count() - 1) As Integer
For i As Integer = 0 To m_IdSub.Count() - 1
MyId(i) = m_IdSub(i).m_nId
MySub(i) = m_IdSub(i).m_nSub
Next
vId = MyId
vSub = MySub
Return True
End Function
End Module