using AIStudio.Wpf.DiagramDesigner; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; using AIStudio.Wpf.Flowchart; using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels; using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.Models; using Newtonsoft.Json; using AIStudio.Wpf.Flowchart.Models; using AIStudio.Wpf.Flowchart.ViewModels; using AIStudio.Wpf.SFC.Models; using AIStudio.Wpf.SFC.ViewModels; using System.Windows; using System.Windows.Media; using AIStudio.Wpf.DiagramDesigner.Models; namespace AIStudio.Wpf.DiagramApp.Models { [Serializable] public class DiagramItem { public DiagramItem() { } [XmlAttribute] public string Name { get; set; } [XmlAttribute] public DiagramType DiagramType { get; set; } [XmlAttribute] public bool ShowGrid { get; set; } [XmlIgnore] public Size GridCellSize { get; set; } [JsonIgnore] [XmlAttribute("GridCellSize")] public string XmlGridCellSize { get { return SerializeHelper.SerializeSize(GridCellSize); } set { GridCellSize = SerializeHelper.DeserializeSize(value); } } [XmlAttribute] public CellHorizontalAlignment CellHorizontalAlignment { get; set; } [XmlAttribute] public CellVerticalAlignment CellVerticalAlignment { get; set; } [XmlAttribute] public PageSizeOrientation PageSizeOrientation { get; set; } [XmlIgnore] public Size PageSize { get; set; } [JsonIgnore] [XmlAttribute("PageSize")] public string XmlPageSize { get { return SerializeHelper.SerializeSize(PageSize); } set { PageSize = SerializeHelper.DeserializeSize(value); } } [XmlAttribute] public PageSizeType PageSizeType { get; set; } [XmlIgnore] public Size GridMarginSize { get; set; } [JsonIgnore] [XmlAttribute("GridMarginSize")] public string XmlGridMarginSize { get { return SerializeHelper.SerializeSize(GridMarginSize); } set { GridMarginSize = SerializeHelper.DeserializeSize(value); } } [XmlIgnore] public Color GridColor { get; set; } [JsonIgnore] [XmlAttribute("GridColor")] public string XmlGridColor { get { return SerializeHelper.SerializeColor(GridColor); } set { GridColor = SerializeHelper.DeserializeColor(value); } } [XmlArray] public List DesignerItems { get; set; } = new List(); [XmlArray] public List Connections { get; set; } = new List(); } }