aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2019-09-02 14:46:14 +0300
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2019-09-02 14:46:14 +0300
commit3b3967d9d1106c1df0d975eb1c2e47170746528c (patch)
tree3abf0a25dcea43aa340cb988846e9bd9dffcc83c /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views
parent8b952ce1a4d38255b19a4346534dd6e7b1ab7824 (diff)
downloadTango-3b3967d9d1106c1df0d975eb1c2e47170746528c.tar.gz
Tango-3b3967d9d1106c1df0d975eb1c2e47170746528c.zip
Implemented hardware versions comparison tool.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml332
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml7
3 files changed, 367 insertions, 0 deletions
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
new file mode 100644
index 000000000..af18d0003
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml
@@ -0,0 +1,332 @@
+<UserControl x:Class="Tango.MachineStudio.HardwareDesigner.Views.ComparisonWizardView"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:local="clr-namespace:Tango.MachineStudio.HardwareDesigner.ViewModels"
+ mc:Ignorable="d"
+ d:DesignHeight="800" d:DesignWidth="800" Height="700" Width="1100">
+ <UserControl.Resources>
+ <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
+ <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" />
+ <Style TargetType="TextBlock" x:Key="DifferenceTextBoxStyle">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsDifferent}" Value="True" >
+ <Setter Property="Foreground" Value="red"/>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ <Style TargetType="TextBlock" x:Key="CollectionHasDifferenceTextBox">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding HasDifferences}" Value="True" >
+ <Setter Property="Foreground" Value="red"/>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ <Style TargetType="ItemsControl" >
+ <Setter Property="FontSize" Value="14"></Setter>
+ <Setter Property="FontWeight" Value="Normal"></Setter>
+ </Style>
+ </UserControl.Resources>
+ <Grid>
+ <Grid Margin="10">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="40"></RowDefinition>
+ <RowDefinition Height="40"></RowDefinition>
+ <RowDefinition Height="*" MinHeight="200"></RowDefinition>
+ <RowDefinition Height="Auto"></RowDefinition>
+ </Grid.RowDefinitions>
+ <UniformGrid Columns="3" Grid.Row="0" >
+ <!--<materialDesign:PackIcon Kind="Pencil" Width="24" Height="24" Foreground="Silver" VerticalAlignment="Center" Margin="5,5,0,0"/>-->
+ <ComboBox Margin="10 0 0 0" HorizontalAlignment="Left" IsEnabled="{Binding IsFree}" ItemsSource="{Binding HardwareVersions}" SelectedItem="{Binding SelectedVersion1}" Width="300" FontSize="16" FontWeight="Bold" materialDesign:HintAssist.Hint="Hardware Version 1">
+ <ComboBox.ItemTemplate>
+ <DataTemplate>
+ <TextBlock><Run Text="{Binding Name}"></Run> <Run></Run> <Run Foreground="{StaticResource MainWindow.Foreground}" FontSize="14">v</Run><Run Foreground="{StaticResource MainWindow.Foreground}" FontSize="14" Text="{Binding Version}"></Run></TextBlock>
+ </DataTemplate>
+ </ComboBox.ItemTemplate>
+ </ComboBox>
+
+ <TextBlock Text="Comparison Wizard" Foreground="Silver" FontStyle="Italic" FontWeight="Bold" FontSize="28" HorizontalAlignment="Center" VerticalAlignment="Center" ></TextBlock>
+
+ <ComboBox IsEnabled="{Binding IsFree}" ItemsSource="{Binding HardwareVersions}" SelectedItem="{Binding SelectedVersion2}" Width="300" FontSize="16" FontWeight="Bold" materialDesign:HintAssist.Hint="Hardware Version 2">
+ <ComboBox.ItemTemplate>
+ <DataTemplate>
+ <TextBlock><Run Text="{Binding Name}"></Run> <Run></Run> <Run Foreground="{StaticResource MainWindow.Foreground}" FontSize="14">v</Run><Run Foreground="{StaticResource MainWindow.Foreground}" FontSize="14" Text="{Binding Version}"></Run></TextBlock>
+ </DataTemplate>
+ </ComboBox.ItemTemplate>
+ </ComboBox>
+ <!--<Button Command="{Binding CompareCommand}" FontSize="16" Width="100" HorizontalAlignment="Right">Comp</Button>-->
+ </UniformGrid>
+ <StackPanel Orientation="Horizontal" Grid.Row="1" VerticalAlignment="Center" Margin="10 0 0 0" HorizontalAlignment="Left">
+ <CheckBox Name="cbShowOnlyDifference" IsChecked="{Binding IsShowDifference}" VerticalAlignment="Center"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="Show Only Differences" FontSize="16" FontWeight="Normal"></TextBlock>
+ </StackPanel>
+ <Grid Grid.Row="2">
+ <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="0 0 0 0" >
+ <Grid >
+ <ItemsControl Margin="0, 0, 0, 0" Name="lvDataBinding" ItemsSource="{Binding Result.Collections}" HorizontalContentAlignment="Stretch"
+ VerticalContentAlignment="Top" >
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <StackPanel Orientation="Vertical">
+ <TextBlock Margin="0,10,0,5" Text="{Binding CollectionName}" FontSize="22" FontWeight="SemiBold" HorizontalAlignment="Center" VerticalAlignment="Center" Style="{StaticResource CollectionHasDifferenceTextBox}"/>
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="500*"/>
+ <ColumnDefinition Width="500*"/>
+ </Grid.ColumnDefinitions>
+ <Border Name="LeftB" Grid.Column="0" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
+ <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource WhiteBackgroundBrush}" Padding="20 10">
+ <StackPanel Orientation="Vertical">
+ <ItemsControl Margin="10,0,0,0" Name="ComponentListLeft" ItemsSource="{Binding Components}" HorizontalContentAlignment="Stretch">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <StackPanel Orientation="Vertical">
+ <TextBlock Margin="0,5,0,5" Text="{Binding ComponentName}" FontWeight="SemiBold" FontSize="18" Style="{StaticResource CollectionHasDifferenceTextBox}"/>
+ <Grid>
+ <ItemsControl Grid.Row="1" Margin="10" Name="PropertyListL" ItemsSource="{Binding Properties}" HorizontalContentAlignment="Stretch">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="8*" />
+ <ColumnDefinition Width="2*"/>
+ </Grid.ColumnDefinitions>
+ <TextBlock Text="{Binding PropertyName}" FontWeight="Normal" Grid.Column="0" Style="{StaticResource DifferenceTextBoxStyle}"/>
+ <TextBlock Text="{Binding Value1}" Grid.Column="1" Style="{StaticResource DifferenceTextBoxStyle}"/>
+ </Grid>
+ <DataTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" />
+ <Condition Binding="{Binding IsDifferent}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </DataTemplate.Triggers>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ <ItemsControl.Style>
+ <Style TargetType="ItemsControl">
+ <Setter Property="Visibility" Value="Visible" />
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding HasComponent1}" Value="False" />
+ <Condition Binding="{Binding HasComponent2}" Value="True" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Hidden" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ItemsControl.Style>
+ </ItemsControl>
+ <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent" Height="{Binding ActualHeight, ElementName=PropertyListL}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed" />
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding HasComponent1}" Value="False" />
+ <Condition Binding="{Binding HasComponent2}" Value="True" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Visible" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+ <TextBlock Text="None" Foreground="Red" FontWeight="SemiBold" HorizontalAlignment="Center" FontSize="16" VerticalAlignment="Center"/>
+ </Border>
+ </Grid>
+ </StackPanel>
+ <DataTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding HasComponent1}" Value="False" />
+ <Condition Binding="{Binding HasComponent2}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" />
+ <Condition Binding="{Binding HasDifferences}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </DataTemplate.Triggers>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </StackPanel>
+ </materialDesign:Card>
+ </Border>
+ <Border Name="RightB" Grid.Column="1" Margin="10,0,0,0">
+ <materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource WhiteBackgroundBrush}" Padding="20 10">
+ <StackPanel Orientation="Vertical">
+ <ItemsControl Margin="10,0,0,0" Name="ComponentListRight" ItemsSource="{Binding Components}" HorizontalContentAlignment="Stretch">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <StackPanel Orientation="Vertical">
+ <TextBlock Margin="0,5,0,5" FontSize="18" Text="{Binding ComponentName}" FontWeight="SemiBold" Style="{StaticResource CollectionHasDifferenceTextBox}"/>
+ <Grid>
+ <ItemsControl Grid.Row="1" Margin="10" Name="PropertyListR" ItemsSource="{Binding Properties}" HorizontalContentAlignment="Stretch">
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="8*" />
+ <ColumnDefinition Width="2*"/>
+ </Grid.ColumnDefinitions>
+ <TextBlock Text="{Binding PropertyName}" FontWeight="Normal" Grid.Column="0" Style="{StaticResource DifferenceTextBoxStyle}"/>
+ <TextBlock Text="{Binding Value2}" Grid.Column="1" Style="{StaticResource DifferenceTextBoxStyle}"/>
+ </Grid>
+ <DataTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" />
+ <Condition Binding="{Binding IsDifferent}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </DataTemplate.Triggers>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ <ItemsControl.Style>
+ <Style TargetType="ItemsControl">
+ <Setter Property="Visibility" Value="Visible" />
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding HasComponent2}" Value="False" />
+ <Condition Binding="{Binding HasComponent1}" Value="True" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Hidden" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </ItemsControl.Style>
+ </ItemsControl>
+ <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="Transparent" Height="{Binding ActualHeight, ElementName=PropertyListR}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed" />
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding HasComponent2}" Value="False" />
+ <Condition Binding="{Binding HasComponent1}" Value="True" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Visible" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+ <TextBlock Text="None" FontWeight="SemiBold" HorizontalAlignment="Center" FontSize="16" VerticalAlignment="Center" Foreground="Red"/>
+ </Border>
+ </Grid>
+ </StackPanel>
+ <DataTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding HasComponent1}" Value="False" />
+ <Condition Binding="{Binding HasComponent2}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" />
+ <Condition Binding="{Binding HasDifferences}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </DataTemplate.Triggers>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </StackPanel>
+ </materialDesign:Card>
+ </Border>
+ </Grid>
+ </StackPanel>
+ <DataTemplate.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding ElementName=cbShowOnlyDifference, Path=IsChecked}" Value="True" />
+ <Condition Binding="{Binding HasDifferences}" Value="False" />
+ </MultiDataTrigger.Conditions>
+ <MultiDataTrigger.Setters>
+ <Setter Property="Visibility" Value="Collapsed" />
+ </MultiDataTrigger.Setters>
+ </MultiDataTrigger>
+ </DataTemplate.Triggers>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ </Grid>
+ </ScrollViewer>
+
+ </Grid>
+ <Grid Grid.Row="3" Margin="0,30,0,0">
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
+
+ <Button Height="40" Command="{Binding GenerateReportCommand}" Margin="0,0,20,0">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Kind="FileExcel" Width="24" Height="24" />
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center">GENERATE REPORT</TextBlock>
+ </StackPanel>
+ </Button>
+
+ <Button Width="140" Height="40" Command="{Binding OKCommand}">CLOSE</Button>
+ </StackPanel>
+ </Grid>
+
+ </Grid>
+ <Border CornerRadius="5" HorizontalAlignment="Center" VerticalAlignment="Center" Background="#F6F6F6" Width="700" Height="350">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Hidden"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Result}" Value="{x:Null}">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
+
+ <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16" Foreground="Gray">Select two hardware versions to display a comparison report</TextBlock>
+ </Border>
+ <Grid HorizontalAlignment="Stretch" Margin="10" VerticalAlignment="Stretch" Visibility="{Binding IsRunning,Converter={StaticResource BooleanToVisibilityConverter}}"
+ Background="#93FFFFFF">
+ <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
+ <mahapps:ProgressRing Foreground="#007ACC" Width="80" Height="80"></mahapps:ProgressRing>
+ <TextBlock Text="Loading..." FontStyle="Italic" Margin="10 0 0 0" FontSize="30" VerticalAlignment="Center" Foreground="Silver"></TextBlock>
+ </StackPanel>
+ </Grid>
+ </Grid>
+</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml.cs
new file mode 100644
index 000000000..f3cc7519a
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/ComparisonWizardView.xaml.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.MachineStudio.HardwareDesigner.Views
+{
+ /// <summary>
+ /// Interaction logic for ComparisonWizardView.xaml
+ /// </summary>
+ public partial class ComparisonWizardView : UserControl
+ {
+ public ComparisonWizardView()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
index 9308fce5a..86cc089e5 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
@@ -64,7 +64,14 @@
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
+
</StackPanel>
+ <Button Margin="100,10,0,0" Cursor="Hand" Height="40" FontSize="12" ToolTip="Open Comparison Wizard" Command="{Binding OpenComparisonWizardCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Width="24" Height="24" Kind="Compare"/>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="16">Comparison Wizard</TextBlock>
+ </StackPanel>
+ </Button>
</StackPanel>
</Grid>