mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-26 11:17:56 +08:00
序列化调整中
This commit is contained in:
@@ -177,7 +177,7 @@ DesignerItems.OfType<DesignerItemBase>()
|
|||||||
|
|
||||||
public void AddItems(IEnumerable<SelectableDesignerItemViewModelBase> selectedDesignerItems)
|
public void AddItems(IEnumerable<SelectableDesignerItemViewModelBase> selectedDesignerItems)
|
||||||
{
|
{
|
||||||
var items = selectedDesignerItems.OfType<DesignerItemViewModelBase>().Select(p => p.ToXmlObject());
|
var items = selectedDesignerItems.OfType<DesignerItemViewModelBase>().Select(p => p.GetSerializableObject());
|
||||||
foreach (var item in items)
|
foreach (var item in items)
|
||||||
{
|
{
|
||||||
if (item is PersistDesignerItem persistDesignerItem)
|
if (item is PersistDesignerItem persistDesignerItem)
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
|||||||
public DesignerItemToolBoxData(DesignerItemBase designerItemBase, string filename, Type type, double width = 32, double height = 32) : base(null, null, type, width, height)
|
public DesignerItemToolBoxData(DesignerItemBase designerItemBase, string filename, Type type, double width = 32, double height = 32) : base(null, null, type, width, height)
|
||||||
{
|
{
|
||||||
Addition = designerItemBase;
|
Addition = designerItemBase;
|
||||||
DesignerItemViewModel = (DesignerItemViewModelBase)Activator.CreateInstance(type, null, designerItemBase);
|
DesignerItemViewModel = Activator.CreateInstance(type, null, designerItemBase) as DesignerItemViewModelBase;
|
||||||
FileName = filename;
|
FileName = filename;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,9 +113,6 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
|
|
||||||
public DiagramType DiagramType { get; set; }
|
public DiagramType DiagramType { get; set; }
|
||||||
|
|
||||||
private double OffsetX = 10;
|
|
||||||
private double OffsetY = 10;
|
|
||||||
|
|
||||||
private ObservableCollection<IDiagramViewModel> _diagramViewModels;
|
private ObservableCollection<IDiagramViewModel> _diagramViewModels;
|
||||||
public ObservableCollection<IDiagramViewModel> DiagramViewModels
|
public ObservableCollection<IDiagramViewModel> DiagramViewModels
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ namespace AIStudio.Wpf.Flowchart
|
|||||||
ConnectionViewModel connector10 = new ConnectionViewModel(coend.BottomConnector, end.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
|
ConnectionViewModel connector10 = new ConnectionViewModel(coend.BottomConnector, end.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
|
||||||
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
|
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
|
||||||
|
|
||||||
DiagramViewModel.ClearSelectedItems();
|
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
|
||||||
|
|
||||||
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
|
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ namespace AIStudio.Wpf.Flowchart
|
|||||||
DiagramViewModel.DirectAddItemCommand.Execute(conn8);
|
DiagramViewModel.DirectAddItemCommand.Execute(conn8);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
DiagramViewModel.ClearSelectedItems();
|
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
|
||||||
|
|
||||||
SFCService.InitData(DiagramViewModel.Items.OfType<SFCNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
|
SFCService.InitData(DiagramViewModel.Items.OfType<SFCNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
|
||||||
|
|
||||||
|
|||||||
@@ -479,11 +479,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
DesignerItemViewModelBase itemBase = null;
|
DesignerItemViewModelBase itemBase = null;
|
||||||
if (dragObject.DesignerItem != null)
|
if (dragObject.DesignerItem != null)
|
||||||
{
|
{
|
||||||
itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(dragObject.ContentType, _viewModel, dragObject.DesignerItem);
|
itemBase = Activator.CreateInstance(dragObject.ContentType, _viewModel, dragObject.DesignerItem) as DesignerItemViewModelBase;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(dragObject.ContentType);
|
itemBase = Activator.CreateInstance(dragObject.ContentType) as DesignerItemViewModelBase;
|
||||||
itemBase.Icon = dragObject.Icon;
|
itemBase.Icon = dragObject.Icon;
|
||||||
itemBase.ColorViewModel = CopyHelper.Mapper(dragObject.ColorViewModel);
|
itemBase.ColorViewModel = CopyHelper.Mapper(dragObject.ColorViewModel);
|
||||||
if (dragObject.DesiredSize != null)
|
if (dragObject.DesiredSize != null)
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
@@ -50,5 +52,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
@@ -41,5 +43,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
[XmlAttribute]
|
[XmlAttribute]
|
||||||
public ValueTypePoint ValueTypePoint { get; set; }
|
public ValueTypePoint ValueTypePoint { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
@@ -73,8 +75,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
public FontItem FontItem
|
public FontItem FontItem
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ColorItem : IColorViewModel
|
public class ColorItem : IColorViewModel
|
||||||
@@ -487,8 +488,49 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
string[] pieces = size.Split(new char[] { ',' });
|
string[] pieces = size.Split(new char[] { ',' });
|
||||||
return new Size(double.Parse(pieces[0]), double.Parse(pieces[1]));
|
return new Size(double.Parse(pieces[0]), double.Parse(pieces[1]));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
public static string SerializeObject(object obj, string serializableType)
|
||||||
|
{
|
||||||
|
if (serializableType?.ToLower() == "xml")
|
||||||
|
{
|
||||||
|
XmlSerializer serializer = new XmlSerializer(obj.GetType());
|
||||||
|
XmlWriterSettings settings = new XmlWriterSettings();
|
||||||
|
settings.Encoding = new UnicodeEncoding(false, false); // no BOM in a .NET string
|
||||||
|
settings.Indent = true;
|
||||||
|
settings.OmitXmlDeclaration = true;
|
||||||
|
|
||||||
|
using (StringWriter textWriter = new StringWriter())
|
||||||
|
{
|
||||||
|
using (XmlWriter xmlWriter = XmlWriter.Create(textWriter, settings))
|
||||||
|
{
|
||||||
|
serializer.Serialize(xmlWriter, obj);
|
||||||
|
}
|
||||||
|
return textWriter.ToString(); //This is the output as a string
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return JsonConvert.SerializeObject(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SelectableItemBase DeserializeObject(Type type, string serializableString, string serializableType)
|
||||||
|
{
|
||||||
|
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 struct XmlFont
|
public struct XmlFont
|
||||||
{
|
{
|
||||||
@@ -655,6 +697,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlAttribute]
|
||||||
public string ObjectJson
|
public string SerializableString
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
if (IsFullConnection)
|
if (IsFullConnection)
|
||||||
{
|
{
|
||||||
@@ -89,7 +89,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(ConnectionItem);
|
return typeof(ConnectionItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectorInfoBase(IDiagramViewModel root, string json) : base(root, json)
|
public ConnectorInfoBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -49,12 +49,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new ConnectorInfoItemBase(this);
|
return new ConnectorInfoItemBase(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(ConnectorInfoBase);
|
return typeof(ConnectorInfoBase);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Parent = connector;
|
Parent = connector;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectorLabelModel(IDiagramViewModel root, ConnectionViewModel connector, string json) : base(root, json)
|
public ConnectorLabelModel(IDiagramViewModel root, ConnectionViewModel connector, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
Parent = connector;
|
Parent = connector;
|
||||||
}
|
}
|
||||||
@@ -43,12 +43,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new ConnectorLabelItem(this);
|
return new ConnectorLabelItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(ConnectorLabelItem);
|
return typeof(ConnectorLabelItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectorPointModel(IDiagramViewModel root, string json) : base(root, json)
|
public ConnectorPointModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -60,12 +60,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new ConnectorPointItem(this);
|
return new ConnectorPointItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(ConnectorPointItem);
|
return typeof(ConnectorPointItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Parent = connector;
|
Parent = connector;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, string json) : base(root, json)
|
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
Parent = connector;
|
Parent = connector;
|
||||||
}
|
}
|
||||||
@@ -40,12 +40,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new ConnectorVertexItem(this);
|
return new ConnectorVertexItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(ConnectorVertexModel);
|
return typeof(ConnectorVertexModel);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public FullyCreatedConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, string json) : base(root, json)
|
public FullyCreatedConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
this.DataItem = dataItem;
|
this.DataItem = dataItem;
|
||||||
if (IsInnerPoint == true)
|
if (IsInnerPoint == true)
|
||||||
@@ -62,12 +62,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new FullyCreatedConnectorInfoItem(this);
|
return new FullyCreatedConnectorInfoItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(FullyCreatedConnectorInfo);
|
return typeof(FullyCreatedConnectorInfo);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
ShapeDefiner = Shapes.Rectangle;
|
ShapeDefiner = Shapes.Rectangle;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DesignerItemViewModelBase(IDiagramViewModel root, string json) : base(root, json)
|
public DesignerItemViewModelBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
ShapeDefiner = Shapes.Rectangle;
|
ShapeDefiner = Shapes.Rectangle;
|
||||||
}
|
}
|
||||||
@@ -52,12 +52,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new DesignerItemBase(this);
|
return new DesignerItemBase(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(DesignerItemBase);
|
return typeof(DesignerItemBase);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,27 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
public class DiagramViewModel : BindableBase, IDiagramViewModel
|
public class DiagramViewModel : BindableBase, IDiagramViewModel
|
||||||
{
|
{
|
||||||
#region 属性
|
#region 属性
|
||||||
|
public ObservableCollection<SelectableDesignerItemViewModelBase> Items { get; set; } = new ObservableCollection<SelectableDesignerItemViewModelBase>();
|
||||||
|
public List<SelectableDesignerItemViewModelBase> SelectedItems
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Items.Where(x => x.IsSelected).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private SelectionService selectionService;
|
||||||
|
public SelectionService SelectionService
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (selectionService == null)
|
||||||
|
selectionService = new SelectionService(this);
|
||||||
|
|
||||||
|
return selectionService;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private bool _isReadOnly;
|
private bool _isReadOnly;
|
||||||
public bool IsReadOnly
|
public bool IsReadOnly
|
||||||
{
|
{
|
||||||
@@ -61,7 +82,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Size _pageSize = new Size(1000, 600);
|
private Size _pageSize = new Size(1000, 600);
|
||||||
|
|
||||||
public Size PageSize
|
public Size PageSize
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -388,145 +408,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
private double OffsetY = 10;
|
private double OffsetY = 10;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private DoCommandManager DoCommandManager = new DoCommandManager();
|
#region 命令
|
||||||
public DiagramViewModel()
|
|
||||||
{
|
|
||||||
CreateNewDiagramCommand = new SimpleCommand(ExecuteEnable, ExecuteCreateNewDiagramCommand);
|
|
||||||
AddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteAddItemCommand);
|
|
||||||
DirectAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand);
|
|
||||||
RemoveItemCommand = new SimpleCommand(ExecuteEnable, ExecuteRemoveItemCommand);
|
|
||||||
DirectRemoveItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectRemoveItemCommand);
|
|
||||||
ClearSelectedItemsCommand = new SimpleCommand(ExecuteEnable, ExecuteClearSelectedItemsCommand);
|
|
||||||
|
|
||||||
AlignTopCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignTopCommand);
|
|
||||||
AlignVerticalCentersCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignVerticalCentersCommand);
|
|
||||||
AlignBottomCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignBottomCommand);
|
|
||||||
AlignLeftCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignLeftCommand);
|
|
||||||
AlignHorizontalCentersCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignHorizontalCentersCommand);
|
|
||||||
AlignRightCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignRightCommand);
|
|
||||||
BringForwardCommand = new SimpleCommand(ExecuteEnable, ExecuteBringForwardCommand);
|
|
||||||
BringToFrontCommand = new SimpleCommand(ExecuteEnable, ExecuteBringToFrontCommand);
|
|
||||||
SendBackwardCommand = new SimpleCommand(ExecuteEnable, ExecuteSendBackwardCommand);
|
|
||||||
SendToBackCommand = new SimpleCommand(ExecuteEnable, ExecuteSendToBackCommand);
|
|
||||||
DistributeHorizontalCommand = new SimpleCommand(ExecuteEnable, ExecuteDistributeHorizontalCommand);
|
|
||||||
DistributeVerticalCommand = new SimpleCommand(ExecuteEnable, ExecuteDistributeVerticalCommand);
|
|
||||||
SelectAllCommand = new SimpleCommand(ExecuteEnable, ExecuteSelectAllCommand);
|
|
||||||
CopyCommand = new SimpleCommand(ExecuteEnable, ExecuteCopyCommand);
|
|
||||||
PasteCommand = new SimpleCommand(ExecuteEnable, ExecutePasteCommand);
|
|
||||||
CutCommand = new SimpleCommand(ExecuteEnable, ExecuteCutCommand);
|
|
||||||
DeleteCommand = new SimpleCommand(ExecuteEnable, ExecuteDeleteCommand);
|
|
||||||
LeftMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteLeftMoveCommand);
|
|
||||||
RightMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteRightMoveCommand);
|
|
||||||
UpMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteUpMoveCommand);
|
|
||||||
DownMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteDownMoveCommand);
|
|
||||||
CenterMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteCenterMoveCommand);
|
|
||||||
SameSizeCommand = new SimpleCommand(ExecuteEnable, ExecuteSameSizeCommand);
|
|
||||||
SameWidthCommand = new SimpleCommand(ExecuteEnable, ExecuteSameWidthCommand);
|
|
||||||
SameHeightCommand = new SimpleCommand(ExecuteEnable, ExecuteSameHeightCommand);
|
|
||||||
SameAngleCommand = new SimpleCommand(ExecuteEnable, ExecuteSameAngleCommand);
|
|
||||||
GroupCommand = new SimpleCommand(ExecuteEnable, ExecuteGroupCommand);
|
|
||||||
UngroupCommand = new SimpleCommand(ExecuteEnable, ExecuteUngroupCommand);
|
|
||||||
LockCommand = new SimpleCommand(ExecuteEnable, ExecuteLockCommand);
|
|
||||||
UnlockCommand = new SimpleCommand(ExecuteEnable, ExecuteUnlockCommand);
|
|
||||||
Mediator.Instance.Register(this);
|
|
||||||
|
|
||||||
Items.CollectionChanged += Items_CollectionChanged;
|
|
||||||
}
|
|
||||||
|
|
||||||
public bool ExecuteEnable(object para)
|
|
||||||
{
|
|
||||||
return IsReadOnly == false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#region UnDo ReDo
|
|
||||||
|
|
||||||
private void Do(object sender, string propertyName, object newvalue)
|
|
||||||
{
|
|
||||||
sender.SetPropertyValue(propertyName, newvalue);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void UnDo(object sender, string propertyName, object oldvalue)
|
|
||||||
{
|
|
||||||
sender.SetPropertyValue(propertyName, oldvalue);
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool _undoing;
|
|
||||||
private void UndoExecuted(object para)
|
|
||||||
{
|
|
||||||
_undoing = true;
|
|
||||||
DoCommandManager.UnDo();
|
|
||||||
_undoing = false;
|
|
||||||
}
|
|
||||||
private void RedoExecuted(object para)
|
|
||||||
{
|
|
||||||
_undoing = true;
|
|
||||||
DoCommandManager.ReDo();
|
|
||||||
_undoing = false;
|
|
||||||
}
|
|
||||||
private bool Undo_Enabled(object para)
|
|
||||||
{
|
|
||||||
return DoCommandManager.CanUnDo;
|
|
||||||
}
|
|
||||||
private bool Redo_Enabled(object para)
|
|
||||||
{
|
|
||||||
return DoCommandManager.CanReDo;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
private void Items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
|
||||||
{
|
|
||||||
if (e.OldItems != null)
|
|
||||||
{
|
|
||||||
foreach (var item in e.OldItems.OfType<SelectableDesignerItemViewModelBase>())
|
|
||||||
{
|
|
||||||
item.PropertyChanged -= Item_PropertyChanged;
|
|
||||||
item.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (e.NewItems != null)
|
|
||||||
{
|
|
||||||
foreach (var item in e.NewItems.OfType<SelectableDesignerItemViewModelBase>())
|
|
||||||
{
|
|
||||||
item.PropertyChanged += Item_PropertyChanged;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
RaisePropertyChanged("Items");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
|
||||||
{
|
|
||||||
RaisePropertyChanged(sender, e.PropertyName);
|
|
||||||
|
|
||||||
if (_undoing == true) return;
|
|
||||||
|
|
||||||
//连续改变,需要特殊处理,不单独触发属性改变ReDo
|
|
||||||
if (sender is DesignerItemViewModelBase designer)
|
|
||||||
{
|
|
||||||
if (designer.BeginDo) return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
|
||||||
{
|
|
||||||
var property = sender.GetType().GetProperty(e.PropertyName);
|
|
||||||
var attr = property.GetCustomAttributes(typeof(CanDoAttribute), true);
|
|
||||||
if (attr != null && attr.Length != 0)
|
|
||||||
{
|
|
||||||
DoCommandManager.DoNewCommand(sender.ToString() + e.PropertyName, () => Do(sender, e.PropertyName, valuePropertyChangedEventArgs.NewValue), () => UnDo(sender, e.PropertyName, valuePropertyChangedEventArgs.OldValue), null, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[MediatorMessageSink("DoneDrawingMessage")]
|
|
||||||
public void OnDoneDrawingMessage(bool dummy)
|
|
||||||
{
|
|
||||||
foreach (var item in Items.OfType<DesignerItemViewModelBase>())
|
|
||||||
{
|
|
||||||
item.ShowConnectors = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public SimpleCommand CreateNewDiagramCommand
|
public SimpleCommand CreateNewDiagramCommand
|
||||||
{
|
{
|
||||||
get; private set;
|
get; private set;
|
||||||
@@ -699,28 +581,144 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return this._redoCommand ?? (this._redoCommand = new SimpleCommand(Redo_Enabled, this.RedoExecuted));
|
return this._redoCommand ?? (this._redoCommand = new SimpleCommand(Redo_Enabled, this.RedoExecuted));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private DoCommandManager DoCommandManager = new DoCommandManager();
|
||||||
public ObservableCollection<SelectableDesignerItemViewModelBase> Items { get; set; } = new ObservableCollection<SelectableDesignerItemViewModelBase>();
|
public DiagramViewModel()
|
||||||
|
|
||||||
public List<SelectableDesignerItemViewModelBase> SelectedItems
|
|
||||||
{
|
{
|
||||||
get
|
CreateNewDiagramCommand = new SimpleCommand(ExecuteEnable, ExecuteCreateNewDiagramCommand);
|
||||||
|
AddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteAddItemCommand);
|
||||||
|
DirectAddItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectAddItemCommand);
|
||||||
|
RemoveItemCommand = new SimpleCommand(ExecuteEnable, ExecuteRemoveItemCommand);
|
||||||
|
DirectRemoveItemCommand = new SimpleCommand(ExecuteEnable, ExecuteDirectRemoveItemCommand);
|
||||||
|
ClearSelectedItemsCommand = new SimpleCommand(ExecuteEnable, ExecuteClearSelectedItemsCommand);
|
||||||
|
|
||||||
|
AlignTopCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignTopCommand);
|
||||||
|
AlignVerticalCentersCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignVerticalCentersCommand);
|
||||||
|
AlignBottomCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignBottomCommand);
|
||||||
|
AlignLeftCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignLeftCommand);
|
||||||
|
AlignHorizontalCentersCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignHorizontalCentersCommand);
|
||||||
|
AlignRightCommand = new SimpleCommand(ExecuteEnable, ExecuteAlignRightCommand);
|
||||||
|
BringForwardCommand = new SimpleCommand(ExecuteEnable, ExecuteBringForwardCommand);
|
||||||
|
BringToFrontCommand = new SimpleCommand(ExecuteEnable, ExecuteBringToFrontCommand);
|
||||||
|
SendBackwardCommand = new SimpleCommand(ExecuteEnable, ExecuteSendBackwardCommand);
|
||||||
|
SendToBackCommand = new SimpleCommand(ExecuteEnable, ExecuteSendToBackCommand);
|
||||||
|
DistributeHorizontalCommand = new SimpleCommand(ExecuteEnable, ExecuteDistributeHorizontalCommand);
|
||||||
|
DistributeVerticalCommand = new SimpleCommand(ExecuteEnable, ExecuteDistributeVerticalCommand);
|
||||||
|
SelectAllCommand = new SimpleCommand(ExecuteEnable, ExecuteSelectAllCommand);
|
||||||
|
CopyCommand = new SimpleCommand(ExecuteEnable, ExecuteCopyCommand);
|
||||||
|
PasteCommand = new SimpleCommand(ExecuteEnable, ExecutePasteCommand);
|
||||||
|
CutCommand = new SimpleCommand(ExecuteEnable, ExecuteCutCommand);
|
||||||
|
DeleteCommand = new SimpleCommand(ExecuteEnable, ExecuteDeleteCommand);
|
||||||
|
LeftMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteLeftMoveCommand);
|
||||||
|
RightMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteRightMoveCommand);
|
||||||
|
UpMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteUpMoveCommand);
|
||||||
|
DownMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteDownMoveCommand);
|
||||||
|
CenterMoveCommand = new SimpleCommand(ExecuteEnable, ExecuteCenterMoveCommand);
|
||||||
|
SameSizeCommand = new SimpleCommand(ExecuteEnable, ExecuteSameSizeCommand);
|
||||||
|
SameWidthCommand = new SimpleCommand(ExecuteEnable, ExecuteSameWidthCommand);
|
||||||
|
SameHeightCommand = new SimpleCommand(ExecuteEnable, ExecuteSameHeightCommand);
|
||||||
|
SameAngleCommand = new SimpleCommand(ExecuteEnable, ExecuteSameAngleCommand);
|
||||||
|
GroupCommand = new SimpleCommand(ExecuteEnable, ExecuteGroupCommand);
|
||||||
|
UngroupCommand = new SimpleCommand(ExecuteEnable, ExecuteUngroupCommand);
|
||||||
|
LockCommand = new SimpleCommand(ExecuteEnable, ExecuteLockCommand);
|
||||||
|
UnlockCommand = new SimpleCommand(ExecuteEnable, ExecuteUnlockCommand);
|
||||||
|
Mediator.Instance.Register(this);
|
||||||
|
|
||||||
|
Items.CollectionChanged += Items_CollectionChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool ExecuteEnable(object para)
|
||||||
|
{
|
||||||
|
return IsReadOnly == false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region UnDo ReDo
|
||||||
|
|
||||||
|
private void Do(object sender, string propertyName, object newvalue)
|
||||||
|
{
|
||||||
|
sender.SetPropertyValue(propertyName, newvalue);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UnDo(object sender, string propertyName, object oldvalue)
|
||||||
|
{
|
||||||
|
sender.SetPropertyValue(propertyName, oldvalue);
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool _undoing;
|
||||||
|
private void UndoExecuted(object para)
|
||||||
|
{
|
||||||
|
_undoing = true;
|
||||||
|
DoCommandManager.UnDo();
|
||||||
|
_undoing = false;
|
||||||
|
}
|
||||||
|
private void RedoExecuted(object para)
|
||||||
|
{
|
||||||
|
_undoing = true;
|
||||||
|
DoCommandManager.ReDo();
|
||||||
|
_undoing = false;
|
||||||
|
}
|
||||||
|
private bool Undo_Enabled(object para)
|
||||||
|
{
|
||||||
|
return DoCommandManager.CanUnDo;
|
||||||
|
}
|
||||||
|
private bool Redo_Enabled(object para)
|
||||||
|
{
|
||||||
|
return DoCommandManager.CanReDo;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private void Items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.OldItems != null)
|
||||||
{
|
{
|
||||||
return Items.Where(x => x.IsSelected).ToList();
|
foreach (var item in e.OldItems.OfType<SelectableDesignerItemViewModelBase>())
|
||||||
|
{
|
||||||
|
item.PropertyChanged -= Item_PropertyChanged;
|
||||||
|
item.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (e.NewItems != null)
|
||||||
|
{
|
||||||
|
foreach (var item in e.NewItems.OfType<SelectableDesignerItemViewModelBase>())
|
||||||
|
{
|
||||||
|
item.PropertyChanged += Item_PropertyChanged;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RaisePropertyChanged("Items");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Item_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
RaisePropertyChanged(sender, e.PropertyName);
|
||||||
|
|
||||||
|
if (_undoing == true) return;
|
||||||
|
|
||||||
|
//连续改变,需要特殊处理,不单独触发属性改变ReDo
|
||||||
|
if (sender is DesignerItemViewModelBase designer)
|
||||||
|
{
|
||||||
|
if (designer.BeginDo) return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
||||||
|
{
|
||||||
|
var property = sender.GetType().GetProperty(e.PropertyName);
|
||||||
|
var attr = property.GetCustomAttributes(typeof(CanDoAttribute), true);
|
||||||
|
if (attr != null && attr.Length != 0)
|
||||||
|
{
|
||||||
|
DoCommandManager.DoNewCommand(sender.ToString() + e.PropertyName, () => Do(sender, e.PropertyName, valuePropertyChangedEventArgs.NewValue), () => UnDo(sender, e.PropertyName, valuePropertyChangedEventArgs.OldValue), null, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[MediatorMessageSink("DoneDrawingMessage")]
|
||||||
private SelectionService selectionService;
|
public void OnDoneDrawingMessage(bool dummy)
|
||||||
public SelectionService SelectionService
|
|
||||||
{
|
{
|
||||||
get
|
foreach (var item in Items.OfType<DesignerItemViewModelBase>())
|
||||||
{
|
{
|
||||||
if (selectionService == null)
|
item.ShowConnectors = false;
|
||||||
selectionService = new SelectionService(this);
|
|
||||||
|
|
||||||
return selectionService;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -728,8 +726,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public bool AddVerify(SelectableDesignerItemViewModelBase item)
|
public bool AddVerify(SelectableDesignerItemViewModelBase item)
|
||||||
{
|
{
|
||||||
if (item.InitData() == false)
|
if (item.InitData() == false)
|
||||||
@@ -741,11 +737,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region 新增,删除
|
||||||
private void ExecuteCreateNewDiagramCommand(object parameter)
|
private void ExecuteCreateNewDiagramCommand(object parameter)
|
||||||
{
|
{
|
||||||
this.Items.Clear();
|
this.Items.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteDirectAddItemCommand(object parameter)
|
private void ExecuteDirectAddItemCommand(object parameter)
|
||||||
{
|
{
|
||||||
if (parameter is SelectableDesignerItemViewModelBase ite)
|
if (parameter is SelectableDesignerItemViewModelBase ite)
|
||||||
@@ -766,7 +762,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Add(SelectableDesignerItemViewModelBase item)
|
private void Add(SelectableDesignerItemViewModelBase item)
|
||||||
{
|
{
|
||||||
item.Root = this;
|
item.Root = this;
|
||||||
@@ -791,7 +786,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Items.Add(item);
|
Items.Add(item);
|
||||||
item.IsSelected = true;
|
item.IsSelected = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteAddItemCommand(object parameter)
|
private void ExecuteAddItemCommand(object parameter)
|
||||||
{
|
{
|
||||||
if (parameter is SelectableDesignerItemViewModelBase ite)
|
if (parameter is SelectableDesignerItemViewModelBase ite)
|
||||||
@@ -824,7 +818,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteDirectRemoveItemCommand(object parameter)
|
private void ExecuteDirectRemoveItemCommand(object parameter)
|
||||||
{
|
{
|
||||||
if (parameter is SelectableDesignerItemViewModelBase ite)
|
if (parameter is SelectableDesignerItemViewModelBase ite)
|
||||||
@@ -878,7 +871,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
ClearSelectedItems();
|
ClearSelectedItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClearSelectedItems()
|
public void ClearSelectedItems()
|
||||||
{
|
{
|
||||||
foreach (var item in this.Items.ToList())
|
foreach (var item in this.Items.ToList())
|
||||||
@@ -886,6 +878,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
item.IsSelected = false;
|
item.IsSelected = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void ExecuteSelectAllCommand(object parameter)
|
||||||
|
{
|
||||||
|
foreach (var item in Items)
|
||||||
|
{
|
||||||
|
item.IsSelected = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region 布局
|
#region 布局
|
||||||
private void ExecuteAlignTopCommand(object parameter)
|
private void ExecuteAlignTopCommand(object parameter)
|
||||||
@@ -1079,7 +1079,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
|
||||||
|
|
||||||
private void ExecuteBringForwardCommand(object parameter)
|
private void ExecuteBringForwardCommand(object parameter)
|
||||||
{
|
{
|
||||||
@@ -1316,7 +1316,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteDistributeVerticalCommand(object parameter)
|
private void ExecuteDistributeVerticalCommand(object parameter)
|
||||||
{
|
{
|
||||||
var selectedItems = from item in this.SelectedItems.OfType<DesignerItemViewModelBase>()
|
var selectedItems = from item in this.SelectedItems.OfType<DesignerItemViewModelBase>()
|
||||||
@@ -1373,15 +1372,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
private void ExecuteSelectAllCommand(object parameter)
|
#region 复制,粘贴
|
||||||
{
|
|
||||||
foreach (var item in Items)
|
|
||||||
{
|
|
||||||
item.IsSelected = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ExecuteCopyCommand(object parameter)
|
private void ExecuteCopyCommand(object parameter)
|
||||||
{
|
{
|
||||||
List<DesignerItemViewModelBase> selectedDesignerItems =
|
List<DesignerItemViewModelBase> selectedDesignerItems =
|
||||||
@@ -1413,8 +1406,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
string json = new SerializableObject
|
string json = new SerializableObject
|
||||||
{
|
{
|
||||||
DesignerItems = selectedDesignerItems.Select(p => p.ToSerializabObject()).Where(p => p != null).ToList(),
|
DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList(),
|
||||||
Connections = selectedConnections.Select(p => p.ToSerializabObject()).Where(p => p != null).ToList(),
|
Connections = selectedConnections.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList(),
|
||||||
}.ToJson();
|
}.ToJson();
|
||||||
|
|
||||||
OffsetX = 10;
|
OffsetX = 10;
|
||||||
@@ -1436,7 +1429,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
List<SelectableDesignerItemViewModelBase> items = new List<SelectableDesignerItemViewModelBase>();
|
List<SelectableDesignerItemViewModelBase> items = new List<SelectableDesignerItemViewModelBase>();
|
||||||
SerializableObject copyitem = JsonConvert.DeserializeObject<SerializableObject>(clipboardData);
|
SerializableObject copyitem = JsonConvert.DeserializeObject<SerializableObject>(clipboardData);
|
||||||
|
|
||||||
|
|
||||||
Dictionary<Guid, Guid> mappingOldToNewIDs = new Dictionary<Guid, Guid>();
|
Dictionary<Guid, Guid> mappingOldToNewIDs = new Dictionary<Guid, Guid>();
|
||||||
|
|
||||||
foreach (var diagramItemData in copyitem.DesignerItems)
|
foreach (var diagramItemData in copyitem.DesignerItems)
|
||||||
@@ -1445,7 +1437,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
Type type = TypeHelper.GetType(diagramItemData.TypeName);
|
Type type = TypeHelper.GetType(diagramItemData.TypeName);
|
||||||
|
|
||||||
DesignerItemViewModelBase itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(type, this, diagramItemData.ObjectJson);
|
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, this, diagramItemData.SerializableString, "json") as DesignerItemViewModelBase;
|
||||||
Guid newID = Guid.NewGuid();
|
Guid newID = Guid.NewGuid();
|
||||||
mappingOldToNewIDs.Add(itemBase.Id, newID);
|
mappingOldToNewIDs.Add(itemBase.Id, newID);
|
||||||
itemBase.Id = newID;
|
itemBase.Id = newID;
|
||||||
@@ -1467,7 +1459,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
List<SelectableDesignerItemViewModelBase> connectors = new List<SelectableDesignerItemViewModelBase>();
|
List<SelectableDesignerItemViewModelBase> connectors = new List<SelectableDesignerItemViewModelBase>();
|
||||||
foreach (var connection in copyitem.Connections)
|
foreach (var connection in copyitem.Connections)
|
||||||
{
|
{
|
||||||
var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.ObjectJson);
|
var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.SerializableString);
|
||||||
Guid newID = Guid.NewGuid();
|
Guid newID = Guid.NewGuid();
|
||||||
mappingOldToNewIDs.Add(connectionItem.Id, newID);
|
mappingOldToNewIDs.Add(connectionItem.Id, newID);
|
||||||
|
|
||||||
@@ -1549,7 +1541,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void ExecuteCutCommand(object parameter)
|
private void ExecuteCutCommand(object parameter)
|
||||||
{
|
{
|
||||||
ExecutePasteCommand(null);
|
ExecutePasteCommand(null);
|
||||||
@@ -1580,7 +1571,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
RemoveItemCommand.Execute(itemsToRemove);
|
RemoveItemCommand.Execute(itemsToRemove);
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 移动
|
||||||
private void ExecuteLeftMoveCommand(object parameter)
|
private void ExecuteLeftMoveCommand(object parameter)
|
||||||
{
|
{
|
||||||
foreach (var item in SelectedItems.OfType<DesignerItemViewModelBase>())
|
foreach (var item in SelectedItems.OfType<DesignerItemViewModelBase>())
|
||||||
@@ -1622,6 +1615,20 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateZIndex()
|
||||||
|
{
|
||||||
|
List<SelectableDesignerItemViewModelBase> ordered = Items.OrderBy(p => p.ZIndex).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
for (int i = 0; i < ordered.Count; i++)
|
||||||
|
{
|
||||||
|
ordered[i].ZIndex = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 大小
|
||||||
|
|
||||||
private void ExecuteSameSizeCommand(object parameter)
|
private void ExecuteSameSizeCommand(object parameter)
|
||||||
{
|
{
|
||||||
if (parameter is DesignerItemViewModelBase designerItem)
|
if (parameter is DesignerItemViewModelBase designerItem)
|
||||||
@@ -1667,6 +1674,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 分组
|
||||||
private void ExecuteGroupCommand(object parameter)
|
private void ExecuteGroupCommand(object parameter)
|
||||||
{
|
{
|
||||||
var items = from item in SelectedItems.OfType<DesignerItemViewModelBase>()
|
var items = from item in SelectedItems.OfType<DesignerItemViewModelBase>()
|
||||||
@@ -1713,6 +1723,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool BelongToSameGroup(IGroupable item1, IGroupable item2)
|
||||||
|
{
|
||||||
|
IGroupable root1 = SelectionService.GetGroupRoot(item1);
|
||||||
|
IGroupable root2 = SelectionService.GetGroupRoot(item2);
|
||||||
|
|
||||||
|
return (root1.Id == root2.Id);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
private void ExecuteLockCommand(object parameter)
|
private void ExecuteLockCommand(object parameter)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -1722,25 +1741,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool BelongToSameGroup(IGroupable item1, IGroupable item2)
|
|
||||||
{
|
|
||||||
IGroupable root1 = SelectionService.GetGroupRoot(item1);
|
|
||||||
IGroupable root2 = SelectionService.GetGroupRoot(item2);
|
|
||||||
|
|
||||||
return (root1.Id == root2.Id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateZIndex()
|
|
||||||
{
|
|
||||||
List<SelectableDesignerItemViewModelBase> ordered = Items.OrderBy(p => p.ZIndex).ToList();
|
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < ordered.Count; i++)
|
|
||||||
{
|
|
||||||
ordered[i].ZIndex = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public RectangleBase GetBoundingRectangle(IEnumerable<DesignerItemViewModelBase> items)
|
public RectangleBase GetBoundingRectangle(IEnumerable<DesignerItemViewModelBase> items)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel root, string json) : base(root, json)
|
public SelectableDesignerItemViewModelBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,24 +33,21 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SelectableViewModelBase(IDiagramViewModel root, string json)
|
public SelectableViewModelBase(IDiagramViewModel root, string serializableString, string serializableType)
|
||||||
{
|
{
|
||||||
Init();
|
Init();
|
||||||
LoadDesignerItemViewModel(root, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableItemBase);
|
|
||||||
|
SelectableItemBase obj = SerializeHelper.DeserializeObject(GetSerializableType(), serializableString, serializableType);
|
||||||
|
LoadDesignerItemViewModel(root, obj);
|
||||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual SelectableItemBase ToXmlObject()
|
public virtual SerializableItem ToSerializableItem(string serializableType)
|
||||||
{
|
{
|
||||||
return null;
|
var obj = GetSerializableObject();
|
||||||
}
|
|
||||||
|
|
||||||
public virtual SerializableItem ToSerializabObject()
|
|
||||||
{
|
|
||||||
var obj = ToXmlObject();
|
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
{
|
{
|
||||||
return new SerializableItem() { TypeName = this.GetType().FullName, ObjectJson = obj.ToJson() };
|
return new SerializableItem() { TypeName = this.GetType().FullName, SerializableString = SerializeHelper.SerializeObject(obj, serializableType) };
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -58,8 +55,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual SelectableItemBase GetSerializableObject()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public virtual Type ToXmlType()
|
public virtual Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,10 +187,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
void ClearSelectedItems();
|
//void ClearSelectedItems();
|
||||||
//bool BelongToSameGroup(IGroupable item1, IGroupable item2);
|
//bool BelongToSameGroup(IGroupable item1, IGroupable item2);
|
||||||
//Rectangle GetBoundingRectangle(IEnumerable<DesignerItemViewModelBase> items);
|
//Rectangle GetBoundingRectangle(IEnumerable<DesignerItemViewModelBase> items);
|
||||||
void UpdateZIndex();
|
//void UpdateZIndex();
|
||||||
|
|
||||||
bool IsReadOnly
|
bool IsReadOnly
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -30,17 +30,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public GifImageItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public GifImageItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new MediaDesignerItem(this);
|
return new MediaDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(MediaDesignerItem);
|
return typeof(MediaDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,17 +25,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ImageItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ImageItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new ImageDesignerItem(this);
|
return new ImageDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(ImageDesignerItem);
|
return typeof(ImageDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,17 +78,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
BuildMenuOptions();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LogicalGateItemViewModelBase(IDiagramViewModel root, string json) : base(root, json)
|
public LogicalGateItemViewModelBase(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
BuildMenuOptions();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new LogicalGateDesignerItemBase(this);
|
return new LogicalGateDesignerItemBase(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(LogicalGateDesignerItemBase);
|
return typeof(LogicalGateDesignerItemBase);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,17 +19,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MediaItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public MediaItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new MediaDesignerItem(this);
|
return new MediaDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(MediaDesignerItem);
|
return typeof(MediaDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,13 +15,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public TextDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public TextDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new TextDesignerItem(this);
|
return new TextDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public VideoItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public VideoItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public BarcodeDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public BarcodeDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new DesignerItemBase(this, Format.ToString());
|
return new DesignerItemBase(this, Format.ToString());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public OutLineTextDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,17 +17,17 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public PathItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public PathItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new PathDesignerItem(this);
|
return new PathDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(PathDesignerItem);
|
return typeof(PathDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,18 +19,18 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public PersistDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public PersistDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new PersistDesignerItem(this);
|
return new PersistDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(PersistDesignerItem);
|
return typeof(PersistDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,17 +19,17 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SettingsDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SettingsDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new SettingsDesignerItem(this);
|
return new SettingsDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(SettingsDesignerItem);
|
return typeof(SettingsDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SvgDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SvgDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,17 +22,17 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public FlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public FlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new FlowNodeDesignerItem(this);
|
return new FlowNodeDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(FlowNodeDesignerItem);
|
return typeof(FlowNodeDesignerItem);
|
||||||
}
|
}
|
||||||
@@ -139,7 +139,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public StartFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public StartFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -157,7 +157,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EndFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public EndFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -175,7 +175,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public DecideFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public DecideFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -193,7 +193,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public COBeginFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public COBeginFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public COEndFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public COEndFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MiddleFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
public MiddleFlowNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LogicalGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public LogicalGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -74,7 +74,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public AddGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public AddGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -90,7 +90,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SubtractGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SubtractGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -106,7 +106,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public MultiplyGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public MultiplyGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -123,7 +123,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public DivideGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public DivideGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -141,7 +141,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public AverageGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public AverageGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -159,7 +159,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MODGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public MODGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -177,7 +177,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ANDGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ANDGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -195,7 +195,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ORGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -213,7 +213,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public XORGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public XORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -231,7 +231,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public NOTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public NOTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -249,7 +249,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SHLGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SHLGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -267,7 +267,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SHRGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SHRGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -285,7 +285,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ROLGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ROLGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -303,7 +303,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RORGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public RORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -321,7 +321,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SELGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SELGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -339,7 +339,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MAXGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public MAXGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -357,7 +357,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public MINGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public MINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -375,7 +375,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LIMITGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public LIMITGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -393,7 +393,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public GTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public GTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -411,7 +411,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public LTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -429,7 +429,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public GEGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public GEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -447,7 +447,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LEGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public LEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -465,7 +465,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EQGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public EQGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -483,7 +483,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public NEGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public NEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -501,7 +501,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ABSGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ABSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -519,7 +519,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SQRTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SQRTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -537,7 +537,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LNGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public LNGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -555,7 +555,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public LOGGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public LOGGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -573,7 +573,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EXPGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public EXPGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -591,7 +591,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SINGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public SINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -609,7 +609,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public COSGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public COSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -627,7 +627,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public TANGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public TANGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -645,7 +645,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ASINGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ASINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -663,7 +663,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ACOSGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ACOSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -681,7 +681,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ATANGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ATANGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -699,7 +699,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public EXPTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public EXPTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -717,7 +717,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConstantDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public ConstantDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -735,7 +735,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public InputItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public InputItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -794,7 +794,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public OutputItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public OutputItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -861,7 +861,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
|||||||
BuildMenuOptions();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
public TimerDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public TimerDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
BuildMenuOptions();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCActionNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCActionNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCCOBeginNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCCOBeginNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCCOEndNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCCOEndNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCConditionNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCConditionNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,17 +26,17 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase ToXmlObject()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new SFCNodeDesignerItem(this);
|
return new SFCNodeDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type ToXmlType()
|
public override Type GetSerializableType()
|
||||||
{
|
{
|
||||||
return typeof(SFCNodeDesignerItem);
|
return typeof(SFCNodeDesignerItem);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCNodeNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCNodeNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public SFCStartNode(IDiagramViewModel root, string json) : base(root, json)
|
public SFCStartNode(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Simulate_ListViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public Simulate_ListViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Simulate_SolenoidViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public Simulate_SolenoidViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Simulate_StartViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public Simulate_StartViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public Simulate_TankViewModel(IDiagramViewModel root, string json) : base(root, json)
|
public Simulate_TankViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user