57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using CommunityToolkit.Mvvm.Messaging;
|
|
using Heisig.HMI.AdsManager;
|
|
|
|
namespace UniperHMI;
|
|
|
|
public sealed partial class StringOverviewPageVM : ObservableObject, IDisposable
|
|
{
|
|
[ObservableProperty]
|
|
private ModuleControlButtonVM module1;
|
|
|
|
[ObservableProperty]
|
|
private ModuleControlButtonVM module2;
|
|
|
|
[ObservableProperty]
|
|
private ModuleControlButtonVM module3;
|
|
|
|
private readonly IAdsManager? _adsManager;
|
|
private readonly string? _variableName;
|
|
|
|
public StringOverviewPageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
_variableName = variableName;
|
|
|
|
module1 = new(_adsManager, _variableName + ".stHMIInterfaceModule1");
|
|
module2 = new(_adsManager, _variableName + ".stHMIInterfaceModule2");
|
|
module3 = new(_adsManager, _variableName + ".stHMIInterfaceModule3");
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Module1?.Dispose();
|
|
Module2?.Dispose();
|
|
Module3?.Dispose();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private void Module1Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceModule1", typeof(ModuleOverviewPage), "Module 1"));
|
|
}
|
|
|
|
[RelayCommand]
|
|
private void Module2Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceModule2", typeof(ModuleOverviewPage), "Module 2"));
|
|
}
|
|
|
|
[RelayCommand]
|
|
private void Module3Clicked()
|
|
{
|
|
WeakReferenceMessenger.Default.Send(new NavigateMessage(_variableName + ".stHMIInterfaceModule3", typeof(ModuleOverviewPage), "Module 3"));
|
|
}
|
|
}
|