aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-10-28 13:55:52 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-10-28 13:55:52 +0200
commit521326ce426ed0cd5b8d92b280cdf0c7213e7b50 (patch)
tree3c3f8e7f1490a6d848ed307ee108c04fad80fa0a /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner
parenta43d087e6d77333cd6f40642acb731519697998e (diff)
parentabc09fbcd0a9c0883b957378d71679be776b6f56 (diff)
downloadTango-521326ce426ed0cd5b8d92b280cdf0c7213e7b50.tar.gz
Tango-521326ce426ed0cd5b8d92b280cdf0c7213e7b50.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareCompareResult.cs13
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCollectionCompareResult.cs6
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentCompareResult.cs20
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/HardwareComponentPropertyResult.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Comparison/IHasDifference.cs16
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs61
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml6
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" />