diff --git a/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml b/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml index ddfb42307f7d6ca304d586204408b1c462550cda..5a9693c0425dbea0a1e237ba21ae947742ed3150 100644 --- a/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml +++ b/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml @@ -30,8 +30,8 @@ - - + + diff --git a/AIStudio.Wpf.DiagramDesigner/UserControls/DiagramControl.xaml b/AIStudio.Wpf.DiagramDesigner/UserControls/DiagramControl.xaml index 64eca6c1bf5c0822aab1ca97d3fa4f0ebcb1b34d..78af4c1908d029100bb5504baffe925267a4cf12 100644 --- a/AIStudio.Wpf.DiagramDesigner/UserControls/DiagramControl.xaml +++ b/AIStudio.Wpf.DiagramDesigner/UserControls/DiagramControl.xaml @@ -265,7 +265,7 @@ VerticalAlignment="Bottom" HorizontalAlignment="Left" Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" /> - - + --> diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs index 3014f78749714b97e662f00a42d3738d29554fb8..9062a0d7569f2ca2510dfe478755c204fe878f6a 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs @@ -592,7 +592,7 @@ namespace AIStudio.Wpf.DiagramDesigner } } - public void ClearConnectors() + public virtual void ClearConnectors() { connectors.Clear(); } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs index f995be119fb7dfb5b289dedab7071bed28cc6192..ba8c9887891049a8e1f4344859cc71c664ff83a9 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs @@ -38,17 +38,17 @@ namespace AIStudio.Wpf.DiagramDesigner public LogicalGateItemViewModelBase(IDiagramViewModel root, LogicalType logicalType) : base(root) { - this.LogicalType = logicalType; + this.LogicalType = logicalType; } public LogicalGateItemViewModelBase(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer) { - + } public LogicalGateItemViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType) { - + } public override SelectableItemBase GetSerializableObject() @@ -177,7 +177,14 @@ namespace AIStudio.Wpf.DiagramDesigner public Dictionary Input { get; set; } = new Dictionary(); public Dictionary Output { get; set; } = new Dictionary(); - public virtual LogicalConnectorInfo ExecuteAddInput(object parameter, int index = 0) + public override void ClearConnectors() + { + connectors.Clear(); + Input.Clear(); + Output.Clear(); + } + + public virtual LogicalConnectorInfo ExecuteAddInput(object parameter, int index = 0, string name = null) { if (Input.Values.Count >= 2) { @@ -185,6 +192,7 @@ namespace AIStudio.Wpf.DiagramDesigner } LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Left, true, false, ValueTypeInput.Count > index ? ValueTypeInput[index] : ValueTypeInput[0]); connector.XRatio = 0; + connector.Name = name ?? $"Input{index}"; Input.Add(Input.Count, connector); for (int i = 0; i < Input.Values.Count; i++) { @@ -195,10 +203,11 @@ namespace AIStudio.Wpf.DiagramDesigner return connector; } - public virtual LogicalConnectorInfo ExecuteAddOutput(object parameter, int index = 0) + public virtual LogicalConnectorInfo ExecuteAddOutput(object parameter, int index = 0, string name = null) { LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Right, true, false, ValueTypeOutput.Count > index ? ValueTypeOutput[index] : ValueTypeInput[0]); connector.XRatio = 1; + connector.Name = name ?? $"Output{index}"; Output.Add(Output.Count, connector); for (int i = 0; i < Output.Values.Count; i++) {