using System;
|
using System.IO;
|
using HMI.Core.Entity;
|
using HMI.Core.Util;
|
|
namespace HMI.Core.Setting
|
{
|
public class SystemSetting
|
{
|
public static SystemSetting Instance { get; private set; }
|
/// <summary>
|
/// 系统设置改变事件
|
/// </summary>
|
public static event EventHandler<SystemSetting> SystemSettingChanged;
|
|
private static string FilePath = Path.Combine(PathHelper.SettingFolder, "SystemConfig.xml");
|
|
static SystemSetting()
|
{
|
LoadFromXml();
|
}
|
|
private SystemSetting()
|
{
|
|
}
|
|
public string LogoPath { get; private set; } = ".\\JingCeLogo.png";
|
public string WindowTitle { get; private set; } = "产品测试平台";
|
public string PlcIp { get; private set; }
|
public bool PlcEnabled { get; private set; }
|
public string CurrentLanguage { get; private set; } = "zh-CN";
|
|
private static void LoadFromXml()
|
{
|
if (Instance != null) return;
|
if (!File.Exists(FilePath))
|
{
|
Instance = new SystemSetting();
|
}
|
else
|
{
|
SystemSettingModel model = XmlHelper.DeserializeFromXml<SystemSettingModel>(FilePath);
|
SystemSetting setting = new SystemSetting();
|
BeanUtil.Copy(model, setting);
|
Instance = setting;
|
}
|
}
|
|
public static void ReLoad()
|
{
|
if (!File.Exists(FilePath))
|
{
|
return;
|
}
|
else
|
{
|
SystemSettingModel model = XmlHelper.DeserializeFromXml<SystemSettingModel>(FilePath);
|
SystemSetting setting = new SystemSetting();
|
BeanUtil.Copy(model, setting);
|
Instance = setting;
|
}
|
SystemSettingChanged?.Invoke(null, Instance);
|
}
|
}
|
|
|
public class SystemSettingModel : NotifyBase
|
{
|
private string logoPath;
|
public string LogoPath
|
{
|
get => logoPath;
|
set { Set(ref logoPath, value); }
|
}
|
|
private string windowTitle;
|
public string WindowTitle
|
{
|
get => windowTitle;
|
set { Set(ref windowTitle, value); }
|
}
|
|
private string plcIp;
|
public string PlcIp
|
{
|
get => plcIp;
|
set { Set(ref plcIp, value); }
|
}
|
|
private bool plcEnabled;
|
public bool PlcEnabled
|
{
|
get => plcEnabled;
|
set { Set(ref plcEnabled, value); }
|
}
|
|
private string currentLanguage;
|
public string CurrentLanguage
|
{
|
get => currentLanguage;
|
set { Set(ref currentLanguage, value); }
|
}
|
}
|
}
|