mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-04 06:51:28 +08:00
序列化继续改进
This commit is contained in:
@@ -22,7 +22,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
|||||||
[XmlArray]
|
[XmlArray]
|
||||||
public List<DiagramItem> DiagramItems { get; set; }
|
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();
|
private readonly object saveLock = new Object();
|
||||||
|
|
||||||
public void Save(FileInfo designFile)
|
public void Save(FileInfo designFile)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ using AIStudio.Wpf.SFC.Models;
|
|||||||
using AIStudio.Wpf.SFC.ViewModels;
|
using AIStudio.Wpf.SFC.ViewModels;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramApp.Models
|
namespace AIStudio.Wpf.DiagramApp.Models
|
||||||
{
|
{
|
||||||
@@ -25,8 +26,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
|||||||
{
|
{
|
||||||
public DiagramItem()
|
public DiagramItem()
|
||||||
{
|
{
|
||||||
this.ConnectionIds = new List<Guid>();
|
|
||||||
this.Connections = new List<ConnectionItem>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlAttribute]
|
||||||
@@ -84,7 +84,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
|||||||
[XmlAttribute]
|
[XmlAttribute]
|
||||||
public PageSizeType PageSizeType { get; set; }
|
public PageSizeType PageSizeType { get; set; }
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlIgnore]
|
||||||
public Size GridMarginSize { get; set; }
|
public Size GridMarginSize { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
@@ -119,108 +119,9 @@ namespace AIStudio.Wpf.DiagramApp.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
[XmlArray]
|
[XmlArray]
|
||||||
public List<DesignerItemBase> DesignerItems { get; set; } = new List<DesignerItemBase>();
|
public List<SerializableItem> DesignerItems { get; set; } = new List<SerializableItem>();
|
||||||
|
|
||||||
[XmlArray]
|
[XmlArray]
|
||||||
public List<PersistDesignerItem> PersistDesignerItems { get; set; } = new List<PersistDesignerItem>();
|
public List<SerializableItem> Connections { get; set; } = new List<SerializableItem>();
|
||||||
|
|
||||||
[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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,14 +42,16 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
public DiagramsViewModel(string filename)
|
public DiagramsViewModel(string filename)
|
||||||
{
|
{
|
||||||
FileName = filename;
|
FileName = filename;
|
||||||
var diagramDocument = OpenFile(filename);
|
string ext = Path.GetExtension(filename);
|
||||||
OpenFile(diagramDocument);
|
var diagramDocument = OpenFile(filename, ext);
|
||||||
|
OpenFile(diagramDocument, ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DiagramsViewModel(string filename, DiagramDocument diagramDocument)
|
public DiagramsViewModel(string filename, DiagramDocument diagramDocument)
|
||||||
{
|
{
|
||||||
FileName = filename;
|
FileName = filename;
|
||||||
OpenFile(diagramDocument);
|
string ext = Path.GetExtension(filename);
|
||||||
|
OpenFile(diagramDocument, ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void InitDiagramViewModel()
|
protected virtual void InitDiagramViewModel()
|
||||||
@@ -159,7 +161,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
{
|
{
|
||||||
if (e.PropertyName == "IsSelected")
|
if (e.PropertyName == "IsSelected")
|
||||||
{
|
{
|
||||||
_service.SelectedItem = DiagramViewModel.SelectedItems?.FirstOrDefault();
|
_service.SelectedItem = DiagramViewModel?.SelectedItems?.FirstOrDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
var property = sender.GetType().GetProperty(e.PropertyName);
|
var property = sender.GetType().GetProperty(e.PropertyName);
|
||||||
@@ -179,13 +181,13 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static DiagramDocument OpenFile(string filename)
|
public static DiagramDocument OpenFile(string filename, string ext)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
DiagramDocument diagramDocument = null;
|
DiagramDocument diagramDocument = null;
|
||||||
|
|
||||||
if (filename.ToLower().EndsWith(".xml"))
|
if (ext == ".xml")
|
||||||
{
|
{
|
||||||
XmlSerializer serializer = new XmlSerializer(typeof(DiagramDocument));
|
XmlSerializer serializer = new XmlSerializer(typeof(DiagramDocument));
|
||||||
FileInfo fileInfo = new FileInfo(filename);
|
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;
|
Title = diagramDocument.Title;
|
||||||
DiagramType = diagramDocument.DiagramType;
|
DiagramType = diagramDocument.DiagramType;
|
||||||
@@ -250,27 +252,29 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
||||||
viewModel.GridColor = diagramItem.GridColor;
|
viewModel.GridColor = diagramItem.GridColor;
|
||||||
|
|
||||||
foreach (DesignerItemBase diagramItemData in diagramItem.AllDesignerItems)
|
foreach (var diagramItemData in diagramItem.DesignerItems)
|
||||||
{
|
{
|
||||||
Type type = TypeHelper.GetType(diagramItemData.ItemTypeName);
|
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
|
||||||
|
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, viewModel, diagramItemData, ext) as DesignerItemViewModelBase;
|
||||||
DesignerItemViewModelBase itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(type, viewModel, diagramItemData);
|
|
||||||
viewModel.Items.Add(itemBase);
|
viewModel.Items.Add(itemBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var connection in diagramItem.Connections)
|
foreach (var connection in diagramItem.Connections)
|
||||||
{
|
{
|
||||||
connection.SourceType = System.Type.GetType(connection.SourceTypeName);
|
Type type = TypeHelper.GetType(connection.SerializableTypeName);
|
||||||
connection.SinkType = System.Type.GetType(connection.SinkTypeName);
|
var connectionItem = SerializeHelper.DeserializeObject(type, connection.SerializableString, ext) as ConnectionItem;
|
||||||
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);
|
|
||||||
|
|
||||||
DesignerItemViewModelBase sinkItem = GetConnectorDataItem(viewModel, connection.SinkId, connection.SinkType);
|
connectionItem.SourceType = System.Type.GetType(connectionItem.SourceTypeName);
|
||||||
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
|
connectionItem.SinkType = System.Type.GetType(connectionItem.SinkTypeName);
|
||||||
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
|
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);
|
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 diagramDocument = new DiagramDocument();
|
||||||
diagramDocument.DiagramItems = new List<DiagramItem>();
|
diagramDocument.DiagramItems = new List<DiagramItem>();
|
||||||
@@ -321,22 +325,16 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
||||||
diagramItem.GridColor = viewModel.GridColor;
|
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>())
|
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();
|
||||||
if (!connectionVM.IsFullConnection)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
ConnectionItem connection = new ConnectionItem(connectionVM);
|
|
||||||
diagramItem.ConnectionIds.Add(connectionVM.Id);
|
|
||||||
diagramItem.Connections.Add(connection);
|
|
||||||
}
|
|
||||||
|
|
||||||
diagramDocument.DiagramItems.Add(diagramItem);
|
diagramDocument.DiagramItems.Add(diagramItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (para == ".xml")
|
if (ext == ".xml")
|
||||||
{
|
{
|
||||||
FileInfo file = new FileInfo(FileName);
|
FileInfo file = new FileInfo(FileName);
|
||||||
diagramDocument.Save(file);
|
diagramDocument.Save(file);
|
||||||
@@ -455,7 +453,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
|
|
||||||
public void LockAction(LockObject lockObject, string propertyName)
|
public void LockAction(LockObject lockObject, string propertyName)
|
||||||
{
|
{
|
||||||
foreach (var item in DiagramViewModel.SelectedItems)
|
foreach (var item in DiagramViewModel?.SelectedItems)
|
||||||
{
|
{
|
||||||
item.LockObjectViewModel.SetValue(lockObject);
|
item.LockObjectViewModel.SetValue(lockObject);
|
||||||
}
|
}
|
||||||
@@ -496,19 +494,11 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
diagramItem.GridMarginSize = viewModel.GridMarginSize;
|
||||||
diagramItem.GridColor = viewModel.GridColor;
|
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>())
|
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();
|
||||||
if (connectionVM.IsFullConnection == false) continue;
|
|
||||||
|
|
||||||
FullyCreatedConnectorInfo sinkConnector = connectionVM.SinkConnectorInfoFully;
|
|
||||||
|
|
||||||
ConnectionItem connection = new ConnectionItem(connectionVM);
|
|
||||||
|
|
||||||
diagramItem.ConnectionIds.Add(connectionVM.Id);
|
|
||||||
diagramItem.Connections.Add(connection);
|
|
||||||
}
|
|
||||||
|
|
||||||
viewModel = new DiagramViewModel();
|
viewModel = new DiagramViewModel();
|
||||||
viewModel.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
|
viewModel.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
|
||||||
@@ -523,27 +513,28 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
viewModel.GridMarginSize = diagramItem.GridMarginSize;
|
||||||
viewModel.GridColor = diagramItem.GridColor;
|
viewModel.GridColor = diagramItem.GridColor;
|
||||||
|
|
||||||
foreach (DesignerItemBase diagramItemData in diagramItem.AllDesignerItems)
|
foreach (var diagramItemData in diagramItem.DesignerItems)
|
||||||
{
|
{
|
||||||
Type type = TypeHelper.GetType(diagramItemData.ItemTypeName);
|
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
|
||||||
|
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, viewModel, diagramItemData, "json") as DesignerItemViewModelBase;
|
||||||
DesignerItemViewModelBase itemBase = (DesignerItemViewModelBase)Activator.CreateInstance(type, viewModel, diagramItemData);
|
|
||||||
viewModel.Items.Add(itemBase);
|
viewModel.Items.Add(itemBase);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var connection in diagramItem.Connections)
|
foreach (var connection in diagramItem.Connections)
|
||||||
{
|
{
|
||||||
connection.SourceType = System.Type.GetType(connection.SourceTypeName);
|
var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.SerializableString);
|
||||||
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);
|
|
||||||
|
|
||||||
DesignerItemViewModelBase sinkItem = GetConnectorDataItem(viewModel, connection.SinkId, connection.SinkType);
|
connectionItem.SourceType = System.Type.GetType(connectionItem.SourceTypeName);
|
||||||
ConnectorOrientation sinkConnectorOrientation = connection.SinkOrientation;
|
connectionItem.SinkType = System.Type.GetType(connectionItem.SinkTypeName);
|
||||||
FullyCreatedConnectorInfo sinkConnectorInfo = GetFullConnectorInfo(connection.Id, sinkItem, sinkConnectorOrientation, connection.SinkXRatio, connection.SinkYRatio, connection.SinkInnerPoint);
|
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);
|
viewModel.Items.Add(connectionVM);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +581,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
public void AddImageExecuted(object para)
|
public void AddImageExecuted(object para)
|
||||||
{
|
{
|
||||||
ImageItemViewModel itemBase = new ImageItemViewModel();
|
ImageItemViewModel itemBase = new ImageItemViewModel();
|
||||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||||
if (itemBase.Root != null)
|
if (itemBase.Root != null)
|
||||||
{
|
{
|
||||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||||
@@ -627,7 +618,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
public void AddVideoExecuted(object para)
|
public void AddVideoExecuted(object para)
|
||||||
{
|
{
|
||||||
VideoItemViewModel itemBase = new VideoItemViewModel();
|
VideoItemViewModel itemBase = new VideoItemViewModel();
|
||||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||||
if (itemBase.Root != null)
|
if (itemBase.Root != null)
|
||||||
{
|
{
|
||||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||||
@@ -637,7 +628,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
public void AddOutLineTextExecuted(object para)
|
public void AddOutLineTextExecuted(object para)
|
||||||
{
|
{
|
||||||
OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel();
|
OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel();
|
||||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
|
||||||
if (itemBase.Root != null)
|
if (itemBase.Root != null)
|
||||||
{
|
{
|
||||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||||
@@ -647,7 +638,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
public void AddBarcodeExecuted(object para)
|
public void AddBarcodeExecuted(object para)
|
||||||
{
|
{
|
||||||
BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text="AIStudio.Wpf.DiagramApp" };
|
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)
|
if (itemBase.Root != null)
|
||||||
{
|
{
|
||||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||||
|
|||||||
@@ -779,7 +779,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var diagram = DiagramsViewModel.OpenFile(filename);
|
var diagram = DiagramsViewModel.OpenFile(filename, Path.GetExtension(filename));
|
||||||
DiagramsViewModel flow;
|
DiagramsViewModel flow;
|
||||||
if (diagram.DiagramType == DiagramType.FlowChart)
|
if (diagram.DiagramType == DiagramType.FlowChart)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ using System.Windows.Media;
|
|||||||
using AIStudio.Wpf.Flowchart.Models;
|
using AIStudio.Wpf.Flowchart.Models;
|
||||||
using AIStudio.Wpf.SFC.Models;
|
using AIStudio.Wpf.SFC.Models;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramApp.ViewModels
|
namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||||
{
|
{
|
||||||
@@ -240,9 +241,12 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
var xmlobject = JsonConvert.DeserializeObject<DiagramDocument>(File.ReadAllText(filename));
|
var xmlobject = JsonConvert.DeserializeObject<DiagramDocument>(File.ReadAllText(filename));
|
||||||
var diagramItemData = xmlobject.DiagramItems[0].AllDesignerItems[0];
|
|
||||||
|
|
||||||
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
|
catch
|
||||||
{
|
{
|
||||||
@@ -259,7 +263,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
|||||||
DiagramDocument diagramDocument = new DiagramDocument();
|
DiagramDocument diagramDocument = new DiagramDocument();
|
||||||
diagramDocument.DiagramItems = new List<DiagramItem>();
|
diagramDocument.DiagramItems = new List<DiagramItem>();
|
||||||
DiagramItem diagramItem = new 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);
|
diagramDocument.DiagramItems.Add(diagramItem);
|
||||||
string newname = NewNameHelper.GetNewName(MyToolBoxCategory.ToolBoxItems.OfType<DesignerItemToolBoxData>().Select(p => Path.GetFileNameWithoutExtension(p.FileName)), "");
|
string newname = NewNameHelper.GetNewName(MyToolBoxCategory.ToolBoxItems.OfType<DesignerItemToolBoxData>().Select(p => Path.GetFileNameWithoutExtension(p.FileName)), "");
|
||||||
var filename = $"{_custom}\\{newname}.json";
|
var filename = $"{_custom}\\{newname}.json";
|
||||||
|
|||||||
@@ -25,12 +25,26 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Offset = viewmodel.Offset;
|
Offset = viewmodel.Offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlIgnore]
|
||||||
public double? Distance
|
public double? Distance
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonIgnore]
|
||||||
|
[XmlAttribute("Distance")]
|
||||||
|
public string XmlDistance
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return SerializeHelper.SerializeDoubleNull(Distance);
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Distance = SerializeHelper.DeserializeDoubleNull(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public Point Offset
|
public Point Offset
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Newtonsoft.Json;
|
using AIStudio.Wpf.DiagramDesigner.Helpers;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
@@ -489,9 +490,24 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
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 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)
|
public static string SerializeObject(object obj, string serializableType)
|
||||||
{
|
{
|
||||||
if (serializableType?.ToLower() == "xml")
|
if (serializableType?.ToLower() == ".xml")
|
||||||
{
|
{
|
||||||
XmlSerializer serializer = new XmlSerializer(obj.GetType());
|
XmlSerializer serializer = new XmlSerializer(obj.GetType());
|
||||||
XmlWriterSettings settings = new XmlWriterSettings();
|
XmlWriterSettings settings = new XmlWriterSettings();
|
||||||
@@ -517,7 +533,24 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
public static SelectableItemBase DeserializeObject(Type type, string serializableString, string serializableType)
|
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))
|
using (StringReader sr = new StringReader(serializableString))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,13 +10,25 @@ namespace AIStudio.Wpf.DiagramDesigner.Models
|
|||||||
public class SerializableItem
|
public class SerializableItem
|
||||||
{
|
{
|
||||||
[XmlIgnore]
|
[XmlIgnore]
|
||||||
public Type Type
|
public Type ModelType
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
[XmlAttribute]
|
[XmlAttribute]
|
||||||
public string TypeName
|
public string ModelTypeName
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public Type SerializableType
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
|
||||||
|
[XmlAttribute]
|
||||||
|
public string SerializableTypeName
|
||||||
{
|
{
|
||||||
get; set;
|
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)
|
protected virtual void Init(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo)
|
||||||
{
|
{
|
||||||
this.Root = sourceConnectorInfo.DataItem.Root;
|
this.Root = sourceConnectorInfo.DataItem.Root;
|
||||||
@@ -75,25 +89,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SelectableItemBase GetSerializableObject()
|
|
||||||
{
|
|
||||||
if (IsFullConnection)
|
|
||||||
{
|
|
||||||
ConnectionItem connection = new ConnectionItem(this);
|
|
||||||
|
|
||||||
return connection;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(ConnectionItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
#region 属性
|
#region 属性
|
||||||
private string _text;
|
private string _text;
|
||||||
[Browsable(true)]
|
[Browsable(true)]
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using System.Text;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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 属性
|
#region 属性
|
||||||
public virtual PointBase Position
|
public virtual PointBase Position
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using SvgPathProperties;
|
using SvgPathProperties;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
@@ -20,11 +21,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Parent = connector;
|
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;
|
Parent = connector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override SelectableItemBase GetSerializableObject()
|
||||||
|
{
|
||||||
|
return new ConnectorLabelItem(this);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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 属性
|
#region 属性
|
||||||
public ConnectionViewModel Connector
|
public ConnectionViewModel Connector
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using System.Text;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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>
|
/// <summary>
|
||||||
/// 中间X
|
/// 中间X
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
{
|
{
|
||||||
@@ -17,11 +18,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
Parent = connector;
|
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;
|
Parent = connector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override SelectableItemBase GetSerializableObject()
|
||||||
|
{
|
||||||
|
return new ConnectorVertexItem(this);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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
|
public ConnectionViewModel Connector
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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;
|
this.DataItem = dataItem;
|
||||||
if (IsInnerPoint == true)
|
if (IsInnerPoint == true)
|
||||||
@@ -39,6 +40,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override SelectableItemBase GetSerializableObject()
|
||||||
|
{
|
||||||
|
return new FullyCreatedConnectorInfoItem(this);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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 属性
|
#region 属性
|
||||||
public override PointBase Position
|
public override PointBase Position
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,11 +23,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
ShapeDefiner = Shapes.Rectangle;
|
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;
|
ShapeDefiner = Shapes.Rectangle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override SelectableItemBase GetSerializableObject()
|
||||||
|
{
|
||||||
|
return new DesignerItemBase(this);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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()
|
protected virtual void InitConnector()
|
||||||
{
|
{
|
||||||
connectors.Add(new FullyCreatedConnectorInfo(this, ConnectorOrientation.Top));
|
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
|
public bool ShowGrid
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -1406,8 +1406,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
string json = new SerializableObject
|
string json = new SerializableObject
|
||||||
{
|
{
|
||||||
DesignerItems = selectedDesignerItems.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(),
|
Connections = selectedConnections.Select(p => p.ToSerializableItem(".json")).Where(p => p != null).ToList(),
|
||||||
}.ToJson();
|
}.ToJson();
|
||||||
|
|
||||||
OffsetX = 10;
|
OffsetX = 10;
|
||||||
@@ -1420,9 +1420,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
if (System.Windows.Clipboard.ContainsData(System.Windows.DataFormats.Serializable))
|
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;
|
return;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -1435,9 +1435,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
DesignerItemViewModelBase newItem = null;
|
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();
|
Guid newID = Guid.NewGuid();
|
||||||
mappingOldToNewIDs.Add(itemBase.Id, newID);
|
mappingOldToNewIDs.Add(itemBase.Id, newID);
|
||||||
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;
|
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SelectableViewModelBase(IDiagramViewModel root, string serializableString, string serializableType)
|
public SelectableViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType)
|
||||||
{
|
{
|
||||||
Init();
|
Init();
|
||||||
|
|
||||||
SelectableItemBase obj = SerializeHelper.DeserializeObject(GetSerializableType(), serializableString, serializableType);
|
SelectableItemBase obj = SerializeHelper.DeserializeObject(serializableItem.SerializableTypeName, serializableItem.SerializableString, serializableType);
|
||||||
LoadDesignerItemViewModel(root, obj);
|
LoadDesignerItemViewModel(root, obj);
|
||||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
var obj = GetSerializableObject();
|
var obj = GetSerializableObject();
|
||||||
if (obj != null)
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -60,11 +60,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected virtual void Init()
|
protected virtual void Init()
|
||||||
{
|
{
|
||||||
ColorViewModel = _service.CopyDefaultColorViewModel();
|
ColorViewModel = _service.CopyDefaultColorViewModel();
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ using System.Text;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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);
|
return new MediaDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(MediaDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
AddItemCommand = new SimpleCommand(ExecuteAddItemCommand);
|
AddItemCommand = new SimpleCommand(ExecuteAddItemCommand);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ using System.Text;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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);
|
return new ImageDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(ImageDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
namespace AIStudio.Wpf.DiagramDesigner
|
||||||
{
|
{
|
||||||
@@ -78,7 +79,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
BuildMenuOptions();
|
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();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
@@ -88,11 +89,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return new LogicalGateDesignerItemBase(this);
|
return new LogicalGateDesignerItemBase(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(LogicalGateDesignerItemBase);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
ShowRotate = false;
|
ShowRotate = false;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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);
|
return new MediaDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(MediaDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
using System;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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()
|
public override SelectableItemBase GetSerializableObject()
|
||||||
{
|
{
|
||||||
return new TextDesignerItem(this);
|
return new TextDesignerItem(this);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramDesigner
|
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 System;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
using ZXing;
|
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;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
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()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
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);
|
return new PathDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(PathDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
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);
|
return new PersistDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(PersistDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
using AIStudio.Wpf.DiagramHelper.Extensions.Models;
|
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);
|
return new SettingsDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(SettingsDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
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.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
using AIStudio.Wpf.Flowchart.Models;
|
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);
|
return new FlowNodeDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(FlowNodeDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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 System.Windows;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Controls;
|
using AIStudio.Wpf.DiagramDesigner.Controls;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.Flowchart.ViewModels
|
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.Linq;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.Logical.ViewModels
|
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()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
base.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();
|
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();
|
BuildMenuOptions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Text;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Linq;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
using AIStudio.Wpf.DiagramDesigner.Services;
|
using AIStudio.Wpf.DiagramDesigner.Services;
|
||||||
using AIStudio.Wpf.SFC.Models;
|
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);
|
return new SFCNodeDesignerItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Type GetSerializableType()
|
|
||||||
{
|
|
||||||
return typeof(SFCNodeDesignerItem);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void Init()
|
protected override void Init()
|
||||||
{
|
{
|
||||||
IsInnerConnector = true;
|
IsInnerConnector = true;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Collections.ObjectModel;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Reactive.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using AIStudio.Wpf.DiagramDesigner;
|
using AIStudio.Wpf.DiagramDesigner;
|
||||||
|
using AIStudio.Wpf.DiagramDesigner.Models;
|
||||||
|
|
||||||
namespace AIStudio.Wpf.SFC.ViewModels
|
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