RinseUIControl.xaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <UserControl x:Class="CyberX8_Themes.UserControls.RinseUIControl"
  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:CyberX8_Themes.UserControls"
  7. xmlns:userControls="clr-namespace:CyberX8_Themes.UserControls"
  8. xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls"
  9. xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
  10. mc:Ignorable="d" x:Name="self"
  11. d:DesignHeight="450" d:DesignWidth="800">
  12. <UserControl.Resources>
  13. <Style x:Key="FillValvaMenuControlStyle" TargetType="MenuItem">
  14. <Style.Triggers>
  15. <DataTrigger Binding="{Binding RinseCommonData.WaferHolderClamp}" Value="False">
  16. <Setter Property="IsEnabled" Value="False"/>
  17. </DataTrigger>
  18. </Style.Triggers>
  19. </Style>
  20. <Style x:Key="InterLockControlStyle" TargetType="MenuItem" BasedOn="{StaticResource FillValvaMenuControlStyle}">
  21. <Style.Triggers>
  22. <DataTrigger Binding="{Binding InterLock}" Value="True">
  23. <Setter Property="IsEnabled" Value="True"/>
  24. </DataTrigger>
  25. </Style.Triggers>
  26. </Style>
  27. <converters:BoolToBool x:Key="boolToBool"/>
  28. <ContextMenu x:Key="IsClampValveOpen">
  29. <MenuItem Header="Open" Click="OpenClampValve_Click"/>
  30. <MenuItem Header="Close" Click="CloseClampValve_Click"/>
  31. </ContextMenu>
  32. <ContextMenu x:Key="IsN2ValveOpen">
  33. <MenuItem Header="Open" Click="OpenN2Valve_Click"/>
  34. <MenuItem Header="Close" Click="CloseN2Valve_Click"/>
  35. </ContextMenu>
  36. <ContextMenu x:Key="IsDrainValveOpen">
  37. <MenuItem Header="Open" Click="OpenDrainValve_Click"/>
  38. <MenuItem Header="Close" Click="CloseDrainValve_Click"/>
  39. </ContextMenu>
  40. <ContextMenu x:Key="IsWasteValveOpen">
  41. <MenuItem Header="Wastes" Click="OpenWasteValve_Click"/>
  42. <MenuItem Header="Metals" Click="CloseWasteValve_Click"/>
  43. </ContextMenu>
  44. <ContextMenu x:Key="IsFillValveOpen">
  45. <MenuItem Header="Open" Click="OpenFillValve_Click" Style="{StaticResource InterLockControlStyle}"/>
  46. <MenuItem Header="Close" Click="CloseFillValve_Click"/>
  47. </ContextMenu>
  48. <converters:BoolToVisibility2 x:Key="boolToVisibility2"></converters:BoolToVisibility2>
  49. <converters:BoolToOrientation x:Key="boolToOrientation"></converters:BoolToOrientation>
  50. </UserControl.Resources>
  51. <Grid>
  52. <Canvas Panel.ZIndex="2">
  53. <Rectangle x:Name="GrowingRectangle" Fill="PaleGreen" Height="{Binding ElementName=self,Path=UIWaterLevel}" Width="172" VerticalAlignment="Center" Canvas.Left="376" Canvas.Bottom="195"/>
  54. </Canvas>
  55. <Label Content="Clamp Valve" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="215,0,0,414"/>
  56. <Label Content="Weir" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="551,0,0,363"/>
  57. <Label Content="N2 Valve" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="242,0,0,194"/>
  58. <Label Content="N2" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="181,0,0,176"/>
  59. <Label Content="Fill Valve" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="241,0,0,138"/>
  60. <Label Content="DI Water" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="71,0,0,123"/>
  61. <Label Content="Drain Valve" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="339,0,0,101"/>
  62. <Label Content="Slow Drain" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="528,0,0,118"/>
  63. <Label Content="Waste Drain" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="133,0,0,0"/>
  64. <Label Content="Metals Drain" FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="22,0,0,0"/>
  65. <Image Source="pack://application:,,,/CyberX8_Themes;component/Themes/Images/parts/rinseBottomPool.png" Height="81" Width="356" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="1" Margin="279,332,0,0"/>
  66. <Image Source="pack://application:,,,/CyberX8_Themes;component/Themes/Images/parts/rinseMainFrame.png" Height="278" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="1" Margin="360,21,0,0" Width="205"/>
  67. <!--WaferHolder UI-->
  68. <Polyline Opacity="0.6" Visibility="{Binding ElementName=self,Path=IsWaferHolder,Converter={StaticResource boolToVisibility2}}" Panel.ZIndex="1" Stroke="Black" Points="8,0 8,25 20,25 20,226 183,226 183,25 198,25 198,0 8,0" StrokeThickness="3" Margin="360,27,152,110">
  69. <Polyline.Fill>
  70. <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
  71. <GradientStop Color="Silver" Offset="0.0" />
  72. <GradientStop Color="White" Offset="0.5" />
  73. <GradientStop Color="Silver" Offset="1" />
  74. </LinearGradientBrush>
  75. </Polyline.Fill>
  76. </Polyline>
  77. <Ellipse Panel.ZIndex="1" Opacity="0.6" Visibility="{Binding ElementName=self,Path=IsWaferHolder,Converter={StaticResource boolToVisibility2}}" Margin="400,90,280,245">
  78. <Ellipse.Fill>
  79. <LinearGradientBrush EndPoint="0,0" StartPoint="1,1">
  80. <GradientStop Color="Silver" Offset="0.2" />
  81. <GradientStop Color="White" Offset="0.5" />
  82. <GradientStop Color="Silver" Offset="0.7" />
  83. <GradientStop Color="DarkGray" Offset="0.9"/>
  84. </LinearGradientBrush>
  85. </Ellipse.Fill>
  86. </Ellipse>
  87. <Rectangle x:Name="ErrorRectangle" Fill="Red" Height="212" VerticalAlignment="Bottom" Margin="387,0,264,198" Opacity="0.5" Panel.ZIndex="3"
  88. Visibility="{Binding ElementName=self,Path=IsError,Converter={StaticResource boolToVisibility2}}" />
  89. <userControls:FlowPipe Height="7" Width="90" Margin="276,36,434,406" Panel.ZIndex="0"/>
  90. <userControls:FlowPipe Height="7" Width="40" Margin="229,36,531,406" />
  91. <Rectangle Fill="lime" Height="6" Margin="229,38,432,408" Opacity="0.5"
  92. Visibility="{Binding RinseCommonData.WaferHolderClamp,Converter={StaticResource boolToVisibility2}}"/>
  93. <customControls:CommonValveControl Height="16" Width="16" HorizontalAlignment="Left" VerticalAlignment="Top"
  94. ValveOrientation="Horizontal" Status="{Binding RinseCommonData.WaferHolderClamp}" IsCanEdit="True" Margin="264,31,0,0" Panel.ZIndex="1" ContextMenu="{StaticResource IsClampValveOpen}">
  95. </customControls:CommonValveControl>
  96. <userControls:FlowPipe Height="7" Width="120" Margin="276,256,404,187" IsFlowing="False" Panel.ZIndex="1"/>
  97. <userControls:FlowPipe Height="7" Width="60" Margin="216,256,524,186" IsFlowing="False" />
  98. <customControls:CommonValveControl Height="16" Width="16" HorizontalAlignment="Left" VerticalAlignment="Top"
  99. ValveOrientation="Horizontal" Status="{Binding RinseCommonData.N2Valve}" IsCanEdit="True" Margin="268,252,0,0" Panel.ZIndex="1"
  100. ContextMenu="{StaticResource IsN2ValveOpen}"/>
  101. <Canvas Panel.ZIndex="1" RenderTransformOrigin="0.5,0.5" Width="150" Height="10" Margin="215,255,535,185" Visibility="{Binding RinseCommonData.N2Valve,Converter={StaticResource boolToVisibility2}}">
  102. <Canvas.RenderTransform>
  103. <TransformGroup>
  104. <ScaleTransform/>
  105. <SkewTransform/>
  106. <RotateTransform Angle="180.275"/>
  107. <TranslateTransform x:Name="translateTransform" X="0" Y="0" />
  108. </TransformGroup>
  109. </Canvas.RenderTransform>
  110. <Canvas.Triggers>
  111. <EventTrigger RoutedEvent="Loaded">
  112. <BeginStoryboard>
  113. <Storyboard AutoReverse="False" RepeatBehavior="Forever">
  114. <DoubleAnimation
  115. Storyboard.TargetName="translateTransform"
  116. Storyboard.TargetProperty="X"
  117. From="0" To="150" Duration="0:0:1"/>
  118. </Storyboard>
  119. </BeginStoryboard>
  120. </EventTrigger>
  121. </Canvas.Triggers>
  122. <Polygon Width="10" Points="0,2.5 5,0 5,5" Fill="Black" StrokeThickness="1" VerticalAlignment="Top" Canvas.Left="132" Canvas.Top="2.5"/>
  123. <Polygon Points="0,0 10,0 10,2 0,2" Fill="Black" StrokeThickness="1" VerticalAlignment="Top" Canvas.Left="135" Canvas.Top="4"/>
  124. <Polygon Width="10" Points="0,2.5 5,0 5,5" Fill="Black" StrokeThickness="1" VerticalAlignment="Top" Canvas.Left="102" Canvas.Top="2.5"/>
  125. <Polygon Points="0,0 10,0 10,2 0,2" Fill="Black" StrokeThickness="1" VerticalAlignment="Top" Canvas.Left="105" Canvas.Top="4"/>
  126. </Canvas>
  127. <userControls:FlowPipe IsFlowing="true" Height="8" Width="89" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="524,263,0,0" Panel.ZIndex="1"/>
  128. <userControls:FlowPipe IsFlowing="{Binding RinseCommonData.DrainValve}" Height="8" Width="89" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="448,262,0,0" Panel.ZIndex="1"/>
  129. <customControls:CommonValveControl Height="16" Width="16" HorizontalAlignment="Left" VerticalAlignment="Top"
  130. ValveOrientation="Horizontal" Status="{Binding RinseCommonData.DrainValve}" IsCanEdit="True" Margin="436,326,0,0" Panel.ZIndex="1"
  131. ContextMenu="{StaticResource IsDrainValveOpen}" RenderTransformOrigin="0.5,0.5">
  132. <customControls:CommonValveControl.RenderTransform>
  133. <TransformGroup>
  134. <ScaleTransform/>
  135. <SkewTransform/>
  136. <RotateTransform Angle="89.754"/>
  137. <TranslateTransform/>
  138. </TransformGroup>
  139. </customControls:CommonValveControl.RenderTransform>
  140. </customControls:CommonValveControl>
  141. <userControls:FlowPipe Height="7" Width="170" Margin="272,308,358,134" IsFlowing="{Binding RinseCommonData.FillValve}" IsReverse="False" Panel.ZIndex="1"/>
  142. <userControls:FlowPipe Height="7" Width="120" Margin="153,308,527,134" IsFlowing="{Binding RinseCommonData.FillValve}" IsReverse="False"/>
  143. <customControls:CommonValveControl Height="16" Width="16" HorizontalAlignment="Left" VerticalAlignment="Top"
  144. ValveOrientation="Horizontal" Status="{Binding RinseCommonData.FillValve}" IsCanEdit="True" Margin="268,304,0,0" Panel.ZIndex="1"
  145. ContextMenu="{StaticResource IsFillValveOpen}"/>
  146. <userControls:FlowPipe Height="7" Width="105" Margin="181,387,514,56" IsFlowing="True" IsReverse="True" Panel.ZIndex="1"/>
  147. <userControls:FlowPipe Height="7" Width="105" Margin="68,387,627,56" IsFlowing="{Binding RinseCommonData.WasteValve,Converter={StaticResource boolToBool}}" IsReverse="True" Panel.ZIndex="1"/>
  148. <userControls:FlowPipe IsFlowing="{Binding RinseCommonData.WasteValve,Converter={StaticResource boolToBool}}" Height="8" Width="40" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="72,387,0,0" />
  149. <userControls:FlowPipe IsFlowing="{Binding RinseCommonData.WasteValve}" Height="8" Width="30" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="182,396,0,0" Panel.ZIndex="1"/>
  150. <userControls:Fan Width="45" Height="46" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="155,369,0,0" RenderTransformOrigin="0.5,0.5" Panel.ZIndex="0" ContextMenu="{StaticResource IsWasteValveOpen}">
  151. <userControls:Fan.RenderTransform>
  152. <TransformGroup>
  153. <ScaleTransform/>
  154. <SkewTransform/>
  155. <RotateTransform Angle="-90"/>
  156. <TranslateTransform/>
  157. </TransformGroup>
  158. </userControls:Fan.RenderTransform>
  159. </userControls:Fan>
  160. <Canvas Width="40" Height="20" Canvas.Left="67" Canvas.Top="224" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="258,264,0,0" RenderTransformOrigin="0.5,0.5" >
  161. <Canvas.RenderTransform>
  162. <TransformGroup>
  163. <ScaleTransform/>
  164. <SkewTransform/>
  165. <RotateTransform Angle="180.651"/>
  166. <TranslateTransform/>
  167. </TransformGroup>
  168. </Canvas.RenderTransform>
  169. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  170. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"></Polygon>
  171. </Canvas>
  172. <Canvas Width="40" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="257,319,0,0" RenderTransformOrigin="0.5,0.5" >
  173. <Canvas.RenderTransform>
  174. <TransformGroup>
  175. <ScaleTransform/>
  176. <SkewTransform/>
  177. <RotateTransform Angle="180.651"/>
  178. <TranslateTransform/>
  179. </TransformGroup>
  180. </Canvas.RenderTransform>
  181. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  182. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  183. </Canvas>
  184. <Canvas Width="40" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="443,316,0,0" RenderTransformOrigin="0.5,0.5" >
  185. <Canvas.RenderTransform>
  186. <TransformGroup>
  187. <ScaleTransform/>
  188. <SkewTransform/>
  189. <RotateTransform Angle="270.035"/>
  190. <TranslateTransform/>
  191. </TransformGroup>
  192. </Canvas.RenderTransform>
  193. <Polygon Width="10" Points="0,10 20,0 20,20" Fill="Black" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  194. <Polygon Points="0,0 30,0 30,4 0,4" Fill="Black" StrokeThickness="1" Canvas.Left="10" Canvas.Top="8" HorizontalAlignment="Left" VerticalAlignment="Center"/>
  195. </Canvas>
  196. <CheckBox Grid.Column="0" Margin="83,32,0,0" VerticalAlignment="Top" HorizontalAlignment="Left" Content="Bypass Interlocks" FontSize="10" FontWeight="Bold"
  197. Checked="CheckBox_Checked" Unchecked="CheckBox_UnChecked"/>
  198. <Button Style="{StaticResource SysBtnStyle}" Height="20" Width="55" HorizontalAlignment="Left" Content="Metals" Click="OpenWasteValve_Click" Margin="93,399,0,31"/>
  199. <Button Style="{StaticResource SysBtnStyle}" Height="20" Width="55" HorizontalAlignment="Left" Content="Wastes" Click="CloseWasteValve_Click" Margin="208,399,0,31"/>
  200. </Grid>
  201. </UserControl>