241 lines
18 KiB
XML
241 lines
18 KiB
XML
<UserControl x:Class="SicUI.Controls.WaferAssociationUnit"
|
|
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:sys="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
|
|
xmlns:micro="clr-namespace:Caliburn.Micro;assembly=MECF.Framework.UI.Client"
|
|
xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation">
|
|
<UserControl.Resources>
|
|
<Style TargetType="ToolTip">
|
|
<Style.Triggers>
|
|
<Trigger Property="Content"
|
|
Value="{x:Static sys:String.Empty}">
|
|
<Setter Property="Visibility"
|
|
Value="Collapsed" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</UserControl.Resources>
|
|
<Grid VerticalAlignment="Top">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"></RowDefinition>
|
|
<RowDefinition></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="24"></RowDefinition>
|
|
<RowDefinition Height="24"></RowDefinition>
|
|
<RowDefinition Height="Auto"></RowDefinition>
|
|
<RowDefinition Height="24"></RowDefinition>
|
|
<RowDefinition Height="Auto"></RowDefinition>
|
|
<RowDefinition Height="Auto"></RowDefinition>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Grid.Row="0" Orientation="Horizontal">
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">
|
|
<TextBlock Text="Lot ID" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="235" Padding="5,1">
|
|
<StackPanel Orientation="Horizontal">
|
|
<controls:TextBoxEx Text="{Binding WAInfo.LotId, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" TextSaved="{Binding WAInfo.LotIdSaved, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Mode=TwoWay}" Width="138" ></controls:TextBoxEx>
|
|
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Row="1" Orientation="Horizontal">
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Width="90" Padding="5,1">
|
|
<TextBlock Text="Sequence" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Width="235" Padding="5,1">
|
|
<StackPanel Orientation="Horizontal">
|
|
<TextBox Text="{Binding WAInfo.SequenceName, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" IsReadOnly="True" Width="138" ></TextBox>
|
|
<Button Content="Select" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="80" Padding="0" Margin="5,0,0,0">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="SelectSequence">
|
|
<micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
</Border>
|
|
</StackPanel>
|
|
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,2" HorizontalAlignment="Left" VerticalAlignment="Center">
|
|
<Button Content="Set All" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" >
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="SetAll">
|
|
<micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button Content="Deselect All" IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" Margin="5,0,0,0">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="DeselectAll">
|
|
<micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
<StackPanel Grid.Row="3" Orientation="Horizontal">
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Width="60" Padding="5,1">
|
|
<TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="103" Padding="5,1">
|
|
<TextBlock x:Name="txtJobID" Foreground="{DynamicResource FG_Black}" Text="{Binding WAInfo.JobID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" VerticalAlignment="Center" FontSize="12" FontFamily="Arial" Width="Auto" Height="20"></TextBlock>
|
|
</Border>
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="60" Padding="5,1">
|
|
<TextBlock Text="Status" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Width="102" Padding="5,1">
|
|
<TextBlock VerticalAlignment="Center" Foreground="{DynamicResource FG_Black}" Text="{Binding WAInfo.JobStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" FontSize="12" FontFamily="Arial" Width="Auto" Height="20"></TextBlock>
|
|
</Border>
|
|
</StackPanel>
|
|
<StackPanel Grid.Row="4" Orientation="Horizontal" Margin="0,2" HorizontalAlignment="Left" VerticalAlignment="Center">
|
|
<Button Content="Create Job" IsEnabled="{Binding WAInfo.IsEnableCreate, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="160" Height="25" >
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="CreateJob">
|
|
<micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button Content="Abort Job" IsEnabled="{Binding WAInfo.IsEnableAbort, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="5,0,0,0" Width="160" Height="25">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="AbortJob">
|
|
<micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
<StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
|
|
<Button Content="Start" Width="78" Height="25">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="Start">
|
|
<micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button Content="Pause" IsEnabled="{Binding WAInfo.IsEnablePause, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25" Margin="5,0,0,0">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="Pause">
|
|
<micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button Content="Resume" IsEnabled="{Binding WAInfo.IsEnableResume, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="78" Height="25" Margin="5,0,0,0">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="Resume">
|
|
<micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button Content="Stop" IsEnabled="{Binding WAInfo.IsEnableStop, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="77" Height="25" Margin="5,0,0,0">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="Stop">
|
|
<micro:Parameter Value="{Binding ElementName=txtJobID, Path=Text}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<ListBox Grid.Row="1" Focusable="False" ItemsSource="{Binding WAInfo.ModuleData.WaferManager.Wafers, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Margin="0,0">
|
|
<ListBox.Resources>
|
|
<Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
|
|
<Setter Property="Rectangle.StrokeThickness" Value="0"/>
|
|
</Style>
|
|
</ListBox.Resources>
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid Height="20">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
|
<ColumnDefinition Width="Auto"></ColumnDefinition>
|
|
</Grid.ColumnDefinitions>
|
|
<Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="40" Padding="5,1">
|
|
<TextBlock Name="txtSlotIndex" Text="{Binding SlotIndex}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Width="50" Padding="5,1">
|
|
<TextBlock Text="{Binding WaferID}" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Width="190" Padding="5,1">
|
|
<Border.Style>
|
|
<Style>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding WaferStatus}" Value="0">
|
|
<Setter Property="Border.Background" Value="{DynamicResource Table_BG_Content_Highlight}"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding WaferStatus}" Value="1">
|
|
<Setter Property="Border.Background" Value="SkyBlue"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
<TextBlock Name="txtSeqName" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" VerticalAlignment="Center"></TextBlock>
|
|
</Border>
|
|
<Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content_Highlight}" Width="95" Padding="5,1">
|
|
<Button IsEnabled="{Binding WAInfo.IsEnableCreate, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Width="80" Height="8" FontSize="11" Margin="0,-4">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="SetSequence">
|
|
<micro:Parameter Value="{Binding WAInfo, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"></micro:Parameter>
|
|
<micro:Parameter Value="{Binding SlotIndex}"></micro:Parameter>
|
|
<micro:Parameter Value="{Binding SequenceName}"></micro:Parameter>
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
<Button.Style>
|
|
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
|
|
<Setter Property="Button.Content" Value="Remove"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
|
|
<Setter Property="Button.Content" Value="Set"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding WaferStatus}" Value="0">
|
|
<Setter Property="Button.IsEnabled" Value="False"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Button.Style>
|
|
</Button>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
|
|
<Grid>
|
|
<Grid.Style>
|
|
<Style>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding WAInfo.ModuleData.IsInstalled, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="false">
|
|
<Setter Property="Grid.Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Grid.Style>
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl>
|