Merge pull request !4 from 艾竹/master
This commit is contained in:
艾竹
2023-04-24 13:51:29 +00:00
committed by Gitee
4 changed files with 19 additions and 11 deletions

View File

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

View File

@@ -265,7 +265,7 @@
VerticalAlignment="Bottom" VerticalAlignment="Bottom"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" /> Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" />
<Button Margin="-30" Background="Transparent" BorderThickness="0" <!--<Button Margin="-30" Background="Transparent" BorderThickness="0"
VerticalAlignment="Center" VerticalAlignment="Center"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" > Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
@@ -288,8 +288,7 @@
HorizontalAlignment="Center" HorizontalAlignment="Center"
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" > Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
<TextBlock Text="✚" FontWeight="Bold" FontSize="16" Foreground="DarkGray" /> <TextBlock Text="✚" FontWeight="Bold" FontSize="16" Foreground="DarkGray" />
</Button> </Button>-->
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>

View File

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

View File

@@ -38,17 +38,17 @@ namespace AIStudio.Wpf.DiagramDesigner
public LogicalGateItemViewModelBase(IDiagramViewModel root, LogicalType logicalType) : base(root) 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, SelectableItemBase designer) : base(root, designer)
{ {
} }
public LogicalGateItemViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType) public LogicalGateItemViewModelBase(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{ {
} }
public override SelectableItemBase GetSerializableObject() 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> Input { get; set; } = new Dictionary<int, LogicalConnectorInfo>();
public Dictionary<int, LogicalConnectorInfo> Output { 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) 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]); LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Left, true, false, ValueTypeInput.Count > index ? ValueTypeInput[index] : ValueTypeInput[0]);
connector.XRatio = 0; connector.XRatio = 0;
connector.Name = name ?? $"Input{index}";
Input.Add(Input.Count, connector); Input.Add(Input.Count, connector);
for (int i = 0; i < Input.Values.Count; i++) for (int i = 0; i < Input.Values.Count; i++)
{ {
@@ -195,10 +203,11 @@ namespace AIStudio.Wpf.DiagramDesigner
return connector; 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]); LogicalConnectorInfo connector = new LogicalConnectorInfo(this, ConnectorOrientation.Right, true, false, ValueTypeOutput.Count > index ? ValueTypeOutput[index] : ValueTypeInput[0]);
connector.XRatio = 1; connector.XRatio = 1;
connector.Name = name ?? $"Output{index}";
Output.Add(Output.Count, connector); Output.Add(Output.Count, connector);
for (int i = 0; i < Output.Values.Count; i++) for (int i = 0; i < Output.Values.Count; i++)
{ {