Files
Emmanuele Sassi fa0bdaba59 Num funzionante
2021-11-03 18:51:05 +01:00

88 lines
2.8 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.Windows.Threading
Imports EgtWPFLib5
Public Class VariablesListVM
Private m_VariablesList As New ObservableCollection(Of Variable)
Public ReadOnly Property VariablesList As ObservableCollection(Of Variable)
Get
Return m_VariablesList
End Get
End Property
Sub New()
' inizializzo tutte le variabili
m_VariablesList.Add(New Variable(MachManaging.InitVar(1)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(2)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(3)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(4)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(5)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(6)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(7)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(8)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(9)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(10)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(11)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(12)))
m_VariablesList.Add(New Variable(MachManaging.InitVar(13)))
'm_VariablesList.Add(New Variable(MachManaging.InitVar(14)))
'm_VariablesList.Add(New Variable(MachManaging.InitVar(15)))
'm_VariablesList.Add(New Variable(MachManaging.InitVar(16)))
'm_VariablesList.Add(New Variable(MachManaging.InitVar(17)))
'm_VariablesList.Add(New Variable(MachManaging.InitVar(18)))
'm_VariablesList.Add(New Variable(RWVariableManager.InitVar(19)))
End Sub
End Class
Public Class Variable
Inherits VMBase
Private m_CommVar As CommVar
Public ReadOnly Property CommVar As CommVar
Get
Return m_CommVar
End Get
End Property
Public Property sName As String
Get
Return CommVar.sName
End Get
Set(value As String)
CommVar.sName = value
End Set
End Property
Public Property sAddress As String
Get
Return CommVar.sAddress
End Get
Set(value As String)
CommVar.sAddress = value
End Set
End Property
Public Property sValue As String
Get
Return CommVar.sValue
End Get
Set(value As String)
MachManaging.CommandList.Add(ThreadCommand.CreateCommand(CommandTypes.WRITE, {CommVar.nType}, Nothing, {CommVar.sName, value}))
NotifyPropertyChanged(NameOf(sValue))
End Set
End Property
Sub New(CommVar As CommVar)
m_CommVar = CommVar
AddHandler CommVar.NewValue, AddressOf CommVar_NewValue
End Sub
Private Sub CommVar_NewValue(sender As Object, e As NewValueEventArgs)
NotifyPropertyChanged(NameOf(sValue))
End Sub
End Class