141 lines
3.5 KiB
C#
141 lines
3.5 KiB
C#
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Heisig.HMI.AdsManager;
|
|
using HMIToolkit;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Windows;
|
|
using TwinCAT.TypeSystem;
|
|
using UniperHMI.Model;
|
|
namespace UniperHMI
|
|
{
|
|
public sealed partial class ChuckMagazinPageVM : ObservableValidator, IDisposable
|
|
{
|
|
private readonly string? _variableName;
|
|
|
|
private readonly IAdsManager? _adsManager;
|
|
|
|
private const string sChuckOnPlace1 = "_adsVariable_MagazinPlace1";
|
|
private const string sChuckOnPlace2 = "_adsVariable_MagazinPlace2";
|
|
private const string sChuckOnPlace3 = "_adsVariable_MagazinPlace3";
|
|
private const string sChuckOnPlace4 = "_adsVariable_MagazinPlace4";
|
|
private const string sChuckOnPlace5 = "_adsVariable_MagazinPlace5";
|
|
private const string sChuckOnPlace6 = "_adsVariable_MagazinPlace6";
|
|
|
|
[ObservableProperty]
|
|
private Visibility magazinPlace1;
|
|
|
|
[ObservableProperty]
|
|
private Visibility magazinPlace2;
|
|
|
|
[ObservableProperty]
|
|
private Visibility magazinPlace3;
|
|
|
|
[ObservableProperty]
|
|
private Visibility magazinPlace4;
|
|
|
|
[ObservableProperty]
|
|
private Visibility magazinPlace5;
|
|
|
|
[ObservableProperty]
|
|
private Visibility magazinPlace6;
|
|
|
|
public ChuckMagazinPageVM()
|
|
{
|
|
|
|
}
|
|
|
|
public ChuckMagazinPageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
_variableName = variableName;
|
|
|
|
_adsManager.Register(sChuckOnPlace1, ChuckOnPlace1Changed);
|
|
_adsManager.Register(sChuckOnPlace2, ChuckOnPlace2Changed);
|
|
_adsManager.Register(sChuckOnPlace3, ChuckOnPlace3Changed);
|
|
_adsManager.Register(sChuckOnPlace4, ChuckOnPlace4Changed);
|
|
_adsManager.Register(sChuckOnPlace5, ChuckOnPlace5Changed);
|
|
_adsManager.Register(sChuckOnPlace6, ChuckOnPlace6Changed);
|
|
|
|
}
|
|
|
|
private void ChuckOnPlace1Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
MagazinPlace1 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
MagazinPlace1 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void ChuckOnPlace2Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
MagazinPlace2 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
MagazinPlace2 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void ChuckOnPlace3Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
MagazinPlace3 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
MagazinPlace3 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void ChuckOnPlace4Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
MagazinPlace4 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
MagazinPlace4 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void ChuckOnPlace5Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
MagazinPlace5 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
MagazinPlace5 = Visibility.Hidden;
|
|
}
|
|
}
|
|
private void ChuckOnPlace6Changed(object? sender, ValueChangedEventArgs e)
|
|
{
|
|
if ((bool)e.Value)
|
|
{
|
|
MagazinPlace6 = Visibility.Visible;
|
|
}
|
|
else
|
|
{
|
|
MagazinPlace6 = Visibility.Hidden;
|
|
}
|
|
}
|
|
|
|
|
|
public void Dispose()
|
|
{
|
|
_adsManager?.Deregister(sChuckOnPlace1, ChuckOnPlace1Changed);
|
|
_adsManager?.Deregister(sChuckOnPlace2, ChuckOnPlace2Changed);
|
|
_adsManager?.Deregister(sChuckOnPlace3, ChuckOnPlace3Changed);
|
|
_adsManager?.Deregister(sChuckOnPlace4, ChuckOnPlace4Changed);
|
|
_adsManager?.Deregister(sChuckOnPlace5, ChuckOnPlace5Changed);
|
|
_adsManager?.Deregister(sChuckOnPlace6, ChuckOnPlace6Changed);
|
|
}
|
|
}
|
|
}
|