EquipmentTopView.xaml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <UserControl x:Class="VirgoUI.Client.Controls.Parts.EquipmentTopView"
  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:parts="clr-namespace:VirgoUI.Controls.Parts"
  7. xmlns:parts1="clr-namespace:VirgoUI.Client.Controls.Parts"
  8. xmlns:converters="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"
  9. mc:Ignorable="d"
  10. d:DesignHeight="636" d:DesignWidth="621">
  11. <UserControl.Resources>
  12. <ResourceDictionary>
  13. <converters:enum2BoolConverter x:Key="enum2BoolConverter"/>
  14. <converters:bool2VisibilityConverter x:Key="bool2VisibilityConvert"/>
  15. <ResourceDictionary.MergedDictionaries>
  16. <ResourceDictionary Source="/VirgoUI;component/Themes/Generic.xaml" />
  17. </ResourceDictionary.MergedDictionaries>
  18. </ResourceDictionary>
  19. </UserControl.Resources>
  20. <Canvas Margin="0">
  21. <Canvas.Resources>
  22. <Storyboard x:Key="ATMDoor_Open">
  23. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  24. <EasingDoubleKeyFrame KeyTime="0" Value="38"/>
  25. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="5"/>
  26. </DoubleAnimationUsingKeyFrames>
  27. </Storyboard>
  28. <Storyboard x:Key="ATMDoor_Close">
  29. <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Height)" >
  30. <EasingDoubleKeyFrame KeyTime="0" Value="5"/>
  31. <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="38"/>
  32. </DoubleAnimationUsingKeyFrames>
  33. </Storyboard>
  34. <Style TargetType="{x:Type Rectangle}" x:Key="SlitValveA_Animation" >
  35. <Style.Triggers>
  36. <DataTrigger Binding="{Binding PMASlitValveIsOpen}" Value="true">
  37. <DataTrigger.EnterActions>
  38. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>
  39. </DataTrigger.EnterActions>
  40. <DataTrigger.ExitActions>
  41. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>
  42. </DataTrigger.ExitActions>
  43. </DataTrigger>
  44. </Style.Triggers>
  45. </Style>
  46. <Style TargetType="{x:Type Rectangle}" x:Key="SlitValveB_Animation" >
  47. <Style.Triggers>
  48. <DataTrigger Binding="{Binding PMBSlitValveIsOpen}" Value="true">
  49. <DataTrigger.EnterActions>
  50. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>
  51. </DataTrigger.EnterActions>
  52. <DataTrigger.ExitActions>
  53. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>
  54. </DataTrigger.ExitActions>
  55. </DataTrigger>
  56. </Style.Triggers>
  57. </Style>
  58. <Style TargetType="{x:Type Rectangle}" x:Key="LP1_Animation" >
  59. <Style.Triggers>
  60. <DataTrigger Binding="{Binding IsLoadedLP1}" Value="true">
  61. <DataTrigger.EnterActions>
  62. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>
  63. </DataTrigger.EnterActions>
  64. <DataTrigger.ExitActions>
  65. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>
  66. </DataTrigger.ExitActions>
  67. </DataTrigger>
  68. </Style.Triggers>
  69. </Style>
  70. <Style TargetType="{x:Type Rectangle}" x:Key="LP2_Animation" >
  71. <Style.Triggers>
  72. <DataTrigger Binding="{Binding IsLoadedLP2}" Value="true">
  73. <DataTrigger.EnterActions>
  74. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Open}"/>
  75. </DataTrigger.EnterActions>
  76. <DataTrigger.ExitActions>
  77. <BeginStoryboard Storyboard="{StaticResource ATMDoor_Close}"/>
  78. </DataTrigger.ExitActions>
  79. </DataTrigger>
  80. </Style.Triggers>
  81. </Style>
  82. </Canvas.Resources>
  83. <Image Source="/VirgoUI;component/Controls/Assets/Images/overview.png" Height="636"/>
  84. <Path Data="M204.5,180 L187.5,185 154.5,92.5 269,51.5 302.5,142 286.5,148 294,161 321.5,151 278,33 135.5,84 178.5,202 209.5,191 z" Fill="{Binding PMABackground}" Opacity="0.7" Height="169" Canvas.Left="139" Stretch="Fill" Canvas.Top="34.5" Width="186"/>
  85. <Path Data="M361.75,148 L347.25,142.75 381.5,50.25 496.5,91.75 463.5,183.5 446.25,176.75 441.25,190.25 471.75,201.5 514.5,83 372.5,31.25 330,150 357,160 z" Fill="{Binding PMBBackground}" Opacity="0.7" Height="170.25" Canvas.Left="330" Stretch="Fill" Canvas.Top="34" Width="184.5"/>
  86. <parts:WaferCtrl Width="66" Height="66" Canvas.Left="120" Canvas.Top="258" WaferData="{Binding Cooling2Wafer}" />
  87. <parts:WaferCtrl Width="66" Height="66" Canvas.Left="120" Canvas.Top="362" WaferData="{Binding Cooling1Wafer}" />
  88. <parts:WaferCtrl Width="66" Height="66" Canvas.Left="474" Canvas.Top="258" WaferData="{Binding Aligner2Wafer}" />
  89. <parts:WaferCtrl Width="66" Height="66" Canvas.Left="474" Canvas.Top="362" WaferData="{Binding Aligner1Wafer}" />
  90. <parts:WaferCtrl Width="66" Height="66" Canvas.Left="203" Canvas.Top="93" WaferData="{Binding PMAWafer}" />
  91. <parts:WaferCtrl Width="66" Height="66" Canvas.Left="386" Canvas.Top="93" WaferData="{Binding PMBWafer}" />
  92. <TextBlock Text="Cooling 1" Canvas.Left="125" Canvas.Top="440"></TextBlock>
  93. <TextBlock Text="Cooling 2" Canvas.Left="125" Canvas.Top="230"></TextBlock>
  94. <TextBlock Text="Aligner 1" Canvas.Left="481" Canvas.Top="440"></TextBlock>
  95. <TextBlock Text="Aligner 2" Canvas.Left="481" Canvas.Top="230"></TextBlock>
  96. <TextBlock Text="LP1" Canvas.Left="236" Canvas.Top="610"></TextBlock>
  97. <TextBlock Text="LP2" Canvas.Left="405" Canvas.Top="610"></TextBlock>
  98. <TextBlock Text="{Binding PMALabel}" Width="120" TextAlignment="Center" Canvas.Left="139" Canvas.Top="43" RenderTransformOrigin="0.5,0.5">
  99. <TextBlock.RenderTransform>
  100. <TransformGroup>
  101. <ScaleTransform/>
  102. <SkewTransform/>
  103. <RotateTransform Angle="-18.706"/>
  104. <TranslateTransform/>
  105. </TransformGroup>
  106. </TextBlock.RenderTransform></TextBlock>
  107. <TextBlock Text="{Binding PMBLabel}" Width="120" TextAlignment="Center" Canvas.Left="392" Canvas.Top="40" RenderTransformOrigin="0.5,0.5">
  108. <TextBlock.RenderTransform>
  109. <TransformGroup>
  110. <ScaleTransform/>
  111. <SkewTransform/>
  112. <RotateTransform Angle="20.875"/>
  113. <TranslateTransform/>
  114. </TransformGroup>
  115. </TextBlock.RenderTransform></TextBlock>
  116. <Grid x:Name="Slit_valve" Width="8" Height="76" Canvas.Left="261" Canvas.Top="163" RenderTransformOrigin="0.5,0.5" >
  117. <Grid.RenderTransform>
  118. <TransformGroup>
  119. <ScaleTransform/>
  120. <SkewTransform/>
  121. <RotateTransform Angle="70"/>
  122. <TranslateTransform/>
  123. </TransformGroup>
  124. </Grid.RenderTransform>
  125. <Rectangle x:Name="SlitValve_Top" Style="{StaticResource SlitValveA_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="38" />
  126. <Rectangle x:Name="SlitValve_Bottom" Style="{StaticResource SlitValveA_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="38" />
  127. </Grid>
  128. <Grid x:Name="Slit_valve1" Width="8" Height="76" Canvas.Left="388" Canvas.Top="162" RenderTransformOrigin="0.5,0.5" >
  129. <Grid.RenderTransform>
  130. <TransformGroup>
  131. <ScaleTransform/>
  132. <SkewTransform/>
  133. <RotateTransform Angle="109"/>
  134. <TranslateTransform/>
  135. </TransformGroup>
  136. </Grid.RenderTransform>
  137. <Rectangle x:Name="SlitValve_Top1" Style="{StaticResource SlitValveB_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="38" />
  138. <Rectangle x:Name="SlitValve_Bottom1" Style="{StaticResource SlitValveB_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="38" />
  139. </Grid>
  140. <Grid x:Name="LP1" Width="10" Height="75" Canvas.Left="259" Canvas.Top="446" RenderTransformOrigin="0.5,0.5" >
  141. <Grid.RenderTransform>
  142. <TransformGroup>
  143. <ScaleTransform/>
  144. <SkewTransform/>
  145. <RotateTransform Angle="102.206"/>
  146. <TranslateTransform/>
  147. </TransformGroup>
  148. </Grid.RenderTransform>
  149. <Rectangle x:Name="LP1_Top" Style="{StaticResource LP1_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="38" />
  150. <Rectangle x:Name="LP1_Bottom" Style="{StaticResource LP1_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="38" />
  151. </Grid>
  152. <Grid x:Name="LP2" Width="8" Height="76" Canvas.Left="388" Canvas.Top="445" RenderTransformOrigin="0.5,0.5" >
  153. <Grid.RenderTransform>
  154. <TransformGroup>
  155. <ScaleTransform/>
  156. <SkewTransform/>
  157. <RotateTransform Angle="77.853"/>
  158. <TranslateTransform/>
  159. </TransformGroup>
  160. </Grid.RenderTransform>
  161. <Rectangle x:Name="LP2_Top1" Style="{StaticResource LP2_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Top" Height="38" />
  162. <Rectangle x:Name="LP2_Bottom1" Style="{StaticResource LP2_Animation}" Fill="DimGray" Width="8" VerticalAlignment="Bottom" Height="38" />
  163. </Grid>
  164. <parts1:Foup
  165. IdleVisibility="{Binding Foup1Idle, Converter={StaticResource BoolVisibilityConverter}}"
  166. ErrorVisibility="{Binding Foup1Error, Converter={StaticResource BoolVisibilityConverter}}"
  167. BusyVisibility="{Binding Foup1Busy, Converter={StaticResource BoolVisibilityConverter}}"
  168. CompleteVisibility="{Binding Foup1Complete, Converter={StaticResource BoolVisibilityConverter}}"
  169. Visibility="{Binding Foup1Present, Converter={StaticResource BoolVisibilityConverter}}"
  170. Width="70" Height="70" Canvas.Left="219" Canvas.Top="507"/>
  171. <parts1:Foup
  172. IdleVisibility="{Binding Foup2Idle, Converter={StaticResource BoolVisibilityConverter}}"
  173. ErrorVisibility="{Binding Foup2Error, Converter={StaticResource BoolVisibilityConverter}}"
  174. BusyVisibility="{Binding Foup2Busy, Converter={StaticResource BoolVisibilityConverter}}"
  175. CompleteVisibility="{Binding Foup2Complete, Converter={StaticResource BoolVisibilityConverter}}"
  176. Visibility="{Binding Foup2Present, Converter={StaticResource BoolVisibilityConverter}}"
  177. Width="70" Height="70" Canvas.Left="368" Canvas.Top="506"/>
  178. </Canvas>
  179. </UserControl>