From d38f11e7587031d61b6286e1704a5851431dc263 Mon Sep 17 00:00:00 2001 From: kwai Date: Mon, 24 Apr 2023 20:10:17 +0800 Subject: [PATCH] connect --- .../Converters/ConectorValueConverter.cs | 10 +++--- .../Enums/ValueTypePoint.cs | 2 +- .../Connector/LogicalConnectorInfoItem.cs | 4 +-- .../Themes/ConnectorItem.xaml | 4 +-- .../Connector/LogicalConnectorInfo.cs | 14 ++++---- .../LogicalGateItemViewModelBase.cs | 33 ++++++++----------- Directory.Build.Props | 2 +- .../ViewModels/LogicalGateItemViewModel.cs | 8 ++--- 8 files changed, 35 insertions(+), 42 deletions(-) diff --git a/AIStudio.Wpf.DiagramDesigner/Converters/ConectorValueConverter.cs b/AIStudio.Wpf.DiagramDesigner/Converters/ConectorValueConverter.cs index 5e831ef..17d9257 100644 --- a/AIStudio.Wpf.DiagramDesigner/Converters/ConectorValueConverter.cs +++ b/AIStudio.Wpf.DiagramDesigner/Converters/ConectorValueConverter.cs @@ -18,21 +18,21 @@ namespace AIStudio.Wpf.DiagramDesigner { throw new NotImplementedException(); } - if (values[0] is double && values[2] is ValueType) + if (values[0] is double && values[2] is ConnectorValueType) { double connectorValue = (double)values[0]; string connectorString = values[1] as string; - ValueType valueTypePoint = (ValueType)values[2]; + ConnectorValueType valueTypePoint = (ConnectorValueType)values[2]; - if (valueTypePoint == ValueType.Bool) + if (valueTypePoint == ConnectorValueType.Bool) { return (connectorValue == 0) ? "F" : "T"; } - else if (valueTypePoint == ValueType.Int) + else if (valueTypePoint == ConnectorValueType.Int) { return connectorValue.ToString("0"); } - else if (valueTypePoint == ValueType.Real) + else if (valueTypePoint == ConnectorValueType.Real) { return connectorValue.ToString("f3"); } diff --git a/AIStudio.Wpf.DiagramDesigner/Enums/ValueTypePoint.cs b/AIStudio.Wpf.DiagramDesigner/Enums/ValueTypePoint.cs index 7133bc3..c2dcfba 100644 --- a/AIStudio.Wpf.DiagramDesigner/Enums/ValueTypePoint.cs +++ b/AIStudio.Wpf.DiagramDesigner/Enums/ValueTypePoint.cs @@ -4,7 +4,7 @@ using System.Text; namespace AIStudio.Wpf.DiagramDesigner { - public enum ValueType + public enum ConnectorValueType { Real = 0, Int = 1, diff --git a/AIStudio.Wpf.DiagramDesigner/Models/Serializables/Connector/LogicalConnectorInfoItem.cs b/AIStudio.Wpf.DiagramDesigner/Models/Serializables/Connector/LogicalConnectorInfoItem.cs index 5ff9915..ad303b2 100644 --- a/AIStudio.Wpf.DiagramDesigner/Models/Serializables/Connector/LogicalConnectorInfoItem.cs +++ b/AIStudio.Wpf.DiagramDesigner/Models/Serializables/Connector/LogicalConnectorInfoItem.cs @@ -20,13 +20,13 @@ namespace AIStudio.Wpf.DiagramDesigner public LogicalConnectorInfoItem(LogicalConnectorInfo viewmodel) : base(viewmodel) { - ValueType = viewmodel.ValueType; + ConnectorValueType = viewmodel.ConnectorValueType; ConnectorValue = viewmodel.ConnectorValue; ConnectorString = viewmodel.ConnectorString; } [XmlAttribute] - public ValueType ValueType + public ConnectorValueType ConnectorValueType { get; set; } diff --git a/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml b/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml index 5b77ff9..ddfb423 100644 --- a/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml +++ b/AIStudio.Wpf.DiagramDesigner/Themes/ConnectorItem.xaml @@ -60,7 +60,7 @@ - + @@ -87,7 +87,7 @@ - + diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/LogicalConnectorInfo.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/LogicalConnectorInfo.cs index 1f4c770..29b7203 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/LogicalConnectorInfo.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/LogicalConnectorInfo.cs @@ -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 { diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs index 80ea4b4..f995be1 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/DefaultViewModel/LogicalGateItemViewModelBase.cs @@ -209,47 +209,47 @@ namespace AIStudio.Wpf.DiagramDesigner return connector; } - public List ValueTypeInput + public List ValueTypeInput { get { if (LogicalType == LogicalType.NOT) { - return new List() { ValueType.Bool }; + return new List() { 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.Int }; + return new List() { ConnectorValueType.Int }; } else if (LogicalType == LogicalType.SEL) { - return new List() { ValueType.Bool, ValueType.Real, ValueType.Real }; + return new List() { ConnectorValueType.Bool, ConnectorValueType.Real, ConnectorValueType.Real }; } else { - return new List() { ValueType.Real }; + return new List() { ConnectorValueType.Real }; } } } - public List ValueTypeOutput + public List 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.Bool }; + return new List() { 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.Int }; + return new List() { ConnectorValueType.Int }; } else { - return new List() { ValueType.Real }; + return new List() { ConnectorValueType.Real }; } } } @@ -280,11 +280,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; } } } @@ -294,7 +294,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) { @@ -322,14 +322,7 @@ namespace AIStudio.Wpf.DiagramDesigner protected ConnectionViewModel GetSourceItem(FullyCreatedConnectorInfo sinkConnector) { - foreach (var connector in Root?.Items.OfType()) - { - if (connector.SinkConnectorInfo == sinkConnector) - { - return connector; - } - } - return null; + return Root?.Items.OfType().FirstOrDefault(p => p.SinkConnectorInfo == sinkConnector); } } } diff --git a/Directory.Build.Props b/Directory.Build.Props index 2eece1a..44deea0 100644 --- a/Directory.Build.Props +++ b/Directory.Build.Props @@ -1,7 +1,7 @@ - net461;netcoreapp3.1;net5.0-windows;net6.0-windows + net6.0-windows diff --git a/Extensions/AIStudio.Wpf.Logical/ViewModels/LogicalGateItemViewModel.cs b/Extensions/AIStudio.Wpf.Logical/ViewModels/LogicalGateItemViewModel.cs index 6bd56bc..80c7338 100644 --- a/Extensions/AIStudio.Wpf.Logical/ViewModels/LogicalGateItemViewModel.cs +++ b/Extensions/AIStudio.Wpf.Logical/ViewModels/LogicalGateItemViewModel.cs @@ -533,15 +533,15 @@ namespace AIStudio.Wpf.Logical.ViewModels { foreach (var output in Output) { - if (Input[0].ValueType == DiagramDesigner.ValueType.Bool) + if (Input[0].ConnectorValueType == DiagramDesigner.ConnectorValueType.Bool) { output.Value.ConnectorValue = Convert.ToInt32(!Convert.ToBoolean(Input[0].ConnectorValue)); - output.Value.ValueType = DiagramDesigner.ValueType.Bool; + output.Value.ConnectorValueType = DiagramDesigner.ConnectorValueType.Bool; } else { output.Value.ConnectorValue = ~Convert.ToInt32(Input[0].ConnectorValue); - output.Value.ValueType = DiagramDesigner.ValueType.Int; + output.Value.ConnectorValueType = DiagramDesigner.ConnectorValueType.Int; } } base.CalculateOutput(); @@ -1807,7 +1807,7 @@ namespace AIStudio.Wpf.Logical.ViewModels foreach (var output in Output) { output.Value.ConnectorValue = first.ConnectorValue; - output.Value.ValueType = first.ValueType; + output.Value.ConnectorValueType = first.ConnectorValueType; } base.CalculateOutput(); } -- Gitee