Merge pull request !3 from 艾竹/dev
This commit is contained in:
艾竹
2023-04-24 13:49:47 +00:00
committed by Gitee
8 changed files with 35 additions and 42 deletions

View File

@@ -7,14 +7,14 @@ namespace AIStudio.Wpf.DiagramDesigner
{
public class LogicalConnectorInfo : FullyCreatedConnectorInfo
{
public LogicalConnectorInfo(DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ValueType valueTypePoint = ValueType.Real) : base(dataItem, orientation, isInnerPoint, isPortless)
public LogicalConnectorInfo(DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ConnectorValueType valueTypePoint = ConnectorValueType.Real) : base(dataItem, orientation, isInnerPoint, isPortless)
{
this.ValueType = valueTypePoint;
this.ConnectorValueType = valueTypePoint;
}
public LogicalConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ValueType valueTypePoint = ValueType.Real) : base(root, dataItem, orientation, isInnerPoint, isPortless)
public LogicalConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ConnectorValueType valueTypePoint = ConnectorValueType.Real) : base(root, dataItem, orientation, isInnerPoint, isPortless)
{
this.ValueType = valueTypePoint;
this.ConnectorValueType = valueTypePoint;
}
public LogicalConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, SelectableItemBase designer) : base(root, dataItem, designer)
@@ -37,7 +37,7 @@ namespace AIStudio.Wpf.DiagramDesigner
if (designerbase is LogicalConnectorInfoItem designer)
{
ConnectorValue = designer.ConnectorValue;
ValueType = designer.ValueType;
ConnectorValueType = designer.ConnectorValueType;
ConnectorString = designer.ConnectorString;
}
}
@@ -68,8 +68,8 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
public ValueType _valueType;
public ValueType ValueType
public ConnectorValueType _valueType;
public ConnectorValueType ConnectorValueType
{
get
{

View File

@@ -218,47 +218,47 @@ namespace AIStudio.Wpf.DiagramDesigner
return connector;
}
public List<ValueType> ValueTypeInput
public List<ConnectorValueType> ValueTypeInput
{
get
{
if (LogicalType == LogicalType.NOT)
{
return new List<ValueType>() { ValueType.Bool };
return new List<ConnectorValueType>() { ConnectorValueType.Bool };
}
else if (LogicalType == LogicalType.AND || LogicalType == LogicalType.OR || LogicalType == LogicalType.XOR
|| LogicalType == LogicalType.SHL || LogicalType == LogicalType.SHR || LogicalType == LogicalType.ROL || LogicalType == LogicalType.ROR)
{
return new List<ValueType>() { ValueType.Int };
return new List<ConnectorValueType>() { ConnectorValueType.Int };
}
else if (LogicalType == LogicalType.SEL)
{
return new List<ValueType>() { ValueType.Bool, ValueType.Real, ValueType.Real };
return new List<ConnectorValueType>() { ConnectorValueType.Bool, ConnectorValueType.Real, ConnectorValueType.Real };
}
else
{
return new List<ValueType>() { ValueType.Real };
return new List<ConnectorValueType>() { ConnectorValueType.Real };
}
}
}
public List<ValueType> ValueTypeOutput
public List<ConnectorValueType> ValueTypeOutput
{
get
{
if (LogicalType == LogicalType.GT || LogicalType == LogicalType.LT || LogicalType == LogicalType.GE || LogicalType == LogicalType.LE || LogicalType == LogicalType.EQ || LogicalType == LogicalType.NE
|| LogicalType == LogicalType.NOT)
{
return new List<ValueType>() { ValueType.Bool };
return new List<ConnectorValueType>() { ConnectorValueType.Bool };
}
else if (LogicalType == LogicalType.AND || LogicalType == LogicalType.OR || LogicalType == LogicalType.XOR
|| LogicalType == LogicalType.SHL || LogicalType == LogicalType.SHR || LogicalType == LogicalType.ROL || LogicalType == LogicalType.ROR)
{
return new List<ValueType>() { ValueType.Int };
return new List<ConnectorValueType>() { ConnectorValueType.Int };
}
else
{
return new List<ValueType>() { ValueType.Real };
return new List<ConnectorValueType>() { ConnectorValueType.Real };
}
}
}
@@ -289,11 +289,11 @@ namespace AIStudio.Wpf.DiagramDesigner
if (LogicalType == LogicalType.Output)
{
input.Value.ValueType = (connector.SourceConnectorInfo as LogicalConnectorInfo).ValueType;
input.Value.ConnectorValueType = (connector.SourceConnectorInfo as LogicalConnectorInfo).ConnectorValueType;
}
else if (LogicalType == LogicalType.NOT)
{
input.Value.ValueType = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ValueType == ValueType.Bool) ? ValueType.Bool : ValueType.Int;
input.Value.ConnectorValueType = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ConnectorValueType == ConnectorValueType.Bool) ? ConnectorValueType.Bool : ConnectorValueType.Int;
}
}
}
@@ -303,7 +303,7 @@ namespace AIStudio.Wpf.DiagramDesigner
{
foreach (var output in Output)
{
if (output.Value.ValueType == ValueType.Bool)
if (output.Value.ConnectorValueType == ConnectorValueType.Bool)
{
if (output.Value.ConnectorValue == 0)
{
@@ -331,14 +331,7 @@ namespace AIStudio.Wpf.DiagramDesigner
protected ConnectionViewModel GetSourceItem(FullyCreatedConnectorInfo sinkConnector)
{
foreach (var connector in Root?.Items.OfType<ConnectionViewModel>())
{
if (connector.SinkConnectorInfo == sinkConnector)
{
return connector;
}
}
return null;
return Root?.Items.OfType<ConnectionViewModel>().FirstOrDefault(p => p.SinkConnectorInfo == sinkConnector);
}
}
}