mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-02 15:50:51 +08:00
@@ -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>
|
||||
|
||||
@@ -265,7 +265,7 @@
|
||||
VerticalAlignment="Bottom"
|
||||
HorizontalAlignment="Left"
|
||||
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"
|
||||
HorizontalAlignment="Left"
|
||||
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
|
||||
@@ -288,8 +288,7 @@
|
||||
HorizontalAlignment="Center"
|
||||
Visibility="{Binding Path=ShowConnectors, Converter={x:Static dd:BoolToVisibilityConverter.Instance}}" >
|
||||
<TextBlock Text="✚" FontWeight="Bold" FontSize="16" Foreground="DarkGray" />
|
||||
</Button>
|
||||
|
||||
</Button>-->
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
|
||||
|
||||
@@ -592,7 +592,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearConnectors()
|
||||
public virtual void ClearConnectors()
|
||||
{
|
||||
connectors.Clear();
|
||||
}
|
||||
|
||||
@@ -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++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user