JobOperationView.xaml 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802
  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"/> </Grid>
  156. </Border>
  157. </Grid>
  158. <Viewbox Stretch="Fill" Height="330" Width="330" Canvas.Left="158" Canvas.Top="10" HorizontalAlignment="Left" VerticalAlignment="Top">
  159. <Canvas Width="1000" Height="1000">
  160. <userControls:Loadport Canvas.Top="20" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  161. <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">
  162. <userControls:Foup.RenderTransform>
  163. <TransformGroup>
  164. <TranslateTransform/>
  165. </TransformGroup>
  166. </userControls:Foup.RenderTransform>
  167. </userControls:Foup>
  168. </Canvas>
  169. </Viewbox>
  170. <Viewbox Stretch="Fill" Height="330" Width="330" Canvas.Left="158" Canvas.Top="152" HorizontalAlignment="Left" VerticalAlignment="Center">
  171. <Canvas Width="1000" Height="1000">
  172. <userControls:Loadport Canvas.Top="20" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  173. <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">
  174. <userControls:Foup.RenderTransform>
  175. <TransformGroup>
  176. <TranslateTransform/>
  177. </TransformGroup>
  178. </userControls:Foup.RenderTransform>
  179. </userControls:Foup>
  180. </Canvas>
  181. </Viewbox>
  182. <Viewbox Stretch="Fill" Height="330" Width="330" Canvas.Left="158" Canvas.Top="283" HorizontalAlignment="Left" VerticalAlignment="Top">
  183. <Canvas Width="1000" Height="1000">
  184. <userControls:Loadport Canvas.Top="20" Width="300" Height="300" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top"/>
  185. <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">
  186. <userControls:Foup.RenderTransform>
  187. <TransformGroup>
  188. <TranslateTransform/>
  189. </TransformGroup>
  190. </userControls:Foup.RenderTransform>
  191. </userControls:Foup>
  192. </Canvas>
  193. </Viewbox>
  194. </Canvas>
  195. <Grid Height="AUTO" Width="1800" HorizontalAlignment="Center" VerticalAlignment="Top" Canvas.Left="60" Canvas.Top="-40" >
  196. <Grid.ColumnDefinitions>
  197. <ColumnDefinition Width="2.5*"/>
  198. <ColumnDefinition Width="2.5*"/>
  199. <ColumnDefinition Width="2.5*"/>
  200. <ColumnDefinition Width="2.5*"/>
  201. </Grid.ColumnDefinitions>
  202. <Grid Grid.Column="1" HorizontalAlignment="Center" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Content}" Width="AUTO" >
  203. <Grid.RowDefinitions>
  204. <RowDefinition Height="AUTO"></RowDefinition>
  205. <RowDefinition Height="33"></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 ="1*"></RowDefinition>
  215. </Grid.RowDefinitions>
  216. <Label Content="LP1" Background="{DynamicResource Table_BG_Title}" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  217. <StackPanel Grid.Row="1" Orientation="Horizontal">
  218. <TextBlock Margin="5,0,0,0" Text="Lot ID:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  219. <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}"/>
  220. </StackPanel>
  221. <StackPanel Grid.Row="2" Orientation="Horizontal">
  222. <TextBlock Margin="5,0,10,0" Text="Sequence Type:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="111"></TextBlock>
  223. <CheckBox Margin="5" Content="Engineering" VerticalAlignment="Center" IsChecked="{Binding LP1RecipeMode,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding ButtonIsEnableLP1}">
  224. <i:Interaction.Triggers>
  225. <i:EventTrigger EventName="Checked">
  226. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  227. </i:EventTrigger>
  228. <i:EventTrigger EventName="Unchecked">
  229. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  230. </i:EventTrigger>
  231. </i:Interaction.Triggers>
  232. </CheckBox>
  233. <CheckBox Margin="5" Content="Production" VerticalAlignment="Center" IsChecked="{Binding LP1RecipeMode}" IsEnabled="{Binding ButtonIsEnableLP1}">
  234. <i:Interaction.Triggers>
  235. <i:EventTrigger EventName="Checked">
  236. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  237. </i:EventTrigger>
  238. <i:EventTrigger EventName="Unchecked">
  239. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  240. </i:EventTrigger>
  241. </i:Interaction.Triggers>
  242. </CheckBox>
  243. </StackPanel>
  244. <StackPanel Grid.Row="3" Orientation="Horizontal">
  245. <TextBlock Margin="5,0,0,0" Text="Sequence:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  246. <ComboBox Margin="5,3,0,3" Width="242" SelectedItem="{Binding LP1SequenceName}" ItemsSource="{Binding SequenceSelectedItemsSource1}" IsEnabled="{Binding ButtonIsEnableLP1}">
  247. <i:Interaction.Triggers>
  248. <i:EventTrigger EventName="SelectionChanged">
  249. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding LP1WaferAssociation.ModuleData.ModuleID}"/>
  250. </i:EventTrigger>
  251. </i:Interaction.Triggers>
  252. </ComboBox>
  253. </StackPanel>
  254. <Grid Grid.Row="4" >
  255. <Grid.ColumnDefinitions>
  256. <ColumnDefinition/>
  257. <ColumnDefinition/>
  258. </Grid.ColumnDefinitions>
  259. <StackPanel Orientation="Horizontal" >
  260. <TextBlock Text="Cycle Set:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="65"></TextBlock>
  261. <CheckBox Margin="5" x:Name="IsEnableCycleCheckBox1" Content="IsEnable" VerticalAlignment="Center" Padding="3 0 0 0" IsEnabled="{Binding ButtonIsEnableLP1}" IsChecked="{Binding LP1WaferAssociation.IsEnableCycle}"/>
  262. </StackPanel>
  263. <StackPanel Orientation="Horizontal" Grid.Column="1">
  264. <TextBlock Text="Cycle Num:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  265. <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}" >
  266. <TextBox.IsEnabled>
  267. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  268. <Binding Path="ButtonIsEnableLP1" />
  269. <Binding ElementName="IsEnableCycleCheckBox1" Path="IsChecked"/>
  270. </MultiBinding>
  271. </TextBox.IsEnabled>
  272. </TextBox>
  273. </StackPanel>
  274. </Grid>
  275. <StackPanel Grid.Row="5" Orientation="Horizontal">
  276. <TextBlock Text="Cycle Info:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  277. <TextBlock FontSize="12" FontFamily="Arial" VerticalAlignment="Center">
  278. <TextBlock.Text>
  279. <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}" >
  280. <Binding Path="RtDataValues[LP1.CycleSetPoint]"></Binding>
  281. <Binding Path="RtDataValues[LP1.CycledCount]"></Binding>
  282. <Binding Path="RtDataValues[LP1.CycledWafer]"></Binding>
  283. </MultiBinding>
  284. </TextBlock.Text>
  285. </TextBlock>
  286. </StackPanel>
  287. <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center">
  288. <Button Content="Select All" Width="94" Height="28" Margin="10,2,10,2" Command="{Binding SelectAllCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  289. <Button Content="DeSelect All" Width="94" Height="28" Margin="-5,2,10,2" Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  290. </StackPanel>
  291. <Grid Grid.Row="7" >
  292. <Grid.ColumnDefinitions>
  293. <ColumnDefinition/>
  294. <ColumnDefinition/>
  295. </Grid.ColumnDefinitions>
  296. <StackPanel Grid.Column="0" Orientation="Horizontal">
  297. <TextBlock Margin="5,0,0,0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"/>
  298. <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}"/>
  299. </StackPanel>
  300. <StackPanel Grid.Column="1" Orientation="Horizontal">
  301. <TextBlock Margin="5,0,0,0" Text="Status:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"/>
  302. <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"/>
  303. </StackPanel>
  304. </Grid>
  305. <StackPanel Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Center">
  306. <Button IsEnabled="{Binding IsLP1CanCreatedJob}" Content="Create Job" Width="94" Height="28" Margin="10,2,10,2" Command="{Binding CreateJobCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  307. </StackPanel>
  308. <StackPanel Grid.Row="9" Orientation="Horizontal" HorizontalAlignment="Center">
  309. <Button IsEnabled="{Binding IsLP1AutoStoped}" Content="Start" Width="64" Height="28" Margin="10,2,10,2" Command="{Binding StartCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  310. <Button IsEnabled="{Binding IsLP1AutoStarted}" Content="Stop" Width="64" Height="28" Margin="10,2,10,2" Command="{Binding StopCommand}" CommandParameter="{Binding LP1WaferAssociation}"/>
  311. </StackPanel>
  312. <ListBox Grid.Row="10" ItemsSource="{Binding LP1WaferAssociation.ModuleData.WaferManager.Wafers}" Name="list1" IsEnabled="{Binding IsLP1Unable}">
  313. <ListBox.Resources>
  314. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  315. <Setter Property="Rectangle.StrokeThickness" Value="1"/>
  316. </Style>
  317. </ListBox.Resources>
  318. <ListBox.ItemTemplate>
  319. <DataTemplate>
  320. <Grid Height="18" Background="#F5F7FA">
  321. <Grid.ColumnDefinitions>
  322. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  323. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  324. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  325. </Grid.ColumnDefinitions>
  326. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0 0 1 1" Width="110" >
  327. <controls:Slot ViewType="Bottom" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}"
  328. SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8,1,8,1"
  329. SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" FontFamily="Arial" FontSize="2">
  330. </controls:Slot>
  331. </Border>
  332. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Width="200" >
  333. <Border.Style>
  334. <Style>
  335. <Style.Triggers>
  336. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  337. <Setter Property="Border.Background" Value="AliceBlue"/>
  338. </DataTrigger>
  339. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  340. <Setter Property="Border.Background" Value="AliceBlue"/>
  341. </DataTrigger>
  342. </Style.Triggers>
  343. </Style>
  344. </Border.Style>
  345. <TextBlock Name="txtSeqName" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  346. </Border>
  347. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Width="110" Padding="5,1" >
  348. <Button Width="60" Height="14" Command="{Binding Path=DataContext.SetSequenceCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="{Binding}" IsEnabled="{Binding ButtonIsEnableLP1}">
  349. <Button.Style>
  350. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  351. <Setter Property="Button.Content" Value="Remove"/>
  352. <Setter Property="FontSize" Value="10" />
  353. <Style.Triggers>
  354. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  355. <Setter Property="Button.Content" Value="Set"/>
  356. </DataTrigger>
  357. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  358. <Setter Property="Button.IsEnabled" Value="False"/>
  359. </DataTrigger>
  360. </Style.Triggers>
  361. </Style>
  362. </Button.Style>
  363. </Button>
  364. </Border>
  365. </Grid>
  366. </DataTemplate>
  367. </ListBox.ItemTemplate>
  368. </ListBox>
  369. </Grid>
  370. <Grid Grid.Column="2" HorizontalAlignment="Center" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Content}" Width="AUTO" >
  371. <Grid.RowDefinitions>
  372. <RowDefinition Height="AUTO"></RowDefinition>
  373. <RowDefinition Height="33"></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 ="1*"></RowDefinition>
  383. </Grid.RowDefinitions>
  384. <Label Content="LP2" Background="{DynamicResource Table_BG_Title}" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  385. <StackPanel Grid.Row="1" Orientation="Horizontal">
  386. <TextBlock Margin="5,0,0,0" Text="Lot ID:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  387. <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}" />
  388. </StackPanel>
  389. <StackPanel Grid.Row="2" Orientation="Horizontal">
  390. <TextBlock Margin="5,0,10,0" Text="Sequence Type:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="111"></TextBlock>
  391. <CheckBox Margin="5" Content="Engineering" VerticalAlignment="Center" IsChecked="{Binding LP2RecipeMode,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding ButtonIsEnableLP2}">
  392. <i:Interaction.Triggers>
  393. <i:EventTrigger EventName="Checked">
  394. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  395. </i:EventTrigger>
  396. <i:EventTrigger EventName="Unchecked">
  397. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  398. </i:EventTrigger>
  399. </i:Interaction.Triggers>
  400. </CheckBox>
  401. <CheckBox Margin="5" Content="Production" VerticalAlignment="Center" IsChecked="{Binding LP2RecipeMode}" IsEnabled="{Binding ButtonIsEnableLP2}">
  402. <i:Interaction.Triggers>
  403. <i:EventTrigger EventName="Checked">
  404. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  405. </i:EventTrigger>
  406. <i:EventTrigger EventName="Unchecked">
  407. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  408. </i:EventTrigger>
  409. </i:Interaction.Triggers>
  410. </CheckBox>
  411. </StackPanel>
  412. <StackPanel Grid.Row="3" Orientation="Horizontal">
  413. <TextBlock Margin="5,0,0,0" Text="Sequence:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  414. <ComboBox Margin="5,3,0,3" Width="242" SelectedItem="{Binding LP2SequenceName}" ItemsSource="{Binding SequenceSelectedItemsSource2}" IsEnabled="{Binding ButtonIsEnableLP2}">
  415. <i:Interaction.Triggers>
  416. <i:EventTrigger EventName="SelectionChanged">
  417. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding LP2WaferAssociation.ModuleData.ModuleID}"/>
  418. </i:EventTrigger>
  419. </i:Interaction.Triggers>
  420. </ComboBox>
  421. </StackPanel>
  422. <Grid Grid.Row="4" >
  423. <Grid.ColumnDefinitions>
  424. <ColumnDefinition/>
  425. <ColumnDefinition/>
  426. </Grid.ColumnDefinitions>
  427. <StackPanel Orientation="Horizontal" >
  428. <TextBlock Text="Cycle Set:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="65"></TextBlock>
  429. <CheckBox Margin="5" x:Name="IsEnableCycleCheckBox2" Content="IsEnable" IsChecked="{Binding LP2WaferAssociation.IsEnableCycle}" IsEnabled="{Binding ButtonIsEnableLP2}" VerticalAlignment="Center" Padding="3 0 0 0"/>
  430. </StackPanel>
  431. <StackPanel Orientation="Horizontal" Grid.Column="1">
  432. <TextBlock Text="Cycle Num:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  433. <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}">
  434. <TextBox.IsEnabled>
  435. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  436. <Binding Path="ButtonIsEnableLP2" />
  437. <Binding ElementName="IsEnableCycleCheckBox2" Path="IsChecked"/>
  438. </MultiBinding>
  439. </TextBox.IsEnabled>
  440. </TextBox>
  441. </StackPanel>
  442. </Grid>
  443. <StackPanel Grid.Row="5" Orientation="Horizontal">
  444. <TextBlock Text="Cycle Info:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  445. <TextBlock FontSize="12" FontFamily="Arial" VerticalAlignment="Center">
  446. <TextBlock.Text>
  447. <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}" >
  448. <Binding Path="RtDataValues[LP2.CycleSetPoint]"></Binding>
  449. <Binding Path="RtDataValues[LP2.CycledCount]"></Binding>
  450. <Binding Path="RtDataValues[LP2.CycledWafer]"></Binding>
  451. </MultiBinding>
  452. </TextBlock.Text>
  453. </TextBlock>
  454. </StackPanel>
  455. <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center">
  456. <Button Content="Select All" Width="94" Height="28" Margin="10,2,10,2" Command="{Binding SelectAllCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  457. <Button Content="DeSelect All" Width="94" Height="28" Margin="-5,2,10,2" Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  458. </StackPanel>
  459. <Grid Grid.Row="7" >
  460. <Grid.ColumnDefinitions>
  461. <ColumnDefinition/>
  462. <ColumnDefinition/>
  463. </Grid.ColumnDefinitions>
  464. <StackPanel Orientation="Horizontal" >
  465. <TextBlock Margin="5,0,0,0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  466. <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}"/>
  467. </StackPanel>
  468. <StackPanel Orientation="Horizontal" Grid.Column="1">
  469. <TextBlock Margin="5,0,0,0" Text="Status:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  470. <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"/>
  471. </StackPanel>
  472. </Grid>
  473. <StackPanel Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Center">
  474. <Button IsEnabled="{Binding IsLP2CanCreatedJob}" Content="Create Job" Width="94" Height="28" Margin="10,2,10,2" Command="{Binding CreateJobCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  475. </StackPanel>
  476. <StackPanel Grid.Row="9" Orientation="Horizontal" HorizontalAlignment="Center">
  477. <Button IsEnabled="{Binding IsLP2AutoStoped}" Content="Start" Width="64" Height="28" Margin="10,2,10,2" Command="{Binding StartCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  478. <Button IsEnabled="{Binding IsLP2AutoStarted}" Content="Stop" Width="64" Height="28" Margin="10,2,10,2" Command="{Binding StopCommand}" CommandParameter="{Binding LP2WaferAssociation}"/>
  479. </StackPanel>
  480. <ListBox Grid.Row="10" ItemsSource="{Binding LP2WaferAssociation.ModuleData.WaferManager.Wafers}" Name="list2" IsEnabled="{Binding IsLP2Unable}">
  481. <ListBox.Resources>
  482. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  483. <Setter Property="Rectangle.StrokeThickness" Value="1"/>
  484. </Style>
  485. </ListBox.Resources>
  486. <ListBox.ItemTemplate>
  487. <DataTemplate>
  488. <Grid Height="18" Background="#F5F7FA">
  489. <Grid.ColumnDefinitions>
  490. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  491. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  492. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  493. </Grid.ColumnDefinitions>
  494. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0 0 1 1" Width="110" >
  495. <controls:Slot ViewType="Bottom" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}"
  496. SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8,1,8,1"
  497. SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" FontFamily="Arial" FontSize="2">
  498. </controls:Slot>
  499. </Border>
  500. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Width="200" >
  501. <Border.Style>
  502. <Style>
  503. <Style.Triggers>
  504. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  505. <Setter Property="Border.Background" Value="AliceBlue"/>
  506. </DataTrigger>
  507. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  508. <Setter Property="Border.Background" Value="AliceBlue"/>
  509. </DataTrigger>
  510. </Style.Triggers>
  511. </Style>
  512. </Border.Style>
  513. <TextBlock Name="txtSeqName" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  514. </Border>
  515. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Width="110" Padding="5,1" >
  516. <Button Width="60" Height="14" Command="{Binding Path=DataContext.SetSequenceCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="{Binding}" IsEnabled="{Binding ButtonIsEnableLP1}">
  517. <Button.Style>
  518. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  519. <Setter Property="Button.Content" Value="Remove"/>
  520. <Setter Property="FontSize" Value="10" />
  521. <Style.Triggers>
  522. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  523. <Setter Property="Button.Content" Value="Set"/>
  524. </DataTrigger>
  525. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  526. <Setter Property="Button.IsEnabled" Value="False"/>
  527. </DataTrigger>
  528. </Style.Triggers>
  529. </Style>
  530. </Button.Style>
  531. </Button>
  532. </Border>
  533. </Grid>
  534. </DataTemplate>
  535. </ListBox.ItemTemplate>
  536. </ListBox>
  537. </Grid>
  538. <Grid Grid.Column="3" HorizontalAlignment="Center" unity:GridOptions.ShowBorder="True" unity:GridOptions.LineBrush="Black" Background="{DynamicResource Table_BG_Content}" Width="AUTO" >
  539. <Grid.RowDefinitions>
  540. <RowDefinition Height="AUTO"></RowDefinition>
  541. <RowDefinition Height="33"></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 ="1*"></RowDefinition>
  551. </Grid.RowDefinitions>
  552. <Label Content="LP3" Background="{DynamicResource Table_BG_Title}" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,1,1,1" Grid.Row="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
  553. <StackPanel Grid.Row="1" Orientation="Horizontal">
  554. <TextBlock Margin="5,0,0,0" Text="Lot ID:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  555. <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}"/>
  556. </StackPanel>
  557. <StackPanel Grid.Row="2" Orientation="Horizontal">
  558. <TextBlock Margin="5,0,10,0" Text="Sequence Type:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="111"></TextBlock>
  559. <CheckBox Margin="5" Content="Engineering" VerticalAlignment="Center" IsChecked="{Binding LP3RecipeMode,Converter={StaticResource BoolToBool}}" IsEnabled="{Binding ButtonIsEnableLP3}">
  560. <i:Interaction.Triggers>
  561. <i:EventTrigger EventName="Checked">
  562. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  563. </i:EventTrigger>
  564. <i:EventTrigger EventName="Unchecked">
  565. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  566. </i:EventTrigger>
  567. </i:Interaction.Triggers>
  568. </CheckBox>
  569. <CheckBox Margin="5" Content="Production" VerticalAlignment="Center" IsChecked="{Binding LP3RecipeMode}" IsEnabled="{Binding ButtonIsEnableLP3}">
  570. <i:Interaction.Triggers>
  571. <i:EventTrigger EventName="Checked">
  572. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  573. </i:EventTrigger>
  574. <i:EventTrigger EventName="Unchecked">
  575. <i:InvokeCommandAction Command="{Binding SeqTypeChangeCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  576. </i:EventTrigger>
  577. </i:Interaction.Triggers>
  578. </CheckBox>
  579. </StackPanel>
  580. <StackPanel Grid.Row="3" Orientation="Horizontal">
  581. <TextBlock Margin="5,0,0,0" Text="Sequence:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  582. <ComboBox Margin="5,3,0,3" Width="242" SelectedItem="{Binding LP3SequenceName}" ItemsSource="{Binding SequenceSelectedItemsSource3}" IsEnabled="{Binding ButtonIsEnableLP3}">
  583. <i:Interaction.Triggers>
  584. <i:EventTrigger EventName="SelectionChanged">
  585. <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding LP3WaferAssociation.ModuleData.ModuleID}"/>
  586. </i:EventTrigger>
  587. </i:Interaction.Triggers>
  588. </ComboBox>
  589. </StackPanel>
  590. <Grid Grid.Row="4" >
  591. <Grid.ColumnDefinitions>
  592. <ColumnDefinition/>
  593. <ColumnDefinition/>
  594. </Grid.ColumnDefinitions>
  595. <StackPanel Orientation="Horizontal" >
  596. <TextBlock Text="Cycle Set:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="65"></TextBlock>
  597. <CheckBox Margin="5" x:Name="IsEnableCycleCheckBox3" Content="IsEnable" VerticalAlignment="Center" Padding="3 0 0 0" IsEnabled="{Binding ButtonIsEnableLP3}" IsChecked="{Binding LP3WaferAssociation.IsEnableCycle}"/>
  598. </StackPanel>
  599. <StackPanel Orientation="Horizontal" Grid.Column="1">
  600. <TextBlock Text="Cycle Num:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  601. <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}" >
  602. <TextBox.IsEnabled>
  603. <MultiBinding Converter="{StaticResource mutiBoolToBool}">
  604. <Binding Path="ButtonIsEnableLP3" />
  605. <Binding ElementName="IsEnableCycleCheckBox3" Path="IsChecked"/>
  606. </MultiBinding>
  607. </TextBox.IsEnabled>
  608. </TextBox>
  609. </StackPanel>
  610. </Grid>
  611. <StackPanel Grid.Row="5" Orientation="Horizontal">
  612. <TextBlock Text="Cycle Info:" Margin="5,0,0,0" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="80"></TextBlock>
  613. <TextBlock FontSize="12" FontFamily="Arial" VerticalAlignment="Center">
  614. <TextBlock.Text>
  615. <MultiBinding StringFormat="{}{0}/{1} Wafer Count: {2}" >
  616. <Binding Path="RtDataValues[LP3.CycleSetPoint]"></Binding>
  617. <Binding Path="RtDataValues[LP3.CycledCount]"></Binding>
  618. <Binding Path="RtDataValues[LP3.CycledWafer]"></Binding>
  619. </MultiBinding>
  620. </TextBlock.Text>
  621. </TextBlock>
  622. </StackPanel>
  623. <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Center">
  624. <Button Content="Select All" Width="94" Height="28" Margin="10,2,10,2" Command="{Binding SelectAllCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  625. <Button Content="DeSelect All" Width="94" Height="28" Margin="-5,2,10,2" Command="{Binding UnSelectAllCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  626. </StackPanel>
  627. <Grid Grid.Row="7" >
  628. <Grid.ColumnDefinitions>
  629. <ColumnDefinition/>
  630. <ColumnDefinition/>
  631. </Grid.ColumnDefinitions>
  632. <StackPanel Orientation="Horizontal" >
  633. <TextBlock Margin="5,0,0,0" Text="Name:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  634. <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}"/>
  635. </StackPanel>
  636. <StackPanel Orientation="Horizontal" Grid.Column="1">
  637. <TextBlock Margin="5,0,0,0" Text="Status:" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="15" FontFamily="Arial" VerticalAlignment="Center" Width="52"></TextBlock>
  638. <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"/>
  639. </StackPanel>
  640. </Grid>
  641. <StackPanel Grid.Row="8" Orientation="Horizontal" HorizontalAlignment="Center">
  642. <Button IsEnabled="{Binding IsLP3CanCreatedJob}" Content="Create Job" Width="94" Height="28" Margin="10,2,10,2" Command="{Binding CreateJobCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  643. </StackPanel>
  644. <StackPanel Grid.Row="9" Orientation="Horizontal" HorizontalAlignment="Center">
  645. <Button IsEnabled="{Binding IsLP3AutoStoped}" Content="Start" Width="64" Height="28" Margin="10,2,10,2" Command="{Binding StartCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  646. <Button IsEnabled="{Binding IsLP3AutoStarted}" Content="Stop" Width="64" Height="28" Margin="10,2,10,2" Command="{Binding StopCommand}" CommandParameter="{Binding LP3WaferAssociation}"/>
  647. </StackPanel>
  648. <ListBox Grid.Row="10" ItemsSource="{Binding LP3WaferAssociation.ModuleData.WaferManager.Wafers}" Name="list3" IsEnabled="{Binding IsLP3Unable}">
  649. <ListBox.Resources>
  650. <Style TargetType="ListBoxItem" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
  651. <Setter Property="Rectangle.StrokeThickness" Value="1"/>
  652. </Style>
  653. </ListBox.Resources>
  654. <ListBox.ItemTemplate>
  655. <DataTemplate>
  656. <Grid Height="18" Background="#F5F7FA">
  657. <Grid.ColumnDefinitions>
  658. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  659. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  660. <ColumnDefinition Width="AUTO"></ColumnDefinition>
  661. </Grid.ColumnDefinitions>
  662. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0 0 1 1" Width="110" >
  663. <controls:Slot ViewType="Bottom" WaferStatus="{Binding WaferStatus}" SlotID="{Binding SlotID}" ModuleID="{Binding ModuleID}"
  664. SourceName="{Binding SourceName}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="8,1,8,1"
  665. SlotMouseButtonDown="Slot_SlotMouseButtonDown" WaferTransferStarted="Slot_WaferTransferStarted" FontFamily="Arial" FontSize="2">
  666. </controls:Slot>
  667. </Border>
  668. <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Width="200" >
  669. <Border.Style>
  670. <Style>
  671. <Style.Triggers>
  672. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  673. <Setter Property="Border.Background" Value="AliceBlue"/>
  674. </DataTrigger>
  675. <DataTrigger Binding="{Binding WaferStatus}" Value="1">
  676. <Setter Property="Border.Background" Value="AliceBlue"/>
  677. </DataTrigger>
  678. </Style.Triggers>
  679. </Style>
  680. </Border.Style>
  681. <TextBlock Name="txtSeqName" Text="{Binding SequenceName}" Foreground="{DynamicResource FG_Black}" FontSize="12" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
  682. </Border>
  683. <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,0,1" Width="110" Padding="5,1" >
  684. <Button Width="60" Height="14" Command="{Binding Path=DataContext.SetSequenceCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ListBox}}" CommandParameter="{Binding}" IsEnabled="{Binding ButtonIsEnableLP1}">
  685. <Button.Style>
  686. <Style TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
  687. <Setter Property="Button.Content" Value="Remove"/>
  688. <Setter Property="FontSize" Value="10" />
  689. <Style.Triggers>
  690. <DataTrigger Binding="{Binding ElementName=txtSeqName, Path=Text}" Value="{x:Static sys:String.Empty}">
  691. <Setter Property="Button.Content" Value="Set"/>
  692. </DataTrigger>
  693. <DataTrigger Binding="{Binding WaferStatus}" Value="0">
  694. <Setter Property="Button.IsEnabled" Value="False"/>
  695. </DataTrigger>
  696. </Style.Triggers>
  697. </Style>
  698. </Button.Style>
  699. </Button>
  700. </Border>
  701. </Grid>
  702. </DataTemplate>
  703. </ListBox.ItemTemplate>
  704. </ListBox>
  705. </Grid>
  706. </Grid>
  707. </Canvas>
  708. <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"/>
  709. <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"/>
  710. <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"/>
  711. <TextBlock Canvas.Top="150" Canvas.Left="50" Text="{Binding RtDataValues[LP1.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP1.CassettePlaced], Converter={StaticResource BoolToVisibility2}}"
  712. HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">
  713. </TextBlock>
  714. <TextBlock Canvas.Top="300" Canvas.Left="50" Text="{Binding RtDataValues[LP2.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP2.CassettePlaced], Converter={StaticResource BoolToVisibility2}}"
  715. HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">
  716. </TextBlock>
  717. <TextBlock Canvas.Top="420" Canvas.Left="50" Text="{Binding RtDataValues[LP3.WaferSize], StringFormat=({0})}" Visibility="{Binding RtDataValues[LP3.CassettePlaced], Converter={StaticResource BoolToVisibility2}}"
  718. HorizontalAlignment="Center" Margin="0,5,0,0" FontSize="16">
  719. </TextBlock>
  720. </Canvas>
  721. </UserControl>