This commit is contained in:
艾竹
2023-04-23 22:44:15 +08:00
parent 1cef64c7c8
commit e5d187d8c8
3 changed files with 17 additions and 8 deletions

View File

@@ -30,8 +30,8 @@
</DataTemplate>
<DataTemplate DataType="{x:Type dd:LogicalConnectorInfo}">
<Grid>
<Grid Width="{Binding ConnectorWidth}" Height="{Binding ConnectorHeight}" HorizontalAlignment="Left" VerticalAlignment="Top">
<Grid ToolTip="{Binding Name}">
<Grid Width="{Binding ConnectorWidth}" Height="{Binding ConnectorHeight}" HorizontalAlignment="Left" VerticalAlignment="Top">
<Grid.ContextMenu>
<ContextMenu ItemsSource="{Binding MenuOptions}">
<ContextMenu.ItemContainerStyle>

View File

@@ -592,7 +592,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
public void ClearConnectors()
public virtual void ClearConnectors()
{
connectors.Clear();
}

View File

@@ -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<int, LogicalConnectorInfo> Input { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
public Dictionary<int, LogicalConnectorInfo> Output { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
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++)
{