alielie
2025-03-17 c401a2f2fd1a509cdeb33e850bb5c2827074af48
Plugin.TestResult/SingleCell.xaml.cs
@@ -42,7 +42,7 @@
            InitializeComponent();
        }
        public SingleCell(string parentName, int index,int maxSize)
        public SingleCell(string parentName, int index, int maxSize)
        {
            this.parentName = parentName;
            this.index = index;
@@ -145,31 +145,34 @@
            if (window != null) window.UpdateSource(this.infos);
        }
        public void SetInfos(string[,] infos)
        {
            var data = new ObservableCollection<Info>();
            for (int i = 0; i < infos.GetLength(0); i++)
            {
                data.Add(new Info
                {
                    step = infos[i, 0],
                    result = infos[i, 1]
                });
            }
            this.infos = data;
            if (window != null) window.UpdateSource(this.infos);
        }
        public void SetInfos(Info info)
        {
            if (queue.Count >= maxSize)
            {
                queue.TryDequeue(out var first);
                queue.Enqueue(info);
                this.infos = new ObservableCollection<Info>(queue);
                if (window != null) window.UpdateSource(this.infos);
            }
            queue.Enqueue(info);
            var list = new ObservableCollection<Info>(queue);
            this.infos = list;
            if (window != null) window.UpdateSource(this.infos);
            else
            {
                queue.Enqueue(info);
                if (window != null)
                {
                    window.Dispatcher.Invoke(() =>
                    {
                        this.infos.Add(info);
                    });
                }
                else
                {
                    Dispatcher.Invoke(() =>
                    {
                        this.infos.Add(info);
                    });
                }
                return;
            }
        }
        public void ClearInfo()
@@ -180,16 +183,5 @@
            if (window != null) window.UpdateSource(this.infos);
        }
        public void SetInfos(string step, string result)
        {
            if (queue.Count >= maxSize)
            {
                queue.TryDequeue(out var info);
            }
            queue.Enqueue(new Info() { step = step, result = result });
            var list = new ObservableCollection<Info>(queue);
            this.infos = list;
            if (window != null) window.UpdateSource(this.infos);
        }
    }
}