123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- <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>
|