LoadLock.xaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <UserControl x:Class="VirgoUI.Client.Models.Controls.LoadLock"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:VirgoUI.Client.Models.Controls"
  7. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  8. xmlns:cal="http://www.caliburn.org"
  9. xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation"
  10. xmlns:converter="clr-namespace:VirgoUI.Client.Models.Converter"
  11. xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  12. mc:Ignorable="d">
  13. <UserControl.Resources>
  14. <Storyboard x:Key="ATMDoor_Open">
  15. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  16. <EasingDoubleKeyFrame KeyTime="0" Value="28.5"/>
  17. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
  18. </DoubleAnimationUsingKeyFrames>
  19. </Storyboard>
  20. <Storyboard x:Key="ATMDoor_Close">
  21. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  22. <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
  23. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="28.5"/>
  24. </DoubleAnimationUsingKeyFrames>
  25. </Storyboard>
  26. <Storyboard x:Key="SlitValve_Open">
  27. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  28. <EasingDoubleKeyFrame KeyTime="0" Value="28.5"/>
  29. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
  30. </DoubleAnimationUsingKeyFrames>
  31. </Storyboard>
  32. <Storyboard x:Key="SlitValve_Close">
  33. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  34. <EasingDoubleKeyFrame KeyTime="0" Value="1"/>
  35. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="28.5"/>
  36. </DoubleAnimationUsingKeyFrames>
  37. </Storyboard>
  38. <Storyboard x:Key="Wafer_Up">
  39. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.Top)" >
  40. <EasingDoubleKeyFrame KeyTime="0" Value="13"/>
  41. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="-5"/>
  42. </DoubleAnimationUsingKeyFrames>
  43. </Storyboard>
  44. <Storyboard x:Key="Wafer_Down">
  45. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.Top)" >
  46. <EasingDoubleKeyFrame KeyTime="0" Value="-5"/>
  47. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="13"/>
  48. </DoubleAnimationUsingKeyFrames>
  49. </Storyboard>
  50. <Style TargetType="{x:Type Rectangle}" x:Key="ATM_Animation" >
  51. <Style.Triggers>
  52. <DataTrigger Binding="{Binding ATMDoorStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="Open">
  53. <DataTrigger.EnterActions>
  54. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>
  55. </DataTrigger.EnterActions>
  56. <DataTrigger.ExitActions>
  57. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>
  58. </DataTrigger.ExitActions>
  59. </DataTrigger>
  60. </Style.Triggers>
  61. </Style>
  62. <Style TargetType="{x:Type Rectangle}" x:Key="SlitValve_Animation" >
  63. <Style.Triggers>
  64. <DataTrigger Binding="{Binding SlitValveStatus, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="Open">
  65. <DataTrigger.EnterActions>
  66. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>
  67. </DataTrigger.EnterActions>
  68. <DataTrigger.ExitActions>
  69. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>
  70. </DataTrigger.ExitActions>
  71. </DataTrigger>
  72. </Style.Triggers>
  73. </Style>
  74. </UserControl.Resources>
  75. <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
  76. <Grid.RowDefinitions>
  77. <RowDefinition Height="Auto"/>
  78. <RowDefinition Height="100"/>
  79. </Grid.RowDefinitions>
  80. <Grid.ColumnDefinitions>
  81. <ColumnDefinition Width="15"/>
  82. <ColumnDefinition />
  83. <ColumnDefinition Width="15"/>
  84. </Grid.ColumnDefinitions>
  85. <TextBlock Grid.ColumnSpan="3" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" VerticalAlignment="Center" HorizontalAlignment="Center">
  86. <Run Text="{Binding UnitData.ModuleID, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}"/>
  87. <Run Text=" Front View"/>
  88. </TextBlock>
  89. <TextBlock Grid.Row="1" Text="ATM Door" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Arial" FontSize="12" Foreground="{DynamicResource FG_Black}">
  90. <TextBlock.LayoutTransform>
  91. <TransformGroup>
  92. <ScaleTransform/>
  93. <SkewTransform/>
  94. <RotateTransform Angle="-90"/>
  95. <TranslateTransform/>
  96. </TransformGroup>
  97. </TextBlock.LayoutTransform>
  98. </TextBlock>
  99. <TextBlock Grid.Row="1" Grid.Column="2" Text="Slit Valve" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Arial" FontSize="12" Foreground="{DynamicResource FG_Black}">
  100. <TextBlock.LayoutTransform>
  101. <TransformGroup>
  102. <ScaleTransform/>
  103. <SkewTransform/>
  104. <RotateTransform Angle="90"/>
  105. <TranslateTransform/>
  106. </TransformGroup>
  107. </TextBlock.LayoutTransform>
  108. </TextBlock>
  109. <Border Grid.Column="1" Grid.Row="1" BorderThickness="1" BorderBrush="{DynamicResource FOUP_OuterBD}" Background="{DynamicResource FOUP_OuterBG}" Width="150">
  110. <Grid>
  111. <Rectangle Fill="{DynamicResource FOUP_InnerBG}" Margin="15,5,10,5"/>
  112. <Rectangle Fill="{DynamicResource FOUP_InnerBG}" Margin="0,25,0,15"/>
  113. <Rectangle Fill="{DynamicResource FOUP_InnerGrow}" Margin="18,8,13,8">
  114. <Rectangle.Effect>
  115. <BlurEffect Radius="15"/>
  116. </Rectangle.Effect>
  117. </Rectangle>
  118. <Rectangle Fill="{DynamicResource FOUP_InnerGrow}" Margin="3,28,3,18">
  119. <Rectangle.Effect>
  120. <BlurEffect Radius="15"/>
  121. </Rectangle.Effect>
  122. </Rectangle>
  123. <Grid Margin="15,10,10,10">
  124. <Grid.RowDefinitions>
  125. <RowDefinition Height="20"/>
  126. <RowDefinition/>
  127. </Grid.RowDefinitions>
  128. <Grid>
  129. <TextBlock TextWrapping="NoWrap" Text="" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="Arial" FontSize="12" TextAlignment="Center" />
  130. </Grid>
  131. <Canvas Grid.Row="1">
  132. <StackPanel x:Name="LoadLock_Body" Grid.Row="1" Width="123" Canvas.Left="0" Canvas.Top="-5">
  133. <Grid Height="22">
  134. <Rectangle Height="4" Width="20" HorizontalAlignment="Left" Fill="{DynamicResource FOUP_PathBG}" VerticalAlignment="Bottom" >
  135. <Rectangle.Effect>
  136. <DropShadowEffect Direction="270" BlurRadius="0" ShadowDepth="1"/>
  137. </Rectangle.Effect>
  138. </Rectangle>
  139. <Rectangle Height="4" Width="30" HorizontalAlignment="Right" Fill="{DynamicResource FOUP_PathBG}" VerticalAlignment="Bottom" >
  140. <Rectangle.Effect>
  141. <DropShadowEffect Direction="270" BlurRadius="0" ShadowDepth="1"/>
  142. </Rectangle.Effect>
  143. </Rectangle>
  144. <ctrl:Slot ViewType="Front" x:Name="LL2" DataContext="{Binding UnitData.WaferManager.Wafers[1], RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,6,11,0">
  145. <i:Interaction.Triggers>
  146. <i:EventTrigger EventName="SlotMouseButtonDown">
  147. <cal:ActionMessage MethodName="OnMouseUp">
  148. <cal:Parameter Value="$source" />
  149. <cal:Parameter Value="$eventargs" />
  150. </cal:ActionMessage>
  151. </i:EventTrigger>
  152. <i:EventTrigger EventName="WaferTransferStarted">
  153. <cal:ActionMessage MethodName="OnWaferTransfer">
  154. <cal:Parameter Value="$eventargs" />
  155. </cal:ActionMessage>
  156. </i:EventTrigger>
  157. </i:Interaction.Triggers>
  158. </ctrl:Slot>
  159. <TextBlock x:Name="LL_Text1" HorizontalAlignment="Right" Margin="0,0,0,4" TextWrapping="NoWrap" Text="2" Background="#FF646464" Foreground="White" VerticalAlignment="Bottom" FontFamily="Arial" FontSize="10" Width="13" TextAlignment="Center">
  160. </TextBlock>
  161. </Grid>
  162. <Grid Height="22">
  163. <Rectangle Height="4" Width="20" HorizontalAlignment="Left" Fill="{DynamicResource FOUP_PathBG}" VerticalAlignment="Bottom" >
  164. <Rectangle.Effect>
  165. <DropShadowEffect Direction="270" BlurRadius="0" ShadowDepth="1"/>
  166. </Rectangle.Effect>
  167. </Rectangle>
  168. <Rectangle Height="4" Width="30" HorizontalAlignment="Right" Fill="{DynamicResource FOUP_PathBG}" VerticalAlignment="Bottom" >
  169. <Rectangle.Effect>
  170. <DropShadowEffect Direction="270" BlurRadius="0" ShadowDepth="1"/>
  171. </Rectangle.Effect>
  172. </Rectangle>
  173. <ctrl:Slot ViewType="Front" x:Name="LL1" DataContext="{Binding UnitData.WaferManager.Wafers[0], RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}" SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,6,11,0">
  174. <i:Interaction.Triggers>
  175. <i:EventTrigger EventName="SlotMouseButtonDown">
  176. <cal:ActionMessage MethodName="OnMouseUp">
  177. <cal:Parameter Value="$source" />
  178. <cal:Parameter Value="$eventargs" />
  179. </cal:ActionMessage>
  180. </i:EventTrigger>
  181. <i:EventTrigger EventName="WaferTransferStarted">
  182. <cal:ActionMessage MethodName="OnWaferTransfer">
  183. <cal:Parameter Value="$eventargs" />
  184. </cal:ActionMessage>
  185. </i:EventTrigger>
  186. </i:Interaction.Triggers>
  187. </ctrl:Slot>
  188. <TextBlock x:Name="LL_Text2" HorizontalAlignment="Right" Margin="0,0,0,4" TextWrapping="NoWrap" Text="1" Background="#FF646464" Foreground="White" VerticalAlignment="Bottom" FontFamily="Arial" FontSize="10" Width="13" TextAlignment="Center">
  189. </TextBlock>
  190. </Grid>
  191. <StackPanel.Style>
  192. <Style>
  193. <Style.Triggers>
  194. <DataTrigger Binding="{Binding CurrentSlot, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" Value="1">
  195. <DataTrigger.EnterActions>
  196. <BeginStoryboard Storyboard="{StaticResource Wafer_Down}"/>
  197. </DataTrigger.EnterActions>
  198. <DataTrigger.ExitActions>
  199. <BeginStoryboard Storyboard="{StaticResource Wafer_Up}"/>
  200. </DataTrigger.ExitActions>
  201. </DataTrigger>
  202. </Style.Triggers>
  203. </Style>
  204. </StackPanel.Style>
  205. </StackPanel>
  206. </Canvas>
  207. </Grid>
  208. <Grid Margin="1,25,1,15">
  209. <Grid.ColumnDefinitions>
  210. <ColumnDefinition Width="8"/>
  211. <ColumnDefinition />
  212. <ColumnDefinition Width="4"/>
  213. </Grid.ColumnDefinitions>
  214. <Grid x:Name="ATM_Door">
  215. <Rectangle x:Name="ATMDoor_Top" Style="{StaticResource ATM_Animation}" Fill="Black" Width="8" VerticalAlignment="Top" Height="29" />
  216. <Rectangle x:Name="ATMDoor_Bottom" Style="{StaticResource ATM_Animation}" Fill="Black" Width="8" VerticalAlignment="Bottom" Height="29" />
  217. </Grid>
  218. <Grid x:Name="Slit_valve" Grid.Column="2">
  219. <Rectangle x:Name="SlitValve_Top" Style="{StaticResource SlitValve_Animation}" Fill="Black" Width="8" VerticalAlignment="Top" Height="29"/>
  220. <Rectangle x:Name="SlitValve_Bottom" Style="{StaticResource SlitValve_Animation}" Fill="Black" Width="8" VerticalAlignment="Bottom" Height="29"/>
  221. </Grid>
  222. </Grid>
  223. </Grid>
  224. </Border>
  225. </Grid>
  226. </UserControl>