Sic02-new/SicUI/Controls/WaferAssociationUnit.xaml

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>