| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | using System.Collections.Generic;using System.Windows.Controls;using Aitex.Core.RT.DataCenter;using Aitex.Core.UI.MVVM;using Aitex.Core.Util;namespace VirgoRT.Backends{    /// <summary>    /// Interaction logic for FSM.xaml    /// </summary>    public partial class FSMView : UserControl    {        public FSMView()        {            InitializeComponent();            this.DataContext = new FsmViewModel();            this.IsVisibleChanged += FSM_IsVisibleChanged;        }        private void FSM_IsVisibleChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs e)        {            if (this.DataContext is FsmViewModel vm)            {                vm.EnableTimer(this.IsVisible);            }        }    }    public class FsmViewModel : SubscriptionViewModelBase    {        [Subscription("EFEM.FsmPrevState")]        public string EFEMPrevState { get; set; }        [Subscription("EFEM.FsmState")]        public string EFEMState { get; set; }        [Subscription("EFEM.FsmLastMessage")]        public string EFEMLastMsg { get; set; }        //LP1        [Subscription("LP1.FsmPrevState")]        public string LP1PrevState { get; set; }        [Subscription("LP1.FsmState")]        public string LP1State { get; set; }        [Subscription("LP1.FsmLastMessage")]        public string LP1LastMsg { get; set; }        //LP1        [Subscription("LP2.FsmPrevState")]        public string LP2PrevState { get; set; }        [Subscription("LP2.FsmState")]        public string LP2State { get; set; }        [Subscription("LP2.FsmLastMessage")]        public string LP2LastMsg { get; set; }        // PMA        [Subscription("PMA.FsmPrevState")]        public string PMAPrevState { get; set; }        [Subscription("PMA.FsmState")]        public string PMAState { get; set; }        [Subscription("PMA.FsmLastMessage")]        public string PMALastMsg { get; set; }        // PMB        [Subscription("PMB.FsmPrevState")]        public string PMBPrevState { get; set; }        [Subscription("PMB.FsmState")]        public string PMBState { get; set; }        [Subscription("PMB.FsmLastMessage")]        public string PMBLastMsg { get; set; }        // Constructor        //         public FsmViewModel() : base(nameof(FsmViewModel))        {            PollDataFunction = PerformPollDataFunction;        }        private Dictionary<string, object> PerformPollDataFunction(IEnumerable<string> arg)        {            return DATA.PollData(arg);        }    }}
 |