84 lines
2.5 KiB
C#
84 lines
2.5 KiB
C#
using MainShell.Manual.ViewModel.State;
|
||
using Stylet;
|
||
using System;
|
||
using System.Collections.ObjectModel;
|
||
using System.Windows.Input;
|
||
|
||
namespace MainShell.DeviceMaintance.ViewModel.State
|
||
{
|
||
public class CylinderPageState : PropertyChangedBase
|
||
{
|
||
private DateTime _lastActionTime = DateTime.MinValue;
|
||
private string _lastActionMessage = "等待气缸控制操作";
|
||
|
||
public DateTime LastActionTime
|
||
{
|
||
get { return _lastActionTime; }
|
||
set { SetAndNotify(ref _lastActionTime, value); }
|
||
}
|
||
|
||
public string LastActionMessage
|
||
{
|
||
get { return _lastActionMessage; }
|
||
set { SetAndNotify(ref _lastActionMessage, value); }
|
||
}
|
||
|
||
public ObservableCollection<CylinderItemState> Cylinders { get; } = new ObservableCollection<CylinderItemState>();
|
||
}
|
||
|
||
public class CylinderItemState : PropertyChangedBase
|
||
{
|
||
private bool _isBusy;
|
||
|
||
public string Name { get; set; }
|
||
public string Description { get; set; }
|
||
public string Module { get; set; }
|
||
public string ControlTypeText { get; set; }
|
||
|
||
public bool IsBusy
|
||
{
|
||
get { return _isBusy; }
|
||
set { SetAndNotify(ref _isBusy, value); }
|
||
}
|
||
|
||
public ObservableCollection<CylinderSignalState> OutputSignals { get; } = new ObservableCollection<CylinderSignalState>();
|
||
public ObservableCollection<CylinderSignalState> FeedbackSignals { get; } = new ObservableCollection<CylinderSignalState>();
|
||
|
||
public ICommand ExtendCommand { get; set; }
|
||
public ICommand RetractCommand { get; set; }
|
||
}
|
||
|
||
public class CylinderSignalState : PropertyChangedBase
|
||
{
|
||
private bool _isOn;
|
||
|
||
public string PointReference { get; set; }
|
||
public string PointKey { get; set; }
|
||
public string Name { get; set; }
|
||
public string LineNo { get; set; }
|
||
public bool IsOutput { get; set; }
|
||
|
||
public string IoNameText
|
||
{
|
||
get { return string.IsNullOrWhiteSpace(PointReference) ? string.Empty : "IO Name:" + PointReference; }
|
||
}
|
||
|
||
public bool IsOn
|
||
{
|
||
get { return _isOn; }
|
||
set
|
||
{
|
||
if (SetAndNotify(ref _isOn, value))
|
||
{
|
||
OnPropertyChanged(nameof(StateText));
|
||
}
|
||
}
|
||
}
|
||
|
||
public string StateText
|
||
{
|
||
get { return IsOn ? "ON" : "OFF"; }
|
||
}
|
||
}
|
||
}
|