diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2019-09-02 14:46:14 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2019-09-02 14:46:14 +0300 |
| commit | 3b3967d9d1106c1df0d975eb1c2e47170746528c (patch) | |
| tree | 3abf0a25dcea43aa340cb988846e9bd9dffcc83c /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views | |
| parent | 8b952ce1a4d38255b19a4346534dd6e7b1ab7824 (diff) | |
| download | Tango-3b3967d9d1106c1df0d975eb1c2e47170746528c.tar.gz Tango-3b3967d9d1106c1df0d975eb1c2e47170746528c.zip | |
Implemented hardware versions comparison tool.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views')
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> |
