chr
2026-04-05 fe750b791d5b517cc4e9bc8e99a9a75139a0cfba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using AddInPlugin;
using OpenTap.Addin;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using UtilLib;
 
namespace OpenTapEditor
{
    public class UIStationGlobalsManager : DefaultStationGlobalsManager, INotifyPropertyChanged
    {
        public static UIStationGlobalsManager Instance { get; } = new UIStationGlobalsManager();
 
        public event PropertyChangedEventHandler PropertyChanged;
 
        private ObservableCollection<TestVariable> datasource;
        public ObservableCollection<TestVariable> Datasource
        {
            get
            {
                return datasource;
            }
            set
            {
                datasource = value;
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Datasource)));
            }
        }
 
        private UIStationGlobalsManager()
        {
            ReadFromLocal();
        }
 
        public IEnumerable<TestVariable> ReadFromLocal()
        {
            if (Datasource == null)
            {
                string path = Path.Combine(GetRegister(), "Config", "StationGlobals.data");
                if (!File.Exists(path))
                {
                    Datasource = new ObservableCollection<TestVariable>();
                }
                else
                {
                    Datasource = XmlHelper.DeserializeFromXml<ObservableCollection<TestVariable>>(path);
                }
            }
            return Datasource;
        }
    }
}