<UserControl xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core" xmlns:UserControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes" x:Class="CyberX8_MainPages.Views.DepRecipeView" 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:local="clr-namespace:CyberX8_MainPages.Views" xmlns:prism="http://prismlibrary.com/" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:converters="clr-namespace:CyberX8_MainPages.Converters" xmlns:extendedControls="clr-namespace:MECF.Framework.UI.Core.ExtendedControls;assembly=MECF.Framework.UI.Core" prism:ViewModelLocator.AutoWireViewModel="True" mc:Ignorable="d" d:DesignHeight="800" d:DesignWidth="1800" Loaded="UserControl_Loaded"> <UserControl.Resources> <converters:BoolReverseConverter x:Key="boolReverseConverter"/> <converters:BoolVisibilityConverter x:Key="boolVisibilityConverter"/> </UserControl.Resources> <Grid> <Grid.RowDefinitions> <RowDefinition Height="100"></RowDefinition> <RowDefinition Height="145"></RowDefinition> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="50"></ColumnDefinition> <ColumnDefinition Width="400"></ColumnDefinition> <ColumnDefinition Width="700"></ColumnDefinition> <ColumnDefinition Width="700"></ColumnDefinition> <ColumnDefinition/> </Grid.ColumnDefinitions> <UserControls:RecipeFileLoadControl Grid.Row="1" Grid.RowSpan="2" Grid.Column="1" Title="Dep Recipe" RecipeNodes="{Binding RecipeNodes}" OperationCommand="{Binding OperationCommand}" RecipeLocation="{Binding CurrentNode.RecipeLocation}" EditEnable="{Binding EditEnable}" CreateEnable="{Binding CreateEnable}" RecipeFileName="{Binding CurrentNode.FileName}" CreateCommand="{Binding CreateCommand}" EditCommand="{Binding EditCommand}"/> <Grid Grid.Row="1" Grid.Column="2"> <Grid.RowDefinitions> <RowDefinition Height="70"></RowDefinition> <RowDefinition Height="70"></RowDefinition> <RowDefinition/> </Grid.RowDefinitions> <GroupBox Header="PPID" Grid.Row="0"> <TextBlock Text="{Binding Recipe.Ppid}" FontSize="20" VerticalAlignment="Center" TextAlignment="Center"> </TextBlock> </GroupBox> <GroupBox Header="Description" Grid.Row="1"> <TextBlock Text="{Binding Recipe.Description}" FontSize="18" VerticalAlignment="Center" TextAlignment="Center"> </TextBlock> </GroupBox> </Grid> <Grid Grid.Row="1" Grid.Column="3"> <Grid.RowDefinitions> <RowDefinition Height="70"></RowDefinition> <RowDefinition Height="70"></RowDefinition> <RowDefinition/> <RowDefinition Height="70"></RowDefinition> </Grid.RowDefinitions> <Grid Grid.Row="0" IsEnabled="{Binding Enable}"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Button Grid.Column="0" Style="{StaticResource SysBtnStyle}" Content="Save" Height="35" Width="100" Command="{Binding SaveRecipeCommand}"></Button> <Button Grid.Column="1" Style="{StaticResource SysBtnStyle}" Content="SaveAs" Height="35" Width="100" Command="{Binding SaveAsRecipeCommand}"></Button> </Grid> <GroupBox Header="Total Time" Grid.Row="1" HorizontalAlignment="Left" Margin="40,0,0,0" Width="200"> <Grid> <Label Content="{Binding Recipe.TotalTime}" Height="30" Width="120" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="17,0,0,0"></Label> <Label Content="sec" Height="30" Width="50" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="142,0,0,0" Grid.Column="1"></Label> </Grid> </GroupBox> </Grid> <Grid Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="2"> <Grid> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="300"></ColumnDefinition> <ColumnDefinition/> </Grid.ColumnDefinitions> <GroupBox Header="Scanning" Grid.Column="0"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="60"/> <RowDefinition Height="75"/> <RowDefinition Height="75"/> <RowDefinition Height="75"/> <RowDefinition Height="75"/> <RowDefinition Height="75"/> <RowDefinition Height="75"/> <RowDefinition/> </Grid.RowDefinitions> <GroupBox Header="Chemistry" IsEnabled="{Binding Enable}"> <ComboBox Height="30" Margin="0,0,20,0" ItemsSource="{Binding ChemistryLst}" SelectedItem="{Binding Recipe.Chemistry,Mode=TwoWay}"> </ComboBox> </GroupBox> <UserControls:GroupTextBoxControl Grid.Row="1" Title="Current Warning %" Unit="%" MinValue="3" MaxValue="100" IntValue="{Binding Recipe.CurrentWarningLevel,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[CurrentWarningLevel],Mode=TwoWay}" Width="290"/> <UserControls:GroupTextBoxControl Grid.Row="2" Title="Current Fault %" Unit="%" MinValue="3" MaxValue="100" IntValue="{Binding Recipe.FaultPercent,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[FaultPercent],Mode=TwoWay}" Width="290"/> <UserControls:GroupTextBoxControl Grid.Row="3" Title="Min Voltage Fault" Unit="V" MinValue="0" MaxValue="12" IntValue="{Binding Recipe.VolatageLimitMin,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[VolatageLimitMin],Mode=TwoWay}" Width="290"/> <UserControls:GroupTextBoxControl Grid.Row="4" Title="Max Voltage Fault" Unit="V" MinValue="0" MaxValue="12" IntValue="{Binding Recipe.VolatageLimitMax,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[VolatageLimitMax],Mode=TwoWay}" Width="290"/> <UserControls:GroupTextBoxControl Grid.Row="5" Title="Max Voltage Warning" Unit="V" MinValue="0" MaxValue="12" IntValue="{Binding Recipe.VoltageWarningLevel,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[VoltageWarningLevel],Mode=TwoWay}" Width="290"/> <UserControls:GroupTextBoxControl Grid.Row="6" Title="Plating Delay" Unit="sec" MinValue="5" MaxValue="240" IntValue="{Binding Recipe.PlatingDelaySeconds,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[PlatingDelaySeconds],Mode=TwoWay}" Width="290"/> </Grid> </GroupBox> <TabControl Grid.Column="1" Background="Transparent"> <TabItem Header="RampSteps"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="100"></RowDefinition> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="220"></ColumnDefinition> <ColumnDefinition/> </Grid.ColumnDefinitions> <Grid Grid.Row="0" Grid.Column="0"> <GroupBox Header="Hot Plating" IsEnabled="{Binding Enable}" Margin="0,10,0,0"> <Grid> <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Right" IsChecked="{Binding Recipe.HotPlatingCurrentOn,Converter={StaticResource boolReverseConverter}}" Margin="0,15,40,16"></RadioButton> <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" IsChecked="{Binding Recipe.HotPlatingCurrentOn}" Margin="40,15,0,16" ></RadioButton> </Grid> </GroupBox> </Grid> <Grid Grid.Row="0" Grid.Column="1"> <GroupBox Header="Cycle Clamps" IsEnabled="{Binding Enable}" Margin="0,10,0,0"> <Grid> <RadioButton Content="False" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" IsChecked="{Binding Recipe.CycleClampsEnable,Converter={StaticResource boolReverseConverter}}" Margin="100,15,0,16"></RadioButton> <RadioButton Content="True" Height="35" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left" IsChecked="{Binding Recipe.CycleClampsEnable}" Margin="40,15,0,16" ></RadioButton> <UserControls:GroupTextBoxControl Grid.Row="1" Title="Max Tries" Unit="" MinValue="1" MaxValue="3" IntValue="{Binding Recipe.CycleClampsMaxTries,Mode=TwoWay}" ValidResult="{Binding PropertyValidResultDic[CycleClampsMaxTries],Mode=TwoWay}" Width="290"/> </Grid> </GroupBox> </Grid> <GroupBox Header="Deposition Step" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="75"></RowDefinition> <RowDefinition/> <RowDefinition Height="65"></RowDefinition> </Grid.RowDefinitions> <Grid Grid.Row="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="180"></ColumnDefinition> <ColumnDefinition Width="180"></ColumnDefinition> <ColumnDefinition Width="180"></ColumnDefinition> <ColumnDefinition Width="180"></ColumnDefinition> <ColumnDefinition/> </Grid.ColumnDefinitions> <GroupBox Header="Plating Steps"> <Label Content="{Binding Recipe.DepositionPlatingSteps}" Height="30" Width="151" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label> </GroupBox> <GroupBox Header="Total Time" Grid.Column="1"> <Label Content="{Binding Recipe.DepositionTotalTime}" Height="30" Width="151" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label> </GroupBox> <GroupBox Header="Total Current" Grid.Column="2"> <Label Height="30" Width="151" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"> <Label.Content> <TextBlock Text="{Binding Recipe.DepositionTotalCurrent,StringFormat=\{0:F3\} Amp Hours}"/> </Label.Content> </Label> </GroupBox> <GroupBox Header="Anode Type" IsEnabled="{Binding Enable}" Grid.Column="3"> <ComboBox Height="30" Margin="0,0,20,0" SelectedIndex="{Binding Recipe.AnodeType}" SelectedItem="{Binding SelectedAnodeType}"> <ComboBoxItem>Multi Zone</ComboBoxItem> <ComboBoxItem>Single Zone</ComboBoxItem> </ComboBox> </GroupBox> </Grid> <DataGrid x:Name="RampDataGrid" MinRowHeight="27" Grid.Row="1" AutoGenerateColumns="False" CanUserAddRows="False" FontFamily="Arial" FontSize="14" Margin="0,10,0,0" ItemsSource="{Binding Recipe.CurrentRampProfileSteps}" SelectionMode="Single" IsEnabled="{Binding Enable}" SelectedIndex="{Binding SelectedRampIndex,Mode=TwoWay}" > <DataGrid.Resources> <extendedControls:BindingProxy x:Key="DataShowProxy" Data="{Binding}" /> </DataGrid.Resources> <DataGrid.Columns> <DataGridTextColumn Header="Time
(Sec)" Width="70" Binding="{Binding CurrentRampDurartionSeconds,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"/> <DataGridCheckBoxColumn Header="Pulse" Binding="{Binding PulseEnabled,Mode=TwoWay}" Width="70" CanUserSort="False" CanUserReorder="False" CanUserResize="True" Visibility="{Binding Data.MultiZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}" > </DataGridCheckBoxColumn> <DataGridTextColumn Header="Forward
Current" Width="100" Binding="{Binding ForwardAmps,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" > </DataGridTextColumn> <DataGridTextColumn Header="Forward
Current2" Width="100" Binding="{Binding ForwardAmps2,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.MultiZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> <DataGridTextColumn Header="Forward
Current3" Width="100" Binding="{Binding ForwardAmps3,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.MultiZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> <DataGridTextColumn Header="Forward
Current4" Width="100" Binding="{Binding ForwardAmps4,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.MultiZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> <DataGridTextColumn Header="Forward
Current5" Width="100" Binding="{Binding ForwardAmps5,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.MultiZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> <DataGridTextColumn Header="Forward
Current6" Width="100" Binding="{Binding ForwardAmps6,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.MultiZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> <DataGridTextColumn Header="Reverse
Current" Width="100" Binding="{Binding ReversedAmps,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.SingleZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> <DataGridTextColumn Header="Shear Plate
Speed %" Width="100" Binding="{Binding ShearPlateSpeed,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" /> <DataGridTextColumn Header="Average
Current" Width="100" Binding="{Binding ForwardAmps6,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" Visibility="{Binding Data.SingleZoneShow, Converter={StaticResource boolVisibilityConverter},Source={StaticResource DataShowProxy}}"/> </DataGrid.Columns> </DataGrid> <Grid Grid.Row="2" IsEnabled="{Binding Enable}"> <Button Style="{StaticResource SysBtnStyle}" Content="Add Below" Height="35" Width="100" Command="{Binding AddBelowCommand}" HorizontalAlignment="Left" Margin="10,15,0,15"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Add Above" Height="35" Width="100" Command="{Binding AddAboveCommand}" HorizontalAlignment="Left" Margin="140,15,0,15"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Move Up" Height="35" Width="100" Command="{Binding MoveUpCommand}" HorizontalAlignment="Left" Margin="270,15,0,15"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Move Down" Height="35" Width="100" Command="{Binding MoveDownCommand}" HorizontalAlignment="Left" Margin="400,15,0,15"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Delete" Height="35" Width="100" Command="{Binding DeleteCommand}" HorizontalAlignment="Left" Margin="530,15,0,15"></Button> </Grid> </Grid> </GroupBox> </Grid> </TabItem> <TabItem Header="PulseSteps"> <GroupBox Header="Pulse Setup" Width="400" HorizontalAlignment="Left" Margin="0,10,0,0"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="150"></RowDefinition> <RowDefinition Height="120"></RowDefinition> <RowDefinition Height="200"></RowDefinition> <RowDefinition/> </Grid.RowDefinitions> <DataGrid MinRowHeight="27" AutoGenerateColumns="False" CanUserAddRows="False" FontFamily="Arial" FontSize="14" Margin="0,10,0,0" ItemsSource="{Binding Recipe.PulsePowerSupplySteps}" SelectionMode="Single" IsEnabled="{Binding Enable}" SelectedIndex="{Binding SelectedPulseIndex,Mode=TwoWay}"> <DataGrid.Resources> <extendedControls:BindingProxy x:Key="PulseTypeListProxy" Data="{Binding PulseTypeList}" /> </DataGrid.Resources> <DataGrid.Columns> <DataGridComboBoxColumn Header="Type" Width="150" ItemsSource="{Binding Data,Source={StaticResource PulseTypeListProxy}}" SelectedItemBinding="{Binding Type,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"> </DataGridComboBoxColumn> <DataGridTextColumn Header="Pulse (mSec)" Width="200" Binding="{Binding DurationHundredsMicroSeconds,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"/> </DataGrid.Columns> </DataGrid> <Grid Grid.Row="1" IsEnabled="{Binding Enable}"> <Button Style="{StaticResource SysBtnStyle}" Content="Add Below" Height="35" Width="100" Command="{Binding AddBelowPulseCommand}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,15,0,0"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Add Above" Height="35" Width="100" Command="{Binding AddAbovePulseCommand}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="140,15,0,0"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Move Up" Height="35" Width="100" Command="{Binding MoveUpPulseCommand}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="270,15,0,0"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Move Down" Height="35" Width="100" Command="{Binding MoveDownPulseCommand}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="10,65,0,0"></Button> <Button Style="{StaticResource SysBtnStyle}" Content="Delete" Height="35" Width="100" Command="{Binding DeletePulseCommand}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="140,65,0,0"></Button> </Grid> </Grid> </GroupBox> </TabItem> </TabControl> </Grid> </Grid> </Grid> </Grid> </UserControl>