mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
序列化继续改进
This commit is contained in:
@@ -22,7 +22,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
||||
[XmlArray]
|
||||
public List<DiagramItem> DiagramItems { get; set; }
|
||||
|
||||
public const string XMLNS = "http://AIStudio.Wpf.DiagramApp/DesignLayout";
|
||||
public const string XMLNS = "https://gitee.com/akwkevin/aistudio.-wpf.-diagram";
|
||||
private readonly object saveLock = new Object();
|
||||
|
||||
public void Save(FileInfo designFile)
|
||||
|
||||
@@ -17,6 +17,7 @@ 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
|
||||
{
|
||||
@@ -25,8 +26,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
||||
{
|
||||
public DiagramItem()
|
||||
{
|
||||
this.ConnectionIds = new List<Guid>();
|
||||
this.Connections = new List<ConnectionItem>();
|
||||
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
@@ -84,7 +84,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
||||
[XmlAttribute]
|
||||
public PageSizeType PageSizeType { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
[XmlIgnore]
|
||||
public Size GridMarginSize { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
@@ -119,108 +119,9 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
||||
}
|
||||
|
||||
[XmlArray]
|
||||
public List<DesignerItemBase> DesignerItems { get; set; } = new List<DesignerItemBase>();
|
||||
public List<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<PersistDesignerItem> PersistDesignerItems { get; set; } = new List<PersistDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<SettingsDesignerItem> SettingsDesignerItems { get; set; } = new List<SettingsDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<PathDesignerItem> PathDesignerItems { get; set; } = new List<PathDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<MediaDesignerItem> MediaDesignerItems { get; set; } = new List<MediaDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<ImageDesignerItem> ImageDesignerItems { get; set; } = new List<ImageDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<TextDesignerItem> TextDesignerItems { get; set; } = new List<TextDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<LogicalGateDesignerItemBase> LogicalGateItems { get; set; } = new List<LogicalGateDesignerItemBase>();
|
||||
|
||||
[XmlArray]
|
||||
public List<FlowNodeDesignerItem> FlowNodeDesignerItems { get; set; } = new List<FlowNodeDesignerItem>();
|
||||
|
||||
[XmlArray]
|
||||
public List<SFCNodeDesignerItem> SFCNodeDesignerItems { get; set; } = new List<SFCNodeDesignerItem>();
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlIgnore]
|
||||
public List<DesignerItemBase> AllDesignerItems
|
||||
{
|
||||
get
|
||||
{
|
||||
return
|
||||
DesignerItems.OfType<DesignerItemBase>()
|
||||
.Union(TextDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(LogicalGateItems.OfType<DesignerItemBase>())
|
||||
.Union(MediaDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(ImageDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(PathDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(PersistDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(SettingsDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(FlowNodeDesignerItems.OfType<DesignerItemBase>())
|
||||
.Union(SFCNodeDesignerItems.OfType<DesignerItemBase>())
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
|
||||
[XmlArray]
|
||||
public List<Guid> ConnectionIds { get; set; }
|
||||
|
||||
[XmlArray]
|
||||
public List<ConnectionItem> Connections { get; set; }
|
||||
|
||||
public void AddItems(IEnumerable<SelectableDesignerItemViewModelBase> selectedDesignerItems)
|
||||
{
|
||||
var items = selectedDesignerItems.OfType<DesignerItemViewModelBase>().Select(p => p.GetSerializableObject());
|
||||
foreach (var item in items)
|
||||
{
|
||||
if (item is PersistDesignerItem persistDesignerItem)
|
||||
{
|
||||
PersistDesignerItems.Add(persistDesignerItem);
|
||||
}
|
||||
else if (item is SettingsDesignerItem settingsDesignerItem)
|
||||
{
|
||||
SettingsDesignerItems.Add(settingsDesignerItem);
|
||||
}
|
||||
else if (item is PathDesignerItem pathDesignerItem)
|
||||
{
|
||||
PathDesignerItems.Add(pathDesignerItem);
|
||||
}
|
||||
else if (item is MediaDesignerItem mediaDesignerItem)
|
||||
{
|
||||
MediaDesignerItems.Add(mediaDesignerItem);
|
||||
}
|
||||
else if (item is ImageDesignerItem imageDesignerItem)
|
||||
{
|
||||
ImageDesignerItems.Add(imageDesignerItem);
|
||||
}
|
||||
else if (item is TextDesignerItem textDesignerItem)
|
||||
{
|
||||
TextDesignerItems.Add(textDesignerItem);
|
||||
}
|
||||
else if (item is LogicalGateDesignerItemBase logicalGateDesignerItemBase)
|
||||
{
|
||||
LogicalGateItems.Add(logicalGateDesignerItemBase);
|
||||
}
|
||||
else if (item is FlowNodeDesignerItem flowNodeDesignerItem)
|
||||
{
|
||||
FlowNodeDesignerItems.Add(flowNodeDesignerItem);
|
||||
}
|
||||
else if (item is SFCNodeDesignerItem sFCNodeDesignerItem)
|
||||
{
|
||||
SFCNodeDesignerItems.Add(sFCNodeDesignerItem);
|
||||
}
|
||||
else if (item is DesignerItemBase designerItemBase)
|
||||
{
|
||||
DesignerItems.Add(designerItemBase);
|
||||
}
|
||||
}
|
||||
}
|
||||
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,14 +42,16 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
public DiagramsViewModel(string filename)
|
||||
{
|
||||
FileName = filename;
|
||||
var diagramDocument = OpenFile(filename);
|
||||
OpenFile(diagramDocument);
|
||||
string ext = Path.GetExtension(filename);
|
||||
var diagramDocument = OpenFile(filename, ext);
|
||||
OpenFile(diagramDocument, ext);
|
||||
}
|
||||
|
||||
public DiagramsViewModel(string filename, DiagramDocument diagramDocument)
|
||||
{
|
||||
FileName = filename;
|
||||
OpenFile(diagramDocument);
|
||||
string ext = Path.GetExtension(filename);
|
||||
OpenFile(diagramDocument, ext);
|
||||
}
|
||||
|
||||
protected virtual void InitDiagramViewModel()
|
||||
@@ -159,7 +161,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
if (e.PropertyName == "IsSelected")
|
||||
{
|
||||
_service.SelectedItem = DiagramViewModel.SelectedItems?.FirstOrDefault();
|
||||
_service.SelectedItem = DiagramViewModel?.SelectedItems?.FirstOrDefault();
|
||||
}
|
||||
|
||||
var property = sender.GetType().GetProperty(e.PropertyName);
|
||||
@@ -179,13 +181,13 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
return true;
|
||||
}
|
||||
|
||||
public static DiagramDocument OpenFile(string filename)
|
||||
public static DiagramDocument OpenFile(string filename, string ext)
|
||||
{
|
||||
try
|
||||
{
|
||||
DiagramDocument diagramDocument = null;
|
||||
|
||||
if (filename.ToLower().EndsWith(".xml"))
|
||||
if (ext == ".xml")
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(DiagramDocument));
|
||||
FileInfo fileInfo = new FileInfo(filename);
|
||||
@@ -229,7 +231,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void OpenFile(DiagramDocument diagramDocument)
|
||||
protected virtual void OpenFile(DiagramDocument diagramDocument, string ext)
|
||||
{
|
||||
Title = diagramDocument.Title;
|
||||
DiagramType = diagramDocument.DiagramType;
|
||||
@@ -250,27 +252,29 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
||||
viewModel.GridColor = diagramItem.GridColor;
|
||||
|
||||
foreach (DesignerItemBase diagramItemData in diagramItem.AllDesignerItems)
|
||||
foreach (var diagramItemData in diagramItem.DesignerItems)
|
||||
{
|
||||
Type type = TypeHelper.GetType(diagramItemData.ItemTypeName);
|
||||
|
||||
DesignerItemViewModelBase itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(type, viewModel, diagramItemData);
|
||||
viewModel.Items.Add(itemBase);
|
||||
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
|
||||
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, viewModel, diagramItemData, ext) as DesignerItemViewModelBase;
|
||||
viewModel.Items.Add(itemBase);
|
||||
}
|
||||
|
||||
foreach (var connection in diagramItem.Connections)
|
||||
{
|
||||
connection.SourceType = System.Type.GetType(connection.SourceTypeName);
|
||||
connection.SinkType = System.Type.GetType(connection.SinkTypeName);
|
||||
DesignerItemViewModelBase sourceItem = GetConnectorDataItem(viewModel, connection.SourceId, connection.SourceType);
|
||||
ConnectorOrientation sourceConnectorOrientation = connection.SourceOrientation;
|
||||
FullyCreatedConnectorInfo sourceConnectorInfo = GetFullConnectorInfo(connection.Id, sourceItem, sourceConnectorOrientation, connection.SourceXRatio, connection.SourceYRatio, connection.SourceInnerPoint);
|
||||
Type type = TypeHelper.GetType(connection.SerializableTypeName);
|
||||
var connectionItem = SerializeHelper.DeserializeObject(type, connection.SerializableString, ext) as ConnectionItem;
|
||||
|
||||
DesignerItemViewModelBase sinkItem = GetConnectorDataItem(viewModel, connection.SinkId, connection.SinkType);
|
||||
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
|
||||
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
|
||||
connectionItem.SourceType = System.Type.GetType(connectionItem.SourceTypeName);
|
||||
connectionItem.SinkType = System.Type.GetType(connectionItem.SinkTypeName);
|
||||
DesignerItemViewModelBase sourceItem = GetConnectorDataItem(viewModel, connectionItem.SourceId, connectionItem.SourceType);
|
||||
ConnectorOrientation sourceConnectorOrientation = connectionItem.SourceOrientation;
|
||||
FullyCreatedConnectorInfo sourceConnectorInfo = GetFullConnectorInfo(connectionItem.Id, sourceItem, sourceConnectorOrientation, connectionItem.SourceXRatio, connectionItem.SourceYRatio, connectionItem.SourceInnerPoint);
|
||||
|
||||
ConnectionViewModel connectionVM = new ConnectionViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connection);
|
||||
DesignerItemViewModelBase sinkItem = GetConnectorDataItem(viewModel, connectionItem.SinkId, connectionItem.SinkType);
|
||||
ConnectorOrientation sinkConnectorOrientation = connectionItem.SinkOrientation;
|
||||
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connectionItem.Id, sinkItem, sinkConnectorOrientation, connectionItem.SinkXRatio, connectionItem.SinkYRatio, connectionItem.SinkInnerPoint);
|
||||
|
||||
ConnectionViewModel connectionVM = new ConnectionViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connectionItem);
|
||||
viewModel.Items.Add(connectionVM);
|
||||
}
|
||||
|
||||
@@ -299,7 +303,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
var para = Path.GetExtension(FileName);
|
||||
var ext = Path.GetExtension(FileName);
|
||||
|
||||
DiagramDocument diagramDocument = new DiagramDocument();
|
||||
diagramDocument.DiagramItems = new List<DiagramItem>();
|
||||
@@ -321,22 +325,16 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
||||
diagramItem.GridColor = viewModel.GridColor;
|
||||
|
||||
diagramItem.AddItems(DiagramViewModel.Items);
|
||||
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
|
||||
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
|
||||
|
||||
foreach (var connectionVM in DiagramViewModel.Items.OfType<ConnectionViewModel>())
|
||||
{
|
||||
if (!connectionVM.IsFullConnection)
|
||||
continue;
|
||||
|
||||
ConnectionItem connection = new ConnectionItem(connectionVM);
|
||||
diagramItem.ConnectionIds.Add(connectionVM.Id);
|
||||
diagramItem.Connections.Add(connection);
|
||||
}
|
||||
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem(ext)).Where(p => p != null).ToList();
|
||||
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem(ext)).Where(p => p != null).ToList();
|
||||
|
||||
diagramDocument.DiagramItems.Add(diagramItem);
|
||||
}
|
||||
|
||||
if (para == ".xml")
|
||||
if (ext == ".xml")
|
||||
{
|
||||
FileInfo file = new FileInfo(FileName);
|
||||
diagramDocument.Save(file);
|
||||
@@ -455,7 +453,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
|
||||
public void LockAction(LockObject lockObject, string propertyName)
|
||||
{
|
||||
foreach (var item in DiagramViewModel.SelectedItems)
|
||||
foreach (var item in DiagramViewModel?.SelectedItems)
|
||||
{
|
||||
item.LockObjectViewModel.SetValue(lockObject);
|
||||
}
|
||||
@@ -496,19 +494,11 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
||||
diagramItem.GridColor = viewModel.GridColor;
|
||||
|
||||
diagramItem.AddItems(DiagramViewModel.Items);
|
||||
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
|
||||
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
|
||||
|
||||
foreach (var connectionVM in DiagramViewModel.Items.OfType<ConnectionViewModel>())
|
||||
{
|
||||
if (connectionVM.IsFullConnection == false) continue;
|
||||
|
||||
FullyCreatedConnectorInfo sinkConnector = connectionVM.SinkConnectorInfoFully;
|
||||
|
||||
ConnectionItem connection = new ConnectionItem(connectionVM);
|
||||
|
||||
diagramItem.ConnectionIds.Add(connectionVM.Id);
|
||||
diagramItem.Connections.Add(connection);
|
||||
}
|
||||
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
|
||||
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
|
||||
|
||||
viewModel = new DiagramViewModel();
|
||||
viewModel.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
|
||||
@@ -523,27 +513,28 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
||||
viewModel.GridColor = diagramItem.GridColor;
|
||||
|
||||
foreach (DesignerItemBase diagramItemData in diagramItem.AllDesignerItems)
|
||||
foreach (var diagramItemData in diagramItem.DesignerItems)
|
||||
{
|
||||
Type type = TypeHelper.GetType(diagramItemData.ItemTypeName);
|
||||
|
||||
DesignerItemViewModelBase itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(type, viewModel, diagramItemData);
|
||||
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
|
||||
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, viewModel, diagramItemData, "json") as DesignerItemViewModelBase;
|
||||
viewModel.Items.Add(itemBase);
|
||||
}
|
||||
|
||||
foreach (var connection in diagramItem.Connections)
|
||||
{
|
||||
connection.SourceType = System.Type.GetType(connection.SourceTypeName);
|
||||
connection.SinkType = System.Type.GetType(connection.SinkTypeName);
|
||||
DesignerItemViewModelBase sourceItem = GetConnectorDataItem(viewModel, connection.SourceId, connection.SourceType);
|
||||
ConnectorOrientation sourceConnectorOrientation = connection.SourceOrientation;
|
||||
FullyCreatedConnectorInfo sourceConnectorInfo = GetFullConnectorInfo(connection.Id, sourceItem, sourceConnectorOrientation, connection.SourceXRatio, connection.SourceYRatio, connection.SourceInnerPoint);
|
||||
var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.SerializableString);
|
||||
|
||||
DesignerItemViewModelBase sinkItem = GetConnectorDataItem(viewModel, connection.SinkId, connection.SinkType);
|
||||
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
|
||||
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
|
||||
connectionItem.SourceType = System.Type.GetType(connectionItem.SourceTypeName);
|
||||
connectionItem.SinkType = System.Type.GetType(connectionItem.SinkTypeName);
|
||||
DesignerItemViewModelBase sourceItem = GetConnectorDataItem(viewModel, connectionItem.SourceId, connectionItem.SourceType);
|
||||
ConnectorOrientation sourceConnectorOrientation = connectionItem.SourceOrientation;
|
||||
FullyCreatedConnectorInfo sourceConnectorInfo = GetFullConnectorInfo(connectionItem.Id, sourceItem, sourceConnectorOrientation, connectionItem.SourceXRatio, connectionItem.SourceYRatio, connectionItem.SourceInnerPoint);
|
||||
|
||||
ConnectionViewModel connectionVM = new ConnectionViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connection);
|
||||
DesignerItemViewModelBase sinkItem = GetConnectorDataItem(viewModel, connectionItem.SinkId, connectionItem.SinkType);
|
||||
ConnectorOrientation sinkConnectorOrientation = connectionItem.SinkOrientation;
|
||||
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connectionItem.Id, sinkItem, sinkConnectorOrientation, connectionItem.SinkXRatio, connectionItem.SinkYRatio, connectionItem.SinkInnerPoint);
|
||||
|
||||
ConnectionViewModel connectionVM = new ConnectionViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connectionItem);
|
||||
viewModel.Items.Add(connectionVM);
|
||||
}
|
||||
|
||||
@@ -590,7 +581,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
public void AddImageExecuted(object para)
|
||||
{
|
||||
ImageItemViewModel itemBase = new ImageItemViewModel();
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
@@ -627,7 +618,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
public void AddVideoExecuted(object para)
|
||||
{
|
||||
VideoItemViewModel itemBase = new VideoItemViewModel();
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
@@ -637,7 +628,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
public void AddOutLineTextExecuted(object para)
|
||||
{
|
||||
OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel();
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
@@ -647,7 +638,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
public void AddBarcodeExecuted(object para)
|
||||
{
|
||||
BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text="AIStudio.Wpf.DiagramApp" };
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
|
||||
@@ -779,7 +779,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
return;
|
||||
}
|
||||
|
||||
var diagram = DiagramsViewModel.OpenFile(filename);
|
||||
var diagram = DiagramsViewModel.OpenFile(filename, Path.GetExtension(filename));
|
||||
DiagramsViewModel flow;
|
||||
if (diagram.DiagramType == DiagramType.FlowChart)
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ using System.Windows.Media;
|
||||
using AIStudio.Wpf.Flowchart.Models;
|
||||
using AIStudio.Wpf.SFC.Models;
|
||||
using System.Windows;
|
||||
using System;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
@@ -239,10 +240,13 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
try
|
||||
{
|
||||
var xmlobject = JsonConvert.DeserializeObject<DiagramDocument>(File.ReadAllText(filename));
|
||||
var diagramItemData = xmlobject.DiagramItems[0].AllDesignerItems[0];
|
||||
var xmlobject = JsonConvert.DeserializeObject<DiagramDocument>(File.ReadAllText(filename));
|
||||
|
||||
return diagramItemData;
|
||||
Type type = TypeHelper.GetType(xmlobject.DiagramItems[0].DesignerItems[0].SerializableTypeName);
|
||||
|
||||
var itemBase = JsonConvert.DeserializeObject(xmlobject.DiagramItems[0].DesignerItems[0].SerializableString, type) as DesignerItemBase;
|
||||
|
||||
return itemBase;
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -259,7 +263,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
DiagramDocument diagramDocument = new DiagramDocument();
|
||||
diagramDocument.DiagramItems = new List<DiagramItem>();
|
||||
DiagramItem diagramItem = new DiagramItem();
|
||||
diagramItem.AddItems(new List<DesignerItemViewModelBase> { designer });
|
||||
diagramItem.DesignerItems = new List<DiagramDesigner.Models.SerializableItem> { designer.ToSerializableItem(".json") };
|
||||
diagramDocument.DiagramItems.Add(diagramItem);
|
||||
string newname = NewNameHelper.GetNewName(MyToolBoxCategory.ToolBoxItems.OfType<DesignerItemToolBoxData>().Select(p => Path.GetFileNameWithoutExtension(p.FileName)), "");
|
||||
var filename = $"{_custom}\\{newname}.json";
|
||||
|
||||
@@ -25,12 +25,26 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Offset = viewmodel.Offset;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
[XmlIgnore]
|
||||
public double? Distance
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("Distance")]
|
||||
public string XmlDistance
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializeDoubleNull(Distance);
|
||||
}
|
||||
set
|
||||
{
|
||||
Distance = SerializeHelper.DeserializeDoubleNull(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Point Offset
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Newtonsoft.Json;
|
||||
using AIStudio.Wpf.DiagramDesigner.Helpers;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
@@ -489,9 +490,24 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new Size(double.Parse(pieces[0]), double.Parse(pieces[1]));
|
||||
}
|
||||
|
||||
public static string SerializeDoubleNull(double? point)
|
||||
{
|
||||
return point?.ToString();
|
||||
}
|
||||
|
||||
public static double? DeserializeDoubleNull(string point)
|
||||
{
|
||||
double? value = null;
|
||||
if (Double.TryParse(point, out var result))
|
||||
{
|
||||
value = result;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public static string SerializeObject(object obj, string serializableType)
|
||||
{
|
||||
if (serializableType?.ToLower() == "xml")
|
||||
if (serializableType?.ToLower() == ".xml")
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer(obj.GetType());
|
||||
XmlWriterSettings settings = new XmlWriterSettings();
|
||||
@@ -517,7 +533,24 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public static SelectableItemBase DeserializeObject(Type type, string serializableString, string serializableType)
|
||||
{
|
||||
if (serializableType?.ToLower() == "xml")
|
||||
if (serializableType?.ToLower() == ".xml")
|
||||
{
|
||||
using (StringReader sr = new StringReader(serializableString))
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer(type);
|
||||
return serializer.Deserialize(sr) as SelectableItemBase;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return JsonConvert.DeserializeObject(serializableString, type) as SelectableItemBase;
|
||||
}
|
||||
}
|
||||
|
||||
public static SelectableItemBase DeserializeObject(string typename, string serializableString, string serializableType)
|
||||
{
|
||||
Type type = TypeHelper.GetType(typename);
|
||||
if (serializableType?.ToLower() == ".xml")
|
||||
{
|
||||
using (StringReader sr = new StringReader(serializableString))
|
||||
{
|
||||
|
||||
@@ -10,13 +10,25 @@ namespace AIStudio.Wpf.DiagramDesigner.Models
|
||||
public class SerializableItem
|
||||
{
|
||||
[XmlIgnore]
|
||||
public Type Type
|
||||
public Type ModelType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string TypeName
|
||||
public string ModelTypeName
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Type SerializableType
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string SerializableTypeName
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,20 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
if (IsFullConnection)
|
||||
{
|
||||
ConnectionItem connection = new ConnectionItem(this);
|
||||
|
||||
return connection;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual void Init(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo)
|
||||
{
|
||||
this.Root = sourceConnectorInfo.DataItem.Root;
|
||||
@@ -73,26 +87,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Vertices = new ObservableCollection<ConnectorVertexModel>(designer.Vertices.Select(p => new ConnectorVertexModel(this.Root, this, designer)));
|
||||
Labels = new ObservableCollection<ConnectorLabelModel>(designer.Labels.Select(p => new ConnectorLabelModel(this.Root, this, designer)));
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
if (IsFullConnection)
|
||||
{
|
||||
ConnectionItem connection = new ConnectionItem(this);
|
||||
|
||||
return connection;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(ConnectionItem);
|
||||
}
|
||||
}
|
||||
|
||||
#region 属性
|
||||
private string _text;
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -20,11 +21,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public ConnectorInfoBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ConnectorInfoBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorInfoItemBase(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -49,16 +55,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorInfoItemBase(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(ConnectorInfoBase);
|
||||
}
|
||||
|
||||
#region 属性
|
||||
public virtual PointBase Position
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using SvgPathProperties;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
@@ -20,11 +21,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Parent = connector;
|
||||
}
|
||||
|
||||
public ConnectorLabelModel(IDiagramViewModel root, ConnectionViewModel connector, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ConnectorLabelModel(IDiagramViewModel root, ConnectionViewModel connector, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
Parent = connector;
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorLabelItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -43,15 +49,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorLabelItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(ConnectorLabelItem);
|
||||
}
|
||||
|
||||
#region 属性
|
||||
public ConnectionViewModel Connector
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -32,11 +33,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ConnectorPointModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorPointItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -60,16 +66,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorPointItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(ConnectorPointItem);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 中间X
|
||||
/// </summary>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -17,11 +18,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Parent = connector;
|
||||
}
|
||||
|
||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
Parent = connector;
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorVertexItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -40,16 +46,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new ConnectorVertexItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(ConnectorVertexModel);
|
||||
}
|
||||
|
||||
public ConnectionViewModel Connector
|
||||
{
|
||||
get
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -30,7 +31,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public FullyCreatedConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public FullyCreatedConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
this.DataItem = dataItem;
|
||||
if (IsInnerPoint == true)
|
||||
@@ -39,6 +40,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new FullyCreatedConnectorInfoItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -62,16 +68,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new FullyCreatedConnectorInfoItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(FullyCreatedConnectorInfo);
|
||||
}
|
||||
|
||||
#region 属性
|
||||
public override PointBase Position
|
||||
{
|
||||
|
||||
@@ -23,11 +23,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
ShapeDefiner = Shapes.Rectangle;
|
||||
}
|
||||
|
||||
public DesignerItemViewModelBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public DesignerItemViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
ShapeDefiner = Shapes.Rectangle;
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new DesignerItemBase(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -52,16 +57,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new DesignerItemBase(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(DesignerItemBase);
|
||||
}
|
||||
|
||||
protected virtual void InitConnector()
|
||||
{
|
||||
connectors.Add(new FullyCreatedConnectorInfo(this, ConnectorOrientation.Top));
|
||||
|
||||
@@ -221,7 +221,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private bool _showGrid;
|
||||
private bool _showGrid = true;
|
||||
public bool ShowGrid
|
||||
{
|
||||
get
|
||||
@@ -1406,8 +1406,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
string json = new SerializableObject
|
||||
{
|
||||
DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList(),
|
||||
Connections = selectedConnections.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList(),
|
||||
DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem(".json")).Where(p => p != null).ToList(),
|
||||
Connections = selectedConnections.Select(p => p.ToSerializableItem(".json")).Where(p => p != null).ToList(),
|
||||
}.ToJson();
|
||||
|
||||
OffsetX = 10;
|
||||
@@ -1420,9 +1420,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
if (System.Windows.Clipboard.ContainsData(System.Windows.DataFormats.Serializable))
|
||||
{
|
||||
String clipboardData = System.Windows.Clipboard.GetData(System.Windows.DataFormats.Serializable) as String;
|
||||
string clipboardData = System.Windows.Clipboard.GetData(System.Windows.DataFormats.Serializable) as String;
|
||||
|
||||
if (String.IsNullOrEmpty(clipboardData))
|
||||
if (string.IsNullOrEmpty(clipboardData))
|
||||
return;
|
||||
try
|
||||
{
|
||||
@@ -1435,9 +1435,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
DesignerItemViewModelBase newItem = null;
|
||||
|
||||
Type type = TypeHelper.GetType(diagramItemData.TypeName);
|
||||
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
|
||||
|
||||
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, this, diagramItemData.SerializableString, "json") as DesignerItemViewModelBase;
|
||||
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, this, diagramItemData, ".json") as DesignerItemViewModelBase;
|
||||
Guid newID = Guid.NewGuid();
|
||||
mappingOldToNewIDs.Add(itemBase.Id, newID);
|
||||
itemBase.Id = newID;
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -33,11 +33,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel root, string serializableString, string serializableType)
|
||||
public SelectableViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType)
|
||||
{
|
||||
Init();
|
||||
|
||||
SelectableItemBase obj = SerializeHelper.DeserializeObject(GetSerializableType(), serializableString, serializableType);
|
||||
SelectableItemBase obj = SerializeHelper.DeserializeObject(serializableItem.SerializableTypeName, serializableItem.SerializableString, serializableType);
|
||||
LoadDesignerItemViewModel(root, obj);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
@@ -47,7 +47,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
var obj = GetSerializableObject();
|
||||
if (obj != null)
|
||||
{
|
||||
return new SerializableItem() { TypeName = this.GetType().FullName, SerializableString = SerializeHelper.SerializeObject(obj, serializableType) };
|
||||
return new SerializableItem() { ModelTypeName = this.GetType().FullName, SerializableTypeName = obj.GetType().FullName, SerializableString = SerializeHelper.SerializeObject(obj, serializableType) };
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -60,11 +60,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual Type GetSerializableType()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected virtual void Init()
|
||||
{
|
||||
ColorViewModel = _service.CopyDefaultColorViewModel();
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -30,7 +31,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public GifImageItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public GifImageItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -40,11 +41,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new MediaDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(MediaDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
AddItemCommand = new SimpleCommand(ExecuteAddItemCommand);
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -25,7 +26,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public ImageItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ImageItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -35,11 +36,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new ImageDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(ImageDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -78,7 +79,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public LogicalGateItemViewModelBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LogicalGateItemViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
BuildMenuOptions();
|
||||
}
|
||||
@@ -88,11 +89,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new LogicalGateDesignerItemBase(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(LogicalGateDesignerItemBase);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
ShowRotate = false;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -19,7 +20,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public MediaItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public MediaItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -29,11 +30,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return new MediaDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(MediaDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using System;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
@@ -15,12 +17,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public TextDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public TextDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new TextDesignerItem(this);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
@@ -19,9 +20,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
|
||||
public VideoItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public VideoItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new MediaDesignerItem(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
using ZXing;
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public BarcodeDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public BarcodeDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
@@ -19,11 +20,16 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new TextDesignerItem(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
@@ -17,7 +18,7 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
}
|
||||
|
||||
|
||||
public PathItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public PathItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -27,11 +28,6 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
return new PathDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(PathDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public PersistDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public PersistDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -29,12 +30,6 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
return new PersistDesignerItem(this);
|
||||
}
|
||||
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(PersistDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SettingsDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SettingsDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -29,11 +30,6 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
return new SettingsDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(SettingsDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
{
|
||||
@@ -15,9 +16,14 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SvgDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SvgDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new MediaDesignerItem(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
using AIStudio.Wpf.Flowchart.Models;
|
||||
|
||||
@@ -22,7 +23,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public FlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public FlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -32,11 +33,6 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
return new FlowNodeDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(FlowNodeDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -139,7 +135,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public StartFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public StartFlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -157,7 +153,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EndFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public EndFlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -175,7 +171,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public DecideFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public DecideFlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -193,7 +189,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public COBeginFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public COBeginFlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -211,7 +207,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public COEndFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public COEndFlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.ComponentModel;
|
||||
using System.Windows;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Controls;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
{
|
||||
@@ -18,7 +19,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MiddleFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public MiddleFlowNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
|
||||
namespace AIStudio.Wpf.Logical.ViewModels
|
||||
@@ -20,11 +21,16 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LogicalGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LogicalGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase GetSerializableObject()
|
||||
{
|
||||
return new LogicalGateDesignerItemBase(this);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -74,7 +80,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public AddGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public AddGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -90,7 +96,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SubtractGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SubtractGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -106,7 +112,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public MultiplyGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public MultiplyGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -123,7 +129,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public DivideGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public DivideGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -141,7 +147,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public AverageGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public AverageGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -159,7 +165,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MODGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public MODGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -177,7 +183,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ANDGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ANDGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -195,7 +201,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ORGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -213,7 +219,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public XORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public XORGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -231,7 +237,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public NOTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public NOTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -249,7 +255,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SHLGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SHLGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -267,7 +273,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SHRGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SHRGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -285,7 +291,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ROLGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ROLGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -303,7 +309,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public RORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public RORGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -321,7 +327,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SELGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SELGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -339,7 +345,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MAXGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public MAXGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -357,7 +363,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public MINGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -375,7 +381,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LIMITGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LIMITGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -393,7 +399,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public GTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public GTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -411,7 +417,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -429,7 +435,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public GEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public GEGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -447,7 +453,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LEGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -465,7 +471,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EQGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public EQGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -483,7 +489,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public NEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public NEGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -501,7 +507,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ABSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ABSGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -519,7 +525,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SQRTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SQRTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -537,7 +543,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LNGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LNGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -555,7 +561,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LOGGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public LOGGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -573,7 +579,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EXPGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public EXPGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -591,7 +597,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SINGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -609,7 +615,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public COSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public COSGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -627,7 +633,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public TANGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public TANGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -645,7 +651,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ASINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ASINGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -663,7 +669,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ACOSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ACOSGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -681,7 +687,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ATANGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ATANGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -699,7 +705,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EXPTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public EXPTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -717,7 +723,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ConstantDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public ConstantDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -735,7 +741,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public InputItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public InputItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -794,7 +800,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public OutputItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public OutputItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -861,7 +867,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public TimerDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public TimerDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -21,7 +22,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SFCActionNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCActionNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -21,7 +22,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SFCCOBeginNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCCOBeginNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -21,7 +22,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SFCCOEndNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCCOEndNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -24,7 +25,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SFCConditionNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCConditionNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Windows.Media;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||
using AIStudio.Wpf.SFC.Models;
|
||||
|
||||
@@ -26,7 +27,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SFCNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -36,11 +37,6 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
return new SFCNodeDesignerItem(this);
|
||||
}
|
||||
|
||||
public override Type GetSerializableType()
|
||||
{
|
||||
return typeof(SFCNodeDesignerItem);
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
IsInnerConnector = true;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -18,7 +19,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SFCNodeNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCNodeNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -17,7 +18,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SFCStartNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public SFCStartNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -18,7 +19,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_ListViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public Simulate_ListViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Collections.ObjectModel;
|
||||
using System.Reactive.Linq;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -23,7 +24,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_SolenoidViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public Simulate_SolenoidViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -20,7 +21,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_StartViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public Simulate_StartViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using AIStudio.Wpf.DiagramDesigner;
|
||||
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||
|
||||
namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
@@ -23,7 +24,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_TankViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||
public Simulate_TankViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user