88 lines
2.8 KiB
VB.net
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 |