ChamberClean.xaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <UserControl x:Class="VirgoUI.Client.Models.Recipe.Clean.ChamberClean"
  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:i="http://schemas.microsoft.com/expression/2010/interactivity"
  7. xmlns:cal="http://www.caliburn.org"
  8. xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation"
  9. mc:Ignorable="d"
  10. d:DesignHeight="155" d:DesignWidth="1600" >
  11. <Grid>
  12. <Grid.ColumnDefinitions>
  13. <ColumnDefinition Width="600"></ColumnDefinition>
  14. <ColumnDefinition Width="600"></ColumnDefinition>
  15. </Grid.ColumnDefinitions>
  16. <Border Grid.Column="0" Margin="0,0,0,0" BorderBrush="{DynamicResource Tab_BD}" BorderThickness="0" Background="{DynamicResource DataGrid_BG_Second}">
  17. <Grid Grid.Row="0" Margin="0,0,0,0" HorizontalAlignment="Stretch">
  18. <Grid.RowDefinitions>
  19. <RowDefinition Height="35"/>
  20. <RowDefinition Height="30"/>
  21. <RowDefinition Height="30"/>
  22. <RowDefinition Height="30"/>
  23. <RowDefinition Height="30"/>
  24. <RowDefinition />
  25. </Grid.RowDefinitions>
  26. <Grid.ColumnDefinitions>
  27. <ColumnDefinition Width="160"/>
  28. <ColumnDefinition Width="*" />
  29. </Grid.ColumnDefinitions>
  30. <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  31. <TextBlock Text="Idle Clean" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_White}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  32. </Border>
  33. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="0" Padding="10,0" >
  34. </Border>
  35. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="10,0" >
  36. <CheckBox x:Name="CheckEnableIdleClean" Content="Enable Idle Clean" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanIsEnable}" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2" >
  37. <i:Interaction.Triggers>
  38. <i:EventTrigger EventName="Click">
  39. <cal:ActionMessage MethodName="IdleCleanIsEnableChanged">
  40. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  41. <cal:Parameter Value="{Binding ElementName=CheckEnableIdleClean,Path=IsChecked}" />
  42. </cal:ActionMessage>
  43. </i:EventTrigger>
  44. </i:Interaction.Triggers>
  45. </CheckBox>
  46. </Border>
  47. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Padding="10,0" >
  48. <TextBlock VerticalAlignment="Center" Text="Clean Recipe" FontSize="14" FontFamily="Arial"></TextBlock>
  49. </Border>
  50. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="5,1">
  51. <StackPanel Orientation="Horizontal">
  52. <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanRecipe}" Width="230" IsEnabled="False" Height="22" FontSize="14" FontFamily="Arial"/>
  53. <Button Content="Select" Width="70" Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">
  54. <i:Interaction.Triggers>
  55. <i:EventTrigger EventName="Click">
  56. <cal:ActionMessage MethodName="IdleCleanSelectRecipe">
  57. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  58. </cal:ActionMessage>
  59. </i:EventTrigger>
  60. </i:Interaction.Triggers>
  61. </Button>
  62. </StackPanel>
  63. </Border>
  64. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Padding="10,0" >
  65. <TextBlock VerticalAlignment="Center" Text="Idle Time(s)" FontSize="14" FontFamily="Arial"></TextBlock>
  66. </Border>
  67. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="5,1">
  68. <StackPanel Orientation="Horizontal">
  69. <controls:TextBoxEx x:Name="TextIdleCleanTime" TextSaved="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanIsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanIdleTimeSetPoint}" Width="230" Height="22" FontSize="14" FontFamily="Arial"/>
  70. <Button Content="Set" Width="70" Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">
  71. <i:Interaction.Triggers>
  72. <i:EventTrigger EventName="Click">
  73. <cal:ActionMessage MethodName="IdleCleanSetTime">
  74. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  75. <cal:Parameter Value="{Binding ElementName=TextIdleCleanTime,Path=Text}" />
  76. </cal:ActionMessage>
  77. </i:EventTrigger>
  78. </i:Interaction.Triggers>
  79. </Button>
  80. </StackPanel>
  81. </Border>
  82. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Padding="10,0" >
  83. <TextBlock VerticalAlignment="Center" Text="Next Run Time(s)" FontSize="14" FontFamily="Arial"></TextBlock>
  84. </Border>
  85. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column="1" Padding="5,1">
  86. <StackPanel Orientation="Horizontal">
  87. <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.IdleCleanNextRunTime}" Width="230" Height="22" FontSize="14" FontFamily="Arial"/>
  88. <Button Content="Reset" Width="70" Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">
  89. <i:Interaction.Triggers>
  90. <i:EventTrigger EventName="Click">
  91. <cal:ActionMessage MethodName="IdleCleanResetTime">
  92. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  93. </cal:ActionMessage>
  94. </i:EventTrigger>
  95. </i:Interaction.Triggers>
  96. </Button>
  97. </StackPanel>
  98. </Border>
  99. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Padding="10,0" >
  100. </Border>
  101. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1" Padding="5,1">
  102. </Border>
  103. </Grid>
  104. </Border>
  105. <Border Grid.Column="1" Margin="0,0,0,0" BorderBrush="{DynamicResource Tab_BD}" BorderThickness="0" Background="{DynamicResource DataGrid_BG_First}">
  106. <Grid Grid.Row="0" Margin="0,0,0,0" HorizontalAlignment="Stretch">
  107. <Grid.RowDefinitions>
  108. <RowDefinition Height="35"/>
  109. <RowDefinition Height="30"/>
  110. <RowDefinition Height="30"/>
  111. <RowDefinition Height="30"/>
  112. <RowDefinition Height="30"/>
  113. <RowDefinition />
  114. </Grid.RowDefinitions>
  115. <Grid.ColumnDefinitions>
  116. <ColumnDefinition Width="160"/>
  117. <ColumnDefinition Width="*" />
  118. </Grid.ColumnDefinitions>
  119. <Border Grid.ColumnSpan="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_FirstTitle}" Padding="5,1">
  120. <TextBlock Text="Job Clean" TextWrapping="Wrap" TextAlignment="Center" Foreground="{DynamicResource FG_White}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center"/>
  121. </Border>
  122. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="0" Padding="10,0" >
  123. </Border>
  124. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Grid.Column="1" Padding="10,0" >
  125. <CheckBox x:Name="CheckEnableJobClean" Content="Enable Job Clean" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.JobCleanIsEnable}" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2" HorizontalAlignment="Center" >
  126. <i:Interaction.Triggers>
  127. <i:EventTrigger EventName="Click">
  128. <cal:ActionMessage MethodName="JobCleanIsEnableChanged">
  129. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  130. <cal:Parameter Value="{Binding ElementName=CheckEnableJobClean,Path=IsChecked}" />
  131. </cal:ActionMessage>
  132. </i:EventTrigger>
  133. </i:Interaction.Triggers>
  134. </CheckBox>
  135. </Border>
  136. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.RowSpan="2" Padding="10,0" >
  137. <CheckBox x:Name="CheckEnablePreJob" Content="Enable PreJob" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobIsEnable}" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2" >
  138. <i:Interaction.Triggers>
  139. <i:EventTrigger EventName="Click">
  140. <cal:ActionMessage MethodName="PreJobIsEnableChanged">
  141. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  142. <cal:Parameter Value="{Binding ElementName=CheckEnablePreJob,Path=IsChecked}" />
  143. </cal:ActionMessage>
  144. </i:EventTrigger>
  145. </i:Interaction.Triggers>
  146. </CheckBox>
  147. </Border>
  148. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Grid.Column="1" Padding="10,1">
  149. <StackPanel Orientation="Horizontal">
  150. <TextBlock VerticalAlignment="Center" Text="Recipe: " FontSize="14" FontFamily="Arial"></TextBlock>
  151. <TextBlock VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobRecipe}" Width="160" IsEnabled="False" FontSize="14" FontFamily="Arial" Margin="50, 0, 30, 0"/>
  152. <Button Content="Select" Width="70" Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">
  153. <i:Interaction.Triggers>
  154. <i:EventTrigger EventName="Click">
  155. <cal:ActionMessage MethodName="PreJobSelectRecipe">
  156. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  157. </cal:ActionMessage>
  158. </i:EventTrigger>
  159. </i:Interaction.Triggers>
  160. </Button>
  161. </StackPanel>
  162. </Border>
  163. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="3" Grid.Column="1" Padding="10,1">
  164. <StackPanel Orientation="Horizontal">
  165. <TextBlock VerticalAlignment="Center" Text="Idle Time(s): " FontSize="14" FontFamily="Arial"></TextBlock>
  166. <controls:TextBoxEx x:Name="TextPreJobIdleTime" TextSaved="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobIdleTimeIsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.PreJobIdleTimeSetPoint}" Width="160" Height="22" FontSize="14" FontFamily="Arial" Margin="20, 0, 30, 0"/>
  167. <Button Content="Set" Width="70" Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">
  168. <i:Interaction.Triggers>
  169. <i:EventTrigger EventName="Click">
  170. <cal:ActionMessage MethodName="PreJobSetIdleTime">
  171. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  172. <cal:Parameter Value="{Binding ElementName=TextPreJobIdleTime,Path=Text}" />
  173. </cal:ActionMessage>
  174. </i:EventTrigger>
  175. </i:Interaction.Triggers>
  176. </Button>
  177. </StackPanel>
  178. </Border>
  179. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Padding="10,0" >
  180. <CheckBox x:Name="CheckEnableCompleteJob" Content="Enable PostJob" IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.CompleteJobIsEnable}" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalContentAlignment="Center" Padding="4,-2" >
  181. <i:Interaction.Triggers>
  182. <i:EventTrigger EventName="Click">
  183. <cal:ActionMessage MethodName="CompleteJobIsEnableChanged">
  184. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  185. <cal:Parameter Value="{Binding ElementName=CheckEnableCompleteJob,Path=IsChecked}" />
  186. </cal:ActionMessage>
  187. </i:EventTrigger>
  188. </i:Interaction.Triggers>
  189. </CheckBox>
  190. </Border>
  191. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="4" Grid.Column="1" Padding="10,1">
  192. <StackPanel Orientation="Horizontal">
  193. <TextBlock VerticalAlignment="Center" Text="Recipe: " FontSize="14" FontFamily="Arial"></TextBlock>
  194. <TextBlock VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.CompleteJobRecipe}" Width="160" IsEnabled="False" FontSize="14" FontFamily="Arial" Margin="50, 0, 30, 0"/>
  195. <Button Content="Select" Width="70" Height="24" Margin="5,0,0,0" FontSize="14" FontFamily="Arial">
  196. <i:Interaction.Triggers>
  197. <i:EventTrigger EventName="Click">
  198. <cal:ActionMessage MethodName="CompleteJobSelectRecipe">
  199. <cal:Parameter Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}},Path=CleanData.ChamberModule}" />
  200. </cal:ActionMessage>
  201. </i:EventTrigger>
  202. </i:Interaction.Triggers>
  203. </Button>
  204. </StackPanel>
  205. </Border>
  206. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,0,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Padding="10,0" >
  207. </Border>
  208. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="5" Grid.Column="1" Padding="5,1">
  209. </Border>
  210. </Grid>
  211. </Border>
  212. </Grid>
  213. </UserControl>