| | |
| | | using Panuon.WPF.UI; |
| | | using HMI.Core.Api; |
| | | using HMI.Core.Entity; |
| | | using HMI.Core.Manager; |
| | | using HMI.Core.Util; |
| | | using HMI.UI.Util; |
| | | using Panuon.WPF.UI; |
| | | using Plugin.TestResult_WPF.Model; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Collections.ObjectModel; |
| | | using System.Linq; |
| | | using System.Windows; |
| | | using System.Windows.Controls; |
| | | |
| | | namespace Plugin.TestResult_WPF |
| | | { |
| | |
| | | get => _dataSource == null ? new ObservableCollection<Info>() : _dataSource; |
| | | set => Set(ref _dataSource, value); |
| | | } |
| | | |
| | | public InfoWindow(string title, ObservableCollection<Info> infos) |
| | | private Chart electricChart; |
| | | private Chart vChart; |
| | | public InfoWindow(string title, ObservableCollection<Info> infos, Chart electricChart, Chart vChart, int probeCount) |
| | | { |
| | | this.title = title; |
| | | this.dataSource = infos; |
| | | DataContext = this; |
| | | Topmost = false; |
| | | InitializeComponent(); |
| | | |
| | | if (AlarmProbeCount < 0) |
| | | { |
| | | alarmLabel.Visibility = Visibility.Collapsed; |
| | | alarmValue.Visibility = Visibility.Collapsed; |
| | | } |
| | | UpdateProbeCount(probeCount); |
| | | |
| | | this.electricChart = electricChart; |
| | | mainGrid.Children.Add(electricChart); |
| | | Grid.SetRow(electricChart, 1); |
| | | |
| | | this.vChart = vChart; |
| | | mainGrid.Children.Add(vChart); |
| | | Grid.SetRow(vChart, 2); |
| | | } |
| | | |
| | | private static int AlarmProbeCount; |
| | | static InfoWindow() |
| | | { |
| | | int probeWarn = -1; |
| | | try |
| | | { |
| | | probeWarn = Convert.ToInt32(ParameterManager.GetCommonParameter<List<ParameterData>>() |
| | | .FirstOrDefault(x => x.Name == "ProbeWarn")?.Value); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | probeWarn = -1; |
| | | } |
| | | AlarmProbeCount = probeWarn; |
| | | } |
| | | |
| | | public event EventHandler ClearProbeCountEvent; |
| | | |
| | | private int probeCount; |
| | | public int ProbeCount |
| | | { |
| | | get => probeCount; |
| | | set |
| | | { |
| | | Set(ref probeCount, value); |
| | | } |
| | | } |
| | | |
| | | public int ProbeWarn |
| | | { |
| | | get => AlarmProbeCount; |
| | | set { } |
| | | } |
| | | public void UpdateProbeCount(int count) |
| | | { |
| | | Dispatcher.Invoke(() => |
| | | { |
| | | ProbeCount = count; |
| | | if (AlarmProbeCount >= 0) |
| | | { |
| | | probeCountAlarm.Visibility = (ProbeCount >= AlarmProbeCount) ? Visibility.Visible : Visibility.Collapsed; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | public void UpdateSource(ObservableCollection<Info> infos) |
| | | { |
| | | this.dataSource = infos; |
| | | } |
| | | |
| | | private void Window_Loaded(object sender, RoutedEventArgs e) |
| | | { |
| | | DataContext = this; |
| | | } |
| | | |
| | | private void Window_Unloaded(object sender, RoutedEventArgs e) |
| | | { |
| | | DataContext = null; |
| | | } |
| | | |
| | | protected override void OnClosed(EventArgs e) |
| | | { |
| | | electricChart = null; |
| | | vChart = null; |
| | | mainGrid.Children.Clear(); |
| | | base.OnClosed(e); |
| | | } |
| | | |
| | | private void Window_SizeChanged(object sender, SizeChangedEventArgs e) |
| | | { |
| | | //if (electricChart != null) |
| | | //{ |
| | | // electricChart.Height = this.ActualHeight * 0.3; |
| | | //} |
| | | } |
| | | |
| | | private void Button_Click(object sender, RoutedEventArgs e) |
| | | { |
| | | if (MsgBoxHelper.WarnMessage(this, "确定要清空探针使用次数吗?") == MessageBoxResult.OK) |
| | | { |
| | | ClearProbeCountEvent?.Invoke(this, null); |
| | | } |
| | | } |
| | | } |
| | | } |