JobOperationView.xaml 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  1. <UserControl x:Class="CyberX8_MainPages.Views.JobOperationView"
  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_MainPages.Views"
  7. mc:Ignorable="d"
  8. xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation"
  9. xmlns:customControls="clr-namespace:CyberX8_Themes.CustomControls;assembly=CyberX8_Themes"
  10. xmlns:Attach="clr-namespace:CyberX8_UI.Themes.Attach;assembly=CyberX8_Themes"
  11. xmlns:converters="clr-namespace:CyberX8_Themes.Converters;assembly=CyberX8_Themes"
  12. xmlns:converters2="clr-namespace:CyberX8_MainPages.Converters"
  13. xmlns:userControls="clr-namespace:CyberX8_Themes.UserControls;assembly=CyberX8_Themes"
  14. xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
  15. xmlns:prism="http://prismlibrary.com/"
  16. prism:ViewModelLocator.AutoWireViewModel="True"
  17. xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
  18. xmlns:unity="clr-namespace:CyberX8_MainPages.Unity"
  19. xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:ctrl="http://OpenSEMI.Ctrlib.com/presentation"
  20. d:DesignHeight="1200" d:DesignWidth="1920" x:Name="jobOperationView">
  21. <UserControl.Resources>
  22. <converters:BoolToVisibility2 x:Key="BoolToVisibility2"/>
  23. <converters:BoolToVisibility x:Key="BoolToVisibility"/>
  24. <Style x:Key="LP1Style">
  25. <Style.Triggers>
  26. <DataTrigger Binding="{Binding RtDataValues[LP1.IsLoaded]}" Value="True">
  27. <DataTrigger.EnterActions>
  28. <BeginStoryboard>
  29. <Storyboard>
  30. <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].X" To="30" Duration="0:0:1"/>
  31. </Storyboard>
  32. </BeginStoryboard>
  33. </DataTrigger.EnterActions>
  34. <DataTrigger.ExitActions>
  35. <BeginStoryboard>
  36. <Storyboard>
  37. <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].X" To="0" Duration="0:0:1"/>
  38. </Storyboard>
  39. </BeginStoryboard>
  40. </DataTrigger.ExitActions>
  41. </DataTrigger>
  42. </Style.Triggers>
  43. </Style>
  44. <Style x:Key="LP2Style">
  45. <Style.Triggers>
  46. <DataTrigger Binding="{Binding RtDataValues[LP2.IsLoaded]}" Value="True">
  47. <DataTrigger.EnterActions>
  48. <BeginStoryboard>
  49. <Storyboard>
  50. <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].X" To="30" Duration="0:0:1"/>
  51. </Storyboard>
  52. </BeginStoryboard>
  53. </DataTrigger.EnterActions>
  54. <DataTrigger.ExitActions>
  55. <BeginStoryboard>
  56. <Storyboard>
  57. <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].X" To="0" Duration="0:0:1"/>
  58. </Storyboard>
  59. </BeginStoryboard>
  60. </DataTrigger.ExitActions>
  61. </DataTrigger>
  62. </Style.Triggers>
  63. </Style>
  64. <Style x:Key="LP3Style">
  65. <Style.Triggers>
  66. <DataTrigger Binding="{Binding RtDataValues[LP3.IsLoaded]}" Value="True">
  67. <DataTrigger.EnterActions>
  68. <BeginStoryboard>
  69. <Storyboard>
  70. <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].X" To="30" Duration="0:0:1"/>
  71. </Storyboard>
  72. </BeginStoryboard>
  73. </DataTrigger.EnterActions>
  74. <DataTrigger.ExitActions>
  75. <BeginStoryboard>
  76. <Storyboard>
  77. <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].X" To="0" Duration="0:0:1"/>
  78. </Storyboard>
  79. </BeginStoryboard>
  80. </DataTrigger.ExitActions>
  81. </DataTrigger>
  82. </Style.Triggers>
  83. </Style>
  84. <converters:MutiBoolToBool x:Key="mutiBoolToBool"/>
  85. </UserControl.Resources>
  86. <Canvas>
  87. <Grid Canvas.Left="116" Canvas.Top="104" Panel.ZIndex="2" Visibility="{Binding LP1Unable,Converter={StaticResource bool2VisibilityConverter}}">
  88. <Rectangle Width="70" Height="70" Fill="Silver" Opacity="0.8" RadiusX="0.1" RadiusY="0.1"
  89. />
  90. </Grid>
  91. <Grid Canvas.Left="116" Canvas.Top="247" Panel.ZIndex="2" Visibility="{Binding LP2Unable,Converter={StaticResource bool2VisibilityConverter}}">
  92. <Rectangle Width="70" Height="70" Fill="Silver" Opacity="0.8" RadiusX="0.1" RadiusY="0.1"
  93. />
  94. </Grid>
  95. <Grid Canvas.Left="116" Canvas.Top="378" Panel.ZIndex="2" Visibility="{Binding LP3Unable,Converter={StaticResource bool2VisibilityConverter}}">
  96. <Rectangle Width="70" Height="70" Fill="Silver" Opacity="0.8" RadiusX="0.1" RadiusY="0.1"
  97. />
  98. </Grid>
  99. <Canvas Canvas.Top="74" Height="1126" Width="1920" HorizontalAlignment="Center" VerticalAlignment="Top">
  100. <Canvas Height="406" Width="448" HorizontalAlignment="Left" Canvas.Left="42" VerticalAlignment="Center">
  101. <Grid Height="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Canvas}},Path=Height}" Width="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type Canvas}},Path=Width}" Background="{DynamicResource Table_BG_Content}">
  102. <Grid.RowDefinitions>
  103. <RowDefinition/>
  104. <RowDefinition/>
  105. <RowDefinition/>
  106. </Grid.RowDefinitions>
  107. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,0" Background="{DynamicResource Table_BG_Content}" Grid.Row="0" Padding="5,1,0,1">
  108. <Grid Margin="206,5,5,5" >
  109. <Grid.RowDefinitions>
  110. <RowDefinition/>
  111. <RowDefinition/>
  112. </Grid.RowDefinitions>
  113. <Grid.ColumnDefinitions>
  114. <ColumnDefinition/>
  115. <ColumnDefinition/>
  116. </Grid.ColumnDefinitions>
  117. <StackPanel Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Center" Orientation="Horizontal">
  118. <TextBlock Text="Wafer Count:" FontSize="15" FontFamily="Arial" Margin="15,0,20,0"/>
  119. <TextBlock Text="{Binding LP1WaferCount}" FontSize="15" FontFamily="Arial"/>
  120. </StackPanel>
  121. <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP1Unable}" Content="Map" Width="90" Height="33" Command="{Binding LPMapCommand}" CommandParameter="LP1"/>
  122. </Grid>
  123. </Border>
  124. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,0" Background="{DynamicResource Table_BG_Content}" Grid.Row="1" Padding="5,1,0,1">
  125. <Grid Grid.Row="1" Margin="206,0,0,0">
  126. <Grid.RowDefinitions>
  127. <RowDefinition/>
  128. <RowDefinition/>
  129. </Grid.RowDefinitions>
  130. <Grid.ColumnDefinitions>
  131. <ColumnDefinition/>
  132. <ColumnDefinition/>
  133. </Grid.ColumnDefinitions>
  134. <StackPanel Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Center" Orientation="Horizontal">
  135. <TextBlock Text="Wafer Count:" FontSize="15" FontFamily="Arial" Margin="15,0,20,0"/>
  136. <TextBlock Text="{Binding LP2WaferCount}" FontSize="15" FontFamily="Arial"/>
  137. </StackPanel>
  138. <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP2Unable}" Content="Map" Width="90" Height="33" Command="{Binding LPMapCommand}" CommandParameter="LP2"/>
  139. </Grid>
  140. </Border>
  141. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Row="2" Padding="5,1,0,1">
  142. <Grid Grid.Row="2" Margin="206,0,0,0">
  143. <Grid.RowDefinitions>
  144. <RowDefinition/>
  145. <RowDefinition/>
  146. </Grid.RowDefinitions>
  147. <Grid.ColumnDefinitions>
  148. <ColumnDefinition/>
  149. <ColumnDefinition/>
  150. </Grid.ColumnDefinitions>
  151. <StackPanel Grid.ColumnSpan="2" HorizontalAlignment="Left" VerticalAlignment="Center" Orientation="Horizontal">
  152. <TextBlock Text="Wafer Count:" FontSize="15" FontFamily="Arial" Margin="15,0,20,0"/>
  153. <TextBlock Text="{Binding LP3WaferCount}" FontSize="15" FontFamily="Arial"/>
  154. </StackPanel>
  155. <customControls:PathButton Grid.Row="1" IsEnabled="{Binding IsLP3Unable}" Content="Map" Width="90" Height="33" Command="{Binding LPMapCommand}" CommandParameter="LP3"/>
  156. </Grid>
  157. </Border>
  158. </Grid>
  159. <Viewbox Stretch="Fill" Height="330" Width="330" Canvas.Left="158" Canvas.Top="10" HorizontalAlignment="Left" VerticalAlignment="Top">
  160. <Canvas Width="1000" Height="1000">
  161. <userControls:Loadport Canvas.Top="20" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  162. <userControls:Foup Width="230" Height="450" Canvas.Left="-35" Canvas.Top="53" Visibility="{Binding RtDataValues[LP1.CassettePlaced],Converter={StaticResource BoolToVisibility2}}" Style="{StaticResource LP1Style}" RotateTransformValue="90">
  163. <userControls:Foup.RenderTransform>
  164. <TransformGroup>
  165. <TranslateTransform/>
  166. </TransformGroup>
  167. </userControls:Foup.RenderTransform>
  168. </userControls:Foup>
  169. </Canvas>
  170. </Viewbox>
  171. <Viewbox Stretch="Fill" Height="330" Width="330" Canvas.Left="158" Canvas.Top="152" HorizontalAlignment="Left" VerticalAlignment="Center">
  172. <Canvas Width="1000" Height="1000">
  173. <userControls:Loadport Canvas.Top="20" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  174. <userControls:Foup Width="230" Height="450" Canvas.Left="-35" Canvas.Top="53" Visibility="{Binding RtDataValues[LP2.CassettePlaced],Converter={StaticResource BoolToVisibility2}}" Style="{StaticResource LP2Style}" RotateTransformValue="90">
  175. <userControls:Foup.RenderTransform>
  176. <TransformGroup>
  177. <TranslateTransform/>
  178. </TransformGroup>
  179. </userControls:Foup.RenderTransform>
  180. </userControls:Foup>
  181. </Canvas>
  182. </Viewbox>
  183. <Viewbox Stretch="Fill" Height="330" Width="330" Canvas.Left="158" Canvas.Top="283" HorizontalAlignment="Left" VerticalAlignment="Top">
  184. <Canvas Width="1000" Height="1000">
  185. <userControls:Loadport Canvas.Top="20" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  186. <userControls:Foup Width="230" Height="450" Canvas.Left="-35" Canvas.Top="53" Visibility="{Binding RtDataValues[LP3.CassettePlaced],Converter={StaticResource BoolToVisibility2}}" Style="{StaticResource LP3Style}" RotateTransformValue="90">
  187. <userControls:Foup.RenderTransform>
  188. <TransformGroup>
  189. <TranslateTransform/>
  190. </TransformGroup>
  191. </userControls:Foup.RenderTransform>
  192. </userControls:Foup>
  193. </Canvas>
  194. </Viewbox>
  195. </Canvas>
  196. <Grid Height="AUTO" Width="1800" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="60" Canvas.Top="-40" >
  197. <Grid.ColumnDefinitions>
  198. <ColumnDefinition Width="2.5*"/>
  199. <ColumnDefinition Width="2.5*"/>
  200. <ColumnDefinition Width="2.5*"/>
  201. <ColumnDefinition Width="2.5*"/>
  202. </Grid.ColumnDefinitions>
  203. <Grid Grid.Column="1" HorizontalAlignment="Center" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Content}" Width="AUTO" >
  204. <Grid.RowDefinitions>
  205. <RowDefinition Height="AUTO"></RowDefinition>
  206. <RowDefinition Height="33"></RowDefinition>
  207. <RowDefinition Height="33"></RowDefinition>
  208. <RowDefinition Height="33"></RowDefinition>
  209. <RowDefinition Height="33"></RowDefinition>
  210. <RowDefinition Height="33"></RowDefinition>
  211. <RowDefinition Height="33"></RowDefinition>
  212. <RowDefinition Height="33"></RowDefinition>
  213. <RowDefinition Height="33"></RowDefinition>
  214. <RowDefinition Height="33"></RowDefinition>
  215. <RowDefinition Height ="1*"></RowDefinition>
  216. </Grid.RowDefinitions>
  217. <Label Content="LP1" Background="{DynamicResource Table_BG_Title}" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  218. <StackPanel Grid.Row="1" Orientation="Horizontal">
  219. <TextBlock Margin="5,0,0,0" Text="Lot ID:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  220. <TextBox Margin="5,3,0,3" FontSize="15" Text="{Binding LP1WaferAssociation.LotId}" Width="242" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" RenderTransformOrigin="0.319,0.594" IsEnabled="{Binding ButtonIsEnableLP1}"/>
  221. </StackPanel>
  222. <StackPanel Grid.Row="2" Orientation="Horizontal">
  223. <TextBlock Margin="5,0,10,0" Text="Sequence Type:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="111"></TextBlock>
  224. <CheckBox Margin="5" Content="Engineering" VerticalAlignment="Center" IsChecked="{Binding LP1RecipeMode,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding ButtonIsEnableLP1}">
  225. <i:Interaction.Triggers>
  226. <i:EventTrigger EventName="Checked">
  227. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  228. </i:EventTrigger>
  229. <i:EventTrigger EventName="Unchecked">
  230. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  231. </i:EventTrigger>
  232. </i:Interaction.Triggers>
  233. </CheckBox>
  234. <CheckBox Margin="5" Content="Production" VerticalAlignment="Center" IsChecked="{Binding LP1RecipeMode}" IsEnabled="{Binding ButtonIsEnableLP1}">
  235. <i:Interaction.Triggers>
  236. <i:EventTrigger EventName="Checked">
  237. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  238. </i:EventTrigger>
  239. <i:EventTrigger EventName="Unchecked">
  240. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  241. </i:EventTrigger>
  242. </i:Interaction.Triggers>
  243. </CheckBox>
  244. </StackPanel>
  245. <StackPanel Grid.Row="3" Orientation="Horizontal">
  246. <TextBlock Margin="5,0,0,0" Text="Sequence:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  247. <ComboBox Margin="5,3,0,3" Width="242" SelectedItem="{Binding LP1SequenceName}" ItemsSource="{Binding SequenceSelectedItemsSource1}" IsEnabled="{Binding ButtonIsEnableLP1}">
  248. <i:Interaction.Triggers>
  249. <i:EventTrigger EventName="SelectionChanged">
  250. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding LP1WaferAssociation.ModuleData.ModuleID}"/>
  251. </i:EventTrigger>
  252. </i:Interaction.Triggers>
  253. </ComboBox>
  254. </StackPanel>
  255. <Grid Grid.Row="4" >
  256. <Grid.ColumnDefinitions>
  257. <ColumnDefinition/>
  258. <ColumnDefinition/>
  259. </Grid.ColumnDefinitions>
  260. <StackPanel Orientation="Horizontal" >
  261. <TextBlock Text="Cycle Set:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="65"></TextBlock>
  262. <CheckBox Margin="5" x:Name="IsEnableCycleCheckBox1" Content="IsEnable" VerticalAlignment="Center" Padding="3 0 0 0" IsEnabled="{Binding ButtonIsEnableLP1}" IsChecked="{Binding LP1WaferAssociation.IsEnableCycle}"/>
  263. </StackPanel>
  264. <StackPanel Orientation="Horizontal" Grid.Column="1">
  265. <TextBlock Text="Cycle Num:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  266. <TextBox x:Name="CycleNumTextbox1" Margin="5,0,0,0" Width="72" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="20" BorderThickness="1" Text="{Binding LP1WaferAssociation.CycleNumber}" >
  267. <TextBox.IsEnabled>
  268. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  269. <Binding Path="ButtonIsEnableLP1" />
  270. <Binding ElementName="IsEnableCycleCheckBox1" Path="IsChecked"/>
  271. </MultiBinding>
  272. </TextBox.IsEnabled>
  273. </TextBox>
  274. </StackPanel>
  275. </Grid>
  276. <StackPanel Grid.Row="5" Orientation="Horizontal">
  277. <TextBlock Text="Cycle Info:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  278. <TextBlock FontSize="12" FontFamily="Arial" VerticalAlignment="Center">
  279. <TextBlock.Text>
  280. <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}" >
  281. <Binding Path="RtDataValues[LP1.CycleSetPoint]"></Binding>
  282. <Binding Path="RtDataValues[LP1.CycledCount]"></Binding>
  283. <Binding Path="RtDataValues[LP1.CycledWafer]"></Binding>
  284. </MultiBinding>
  285. </TextBlock.Text>
  286. </TextBlock>
  287. </StackPanel>
  288. <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center">
  289. <Button Content="Select All" Width="94" Height="33" Margin="10,2,10,2" Command="{Binding SelectAllCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  290. <Button Content="DeSelect All" Width="94" Height="33" Margin="-5,2,10,2" Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  291. </StackPanel>
  292. <Grid Grid.Row="7" >
  293. <Grid.ColumnDefinitions>
  294. <ColumnDefinition/>
  295. <ColumnDefinition/>
  296. </Grid.ColumnDefinitions>
  297. <StackPanel Grid.Column="0" Orientation="Horizontal">
  298. <TextBlock Margin="5,0,0,0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"/>
  299. <TextBox Margin="0,3,0,3" FontSize="15" Text="{Binding LP1WaferAssociation.JobID}" Width="109" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" RenderTransformOrigin="0.319,0.594" IsEnabled="{Binding ButtonIsEnableLP1}"/>
  300. </StackPanel>
  301. <StackPanel Grid.Column="1" Orientation="Horizontal">
  302. <TextBlock Margin="5,0,0,0" Text="Status:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"/>
  303. <TextBox Margin="0,3,0,3" FontSize="15" Text="{Binding LP1WaferAssociation.JobStatus}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="115" RenderTransformOrigin="0.319,0.594" IsEnabled="False"/>
  304. </StackPanel>
  305. </Grid>
  306. <StackPanel Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Center">
  307. <Button IsEnabled="{Binding IsLP1CanCreatedJob}" Content="Create Job" Width="94" Height="33" Margin="10,2,10,2" Command="{Binding CreateJobCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  308. </StackPanel>
  309. <StackPanel Grid.Row="9" Orientation="Horizontal" HorizontalAlignment="Center">
  310. <Button IsEnabled="{Binding IsLP1AutoStoped}" Content="Start" Width="64" Height="33" Margin="10,2,10,2" Command="{Binding StartCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  311. <Button IsEnabled="{Binding IsLP1AutoStarted}" Content="Stop" Width="64" Height="33" Margin="10,2,10,2" Command="{Binding StopCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  312. </StackPanel>
  313. <ListBox Grid.Row="10" ItemsSource="{Binding LP1WaferAssociation.ModuleData.WaferManager.Wafers}" Name="list1" IsEnabled="{Binding IsLP1Unable}">
  314. <ListBox.Resources>
  315. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  316. <Setter Property="Rectangle.StrokeThickness" Value="1"/>
  317. </Style>
  318. </ListBox.Resources>
  319. <ListBox.ItemTemplate>
  320. <DataTemplate>
  321. <Grid Height="18" Background="#F5F7FA">
  322. <Grid.ColumnDefinitions>
  323. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  324. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  325. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  326. </Grid.ColumnDefinitions>
  327. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0 0 1 1" Width="110" >
  328. <controls:Slot ViewType="Bottom" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}"
  329. SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8,1,8,1"
  330. SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" FontFamily="Arial" FontSize="2">
  331. </controls:Slot>
  332. </Border>
  333. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Width="200" >
  334. <Border.Style>
  335. <Style>
  336. <Style.Triggers>
  337. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  338. <Setter Property="Border.Background" Value="AliceBlue"/>
  339. </DataTrigger>
  340. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  341. <Setter Property="Border.Background" Value="AliceBlue"/>
  342. </DataTrigger>
  343. </Style.Triggers>
  344. </Style>
  345. </Border.Style>
  346. <TextBlock Name="txtSeqName" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  347. </Border>
  348. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Width="110" Padding="5,1" >
  349. <Button Width="60" Height="14" Command="{Binding Path=DataContext.SetSequenceCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="{Binding}" IsEnabled="{Binding ButtonIsEnableLP1}">
  350. <Button.Style>
  351. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  352. <Setter Property="Button.Content" Value="Remove"/>
  353. <Setter Property="FontSize" Value="10" />
  354. <Style.Triggers>
  355. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  356. <Setter Property="Button.Content" Value="Set"/>
  357. </DataTrigger>
  358. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  359. <Setter Property="Button.IsEnabled" Value="False"/>
  360. </DataTrigger>
  361. </Style.Triggers>
  362. </Style>
  363. </Button.Style>
  364. </Button>
  365. </Border>
  366. </Grid>
  367. </DataTemplate>
  368. </ListBox.ItemTemplate>
  369. </ListBox>
  370. </Grid>
  371. <Grid Grid.Column="2" HorizontalAlignment="Center" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Content}" Width="AUTO" >
  372. <Grid.RowDefinitions>
  373. <RowDefinition Height="AUTO"></RowDefinition>
  374. <RowDefinition Height="33"></RowDefinition>
  375. <RowDefinition Height="33"></RowDefinition>
  376. <RowDefinition Height="33"></RowDefinition>
  377. <RowDefinition Height="33"></RowDefinition>
  378. <RowDefinition Height="33"></RowDefinition>
  379. <RowDefinition Height="33"></RowDefinition>
  380. <RowDefinition Height="33"></RowDefinition>
  381. <RowDefinition Height="33"></RowDefinition>
  382. <RowDefinition Height="33"></RowDefinition>
  383. <RowDefinition Height ="1*"></RowDefinition>
  384. </Grid.RowDefinitions>
  385. <Label Content="LP2" Background="{DynamicResource Table_BG_Title}" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  386. <StackPanel Grid.Row="1" Orientation="Horizontal">
  387. <TextBlock Margin="5,0,0,0" Text="Lot ID:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  388. <TextBox Margin="5,3,0,3" FontSize="15" Text="{Binding LP2WaferAssociation.LotId}" Width="242" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" RenderTransformOrigin="0.319,0.594" IsEnabled="{Binding ButtonIsEnableLP2}" />
  389. </StackPanel>
  390. <StackPanel Grid.Row="2" Orientation="Horizontal">
  391. <TextBlock Margin="5,0,10,0" Text="Sequence Type:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="111"></TextBlock>
  392. <CheckBox Margin="5" Content="Engineering" VerticalAlignment="Center" IsChecked="{Binding LP2RecipeMode,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding ButtonIsEnableLP2}">
  393. <i:Interaction.Triggers>
  394. <i:EventTrigger EventName="Checked">
  395. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  396. </i:EventTrigger>
  397. <i:EventTrigger EventName="Unchecked">
  398. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  399. </i:EventTrigger>
  400. </i:Interaction.Triggers>
  401. </CheckBox>
  402. <CheckBox Margin="5" Content="Production" VerticalAlignment="Center" IsChecked="{Binding LP2RecipeMode}" IsEnabled="{Binding ButtonIsEnableLP2}">
  403. <i:Interaction.Triggers>
  404. <i:EventTrigger EventName="Checked">
  405. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  406. </i:EventTrigger>
  407. <i:EventTrigger EventName="Unchecked">
  408. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  409. </i:EventTrigger>
  410. </i:Interaction.Triggers>
  411. </CheckBox>
  412. </StackPanel>
  413. <StackPanel Grid.Row="3" Orientation="Horizontal">
  414. <TextBlock Margin="5,0,0,0" Text="Sequence:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  415. <ComboBox Margin="5,3,0,3" Width="242" SelectedItem="{Binding LP2SequenceName}" ItemsSource="{Binding SequenceSelectedItemsSource2}" IsEnabled="{Binding ButtonIsEnableLP2}">
  416. <i:Interaction.Triggers>
  417. <i:EventTrigger EventName="SelectionChanged">
  418. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding LP2WaferAssociation.ModuleData.ModuleID}"/>
  419. </i:EventTrigger>
  420. </i:Interaction.Triggers>
  421. </ComboBox>
  422. </StackPanel>
  423. <Grid Grid.Row="4" >
  424. <Grid.ColumnDefinitions>
  425. <ColumnDefinition/>
  426. <ColumnDefinition/>
  427. </Grid.ColumnDefinitions>
  428. <StackPanel Orientation="Horizontal" >
  429. <TextBlock Text="Cycle Set:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="65"></TextBlock>
  430. <CheckBox Margin="5" x:Name="IsEnableCycleCheckBox2" Content="IsEnable" IsChecked="{Binding LP2WaferAssociation.IsEnableCycle}" IsEnabled="{Binding ButtonIsEnableLP2}" VerticalAlignment="Center" Padding="3 0 0 0"/>
  431. </StackPanel>
  432. <StackPanel Orientation="Horizontal" Grid.Column="1">
  433. <TextBlock Text="Cycle Num:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  434. <TextBox x:Name="CycleNumTextbox2" Margin="5,0,0,0" Width="72" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="20" BorderThickness="1" Text="{Binding LP2WaferAssociation.CycleNumber}">
  435. <TextBox.IsEnabled>
  436. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  437. <Binding Path="ButtonIsEnableLP2" />
  438. <Binding ElementName="IsEnableCycleCheckBox2" Path="IsChecked"/>
  439. </MultiBinding>
  440. </TextBox.IsEnabled>
  441. </TextBox>
  442. </StackPanel>
  443. </Grid>
  444. <StackPanel Grid.Row="5" Orientation="Horizontal">
  445. <TextBlock Text="Cycle Info:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  446. <TextBlock FontSize="12" FontFamily="Arial" VerticalAlignment="Center">
  447. <TextBlock.Text>
  448. <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}" >
  449. <Binding Path="RtDataValues[LP2.CycleSetPoint]"></Binding>
  450. <Binding Path="RtDataValues[LP2.CycledCount]"></Binding>
  451. <Binding Path="RtDataValues[LP2.CycledWafer]"></Binding>
  452. </MultiBinding>
  453. </TextBlock.Text>
  454. </TextBlock>
  455. </StackPanel>
  456. <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center">
  457. <Button Content="Select All" Width="94" Height="33" Margin="10,2,10,2" Command="{Binding SelectAllCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  458. <Button Content="DeSelect All" Width="94" Height="33" Margin="-5,2,10,2" Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  459. </StackPanel>
  460. <Grid Grid.Row="7" >
  461. <Grid.ColumnDefinitions>
  462. <ColumnDefinition/>
  463. <ColumnDefinition/>
  464. </Grid.ColumnDefinitions>
  465. <StackPanel Orientation="Horizontal" >
  466. <TextBlock Margin="5,0,0,0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  467. <TextBox Margin="0,3,0,3" FontSize="15" Text="{Binding LP2WaferAssociation.JobID}" Width="101" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" RenderTransformOrigin="0.319,0.594" IsEnabled="{Binding ButtonIsEnableLP2}"/>
  468. </StackPanel>
  469. <StackPanel Orientation="Horizontal" Grid.Column="1">
  470. <TextBlock Margin="5,0,0,0" Text="Status:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  471. <TextBox Margin="0,3,0,3" FontSize="15" IsEnabled="False" Text="{Binding LP2WaferAssociation.JobStatus}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="115" RenderTransformOrigin="0.319,0.594"/>
  472. </StackPanel>
  473. </Grid>
  474. <StackPanel Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Center">
  475. <Button IsEnabled="{Binding IsLP2CanCreatedJob}" Content="Create Job" Width="94" Height="33" Margin="10,2,10,2" Command="{Binding CreateJobCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  476. </StackPanel>
  477. <StackPanel Grid.Row="9" Orientation="Horizontal" HorizontalAlignment="Center">
  478. <Button IsEnabled="{Binding IsLP2AutoStoped}" Content="Start" Width="64" Height="33" Margin="10,2,10,2" Command="{Binding StartCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  479. <Button IsEnabled="{Binding IsLP2AutoStarted}" Content="Stop" Width="64" Height="33" Margin="10,2,10,2" Command="{Binding StopCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  480. </StackPanel>
  481. <ListBox Grid.Row="10" ItemsSource="{Binding LP2WaferAssociation.ModuleData.WaferManager.Wafers}" Name="list2" IsEnabled="{Binding IsLP2Unable}">
  482. <ListBox.Resources>
  483. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  484. <Setter Property="Rectangle.StrokeThickness" Value="1"/>
  485. </Style>
  486. </ListBox.Resources>
  487. <ListBox.ItemTemplate>
  488. <DataTemplate>
  489. <Grid Height="18" Background="#F5F7FA">
  490. <Grid.ColumnDefinitions>
  491. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  492. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  493. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  494. </Grid.ColumnDefinitions>
  495. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0 0 1 1" Width="110" >
  496. <controls:Slot ViewType="Bottom" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}"
  497. SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8,1,8,1"
  498. SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" FontFamily="Arial" FontSize="2">
  499. </controls:Slot>
  500. </Border>
  501. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Width="200" >
  502. <Border.Style>
  503. <Style>
  504. <Style.Triggers>
  505. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  506. <Setter Property="Border.Background" Value="AliceBlue"/>
  507. </DataTrigger>
  508. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  509. <Setter Property="Border.Background" Value="AliceBlue"/>
  510. </DataTrigger>
  511. </Style.Triggers>
  512. </Style>
  513. </Border.Style>
  514. <TextBlock Name="txtSeqName" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  515. </Border>
  516. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Width="110" Padding="5,1" >
  517. <Button Width="60" Height="14" Command="{Binding Path=DataContext.SetSequenceCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="{Binding}" IsEnabled="{Binding ButtonIsEnableLP1}">
  518. <Button.Style>
  519. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  520. <Setter Property="Button.Content" Value="Remove"/>
  521. <Setter Property="FontSize" Value="10" />
  522. <Style.Triggers>
  523. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  524. <Setter Property="Button.Content" Value="Set"/>
  525. </DataTrigger>
  526. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  527. <Setter Property="Button.IsEnabled" Value="False"/>
  528. </DataTrigger>
  529. </Style.Triggers>
  530. </Style>
  531. </Button.Style>
  532. </Button>
  533. </Border>
  534. </Grid>
  535. </DataTemplate>
  536. </ListBox.ItemTemplate>
  537. </ListBox>
  538. </Grid>
  539. <Grid Grid.Column="3" HorizontalAlignment="Center" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Content}" Width="AUTO" >
  540. <Grid.RowDefinitions>
  541. <RowDefinition Height="AUTO"></RowDefinition>
  542. <RowDefinition Height="33"></RowDefinition>
  543. <RowDefinition Height="33"></RowDefinition>
  544. <RowDefinition Height="33"></RowDefinition>
  545. <RowDefinition Height="33"></RowDefinition>
  546. <RowDefinition Height="33"></RowDefinition>
  547. <RowDefinition Height="33"></RowDefinition>
  548. <RowDefinition Height="33"></RowDefinition>
  549. <RowDefinition Height="33"></RowDefinition>
  550. <RowDefinition Height="33"></RowDefinition>
  551. <RowDefinition Height ="1*"></RowDefinition>
  552. </Grid.RowDefinitions>
  553. <Label Content="LP3" Background="{DynamicResource Table_BG_Title}" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  554. <StackPanel Grid.Row="1" Orientation="Horizontal">
  555. <TextBlock Margin="5,0,0,0" Text="Lot ID:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  556. <TextBox Margin="5,3,0,3" FontSize="15" Text="{Binding LP3WaferAssociation.LotId}" Width="242" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" RenderTransformOrigin="0.319,0.594" IsEnabled="{Binding ButtonIsEnableLP3}"/>
  557. </StackPanel>
  558. <StackPanel Grid.Row="2" Orientation="Horizontal">
  559. <TextBlock Margin="5,0,10,0" Text="Sequence Type:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="111"></TextBlock>
  560. <CheckBox Margin="5" Content="Engineering" VerticalAlignment="Center" IsChecked="{Binding LP3RecipeMode,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding ButtonIsEnableLP3}">
  561. <i:Interaction.Triggers>
  562. <i:EventTrigger EventName="Checked">
  563. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  564. </i:EventTrigger>
  565. <i:EventTrigger EventName="Unchecked">
  566. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  567. </i:EventTrigger>
  568. </i:Interaction.Triggers>
  569. </CheckBox>
  570. <CheckBox Margin="5" Content="Production" VerticalAlignment="Center" IsChecked="{Binding LP3RecipeMode}" IsEnabled="{Binding ButtonIsEnableLP3}">
  571. <i:Interaction.Triggers>
  572. <i:EventTrigger EventName="Checked">
  573. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  574. </i:EventTrigger>
  575. <i:EventTrigger EventName="Unchecked">
  576. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  577. </i:EventTrigger>
  578. </i:Interaction.Triggers>
  579. </CheckBox>
  580. </StackPanel>
  581. <StackPanel Grid.Row="3" Orientation="Horizontal">
  582. <TextBlock Margin="5,0,0,0" Text="Sequence:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  583. <ComboBox Margin="5,3,0,3" Width="242" SelectedItem="{Binding LP3SequenceName}" ItemsSource="{Binding SequenceSelectedItemsSource3}" IsEnabled="{Binding ButtonIsEnableLP3}">
  584. <i:Interaction.Triggers>
  585. <i:EventTrigger EventName="SelectionChanged">
  586. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding LP3WaferAssociation.ModuleData.ModuleID}"/>
  587. </i:EventTrigger>
  588. </i:Interaction.Triggers>
  589. </ComboBox>
  590. </StackPanel>
  591. <Grid Grid.Row="4" >
  592. <Grid.ColumnDefinitions>
  593. <ColumnDefinition/>
  594. <ColumnDefinition/>
  595. </Grid.ColumnDefinitions>
  596. <StackPanel Orientation="Horizontal" >
  597. <TextBlock Text="Cycle Set:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="65"></TextBlock>
  598. <CheckBox Margin="5" x:Name="IsEnableCycleCheckBox3" Content="IsEnable" VerticalAlignment="Center" Padding="3 0 0 0" IsEnabled="{Binding ButtonIsEnableLP3}" IsChecked="{Binding LP3WaferAssociation.IsEnableCycle}"/>
  599. </StackPanel>
  600. <StackPanel Orientation="Horizontal" Grid.Column="1">
  601. <TextBlock Text="Cycle Num:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  602. <TextBox x:Name="CycleNumTextbox3" Margin="5,0,0,0" Width="72" VerticalAlignment="Center" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="20" BorderThickness="1" Text="{Binding LP3WaferAssociation.CycleNumber}" >
  603. <TextBox.IsEnabled>
  604. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  605. <Binding Path="ButtonIsEnableLP3" />
  606. <Binding ElementName="IsEnableCycleCheckBox3" Path="IsChecked"/>
  607. </MultiBinding>
  608. </TextBox.IsEnabled>
  609. </TextBox>
  610. </StackPanel>
  611. </Grid>
  612. <StackPanel Grid.Row="5" Orientation="Horizontal">
  613. <TextBlock Text="Cycle Info:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  614. <TextBlock FontSize="12" FontFamily="Arial" VerticalAlignment="Center">
  615. <TextBlock.Text>
  616. <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}" >
  617. <Binding Path="RtDataValues[LP3.CycleSetPoint]"></Binding>
  618. <Binding Path="RtDataValues[LP3.CycledCount]"></Binding>
  619. <Binding Path="RtDataValues[LP3.CycledWafer]"></Binding>
  620. </MultiBinding>
  621. </TextBlock.Text>
  622. </TextBlock>
  623. </StackPanel>
  624. <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center">
  625. <Button Content="Select All" Width="94" Height="33" Margin="10,2,10,2" Command="{Binding SelectAllCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  626. <Button Content="DeSelect All" Width="94" Height="33" Margin="-5,2,10,2" Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  627. </StackPanel>
  628. <Grid Grid.Row="7" >
  629. <Grid.ColumnDefinitions>
  630. <ColumnDefinition/>
  631. <ColumnDefinition/>
  632. </Grid.ColumnDefinitions>
  633. <StackPanel Orientation="Horizontal" >
  634. <TextBlock Margin="5,0,0,0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  635. <TextBox Margin="0,3,0,3" FontSize="15" Text="{Binding LP3WaferAssociation.JobID}" Width="101" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" RenderTransformOrigin="0.319,0.594" IsEnabled="{Binding ButtonIsEnableLP3}"/>
  636. </StackPanel>
  637. <StackPanel Orientation="Horizontal" Grid.Column="1">
  638. <TextBlock Margin="5,0,0,0" Text="Status:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  639. <TextBox Margin="0,3,0,3" FontSize="15" IsEnabled="False" Text="{Binding LP3WaferAssociation.JobStatus}" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="115" RenderTransformOrigin="0.319,0.594"/>
  640. </StackPanel>
  641. </Grid>
  642. <StackPanel Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Center">
  643. <Button IsEnabled="{Binding IsLP3CanCreatedJob}" Content="Create Job" Width="94" Height="33" Margin="10,2,10,2" Command="{Binding CreateJobCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  644. </StackPanel>
  645. <StackPanel Grid.Row="9" Orientation="Horizontal" HorizontalAlignment="Center">
  646. <Button IsEnabled="{Binding IsLP3AutoStoped}" Content="Start" Width="64" Height="33" Margin="10,2,10,2" Command="{Binding StartCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  647. <Button IsEnabled="{Binding IsLP3AutoStarted}" Content="Stop" Width="64" Height="33" Margin="10,2,10,2" Command="{Binding StopCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  648. </StackPanel>
  649. <ListBox Grid.Row="10" ItemsSource="{Binding LP3WaferAssociation.ModuleData.WaferManager.Wafers}" Name="list3" IsEnabled="{Binding IsLP3Unable}">
  650. <ListBox.Resources>
  651. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  652. <Setter Property="Rectangle.StrokeThickness" Value="1"/>
  653. </Style>
  654. </ListBox.Resources>
  655. <ListBox.ItemTemplate>
  656. <DataTemplate>
  657. <Grid Height="18" Background="#F5F7FA">
  658. <Grid.ColumnDefinitions>
  659. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  660. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  661. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  662. </Grid.ColumnDefinitions>
  663. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0 0 1 1" Width="110" >
  664. <controls:Slot ViewType="Bottom" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}"
  665. SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8,1,8,1"
  666. SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" FontFamily="Arial" FontSize="2">
  667. </controls:Slot>
  668. </Border>
  669. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Width="200" >
  670. <Border.Style>
  671. <Style>
  672. <Style.Triggers>
  673. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  674. <Setter Property="Border.Background" Value="AliceBlue"/>
  675. </DataTrigger>
  676. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  677. <Setter Property="Border.Background" Value="AliceBlue"/>
  678. </DataTrigger>
  679. </Style.Triggers>
  680. </Style>
  681. </Border.Style>
  682. <TextBlock Name="txtSeqName" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  683. </Border>
  684. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Width="110" Padding="5,1" >
  685. <Button Width="60" Height="14" Command="{Binding Path=DataContext.SetSequenceCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="{Binding}" IsEnabled="{Binding ButtonIsEnableLP1}">
  686. <Button.Style>
  687. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  688. <Setter Property="Button.Content" Value="Remove"/>
  689. <Setter Property="FontSize" Value="10" />
  690. <Style.Triggers>
  691. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  692. <Setter Property="Button.Content" Value="Set"/>
  693. </DataTrigger>
  694. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  695. <Setter Property="Button.IsEnabled" Value="False"/>
  696. </DataTrigger>
  697. </Style.Triggers>
  698. </Style>
  699. </Button.Style>
  700. </Button>
  701. </Border>
  702. </Grid>
  703. </DataTemplate>
  704. </ListBox.ItemTemplate>
  705. </ListBox>
  706. </Grid>
  707. </Grid>
  708. </Canvas>
  709. <TextBox IsReadOnly="True" BorderThickness="0" Text="LP1" FontSize="20" Width="40" Height="28" Background="Transparent" HorizontalContentAlignment="Center" HorizontalAlignment="Left" Canvas.Left="50" Canvas.Top="130" VerticalAlignment="Top"/>
  710. <TextBox IsReadOnly="True" BorderThickness="0" Text="LP2" FontSize="20" Width="40" Height="28" Background="Transparent" HorizontalContentAlignment="Center" Canvas.Left="50" Canvas.Top="266" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  711. <TextBox IsReadOnly="True" BorderThickness="0" Text="LP3" FontSize="20" Width="40" Height="28" Background="Transparent" HorizontalContentAlignment="Center" Canvas.Left="50" Canvas.Top="398" HorizontalAlignment="Center" VerticalAlignment="Top"/>
  712. <TextBlock Canvas.Top="150" Canvas.Left="50" Text="{Binding RtDataValues[LP1.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP1.CassettePlaced], Converter={StaticResource BoolToVisibility2}}"
  713. HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">
  714. </TextBlock>
  715. <TextBlock Canvas.Top="300" Canvas.Left="50" Text="{Binding RtDataValues[LP2.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP2.CassettePlaced], Converter={StaticResource BoolToVisibility2}}"
  716. HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">
  717. </TextBlock>
  718. <TextBlock Canvas.Top="420" Canvas.Left="50" Text="{Binding RtDataValues[LP3.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP3.CassettePlaced], Converter={StaticResource BoolToVisibility2}}"
  719. HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">
  720. </TextBlock>
  721. </Canvas>
  722. </UserControl>