diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-10-28 13:55:52 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-10-28 13:55:52 +0200 |
| commit | 521326ce426ed0cd5b8d92b280cdf0c7213e7b50 (patch) | |
| tree | 3c3f8e7f1490a6d848ed307ee108c04fad80fa0a /Software/Visual_Studio/MachineStudio/Modules | |
| parent | a43d087e6d77333cd6f40642acb731519697998e (diff) | |
| parent | abc09fbcd0a9c0883b957378d71679be776b6f56 (diff) | |
| download | Tango-521326ce426ed0cd5b8d92b280cdf0c7213e7b50.tar.gz Tango-521326ce426ed0cd5b8d92b280cdf0c7213e7b50.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
8 files changed, 138 insertions, 15 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareCompareResult.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareCompareResult.cs index 6021f309e..b596862da 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareCompareResult.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareCompareResult.cs @@ -7,9 +7,20 @@ using Tango.Core; namespace Tango.MachineStudio.HardwareDesigner.Comparison { - public class HardwareCompareResult + /// <summary> + /// class HardwareCompareResult contains collection of HardwareComponentCollectionCompareResult + /// </summary> + /// <seealso cref="Tango.MachineStudio.HardwareDesigner.Comparison.IHasDifference" /> + public class HardwareCompareResult: IHasDifference { + /// <summary> + /// Gets or sets the collections. + /// </summary> + /// <value> + /// The collections. + /// </value> public SynchronizedObservableCollection<HardwareComponentCollectionCompareResult> Collections { get; set; } + public bool HasDifferences { get diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCollectionCompareResult.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCollectionCompareResult.cs index c3c370f7a..871136bbc 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCollectionCompareResult.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCollectionCompareResult.cs @@ -7,7 +7,11 @@ using Tango.Core; namespace Tango.MachineStudio.HardwareDesigner.Comparison { - public class HardwareComponentCollectionCompareResult + /// <summary> + /// class HardwareComponentCollectionCompareResult contains list of HardwareComponentCompareResult + /// </summary> + /// <seealso cref="Tango.MachineStudio.HardwareDesigner.Comparison.IHasDifference" /> + public class HardwareComponentCollectionCompareResult: IHasDifference { public String CollectionName { get; set; } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCompareResult.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCompareResult.cs index 447984a5f..2d89c9cea 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCompareResult.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCompareResult.cs @@ -7,12 +7,28 @@ using Tango.Core; namespace Tango.MachineStudio.HardwareDesigner.Comparison { - public class HardwareComponentCompareResult + /// <summary> + /// class HardwareComponentCompareResult contains collection of HardwareComponentPropertyResult + /// </summary> + /// <seealso cref="Tango.MachineStudio.HardwareDesigner.Comparison.IHasDifference" /> + public class HardwareComponentCompareResult: IHasDifference { public String ComponentName { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance has component1 of a hardware version ( from left panel). + /// </summary> + /// <value> + /// <c>true</c> if this instance has component1; otherwise, <c>false</c>. + /// </value> public bool HasComponent1 { get; set; } + /// <summary> + /// Gets or sets a value indicating whether this instance has component2 of a hardware version ( from right panel). + /// </summary> + /// <value> + /// <c>true</c> if this instance has component2; otherwise, <c>false</c>. + /// </value> public bool HasComponent2 { get; set; } public SynchronizedObservableCollection<HardwareComponentPropertyResult> Properties { get; set; } @@ -21,7 +37,7 @@ namespace Tango.MachineStudio.HardwareDesigner.Comparison { get { - return Properties.Any(item => item.IsDifferent); + return Properties.Any(item => item.HasDifferences); } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentPropertyResult.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentPropertyResult.cs index d57413af1..f2e006270 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentPropertyResult.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentPropertyResult.cs @@ -6,13 +6,37 @@ using System.Threading.Tasks; namespace Tango.MachineStudio.HardwareDesigner.Comparison { - public class HardwareComponentPropertyResult + /// <summary> + /// class HardwareComponentPropertyResult contains 2 values of a property for the comparison hardware versions + /// </summary> + /// <seealso cref="Tango.MachineStudio.HardwareDesigner.Comparison.IHasDifference" /> + public class HardwareComponentPropertyResult: IHasDifference { + /// <summary> + /// Gets or sets the name of the property. + /// </summary> + /// <value> + /// The name of the property. + /// </value> public String PropertyName { get; set; } + + /// <summary> + /// Gets or sets the value1 of one ( left panel) hardware version + /// </summary> + /// <value> + /// The value1. + /// </value> public String Value1 { get; set; } + + /// <summary> + /// Gets or sets the value2 of the second ( right panel) hardware version + /// </summary> + /// <value> + /// The value2. + /// </value> public String Value2 { get; set; } - public bool IsDifferent + public bool HasDifferences { get { return Value1 != Value2; } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/IHasDifference.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/IHasDifference.cs new file mode 100644 index 000000000..a452c07f8 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/IHasDifference.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.MachineStudio.HardwareDesigner.Comparison +{ + interface IHasDifference + { + /// <summary> + /// Gets a value indicating whether this instance has differences. + /// </summary> + bool HasDifferences { get; } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj index b40dd2088..fce8b09a5 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj @@ -73,6 +73,7 @@ <Compile Include="Comparison\HardwareComponentCollectionCompareResult.cs" /> <Compile Include="Comparison\HardwareComponentCompareResult.cs" /> <Compile Include="Comparison\HardwareComponentPropertyResult.cs" /> + <Compile Include="Comparison\IHasDifference.cs" /> <Compile Include="Report\ReportModel.cs" /> <Compile Include="ViewModelLocator.cs" /> <Compile Include="ViewModels\ComparisonWizardViewVM.cs" /> @@ -197,7 +198,7 @@ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <ProjectExtensions> <VisualStudio> - <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" /> + <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" /> </VisualStudio> </ProjectExtensions> </Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs index 628613fea..47a40ade4 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs @@ -19,12 +19,23 @@ using Tango.SharedUI; namespace Tango.MachineStudio.HardwareDesigner.ViewModels { + /// <summary> + /// class ComparisonWizardViewVM is view model of dialog for compare properties of 2 hardware versions + /// </summary> + /// <seealso cref="Tango.SharedUI.DialogViewVM" /> public class ComparisonWizardViewVM : DialogViewVM { private INotificationProvider _notification; #region Properties private ObservableCollection<HardwareVersion> _hardwareVersions; + + /// <summary> + /// Gets or sets the hardware versions. Contains all available versions. + /// </summary> + /// <value> + /// The hardware versions. + /// </value> public ObservableCollection<HardwareVersion> HardwareVersions { get { return _hardwareVersions; } @@ -32,6 +43,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private HardwareVersion _selectedVersion1; + + /// <summary> + /// Gets or sets the selected version1 contains selected value from left combo box + /// </summary> + /// <value> + /// The selected version1. + /// </value> public HardwareVersion SelectedVersion1 { get { return _selectedVersion1; } @@ -47,6 +65,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private HardwareVersion _selectedVersion2; + + /// <summary> + /// Gets or sets the selected version2 contains selected value from right combo box + /// </summary> + /// <value> + /// The selected version2. + /// </value> public HardwareVersion SelectedVersion2 { get { return _selectedVersion2; } @@ -63,6 +88,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private bool _isShowDifference; + + /// <summary> + /// Gets or sets a value indicating whether this instance is show difference. Binding to value of checkbox in GUI. + /// </summary> + /// <value> + /// <c>true</c> if this instance is show difference; otherwise, <c>false</c>. + /// </value> public bool IsShowDifference { get { return _isShowDifference; } @@ -74,6 +106,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private HardwareCompareResult _result; + + /// <summary> + /// Gets or sets the result. Contains result of the comparison properties from selected versions. + /// </summary> + /// <value> + /// The result. + /// </value> public HardwareCompareResult Result { get @@ -89,6 +128,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private bool _isRunning; + public bool IsRunning { get { return _isRunning; } @@ -103,7 +143,6 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels #endregion - #region Constructors public ComparisonWizardViewVM(IEnumerable<HardwareVersion> availableVersions, HardwareVersion selectedVersion, INotificationProvider notification) @@ -123,10 +162,11 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels #region Report + /// <summary> + /// Generates the report. Save properties in .csv file in format Collection name/Component name/Property name/Value1 of version1/Value2 of version 2 + /// </summary> private void GenerateReport() { - _notification.ShowError($"Error generating HW version comparison report.\n"); - SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "Save Report"; dlg.Filter = "CSV Files|*.csv"; @@ -159,7 +199,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels model_component.Component = component.ComponentName; csvFile.Append(model_component); - foreach (var prop in component.Properties.Where(x => x.IsDifferent || !IsShowDifference)) + foreach (var prop in component.Properties.Where(x => x.HasDifferences || !IsShowDifference)) { ReportModel model = new ReportModel(); model.Property = prop.PropertyName; @@ -183,6 +223,8 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels #endregion + #region Selected Version Changed + private async void OnSelectedVersionChanged() { if (SelectedVersion1 != null && SelectedVersion2 != null) @@ -200,7 +242,8 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels }); } } - } + } + #endregion #region Compare Versions @@ -218,6 +261,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels return _result; } + private HardwareComponentCollectionCompareResult CompareMotorsCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -239,6 +283,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareDancerCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -260,6 +305,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult ComparePidControlsCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -281,6 +327,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareWindersCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -302,6 +349,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareSpeedSensorsCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -323,6 +371,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareBlowersCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -344,6 +393,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareBreakSensorCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -385,6 +435,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels return result; } + private List<PropertyInfo> GetComponentProperties(Type componentType) { List<String> exclude = new List<string>() diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml index d8a125e02..19980b4dc 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml @@ -14,7 +14,7 @@ <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" /> <Style TargetType="TextBlock" x:Key="DifferenceTextBoxStyle"> <Style.Triggers> - <DataTrigger Binding="{Binding IsDifferent}" Value="True" > + <DataTrigger Binding="{Binding HasDifferences}" Value="True" > <Setter Property="Foreground" Value="{StaticResource RedBrush100}"/> </DataTrigger> </Style.Triggers> @@ -100,7 +100,7 @@ <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" /> - <Condition Binding="{Binding IsDifferent}" Value="False" /> + <Condition Binding="{Binding HasDifferences}" Value="False" /> </MultiDataTrigger.Conditions> <MultiDataTrigger.Setters> <Setter Property="Visibility" Value="Collapsed" /> @@ -197,7 +197,7 @@ <MultiDataTrigger> <MultiDataTrigger.Conditions> <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" /> - <Condition Binding="{Binding IsDifferent}" Value="False" /> + <Condition Binding="{Binding HasDifferences}" Value="False" /> </MultiDataTrigger.Conditions> <MultiDataTrigger.Setters> <Setter Property="Visibility" Value="Collapsed" /> |
