70 lines
2.2 KiB
C#
70 lines
2.2 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using CommunityToolkit.Mvvm.Messaging;
|
|
using Heisig.HMI.AdsManager;
|
|
using UniperHMI.OwnControls;
|
|
|
|
namespace UniperHMI
|
|
{
|
|
public sealed partial class ModuleOverviewPageVM : ObservableObject, IDisposable
|
|
{
|
|
[ObservableProperty]
|
|
private UnitControlButtonVM unit1;
|
|
|
|
[ObservableProperty]
|
|
private UnitControlButtonVM unit2;
|
|
|
|
[ObservableProperty]
|
|
private UnitControlButtonVM unit3;
|
|
|
|
[ObservableProperty]
|
|
private UnitControlButtonVM unit4;
|
|
|
|
private readonly IAdsManager? _adsManager;
|
|
private readonly string? _variableName;
|
|
|
|
public ModuleOverviewPageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
_variableName = variableName;
|
|
|
|
unit1 = new(_adsManager, _variableName + ".stHMIInterfaceUnit1");
|
|
unit2 = new(_adsManager, _variableName + ".stHMIInterfaceUnit2");
|
|
unit3 = new(_adsManager, _variableName + ".stHMIInterfaceUnit3");
|
|
unit4 = new(_adsManager, _variableName + ".stHMIInterfaceUnit4");
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Unit1?.Dispose();
|
|
Unit2?.Dispose();
|
|
Unit3?.Dispose();
|
|
Unit4?.Dispose();
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void Unit1Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceUnit1", typeof(UnitOverviewPage), "Unit 1"));
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void Unit2Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceUnit2", typeof(UnitOverviewPage), "Unit 2"));
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void Unit3Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceUnit3", typeof(UnitOverviewPage), "Unit 3"));
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void Unit4Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceUnit4", typeof(UnitOverviewPage), "Unit 4"));
|
|
}
|
|
}
|
|
}
|