Files
webwindowconfigurator/WebWindowComplex/Models/Window.cs
T
Annamaria Sassi 90e6bc799a - Aggiunta lista Profili
- Aggiornato setup Hardware
2025-10-14 15:02:39 +02:00

131 lines
3.0 KiB
C#

using Egw.Window.Data;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Collections;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Drawing;
using System.Runtime.Intrinsics.Arm;
using System.Security.Cryptography;
using System.Xml.Linq;
using System.Xml.Serialization;
using WebWindowComplex.Json;
using static WebWindowComplex.Json.WindowConst;
using static WebWindowComplex.ParametriOpzioni;
namespace WebWindowComplex.Models
{
public class Window
{
#region Public Events
public event EventHandler<OnPreviewEventArgs> OnPreview = delegate { };
#endregion Public Events
#region Public Properties
public List<Frame> AreaList
{
get
{
return m_AreaList;
}
set
{
m_AreaList = value;
}
}
public string sColorMaterial
{
get
{
return m_sColorMaterial;
}
set
{
m_sColorMaterial = value;
OnUpdatePreview(sSerialized());
}
}
public string sGlass
{
get
{
return m_sGlass;
}
set
{
m_sGlass = value;
OnUpdatePreview(sSerialized());
}
}
public string sMaterial
{
get
{
return m_sMaterial;
}
set
{
m_sMaterial = value;
OnUpdatePreview(sSerialized());
}
}
public string sProfilePath
{
get
{
return m_sProfilePath;
}
set
{
m_sProfilePath = value;
OnUpdatePreview(sSerialized());
}
}
#endregion Public Properties
#region Internal Methods
internal void OnUpdatePreview(string sJwd)
{
OnPreviewEventArgs e = new OnPreviewEventArgs(sJwd);
EventHandler<OnPreviewEventArgs> handler = OnPreview;
if (handler != null)
{
handler(this, e);
}
}
internal JsonWindow Serialize()
{
JsonWindow JsonWindow = new JsonWindow(sProfilePath, sMaterial, sColorMaterial, sGlass);
foreach (var Area in AreaList)
JsonWindow.AreaList.Add(Area.Serialize());
return JsonWindow;
}
internal string sSerialized()
{
return JsonConvert.SerializeObject(Serialize(), Formatting.Indented);
}
#endregion Internal Methods
#region Private Fields
private List<Frame> m_AreaList = new List<Frame>();
private string m_sColorMaterial;
private string m_sGlass;
private string m_sMaterial;
private string m_sProfilePath;
#endregion Private Fields
}
}