Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramApp/Models/DiagramItem.cs

128 lines
3.2 KiB
C#
Raw Normal View History

2022-10-28 22:45:39 +08:00
using AIStudio.Wpf.DiagramDesigner;
2021-07-23 09:42:22 +08:00
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;
2021-07-29 13:55:18 +08:00
using AIStudio.Wpf.Flowchart;
2023-01-25 15:58:05 +08:00
using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels;
using AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.Models;
2021-07-23 09:42:22 +08:00
using Newtonsoft.Json;
2021-07-29 13:55:18 +08:00
using AIStudio.Wpf.Flowchart.Models;
using AIStudio.Wpf.Flowchart.ViewModels;
2021-08-03 18:19:47 +08:00
using AIStudio.Wpf.SFC.Models;
using AIStudio.Wpf.SFC.ViewModels;
using System.Windows;
using System.Windows.Media;
2023-01-25 11:11:27 +08:00
using AIStudio.Wpf.DiagramDesigner.Models;
2021-07-23 09:42:22 +08:00
2022-10-28 22:45:39 +08:00
namespace AIStudio.Wpf.DiagramApp.Models
2021-07-23 09:42:22 +08:00
{
[Serializable]
public class DiagramItem
{
public DiagramItem()
2021-08-03 18:19:47 +08:00
{
2023-01-25 11:11:27 +08:00
2021-07-23 09:42:22 +08:00
}
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public DiagramType DiagramType { get; set; }
2021-08-03 18:19:47 +08:00
[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; }
2023-01-25 11:11:27 +08:00
[XmlIgnore]
2023-01-24 20:51:39 +08:00
public Size GridMarginSize { get; set; }
[JsonIgnore]
[XmlAttribute("GridMarginSize")]
public string XmlGridMarginSize
{
get
{
return SerializeHelper.SerializeSize(GridMarginSize);
}
set
{
GridMarginSize = SerializeHelper.DeserializeSize(value);
}
}
2021-08-03 18:19:47 +08:00
[XmlIgnore]
public Color GridColor { get; set; }
[JsonIgnore]
[XmlAttribute("GridColor")]
public string XmlGridColor
{
get
{
return SerializeHelper.SerializeColor(GridColor);
}
set
{
GridColor = SerializeHelper.DeserializeColor(value);
}
}
2021-07-23 09:42:22 +08:00
[XmlArray]
2023-01-25 11:11:27 +08:00
public List<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
2021-07-23 09:42:22 +08:00
[XmlArray]
2023-01-25 11:11:27 +08:00
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
2021-07-23 09:42:22 +08:00
}
}