mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-15 22:16:37 +08:00
128 lines
3.2 KiB
C#
128 lines
3.2 KiB
C#
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<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
|
|
|
|
[XmlArray]
|
|
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
|
}
|
|
}
|