mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
整理序列化
This commit is contained in:
@@ -594,7 +594,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
ImageItemViewModel itemBase = new ImageItemViewModel();
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Parent != null)
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
}
|
||||
@@ -631,7 +631,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
VideoItemViewModel itemBase = new VideoItemViewModel();
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Parent != null)
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
}
|
||||
@@ -641,7 +641,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel();
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Parent != null)
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
}
|
||||
@@ -651,7 +651,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
|
||||
{
|
||||
BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text="AIStudio.Wpf.DiagramApp" };
|
||||
DiagramViewModel.DirectAddItemCommand.Execute(itemBase);
|
||||
if (itemBase.Parent != null)
|
||||
if (itemBase.Root != null)
|
||||
{
|
||||
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
|
||||
}
|
||||
|
||||
@@ -373,10 +373,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Connector sinkConnector = connectorsHit.Last();
|
||||
FullyCreatedConnectorInfo sinkDataItem = sinkConnector.DataContext as FullyCreatedConnectorInfo;
|
||||
|
||||
int indexOfLastTempConnection = sinkDataItem.DataItem.Parent.Items.Count - 1;
|
||||
sinkDataItem.DataItem.Parent.DirectRemoveItemCommand.Execute(
|
||||
sinkDataItem.DataItem.Parent.Items[indexOfLastTempConnection]);
|
||||
sinkDataItem.DataItem.Parent.AddItemCommand.Execute(new ConnectorViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode));
|
||||
int indexOfLastTempConnection = sinkDataItem.DataItem.Root.Items.Count - 1;
|
||||
sinkDataItem.DataItem.Root.DirectRemoveItemCommand.Execute(
|
||||
sinkDataItem.DataItem.Root.Items[indexOfLastTempConnection]);
|
||||
sinkDataItem.DataItem.Root.AddItemCommand.Execute(new ConnectorViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode));
|
||||
}
|
||||
else if (_service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine && connectorsHit.Count() == 1)
|
||||
{
|
||||
@@ -396,9 +396,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
else
|
||||
{
|
||||
//Need to remove last item as we did not finish drawing the path
|
||||
int indexOfLastTempConnection = sourceDataItem.DataItem.Parent.Items.Count - 1;
|
||||
sourceDataItem.DataItem.Parent.DirectRemoveItemCommand.Execute(
|
||||
sourceDataItem.DataItem.Parent.Items[indexOfLastTempConnection]);
|
||||
int indexOfLastTempConnection = sourceDataItem.DataItem.Root.Items.Count - 1;
|
||||
sourceDataItem.DataItem.Root.DirectRemoveItemCommand.Execute(
|
||||
sourceDataItem.DataItem.Root.Items[indexOfLastTempConnection]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
if (designerItem != null && designerItem.IsSelected)
|
||||
{
|
||||
// we only move DesignerItems
|
||||
designerItems = designerItem.Parent.SelectedItems.ToList();
|
||||
designerItems = designerItem.Root.SelectedItems.ToList();
|
||||
if (designerItem is ConnectorViewModel connector)
|
||||
{
|
||||
designerItems.Add(connector.SourceConnectorInfo.DataItem);
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
void DragThumb_DragDelta(object sender, DragDeltaEventArgs e)
|
||||
{
|
||||
if (this.DataContext is ConnectorPoint point)
|
||||
if (this.DataContext is ConnectorPointModel point)
|
||||
{
|
||||
point.X += e.HorizontalChange;
|
||||
point.Y += e.VerticalChange;
|
||||
|
||||
@@ -23,10 +23,10 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e)
|
||||
{
|
||||
DesignerItemViewModelBase designerItem = this.DataContext as DesignerItemViewModelBase;
|
||||
diagarmViewModel = designerItem.Parent;
|
||||
diagarmViewModel = designerItem.Root;
|
||||
if (designerItem != null && designerItem.IsSelected)
|
||||
{
|
||||
designerItems = designerItem.Parent.SelectedItems.ToList();
|
||||
designerItems = designerItem.Root.SelectedItems.ToList();
|
||||
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
|
||||
{
|
||||
item.BeginDo = true;
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
|
||||
|
||||
if (this.designerItem != null)
|
||||
{
|
||||
designerItems = designerItem.Parent.SelectedItems.ToList();
|
||||
designerItems = designerItem.Root.SelectedItems.ToList();
|
||||
|
||||
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
|
||||
{
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
PathGeometry pathGeometry = new PathGeometry();
|
||||
if (values[0] != null)
|
||||
{
|
||||
List<ConnectorPoint> points = (List<ConnectorPoint>)values[0];
|
||||
List<ConnectorPointModel> points = (List<ConnectorPointModel>)values[0];
|
||||
|
||||
PathFigure figure = new PathFigure();
|
||||
figure.StartPoint = (PointBase)points[0];
|
||||
|
||||
@@ -11,9 +11,12 @@ using System.Xml.Serialization;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
/// <summary>
|
||||
/// 连接线
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(ConnectionItem))]
|
||||
public class ConnectionItem : SelectableDesignerItemBase
|
||||
public class ConnectionItem : SelectableItemBase
|
||||
{
|
||||
public ConnectionItem()
|
||||
{
|
||||
@@ -39,7 +42,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
this.SinkInnerPoint = viewmodel.SinkConnectorInfoFully.IsInnerPoint;
|
||||
this.RouterMode = viewmodel.RouterMode;
|
||||
this.PathMode = viewmodel.PathMode;
|
||||
this.Vertices = viewmodel.Vertices.Select(p => (Point)p.MiddlePosition).ToList();
|
||||
this.Vertices = viewmodel.Vertices.Select(p => new ConnectorVertexItem(p)).ToList();
|
||||
this.Labels = viewmodel.Labels.Select(p => new ConnectorLabelItem(p)).ToList();
|
||||
}
|
||||
|
||||
|
||||
@@ -97,28 +101,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public List<Point> Vertices
|
||||
[XmlArray]
|
||||
public List<ConnectorVertexItem> Vertices
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("Vertices")]
|
||||
public string XmlVertices
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializePointList(Vertices);
|
||||
}
|
||||
set
|
||||
{
|
||||
Vertices = SerializeHelper.DeserializePointList(value);
|
||||
}
|
||||
}
|
||||
|
||||
[XmlArray]
|
||||
public List<ConnectorLabelItem> Connectors
|
||||
public List<ConnectorLabelItem> Labels
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
@@ -4,20 +4,57 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorItem
|
||||
/// <summary>
|
||||
/// 连接点
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(ConnectorItem))]
|
||||
public class ConnectorItem : SelectableItemBase
|
||||
{
|
||||
public Guid ParentId { get; set; }
|
||||
public Guid Id { get; set; }
|
||||
public ConnectorItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorItem(FullyCreatedConnectorInfo viewmodel) : base(viewmodel)
|
||||
{
|
||||
XRatio = viewmodel.XRatio;
|
||||
YRatio = viewmodel.YRatio;
|
||||
ConnectorWidth = viewmodel.ConnectorWidth;
|
||||
ConnectorHeight = viewmodel.ConnectorHeight;
|
||||
Orientation = viewmodel.Orientation;
|
||||
IsInnerPoint = viewmodel.IsInnerPoint;
|
||||
ValueTypePoint = viewmodel.ValueTypePoint;
|
||||
ConnectorValue = viewmodel.ConnectorValue;
|
||||
}
|
||||
|
||||
|
||||
[XmlAttribute]
|
||||
public double XRatio { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public double YRatio { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorWidth { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorHeight { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public ConnectorOrientation Orientation { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public bool IsInnerPoint { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public ValueTypePoint ValueTypePoint { get; set; }
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorValue { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Xml.Serialization;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorLabelItem
|
||||
/// <summary>
|
||||
/// 连接点文字
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(ConnectorLabelItem))]
|
||||
public class ConnectorLabelItem : ConnectorPointItem
|
||||
{
|
||||
public ConnectorLabelItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorLabelItem(ConnectorLabelModel viewmodel) : base(viewmodel)
|
||||
{
|
||||
Distance = viewmodel.Distance;
|
||||
Offset = viewmodel.Offset;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double? Distance
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public Point Offset
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
[XmlAttribute("Offset")]
|
||||
public string XmlOffset
|
||||
{
|
||||
get
|
||||
{
|
||||
return SerializeHelper.SerializePoint(Offset);
|
||||
}
|
||||
set
|
||||
{
|
||||
Offset = SerializeHelper.DeserializePoint(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 连接中间点
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(ConnectorPointItem))]
|
||||
public class ConnectorPointItem : SelectableItemBase
|
||||
{
|
||||
public ConnectorPointItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPointItem(ConnectorPointModel viewmodel) : base(viewmodel)
|
||||
{
|
||||
X = viewmodel.X;
|
||||
Y = viewmodel.Y;
|
||||
ConnectorWidth = viewmodel.ConnectorWidth;
|
||||
ConnectorHeight = viewmodel.ConnectorHeight;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double X
|
||||
{
|
||||
get;set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double Y
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorWidth
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public double ConnectorHeight
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
class ConnectorVertexItem
|
||||
/// <summary>
|
||||
/// 连接线。中间点
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(ConnectorVertexItem))]
|
||||
public class ConnectorVertexItem : ConnectorPointItem
|
||||
{
|
||||
public ConnectorVertexItem()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConnectorVertexItem(ConnectorVertexModel viewmodel) : base(viewmodel)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
[Serializable]
|
||||
[XmlInclude(typeof(DesignerItemBase))]
|
||||
public class DesignerItemBase : SelectableDesignerItemBase
|
||||
public class DesignerItemBase : SelectableItemBase
|
||||
{
|
||||
public DesignerItemBase()
|
||||
{
|
||||
|
||||
@@ -15,14 +15,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Connectors = new List<ConnectorItem>();
|
||||
foreach (var fullyCreatedConnectorInfo in item.Connectors)
|
||||
{
|
||||
ConnectorItem connector = new ConnectorItem()
|
||||
{
|
||||
XRatio = fullyCreatedConnectorInfo.XRatio,
|
||||
YRatio = fullyCreatedConnectorInfo.YRatio,
|
||||
ConnectorWidth = fullyCreatedConnectorInfo.ConnectorWidth,
|
||||
ConnectorHeight = fullyCreatedConnectorInfo.ConnectorHeight,
|
||||
Orientation = fullyCreatedConnectorInfo.Orientation
|
||||
};
|
||||
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
|
||||
Connectors.Add(connector);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,17 +18,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
this.Connectors = new List<ConnectorItem>();
|
||||
foreach (var fullyCreatedConnectorInfo in item.Connectors)
|
||||
{
|
||||
ConnectorItem connector = new ConnectorItem()
|
||||
{
|
||||
XRatio = fullyCreatedConnectorInfo.XRatio,
|
||||
YRatio = fullyCreatedConnectorInfo.YRatio,
|
||||
ConnectorWidth = fullyCreatedConnectorInfo.ConnectorWidth,
|
||||
ConnectorHeight = fullyCreatedConnectorInfo.ConnectorHeight,
|
||||
Orientation = fullyCreatedConnectorInfo.Orientation,
|
||||
IsInnerPoint = fullyCreatedConnectorInfo.IsInnerPoint,
|
||||
ValueTypePoint = fullyCreatedConnectorInfo.ValueTypePoint,
|
||||
ConnectorValue = fullyCreatedConnectorInfo.ConnectorValue
|
||||
};
|
||||
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
|
||||
this.Connectors.Add(connector);
|
||||
}
|
||||
this.OrderNumber = item.OrderNumber;
|
||||
|
||||
@@ -15,14 +15,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Connectors = new List<ConnectorItem>();
|
||||
foreach (var fullyCreatedConnectorInfo in item.Connectors)
|
||||
{
|
||||
ConnectorItem connector = new ConnectorItem()
|
||||
{
|
||||
XRatio = fullyCreatedConnectorInfo.XRatio,
|
||||
YRatio = fullyCreatedConnectorInfo.YRatio,
|
||||
ConnectorWidth = fullyCreatedConnectorInfo.ConnectorWidth,
|
||||
ConnectorHeight = fullyCreatedConnectorInfo.ConnectorHeight,
|
||||
Orientation = fullyCreatedConnectorInfo.Orientation
|
||||
};
|
||||
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
|
||||
Connectors.Add(connector);
|
||||
}
|
||||
}
|
||||
@@ -32,14 +25,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Connectors = new List<ConnectorItem>();
|
||||
foreach (var fullyCreatedConnectorInfo in item.Connectors)
|
||||
{
|
||||
ConnectorItem connector = new ConnectorItem()
|
||||
{
|
||||
XRatio = fullyCreatedConnectorInfo.XRatio,
|
||||
YRatio = fullyCreatedConnectorInfo.YRatio,
|
||||
ConnectorWidth = fullyCreatedConnectorInfo.ConnectorWidth,
|
||||
ConnectorHeight = fullyCreatedConnectorInfo.ConnectorHeight,
|
||||
Orientation = fullyCreatedConnectorInfo.Orientation
|
||||
};
|
||||
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
|
||||
Connectors.Add(connector);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,27 +13,15 @@ using System.Xml.Serialization;
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
|
||||
public abstract class SelectableDesignerItemBase
|
||||
public abstract class SelectableItemBase
|
||||
{
|
||||
public SelectableDesignerItemBase()
|
||||
public SelectableItemBase()
|
||||
{
|
||||
ColorItem = new ColorItem() { LineColor = new ColorObjectItem(), FillColor = new ColorObjectItem() };
|
||||
FontItem = new FontItem();
|
||||
}
|
||||
|
||||
//public SelectableDesignerItemBase(Guid id, int zIndex, bool isGroup, Guid parentId, IColorViewModel colorViewModel, IFontViewModel fontViewModel)
|
||||
//{
|
||||
// this.Id = id;
|
||||
// this.ZIndex = zIndex;
|
||||
// this.IsGroup = isGroup;
|
||||
// this.ParentId = parentId;
|
||||
|
||||
|
||||
// ColorItem = CopyHelper.Mapper<ColorItem>(colorViewModel);
|
||||
// FontItem = CopyHelper.Mapper<FontItem, IFontViewModel>(fontViewModel);
|
||||
//}
|
||||
|
||||
public SelectableDesignerItemBase(SelectableDesignerItemViewModelBase viewmodel)
|
||||
public SelectableItemBase(SelectableViewModelBase viewmodel)
|
||||
{
|
||||
this.Id = viewmodel.Id;
|
||||
this.ZIndex = viewmodel.ZIndex;
|
||||
@@ -45,6 +33,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
FontItem = CopyHelper.Mapper<FontItem, IFontViewModel>(viewmodel.FontViewModel);
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public Guid ParentId
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public Guid Id
|
||||
{
|
||||
@@ -63,12 +57,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public Guid ParentId
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
[XmlAttribute]
|
||||
public string Text
|
||||
{
|
||||
@@ -8,8 +8,25 @@ using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public abstract class ConnectorInfoBase : BindableBase
|
||||
public abstract class ConnectorInfoBase : SelectableViewModelBase
|
||||
{
|
||||
public ConnectorInfoBase(ConnectorOrientation orientation)
|
||||
{
|
||||
this.Orientation = orientation;
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
ColorViewModel = new ColorViewModel()
|
||||
{
|
||||
LineColor = new ColorObject() { Color = Color.FromArgb(0xAA, 0x00, 0x00, 0x80) },
|
||||
FillColor = new ColorObject() { Color = Colors.Lavender },
|
||||
};
|
||||
}
|
||||
|
||||
#region 属性
|
||||
public virtual PointBase Position
|
||||
{
|
||||
get;
|
||||
@@ -21,17 +38,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
return new PointBase(Position.X + ConnectorWidth / 2, Position.Y + ConnectorHeight / 2);
|
||||
}
|
||||
}
|
||||
|
||||
public ConnectorInfoBase(ConnectorOrientation orientation)
|
||||
{
|
||||
this.Orientation = orientation;
|
||||
ColorViewModel = new ColorViewModel()
|
||||
{
|
||||
LineColor = new ColorObject() { Color = Color.FromArgb(0xAA, 0x00, 0x00, 0x80) },
|
||||
FillColor = new ColorObject() { Color = Colors.Lavender },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private ConnectorOrientation _orientation;
|
||||
public ConnectorOrientation Orientation
|
||||
@@ -72,19 +79,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
private IColorViewModel _colorViewModel;
|
||||
public IColorViewModel ColorViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return _colorViewModel;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _colorViewModel, value);
|
||||
}
|
||||
}
|
||||
|
||||
public double _connectorValue;
|
||||
public double ConnectorValue
|
||||
{
|
||||
@@ -97,5 +91,6 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
SetProperty(ref _connectorValue, value);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,43 +4,29 @@ using SvgPathProperties;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorLabelModel : ConnectorPoint, ISelectable
|
||||
public class ConnectorLabelModel : ConnectorPointModel, ISelectable
|
||||
{
|
||||
public ConnectorLabelModel(ConnectorViewModel parent, string content, double? distance = null, PointBase? offset = null)
|
||||
public ConnectorLabelModel(ConnectorViewModel connector, string content, double? distance = null, PointBase? offset = null)
|
||||
{
|
||||
Parent = parent;
|
||||
Parent = connector;
|
||||
Text = content;
|
||||
Distance = distance;
|
||||
Offset = offset ?? new PointBase();
|
||||
FontViewModel = Parent.FontViewModel;
|
||||
ColorViewModel = Parent.ColorViewModel;
|
||||
Offset = offset ?? new PointBase();
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
DeleteLabelCommand = new SimpleCommand(DeleteLabel);
|
||||
}
|
||||
|
||||
public ConnectorViewModel Parent
|
||||
{
|
||||
get;
|
||||
}
|
||||
|
||||
public bool IsHitTestVisible
|
||||
#region 属性
|
||||
public ConnectorViewModel Connector
|
||||
{
|
||||
get
|
||||
{
|
||||
return Parent.IsHitTestVisible;
|
||||
}
|
||||
}
|
||||
|
||||
private string _text;
|
||||
public string Text
|
||||
{
|
||||
get
|
||||
{
|
||||
return _text;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _text, value);
|
||||
return Parent as ConnectorViewModel;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,8 +45,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
get; set;
|
||||
}
|
||||
|
||||
private bool _isSelected;
|
||||
public bool IsSelected
|
||||
//private bool _isSelected;
|
||||
public override bool IsSelected
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -73,7 +59,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
//如果没有文字,失去焦点自动清除
|
||||
if (_isSelected == false && string.IsNullOrEmpty(Text))
|
||||
{
|
||||
Parent.Labels.Remove(this);
|
||||
Connector.Labels.Remove(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,6 +70,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
#endregion
|
||||
|
||||
private bool updating = false;
|
||||
|
||||
@@ -120,7 +107,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
else
|
||||
{
|
||||
length = totalLength * (Parent.Labels.IndexOf(this) + 1) / (Parent.Labels.Count + 1);
|
||||
length = totalLength * (Connector.Labels.IndexOf(this) + 1) / (Connector.Labels.Count + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -153,9 +140,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
Offset += new VectorBase(0, newvalue - oldvalue);
|
||||
}
|
||||
|
||||
public void AddToSelection(bool selected)
|
||||
public override void AddToSelection(bool selected)
|
||||
{
|
||||
foreach (var item in Parent.Labels.ToList())
|
||||
foreach (var item in Connector.Labels.ToList())
|
||||
item.IsSelected = false;
|
||||
|
||||
if (selected == true)
|
||||
@@ -168,7 +155,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
if (parameter is ConnectorLabelModel label)
|
||||
{
|
||||
Parent.Labels.Remove(label);
|
||||
Connector.Labels.Remove(label);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,29 +8,35 @@ using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorPoint : BindableBase
|
||||
public class ConnectorPointModel : SelectableViewModelBase
|
||||
{
|
||||
public ConnectorPoint()
|
||||
public ConnectorPointModel()
|
||||
{
|
||||
ColorViewModel = new ColorViewModel()
|
||||
{
|
||||
LineColor = new ColorObject() { Color = Color.FromArgb(0xAA, 0x00, 0x00, 0x80) },
|
||||
FillColor = new ColorObject() { Color = Colors.Lavender },
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
public ConnectorPoint(PointBase point) : this()
|
||||
public ConnectorPointModel(PointBase point) : this()
|
||||
{
|
||||
X = point.X;
|
||||
Y = point.Y;
|
||||
}
|
||||
|
||||
public ConnectorPoint(double x, double y) : this()
|
||||
public ConnectorPointModel(double x, double y) : this()
|
||||
{
|
||||
X = x;
|
||||
Y = y;
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
ColorViewModel = new ColorViewModel()
|
||||
{
|
||||
LineColor = new ColorObject() { Color = Color.FromArgb(0xAA, 0x00, 0x00, 0x80) },
|
||||
FillColor = new ColorObject() { Color = Colors.Lavender },
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 中间X
|
||||
/// </summary>
|
||||
@@ -114,54 +120,28 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
set { connectorHeight = value; }
|
||||
}
|
||||
|
||||
private IColorViewModel _colorViewModel;
|
||||
public IColorViewModel ColorViewModel
|
||||
public static ConnectorPointModel operator -(ConnectorPointModel a, ConnectorPointModel b)
|
||||
{
|
||||
get
|
||||
{
|
||||
return _colorViewModel;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _colorViewModel, value);
|
||||
}
|
||||
return new ConnectorPointModel(a.X - b.X, a.Y - b.Y);
|
||||
}
|
||||
public static ConnectorPointModel operator +(ConnectorPointModel a, ConnectorPointModel b)
|
||||
{
|
||||
return new ConnectorPointModel(a.X + b.X, a.Y + b.Y);
|
||||
}
|
||||
|
||||
private IFontViewModel _fontViewModel;
|
||||
public IFontViewModel FontViewModel
|
||||
public static implicit operator ConnectorPointModel(PointBase point)
|
||||
{
|
||||
get
|
||||
{
|
||||
return _fontViewModel;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _fontViewModel, value);
|
||||
}
|
||||
return new ConnectorPointModel(point);
|
||||
}
|
||||
|
||||
public static ConnectorPoint operator -(ConnectorPoint a, ConnectorPoint b)
|
||||
{
|
||||
return new ConnectorPoint(a.X - b.X, a.Y - b.Y);
|
||||
}
|
||||
public static ConnectorPoint operator +(ConnectorPoint a, ConnectorPoint b)
|
||||
{
|
||||
return new ConnectorPoint(a.X + b.X, a.Y + b.Y);
|
||||
}
|
||||
|
||||
public static implicit operator ConnectorPoint(PointBase point)
|
||||
{
|
||||
return new ConnectorPoint(point);
|
||||
}
|
||||
|
||||
public static implicit operator PointBase(ConnectorPoint pointInfoBase)
|
||||
public static implicit operator PointBase(ConnectorPointModel pointInfoBase)
|
||||
{
|
||||
return new PointBase(pointInfoBase.X, pointInfoBase.Y);
|
||||
}
|
||||
|
||||
public static List<ConnectorPoint> ToList(List<PointBase> lst)
|
||||
public static List<ConnectorPointModel> ToList(List<PointBase> lst)
|
||||
{
|
||||
return lst.Select(p => (ConnectorPoint)p).ToList();
|
||||
return lst.Select(p => (ConnectorPointModel)p).ToList();
|
||||
}
|
||||
|
||||
public override string ToString() => $"ConnectorPoint(x={X}, y={Y})";
|
||||
@@ -2,31 +2,45 @@
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorVertexModel : ConnectorPoint
|
||||
public class ConnectorVertexModel : ConnectorPointModel
|
||||
{
|
||||
public ConnectorVertexModel(ConnectorViewModel parent, PointBase? position = null)
|
||||
public ConnectorVertexModel(ConnectorViewModel connector, PointBase? position = null)
|
||||
{
|
||||
Parent = parent;
|
||||
Parent = connector;
|
||||
X = position?.X ?? 0;
|
||||
Y = position?.Y ?? 0;
|
||||
Y = position?.Y ?? 0;
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
DeleteVertexCommand = new SimpleCommand(DeleteVertex);
|
||||
}
|
||||
|
||||
public ConnectorViewModel Parent
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
get;
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
}
|
||||
|
||||
public ConnectorViewModel Connector
|
||||
{
|
||||
get
|
||||
{
|
||||
return Parent as ConnectorViewModel;
|
||||
}
|
||||
}
|
||||
|
||||
public override PointBase Position
|
||||
{
|
||||
get
|
||||
{
|
||||
return new PointBase(Parent.Area.Left + Left, Parent.Area.Top + Top);
|
||||
return new PointBase(Connector.Area.Left + Left, Connector.Area.Top + Top);
|
||||
}
|
||||
}
|
||||
|
||||
public override PointBase MiddlePosition => new PointBase(Parent.Area.Left + Left + ConnectorWidth / 2, Parent.Area.Top + Top + ConnectorHeight / 2);
|
||||
public override PointBase MiddlePosition => new PointBase(Connector.Area.Left + Left + ConnectorWidth / 2, Connector.Area.Top + Top + ConnectorHeight / 2);
|
||||
|
||||
public SimpleCommand DeleteVertexCommand
|
||||
{
|
||||
@@ -37,7 +51,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
if (parameter is ConnectorVertexModel vertice)
|
||||
{
|
||||
Parent.Vertices.Remove(vertice);
|
||||
Connector.Vertices.Remove(vertice);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,15 +15,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorViewModel : SelectableDesignerItemViewModelBase
|
||||
{
|
||||
public ConnectorViewModel(IDiagramViewModel parent, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode, RouterMode routerMode)
|
||||
public ConnectorViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo, DrawMode drawMode, RouterMode routerMode)
|
||||
{
|
||||
Parent = parent;
|
||||
Root = root;
|
||||
PathMode = drawMode.ToString();
|
||||
RouterMode = routerMode.ToString();
|
||||
Init(sourceConnectorInfo, sinkConnectorInfo);
|
||||
}
|
||||
|
||||
public ConnectorViewModel(IDiagramViewModel parent, FullyCreatedConnectorInfo sourceConnectorInfo, FullyCreatedConnectorInfo sinkConnectorInfo, ConnectionItem designer) : base(parent, designer)
|
||||
public ConnectorViewModel(IDiagramViewModel root, FullyCreatedConnectorInfo sourceConnectorInfo, FullyCreatedConnectorInfo sinkConnectorInfo, ConnectionItem designer) : base(root, designer)
|
||||
{
|
||||
PathMode = designer.PathMode;
|
||||
RouterMode = designer.RouterMode;
|
||||
@@ -39,11 +39,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
protected virtual void Init(FullyCreatedConnectorInfo sourceConnectorInfo, ConnectorInfoBase sinkConnectorInfo)
|
||||
{
|
||||
this.Parent = sourceConnectorInfo.DataItem.Parent;
|
||||
this.Root = sourceConnectorInfo.DataItem.Root;
|
||||
|
||||
if (Parent != null && Parent.ColorViewModel != null)
|
||||
if (Root != null && Root.ColorViewModel != null)
|
||||
{
|
||||
this.ColorViewModel = CopyHelper.Mapper(Parent.ColorViewModel);
|
||||
this.ColorViewModel = CopyHelper.Mapper(Root.ColorViewModel);
|
||||
}
|
||||
if (sinkConnectorInfo is FullyCreatedConnectorInfo sink && sink.DataItem.ShowArrow == false)
|
||||
{
|
||||
@@ -65,14 +65,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
AddLabelCommand = new SimpleCommand(AddLabel);
|
||||
}
|
||||
|
||||
protected void LoadDesignerItemViewModel(SelectableDesignerItemBase designerbase)
|
||||
protected void LoadDesignerItemViewModel(SelectableItemBase designerbase)
|
||||
{
|
||||
ConnectionItem designer = designerbase as ConnectionItem;
|
||||
Vertices = new ObservableCollection<ConnectorVertexModel>(designer.Vertices.Select(p => new ConnectorVertexModel(this, new PointBase(p.X, p.Y))));
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
if (IsFullConnection)
|
||||
{
|
||||
@@ -92,6 +92,51 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
#region 属性
|
||||
private string _text;
|
||||
[Browsable(true)]
|
||||
[CanDo]
|
||||
public override string Text
|
||||
{
|
||||
get
|
||||
{
|
||||
var text = _text;
|
||||
if (Labels?.Count > 0)
|
||||
{
|
||||
text = Labels[0].Text;
|
||||
}
|
||||
|
||||
if (FontViewModel.FontCase == FontCase.Upper)
|
||||
{
|
||||
return text?.ToUpper();
|
||||
}
|
||||
else if (FontViewModel.FontCase == FontCase.Lower)
|
||||
{
|
||||
return text?.ToLower();
|
||||
}
|
||||
else
|
||||
{
|
||||
return text;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
if (SetProperty(ref _text, value))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_text))
|
||||
{
|
||||
if (Labels?.Count > 0)
|
||||
{
|
||||
Labels[0].Text = _text;
|
||||
}
|
||||
else
|
||||
{
|
||||
AddLabel(_text);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private PointBase _sourceA;
|
||||
public PointBase SourceA
|
||||
{
|
||||
@@ -438,8 +483,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case nameof(ConnectorPoint.X):
|
||||
case nameof(ConnectorPoint.Y):
|
||||
case nameof(ConnectorPointModel.X):
|
||||
case nameof(ConnectorPointModel.Y):
|
||||
UpdatePathGeneratorResult();
|
||||
break;
|
||||
|
||||
@@ -449,7 +494,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
switch (e.PropertyName)
|
||||
{
|
||||
case nameof(ConnectorPoint.X):
|
||||
case nameof(ConnectorPointModel.X):
|
||||
{
|
||||
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
||||
{
|
||||
@@ -457,7 +502,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
break;
|
||||
}
|
||||
case nameof(ConnectorPoint.Y):
|
||||
case nameof(ConnectorPointModel.Y):
|
||||
{
|
||||
if (e is ValuePropertyChangedEventArgs valuePropertyChangedEventArgs)
|
||||
{
|
||||
@@ -479,13 +524,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
if (SourceConnectorInfo == null || SinkConnectorInfo == null)
|
||||
return;
|
||||
|
||||
var route = Router.Get(Parent, this);
|
||||
var route = Router.Get(Root, this);
|
||||
|
||||
(var source, var target) = FindConnectionPoints(route);
|
||||
if (source == null || target == null)
|
||||
return;
|
||||
|
||||
PathGeneratorResult = PathGenerator.Get(Parent, this, route, source.Value, target.Value);
|
||||
PathGeneratorResult = PathGenerator.Get(Root, this, route, source.Value, target.Value);
|
||||
|
||||
//修正旋转
|
||||
switch (SourceConnectorInfo.Orientation)
|
||||
@@ -560,9 +605,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
private void DeleteConnection(object args)
|
||||
{
|
||||
if (this.Parent is IDiagramViewModel)
|
||||
if (this.Root is IDiagramViewModel)
|
||||
{
|
||||
var diagramVM = this.Parent as IDiagramViewModel;
|
||||
var diagramVM = this.Root as IDiagramViewModel;
|
||||
diagramVM.RemoveItemCommand.Execute(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,12 +18,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
ShapeDefiner = Shapes.Rectangle;
|
||||
}
|
||||
|
||||
public DesignerItemViewModelBase(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public DesignerItemViewModelBase(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
ShapeDefiner = Shapes.Rectangle;
|
||||
}
|
||||
|
||||
public DesignerItemViewModelBase(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public DesignerItemViewModelBase(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
ShapeDefiner = Shapes.Rectangle;
|
||||
}
|
||||
@@ -35,9 +35,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
InitConnector();
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
DesignerItemBase designer = designerbase as DesignerItemBase;
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
this.Icon = designer.Icon;
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new DesignerItemBase(this);
|
||||
}
|
||||
@@ -382,41 +382,41 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
if (!(this is TextDesignerItemViewModel))
|
||||
{
|
||||
if (Parent.CellHorizontalAlignment == CellHorizontalAlignment.Center)
|
||||
if (Root.CellHorizontalAlignment == CellHorizontalAlignment.Center)
|
||||
{
|
||||
if (Parent.GridCellSize.Width > this.ItemWidth)
|
||||
if (Root.GridCellSize.Width > this.ItemWidth)
|
||||
{
|
||||
this.Left = (int)(this.Left / Parent.GridCellSize.Width) * Parent.GridCellSize.Width + Parent.GridMargin + (Parent.GridCellSize.Width - this.ItemWidth) / 2;
|
||||
this.Left = (int)(this.Left / Root.GridCellSize.Width) * Root.GridCellSize.Width + Root.GridMargin + (Root.GridCellSize.Width - this.ItemWidth) / 2;
|
||||
}
|
||||
}
|
||||
else if (Parent.CellHorizontalAlignment == CellHorizontalAlignment.Left)
|
||||
else if (Root.CellHorizontalAlignment == CellHorizontalAlignment.Left)
|
||||
{
|
||||
this.Left = (int)(this.Left / Parent.GridCellSize.Width) * Parent.GridCellSize.Width + Parent.GridMargin;
|
||||
this.Left = (int)(this.Left / Root.GridCellSize.Width) * Root.GridCellSize.Width + Root.GridMargin;
|
||||
}
|
||||
else if (Parent.CellHorizontalAlignment == CellHorizontalAlignment.Right)
|
||||
else if (Root.CellHorizontalAlignment == CellHorizontalAlignment.Right)
|
||||
{
|
||||
if (Parent.GridCellSize.Width > this.ItemWidth)
|
||||
if (Root.GridCellSize.Width > this.ItemWidth)
|
||||
{
|
||||
this.Left = (int)(this.Left / Parent.GridCellSize.Width) * Parent.GridCellSize.Width + Parent.GridMargin + (Parent.GridCellSize.Width - this.ItemWidth);
|
||||
this.Left = (int)(this.Left / Root.GridCellSize.Width) * Root.GridCellSize.Width + Root.GridMargin + (Root.GridCellSize.Width - this.ItemWidth);
|
||||
}
|
||||
}
|
||||
|
||||
if (Parent.CellVerticalAlignment == CellVerticalAlignment.Center)
|
||||
if (Root.CellVerticalAlignment == CellVerticalAlignment.Center)
|
||||
{
|
||||
if (Parent.GridCellSize.Height > this.ItemHeight)
|
||||
if (Root.GridCellSize.Height > this.ItemHeight)
|
||||
{
|
||||
this.Top = (int)(this.Top / Parent.GridCellSize.Height) * Parent.GridCellSize.Height + Parent.GridMargin + (Parent.GridCellSize.Height - this.ItemHeight) / 2;
|
||||
this.Top = (int)(this.Top / Root.GridCellSize.Height) * Root.GridCellSize.Height + Root.GridMargin + (Root.GridCellSize.Height - this.ItemHeight) / 2;
|
||||
}
|
||||
}
|
||||
else if (Parent.CellVerticalAlignment == CellVerticalAlignment.Top)
|
||||
else if (Root.CellVerticalAlignment == CellVerticalAlignment.Top)
|
||||
{
|
||||
this.Top = (int)(this.Top / Parent.GridCellSize.Height) * Parent.GridCellSize.Height + Parent.GridMargin;
|
||||
this.Top = (int)(this.Top / Root.GridCellSize.Height) * Root.GridCellSize.Height + Root.GridMargin;
|
||||
}
|
||||
else if (Parent.CellVerticalAlignment == CellVerticalAlignment.Bottom)
|
||||
else if (Root.CellVerticalAlignment == CellVerticalAlignment.Bottom)
|
||||
{
|
||||
if (Parent.GridCellSize.Height > this.ItemHeight)
|
||||
if (Root.GridCellSize.Height > this.ItemHeight)
|
||||
{
|
||||
this.Top = (int)(this.Top / Parent.GridCellSize.Height) * Parent.GridCellSize.Height + Parent.GridMargin + (Parent.GridCellSize.Height - this.ItemHeight);
|
||||
this.Top = (int)(this.Top / Root.GridCellSize.Height) * Root.GridCellSize.Height + Root.GridMargin + (Root.GridCellSize.Height - this.ItemHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -743,7 +743,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
private void Add(SelectableDesignerItemViewModelBase item)
|
||||
{
|
||||
item.Parent = this;
|
||||
item.Root = this;
|
||||
item.ZIndex = Items.Count;
|
||||
if (item.Id == Guid.Empty)
|
||||
{
|
||||
|
||||
@@ -28,12 +28,12 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel parent, SelectableDesignerItemBase designer):base(parent, designer)
|
||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel root, SelectableItemBase designer):base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SelectableDesignerItemViewModelBase(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -134,7 +134,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
if (newselect)
|
||||
{
|
||||
foreach (var designerItemViewModelBase in Parent.SelectedItems.ToList())
|
||||
foreach (var designerItemViewModelBase in Root.SelectedItems.ToList())
|
||||
{
|
||||
designerItemViewModelBase._isSelected = false;
|
||||
}
|
||||
@@ -145,13 +145,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
public override void AddToSelection(bool selected)
|
||||
{
|
||||
foreach (SelectableDesignerItemViewModelBase item in Parent.SelectedItems.ToList())
|
||||
foreach (SelectableDesignerItemViewModelBase item in Root.SelectedItems.ToList())
|
||||
item.IsSelected = false;
|
||||
|
||||
Parent.SelectedItems.Clear();
|
||||
Root.SelectedItems.Clear();
|
||||
if (selected == true)
|
||||
{
|
||||
Parent.SelectionService.AddToSelection(this);
|
||||
Root.SelectionService.AddToSelection(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,21 +26,21 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel parent, SelectableDesignerItemBase designer)
|
||||
public SelectableViewModelBase(IDiagramViewModel root, SelectableItemBase designer)
|
||||
{
|
||||
Init();
|
||||
LoadDesignerItemViewModel(parent, designer);
|
||||
LoadDesignerItemViewModel(root, designer);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase(IDiagramViewModel parent, string json)
|
||||
public SelectableViewModelBase(IDiagramViewModel root, string json)
|
||||
{
|
||||
Init();
|
||||
LoadDesignerItemViewModel(parent, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableDesignerItemBase);
|
||||
LoadDesignerItemViewModel(root, JsonConvert.DeserializeObject(json, ToXmlType()) as SelectableItemBase);
|
||||
(FontViewModel as FontViewModel).PropertyChanged += FontViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
public virtual SelectableDesignerItemBase ToXmlObject()
|
||||
public virtual SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@@ -72,9 +72,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
LockObjectViewModel = new LockObjectViewModel();
|
||||
}
|
||||
|
||||
protected virtual void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected virtual void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
this.Parent = parent;
|
||||
this.Root = root;
|
||||
|
||||
this.Id = designerbase.Id;
|
||||
this.ParentId = designerbase.ParentId;
|
||||
@@ -86,10 +86,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
FontViewModel = CopyHelper.Mapper<FontViewModel, FontItem>(designerbase.FontItem);
|
||||
}
|
||||
|
||||
public IDiagramViewModel Parent
|
||||
public IDiagramViewModel Root
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public SelectableViewModelBase Parent
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
public Guid Id
|
||||
{
|
||||
get; set;
|
||||
@@ -148,10 +154,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Parent?.IsReadOnly == true && Parent?.IsLoading == false)
|
||||
if (Root?.IsReadOnly == true && Root?.IsLoading == false)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Parent?.IsReadOnly == true)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (LockObjectViewModel?.LockObject.FirstOrDefault(p => p.LockFlag == LockFlag.All)?.IsChecked == true)
|
||||
{
|
||||
return true;
|
||||
@@ -170,10 +182,15 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Parent?.IsHitTestVisible == false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return _isHitTestVisible;
|
||||
}
|
||||
set
|
||||
{
|
||||
{
|
||||
if (SetProperty(ref _isHitTestVisible, value))
|
||||
{
|
||||
RaisePropertyChanged("IsReadOnly");
|
||||
|
||||
@@ -25,17 +25,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public GifImageItemViewModel(IDiagramViewModel parent, MediaDesignerItem designer) : base(parent, designer)
|
||||
public GifImageItemViewModel(IDiagramViewModel root, MediaDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public GifImageItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public GifImageItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new MediaDesignerItem(this);
|
||||
}
|
||||
@@ -60,9 +60,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
MediaDesignerItem designer = designerbase as MediaDesignerItem;
|
||||
|
||||
|
||||
@@ -20,17 +20,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public ImageItemViewModel(IDiagramViewModel parent, ImageDesignerItem designer) : base(parent, designer)
|
||||
public ImageItemViewModel(IDiagramViewModel root, ImageDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ImageItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ImageItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new ImageDesignerItem(this);
|
||||
}
|
||||
@@ -114,9 +114,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
ImageDesignerItem designer = designerbase as ImageDesignerItem;
|
||||
|
||||
|
||||
@@ -73,17 +73,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public LogicalGateItemViewModelBase(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LogicalGateItemViewModelBase(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public LogicalGateItemViewModelBase(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LogicalGateItemViewModelBase(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new LogicalGateDesignerItemBase(this);
|
||||
}
|
||||
@@ -137,9 +137,9 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
|
||||
this.LogicalType = designer.LogicalType;
|
||||
|
||||
@@ -14,17 +14,17 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public MediaItemViewModel(IDiagramViewModel parent, MediaDesignerItem designer) : base(parent, designer)
|
||||
public MediaItemViewModel(IDiagramViewModel root, MediaDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MediaItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public MediaItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new MediaDesignerItem(this);
|
||||
}
|
||||
@@ -42,7 +42,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
|
||||
|
||||
@@ -10,18 +10,18 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
}
|
||||
|
||||
public TextDesignerItemViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public TextDesignerItemViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TextDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public TextDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new TextDesignerItem(this);
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
}
|
||||
|
||||
public VideoItemViewModel(IDiagramViewModel parent, MediaDesignerItem designer) : base(parent, designer)
|
||||
public VideoItemViewModel(IDiagramViewModel root, MediaDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public VideoItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public VideoItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -14,16 +14,16 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public BarcodeDesignerItemViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public BarcodeDesignerItemViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public BarcodeDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public BarcodeDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new DesignerItemBase(this, Format.ToString());
|
||||
}
|
||||
@@ -35,9 +35,9 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), (designerbase as DesignerItemBase).Reserve.ToString());
|
||||
}
|
||||
|
||||
@@ -14,12 +14,12 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public OutLineTextDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -11,18 +11,18 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public PathItemViewModel(IDiagramViewModel parent, PathDesignerItem designer) : base(parent, designer)
|
||||
public PathItemViewModel(IDiagramViewModel root, PathDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public PathItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public PathItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new PathDesignerItem(this);
|
||||
}
|
||||
|
||||
@@ -14,17 +14,17 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public PersistDesignerItemViewModel(IDiagramViewModel parent, PersistDesignerItem designer) : base(parent, designer)
|
||||
public PersistDesignerItemViewModel(IDiagramViewModel root, PersistDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public PersistDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public PersistDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new PersistDesignerItem(this);
|
||||
}
|
||||
@@ -43,9 +43,9 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
this.ShowConnectors = false;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
PersistDesignerItem designer = designerbase as PersistDesignerItem;
|
||||
this.HostUrl = designer.HostUrl;
|
||||
|
||||
@@ -14,17 +14,17 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SettingsDesignerItemViewModel(IDiagramViewModel parent, SettingsDesignerItem designer) : base(parent, designer)
|
||||
public SettingsDesignerItemViewModel(IDiagramViewModel root, SettingsDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SettingsDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SettingsDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new SettingsDesignerItem(this);
|
||||
}
|
||||
@@ -42,9 +42,9 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
this.ShowConnectors = false;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
SettingsDesignerItem designer = designerbase as SettingsDesignerItem;
|
||||
this.Setting = designer.Setting;
|
||||
|
||||
@@ -10,12 +10,12 @@ namespace AIStudio.Wpf.DiagramHelper.Extensions.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SvgDesignerItemViewModel(IDiagramViewModel parent, MediaDesignerItem designer) : base(parent, designer)
|
||||
public SvgDesignerItemViewModel(IDiagramViewModel root, MediaDesignerItem designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SvgDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SvgDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -249,8 +249,8 @@ namespace AIStudio.Wpf.Flowchart
|
||||
break;
|
||||
case 3:
|
||||
SetStatus(flowNode, status, remark);
|
||||
FlowNodes[flowNode.Parent].ForEach(p => { if (p.Status == 100) p.Status = 0; });
|
||||
Approve(FlowNodes[flowNode.Parent][0], 100);
|
||||
FlowNodes[flowNode.Root].ForEach(p => { if (p.Status == 100) p.Status = 0; });
|
||||
Approve(FlowNodes[flowNode.Root][0], 100);
|
||||
MessageBox.Show("流程重新开始");
|
||||
break;
|
||||
case 4:
|
||||
@@ -266,7 +266,7 @@ namespace AIStudio.Wpf.Flowchart
|
||||
/// <param name="stepid"></param>
|
||||
public static void Next(string stepid, FlowNode flowNode)
|
||||
{
|
||||
FlowNode nextNode = FlowNodes[flowNode.Parent].FirstOrDefault(p => p.Id.ToString() == stepid);
|
||||
FlowNode nextNode = FlowNodes[flowNode.Root].FirstOrDefault(p => p.Id.ToString() == stepid);
|
||||
SetStatus(nextNode, 1);
|
||||
|
||||
switch (nextNode.Kind)
|
||||
@@ -312,7 +312,7 @@ namespace AIStudio.Wpf.Flowchart
|
||||
case NodeKinds.COEnd:
|
||||
foreach (var prestep in nextNode.PreStepId)
|
||||
{
|
||||
var step = FlowNodes[flowNode.Parent].FirstOrDefault(p => p.Id.ToString() == prestep);
|
||||
var step = FlowNodes[flowNode.Root].FirstOrDefault(p => p.Id.ToString() == prestep);
|
||||
if (step.Status != 100)//如果并行分支没有都完成,那么并行结束节点也未完成
|
||||
{
|
||||
return;
|
||||
@@ -333,7 +333,7 @@ namespace AIStudio.Wpf.Flowchart
|
||||
{
|
||||
if (flowNode.PreStepId != null && flowNode.PreStepId.Count == 1)
|
||||
{
|
||||
FlowNode preNode = FlowNodes[flowNode.Parent].FirstOrDefault(p => p.Id.ToString() == flowNode.PreStepId[0]);
|
||||
FlowNode preNode = FlowNodes[flowNode.Root].FirstOrDefault(p => p.Id.ToString() == flowNode.PreStepId[0]);
|
||||
if (preNode.Kind == NodeKinds.Middle)
|
||||
{
|
||||
SetStatus(preNode, 1);
|
||||
|
||||
@@ -54,10 +54,10 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
diagramNode.ParentId = nodeModel.ParentId.ToString();
|
||||
}
|
||||
diagramNode.Label = nodeModel.Text;
|
||||
diagramNode.Width = nodeModel.ItemWidth * nodeModel.Parent.ScreenScale;
|
||||
diagramNode.Height = nodeModel.ItemHeight * nodeModel.Parent.ScreenScale;
|
||||
diagramNode.X = nodeModel.Left * nodeModel.Parent.ScreenScale;
|
||||
diagramNode.Y = nodeModel.Top * nodeModel.Parent.ScreenScale;
|
||||
diagramNode.Width = nodeModel.ItemWidth * nodeModel.Root.ScreenScale;
|
||||
diagramNode.Height = nodeModel.ItemHeight * nodeModel.Root.ScreenScale;
|
||||
diagramNode.X = nodeModel.Left * nodeModel.Root.ScreenScale;
|
||||
diagramNode.Y = nodeModel.Top * nodeModel.Root.ScreenScale;
|
||||
diagramNode.ZIndex = nodeModel.ZIndex;
|
||||
diagramNode.Type = diagramNode.GetType().Name;
|
||||
diagramNode.PortAlignmentList = nodeModel.Connectors.Select(p => p.Orientation.ToString()).ToList();
|
||||
@@ -209,7 +209,7 @@ namespace AIStudio.Wpf.Flowchart.Models
|
||||
{
|
||||
nodeModel.ParentId = new Guid(diagramNode.ParentId);
|
||||
}
|
||||
nodeModel.Parent = diagram;
|
||||
nodeModel.Root = diagram;
|
||||
nodeModel.Text = diagramNode.Label;
|
||||
nodeModel.ItemWidth = diagramNode.Width / diagram.ScreenScale;
|
||||
nodeModel.ItemHeight = diagramNode.Height / diagram.ScreenScale;
|
||||
|
||||
@@ -17,17 +17,17 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
Text = Kind.GetDescription();
|
||||
}
|
||||
|
||||
public FlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public FlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public FlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public FlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new FlowNodeDesignerItem(this);
|
||||
}
|
||||
@@ -48,9 +48,9 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
FlowNodeDesignerItem designer = designerbase as FlowNodeDesignerItem;
|
||||
this.Color = designer.Color;
|
||||
@@ -132,12 +132,12 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public StartFlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public StartFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public StartFlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public StartFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -150,12 +150,12 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EndFlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public EndFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public EndFlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public EndFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -168,12 +168,12 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public DecideFlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public DecideFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DecideFlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public DecideFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -186,12 +186,12 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public COBeginFlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public COBeginFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public COBeginFlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public COBeginFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -204,12 +204,12 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public COEndFlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public COEndFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public COEndFlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public COEndFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -13,12 +13,12 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MiddleFlowNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public MiddleFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MiddleFlowNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public MiddleFlowNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -15,12 +15,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
ColorViewModel.FillColor.Color = Colors.Orange;
|
||||
}
|
||||
|
||||
public LogicalGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LogicalGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public LogicalGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LogicalGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -32,9 +32,9 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
|
||||
this.Value = designer.Value;
|
||||
@@ -68,11 +68,11 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public AddGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public AddGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public AddGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public AddGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -84,11 +84,11 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public SubtractGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public SubtractGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public SubtractGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SubtractGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -100,11 +100,11 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public MultiplyGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public MultiplyGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public MultiplyGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public MultiplyGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -117,11 +117,11 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
{
|
||||
}
|
||||
|
||||
public DivideGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public DivideGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public DivideGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public DivideGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -134,12 +134,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public AverageGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public AverageGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public AverageGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public AverageGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -152,12 +152,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MODGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public MODGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MODGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public MODGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -170,12 +170,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ANDGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ANDGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ANDGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ANDGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -188,12 +188,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ORGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ORGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ORGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ORGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -206,12 +206,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public XORGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public XORGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public XORGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public XORGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -224,12 +224,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public NOTGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public NOTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public NOTGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public NOTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -242,12 +242,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SHLGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public SHLGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SHLGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SHLGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -260,12 +260,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SHRGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public SHRGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SHRGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SHRGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -278,12 +278,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ROLGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ROLGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ROLGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ROLGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -296,12 +296,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public RORGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public RORGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public RORGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public RORGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -314,12 +314,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SELGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public SELGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SELGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SELGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -332,12 +332,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MAXGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public MAXGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MAXGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public MAXGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -350,12 +350,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public MINGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public MINGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MINGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public MINGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -368,12 +368,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LIMITGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LIMITGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public LIMITGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LIMITGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -386,12 +386,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public GTGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public GTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public GTGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public GTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -404,12 +404,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LTGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public LTGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -422,12 +422,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public GEGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public GEGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public GEGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public GEGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -440,12 +440,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LEGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LEGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public LEGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LEGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -458,12 +458,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EQGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public EQGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public EQGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public EQGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -476,12 +476,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public NEGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public NEGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public NEGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public NEGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -494,12 +494,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ABSGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ABSGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ABSGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ABSGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -512,12 +512,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SQRTGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public SQRTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SQRTGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SQRTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -530,12 +530,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LNGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LNGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public LNGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LNGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -548,12 +548,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public LOGGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public LOGGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public LOGGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public LOGGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -566,12 +566,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EXPGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public EXPGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public EXPGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public EXPGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -584,12 +584,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public SINGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public SINGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SINGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SINGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -602,12 +602,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public COSGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public COSGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public COSGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public COSGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -620,12 +620,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public TANGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public TANGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public TANGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public TANGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -638,12 +638,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ASINGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ASINGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ASINGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ASINGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -656,12 +656,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ACOSGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ACOSGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ACOSGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ACOSGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -674,12 +674,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public ATANGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ATANGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ATANGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ATANGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -692,12 +692,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public EXPTGateItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public EXPTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public EXPTGateItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public EXPTGateItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -710,12 +710,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
ItemHeight = 28;
|
||||
}
|
||||
|
||||
public ConstantDesignerItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public ConstantDesignerItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public ConstantDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public ConstantDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -728,19 +728,19 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
ItemHeight = 28;
|
||||
}
|
||||
|
||||
public InputItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public InputItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public InputItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public InputItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
|
||||
this.Value = designer.Value;
|
||||
@@ -782,19 +782,19 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
ItemHeight = 28;
|
||||
}
|
||||
|
||||
public OutputItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public OutputItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public OutputItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public OutputItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
|
||||
this.Value = designer.Value;
|
||||
@@ -843,12 +843,12 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public TimerDesignerItemViewModel(IDiagramViewModel parent, LogicalGateDesignerItemBase designer) : base(parent, designer)
|
||||
public TimerDesignerItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
BuildMenuOptions();
|
||||
}
|
||||
|
||||
public TimerDesignerItemViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public TimerDesignerItemViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
BuildMenuOptions();
|
||||
}
|
||||
@@ -862,9 +862,9 @@ namespace AIStudio.Wpf.Logical.ViewModels
|
||||
readDataTimer.Interval = 1000;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
if (IsEnabled)
|
||||
{
|
||||
|
||||
@@ -22,17 +22,8 @@ namespace AIStudio.Wpf.SFC.Models
|
||||
this.Connectors = new List<ConnectorItem>();
|
||||
foreach (var fullyCreatedConnectorInfo in item.Connectors)
|
||||
{
|
||||
ConnectorItem connector = new ConnectorItem()
|
||||
{
|
||||
XRatio = fullyCreatedConnectorInfo.XRatio,
|
||||
YRatio = fullyCreatedConnectorInfo.YRatio,
|
||||
ConnectorWidth = fullyCreatedConnectorInfo.ConnectorWidth,
|
||||
ConnectorHeight = fullyCreatedConnectorInfo.ConnectorHeight,
|
||||
Orientation = fullyCreatedConnectorInfo.Orientation,
|
||||
IsInnerPoint = fullyCreatedConnectorInfo.IsInnerPoint,
|
||||
ValueTypePoint = fullyCreatedConnectorInfo.ValueTypePoint,
|
||||
ConnectorValue = fullyCreatedConnectorInfo.ConnectorValue
|
||||
};
|
||||
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
|
||||
|
||||
this.Connectors.Add(connector);
|
||||
}
|
||||
Kind = item.Kind;
|
||||
|
||||
@@ -16,12 +16,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddLeftInput(null);
|
||||
}
|
||||
|
||||
public SFCActionNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCActionNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SFCActionNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCActionNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -17,11 +17,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddBottomOutput(null);
|
||||
}
|
||||
|
||||
public SFCCOBeginNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCCOBeginNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public SFCCOBeginNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCCOBeginNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -17,11 +17,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddTopInput(null);
|
||||
}
|
||||
|
||||
public SFCCOEndNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCCOEndNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public SFCCOEndNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCCOEndNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -20,11 +20,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddBottomOutput(null);
|
||||
}
|
||||
|
||||
public SFCConditionNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCConditionNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public SFCConditionNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCConditionNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -21,17 +21,17 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ItemHeight = 40;
|
||||
}
|
||||
|
||||
public SFCNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public SFCNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override SelectableDesignerItemBase ToXmlObject()
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new SFCNodeDesignerItem(this);
|
||||
}
|
||||
@@ -54,9 +54,9 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel parent, SelectableDesignerItemBase designerbase)
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(parent, designerbase);
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
SFCNodeDesignerItem designer = designerbase as SFCNodeDesignerItem;
|
||||
this.Kind = designer.Kind;
|
||||
|
||||
@@ -14,11 +14,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddActionOutput(null);
|
||||
}
|
||||
|
||||
public SFCNodeNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCNodeNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public SFCNodeNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCNodeNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -13,11 +13,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddBottomOutput(null);
|
||||
}
|
||||
|
||||
public SFCStartNode(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public SFCStartNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public SFCStartNode(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public SFCStartNode(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ItemHeight = 260;
|
||||
}
|
||||
|
||||
public Simulate_ListViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public Simulate_ListViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_ListViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public Simulate_ListViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddRightOutput(null);
|
||||
}
|
||||
|
||||
public Simulate_SolenoidViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public Simulate_SolenoidViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_SolenoidViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public Simulate_SolenoidViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -16,11 +16,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddRightOutput(null);
|
||||
}
|
||||
|
||||
public Simulate_StartViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public Simulate_StartViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_StartViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public Simulate_StartViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -19,11 +19,11 @@ namespace AIStudio.Wpf.SFC.ViewModels
|
||||
ExecuteAddRightOutput(null);
|
||||
}
|
||||
|
||||
public Simulate_TankViewModel(IDiagramViewModel parent, DesignerItemBase designer) : base(parent, designer)
|
||||
public Simulate_TankViewModel(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
|
||||
{
|
||||
}
|
||||
|
||||
public Simulate_TankViewModel(IDiagramViewModel parent, string json) : base(parent, json)
|
||||
public Simulate_TankViewModel(IDiagramViewModel root, string json) : base(root, json)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user