mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-02 23:26:35 +08:00
添加逻辑节点支持字符串值
This commit is contained in:
@@ -7,14 +7,14 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class LogicalConnectorInfo : FullyCreatedConnectorInfo
|
||||
{
|
||||
public LogicalConnectorInfo(DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ValueTypePoint valueTypePoint = ValueTypePoint.Real) : base(dataItem, orientation, isInnerPoint, isPortless)
|
||||
public LogicalConnectorInfo(DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ValueType valueTypePoint = ValueType.Real) : base(dataItem, orientation, isInnerPoint, isPortless)
|
||||
{
|
||||
this.ValueTypePoint = valueTypePoint;
|
||||
this.ValueType = valueTypePoint;
|
||||
}
|
||||
|
||||
public LogicalConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ValueTypePoint valueTypePoint = ValueTypePoint.Real) : base(root, dataItem, orientation, isInnerPoint, isPortless)
|
||||
public LogicalConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, ConnectorOrientation orientation, bool isInnerPoint = false, bool isPortless = false, ValueType valueTypePoint = ValueType.Real) : base(root, dataItem, orientation, isInnerPoint, isPortless)
|
||||
{
|
||||
this.ValueTypePoint = valueTypePoint;
|
||||
this.ValueType = valueTypePoint;
|
||||
}
|
||||
|
||||
public LogicalConnectorInfo(IDiagramViewModel root, DesignerItemViewModelBase dataItem, SelectableItemBase designer) : base(root, dataItem, designer)
|
||||
@@ -37,7 +37,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
if (designerbase is LogicalConnectorInfoItem designer)
|
||||
{
|
||||
ConnectorValue = designer.ConnectorValue;
|
||||
ValueTypePoint = designer.ValueTypePoint;
|
||||
ValueType = designer.ValueType;
|
||||
ConnectorString = designer.ConnectorString;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,16 +55,29 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
}
|
||||
|
||||
public ValueTypePoint _valueTypePoint;
|
||||
public ValueTypePoint ValueTypePoint
|
||||
public string _connectorString;
|
||||
public string ConnectorString
|
||||
{
|
||||
get
|
||||
{
|
||||
return _valueTypePoint;
|
||||
return _connectorString;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _valueTypePoint, value);
|
||||
SetProperty(ref _connectorString, value);
|
||||
}
|
||||
}
|
||||
|
||||
public ValueType _valueType;
|
||||
public ValueType ValueType
|
||||
{
|
||||
get
|
||||
{
|
||||
return _valueType;
|
||||
}
|
||||
set
|
||||
{
|
||||
SetProperty(ref _valueType, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,47 +262,47 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
AddConnector(connector);
|
||||
}
|
||||
|
||||
public List<ValueTypePoint> ValueTypeInput
|
||||
public List<ValueType> ValueTypeInput
|
||||
{
|
||||
get
|
||||
{
|
||||
if (LogicalType == LogicalType.NOT)
|
||||
{
|
||||
return new List<ValueTypePoint>() { ValueTypePoint.Bool };
|
||||
return new List<ValueType>() { ValueType.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<ValueTypePoint>() { ValueTypePoint.Int };
|
||||
return new List<ValueType>() { ValueType.Int };
|
||||
}
|
||||
else if (LogicalType == LogicalType.SEL)
|
||||
{
|
||||
return new List<ValueTypePoint>() { ValueTypePoint.Bool, ValueTypePoint.Real, ValueTypePoint.Real };
|
||||
return new List<ValueType>() { ValueType.Bool, ValueType.Real, ValueType.Real };
|
||||
}
|
||||
else
|
||||
{
|
||||
return new List<ValueTypePoint>() { ValueTypePoint.Real };
|
||||
return new List<ValueType>() { ValueType.Real };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<ValueTypePoint> ValueTypeOutput
|
||||
public List<ValueType> 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<ValueTypePoint>() { ValueTypePoint.Bool };
|
||||
return new List<ValueType>() { ValueType.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<ValueTypePoint>() { ValueTypePoint.Int };
|
||||
return new List<ValueType>() { ValueType.Int };
|
||||
}
|
||||
else
|
||||
{
|
||||
return new List<ValueTypePoint>() { ValueTypePoint.Real };
|
||||
return new List<ValueType>() { ValueType.Real };
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -332,11 +332,11 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
if (LogicalType == LogicalType.Output)
|
||||
{
|
||||
input.Value.ValueTypePoint = (connector.SourceConnectorInfo as LogicalConnectorInfo).ValueTypePoint;
|
||||
input.Value.ValueType = (connector.SourceConnectorInfo as LogicalConnectorInfo).ValueType;
|
||||
}
|
||||
else if (LogicalType == LogicalType.NOT)
|
||||
{
|
||||
input.Value.ValueTypePoint = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ValueTypePoint == ValueTypePoint.Bool) ? ValueTypePoint.Bool : ValueTypePoint.Int;
|
||||
input.Value.ValueType = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ValueType == ValueType.Bool) ? ValueType.Bool : ValueType.Int;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -346,7 +346,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
foreach (var output in Output)
|
||||
{
|
||||
if (output.Value.ValueTypePoint == ValueTypePoint.Bool)
|
||||
if (output.Value.ValueType == ValueType.Bool)
|
||||
{
|
||||
if (output.Value.ConnectorValue == 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user