DepRecipeView.xaml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407
  1. <UserControl xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"
  2. xmlns:UserControls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes"
  3. x:Class="PunkHPX8_MainPages.Views.DepRecipeView"
  4. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  5. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  6. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:local="clr-namespace:PunkHPX8_MainPages.Views"
  9. xmlns:prism="http://prismlibrary.com/"
  10. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  11. xmlns:converters="clr-namespace:PunkHPX8_MainPages.Converters"
  12. xmlns:extendedControls="clr-namespace:MECF.Framework.UI.Core.ExtendedControls;assembly=MECF.Framework.UI.Core"
  13. prism:ViewModelLocator.AutoWireViewModel="True"
  14. mc:Ignorable="d"
  15. d:DesignHeight="800" d:DesignWidth="1800" Loaded="UserControl_Loaded">
  16. <UserControl.Resources>
  17. <converters:BoolReverseConverter x:Key="boolReverseConverter"/>
  18. <converters:BoolVisibilityConverter x:Key="boolVisibilityConverter"/>
  19. </UserControl.Resources>
  20. <Grid>
  21. <Grid.RowDefinitions>
  22. <RowDefinition Height="100"></RowDefinition>
  23. <RowDefinition Height="145"></RowDefinition>
  24. <RowDefinition/>
  25. </Grid.RowDefinitions>
  26. <Grid.ColumnDefinitions>
  27. <ColumnDefinition Width="50"></ColumnDefinition>
  28. <ColumnDefinition Width="400"></ColumnDefinition>
  29. <ColumnDefinition Width="700"></ColumnDefinition>
  30. <ColumnDefinition Width="700"></ColumnDefinition>
  31. <ColumnDefinition/>
  32. </Grid.ColumnDefinitions>
  33. <UserControls:RecipeFileLoadControl Grid.Row="0" Grid.RowSpan="3" Grid.Column="1" Title="Dep Recipe" RecipeNodes="{Binding RecipeNodes}" OperationCommand="{Binding OperationCommand}"
  34. RecipeLocation="{Binding CurrentNode.RecipeLocation}" EditEnable="{Binding EditEnable}" CreateEnable="{Binding CreateEnable}" RecipeFileName="{Binding CurrentNode.FileName}"
  35. CreateCommand="{Binding CreateCommand}" EditCommand="{Binding EditCommand}"/>
  36. <Grid Grid.Row="0" Grid.Column="2" Grid.RowSpan="2">
  37. <Grid.RowDefinitions>
  38. <RowDefinition Height="70"></RowDefinition>
  39. <RowDefinition Height="70"></RowDefinition>
  40. <RowDefinition/>
  41. </Grid.RowDefinitions>
  42. <GroupBox Header="PPID" Grid.Row="0">
  43. <TextBlock Text="{Binding Recipe.Ppid}" FontSize="20" VerticalAlignment="Center" TextAlignment="Center">
  44. </TextBlock>
  45. </GroupBox>
  46. <GroupBox Header="Description" Grid.Row="1">
  47. <TextBlock Text="{Binding Recipe.Description}" FontSize="18" VerticalAlignment="Center" TextAlignment="Center">
  48. </TextBlock>
  49. </GroupBox>
  50. </Grid>
  51. <GroupBox Header="Author" Grid.Row="1" Grid.Column="2" Width="180" Margin="-500,60,10,20">
  52. <Label Content="{Binding Recipe.Author}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  53. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  54. </GroupBox>
  55. <GroupBox Header="Creation Date" Grid.Row="1" Grid.Column="2" Width="180" Margin="-120,60,10,20">
  56. <Label Content="{Binding Recipe.CreateDate}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  57. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  58. </GroupBox>
  59. <GroupBox Header="Save Date" Grid.Row="1" Grid.Column="2" Width="180" Margin="260,60,10,20">
  60. <Label Content="{Binding Recipe.SaveDate}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  61. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  62. </GroupBox>
  63. <GroupBox Header="Chemistry" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Width="180" Margin="-60,60,10,20" >
  64. <ComboBox Height="30" Margin="10,0,10,0" ItemsSource="{Binding ChemistryList}" SelectedItem="{Binding Recipe.Chemistry, Mode=TwoWay}">
  65. </ComboBox>
  66. </GroupBox>
  67. <GroupBox Header="Total Time" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Margin="-75,60,500,20" Width="180">
  68. <Label Content="{Binding Recipe.TotalTime}" Height="30" Width="180" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  69. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  70. </GroupBox>
  71. <Grid Grid.Row="0" Grid.Column="3" Grid.RowSpan="2">
  72. <Grid.RowDefinitions>
  73. <RowDefinition Height="70"></RowDefinition>
  74. <RowDefinition Height="70"></RowDefinition>
  75. <RowDefinition/>
  76. <RowDefinition Height="70"></RowDefinition>
  77. </Grid.RowDefinitions>
  78. <Grid Grid.Row="0">
  79. <Grid.ColumnDefinitions>
  80. <ColumnDefinition/>
  81. <ColumnDefinition/>
  82. <ColumnDefinition/>
  83. </Grid.ColumnDefinitions>
  84. <Button Grid.Column="0" IsEnabled="{Binding Enable}" Style="{StaticResource SysBtnStyle}" Content="Save" Height="35" Width="100" Command="{Binding SaveRecipeCommand}"></Button>
  85. <Button Grid.Column="1" Style="{StaticResource SysBtnStyle}" Content="SaveAs" Height="35" Width="100" Command="{Binding SaveAsRecipeCommand}"></Button>
  86. </Grid>
  87. </Grid>
  88. <Grid Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="2">
  89. <Grid>
  90. <Grid Grid.Row="0">
  91. <Grid.ColumnDefinitions>
  92. <ColumnDefinition Width="1300"></ColumnDefinition>
  93. <ColumnDefinition/>
  94. </Grid.ColumnDefinitions>
  95. <TabControl Grid.Column="0" Background="Transparent">
  96. <TabItem Header="Entry">
  97. <Grid>
  98. <Grid.RowDefinitions>
  99. <RowDefinition Height="100"></RowDefinition>
  100. <RowDefinition Height="100"></RowDefinition>
  101. <RowDefinition Height="100"></RowDefinition>
  102. <RowDefinition Height="100"></RowDefinition>
  103. <RowDefinition/>
  104. </Grid.RowDefinitions>
  105. <Grid.ColumnDefinitions>
  106. <ColumnDefinition Width="86"></ColumnDefinition>
  107. <ColumnDefinition Width="214"/>
  108. <ColumnDefinition Width="300"></ColumnDefinition>
  109. <ColumnDefinition/>
  110. </Grid.ColumnDefinitions>
  111. <UserControls:GroupTextBoxControl Grid.Row="0" Grid.Column="0" Title="Entry Spin Speed" Unit="RPM" MinValue="0" MaxValue="1000" Margin="20,10,20,10"
  112. IntValue="{Binding Recipe.EntrySpinSpeed,Mode=TwoWay}"
  113. ValidResult="{Binding PropertyValidResultDic[EntrySpinSpeed],Mode=TwoWay}" Width="260" Grid.ColumnSpan="2"/>
  114. <UserControls:GroupDigitalBoxControl Grid.Column="0" Grid.Row="1" Title="Entry Z Offset" Unit="mm" MinValue="-100" MaxValue="100" Margin="20,10,20,10"
  115. DigitalValue="{Binding Recipe.EntryZoffset,Mode=TwoWay}"
  116. ValidResult="{Binding PropertyValidResultDic[EntryZoffset],Mode=TwoWay}" Width="260" Grid.ColumnSpan="2" />
  117. <UserControls:GroupTextBoxControl Grid.Row="0" Grid.Column="2" Title="Plating Delay" Unit="sec" MinValue="0" MaxValue="300" Margin="20,10,20,10"
  118. IntValue="{Binding Recipe.PlatingDelay,Mode=TwoWay}"
  119. ValidResult="{Binding PropertyValidResultDic[PlatingDelay],Mode=TwoWay}" Width="260"/>
  120. <UserControls:GroupTextBoxControl Grid.Row="2" Grid.Column="2" Title="Entry Current" Unit="mA" MinValue="0" MaxValue="1000" Margin="20,10,20,10"
  121. IntValue="{Binding Recipe.EntryCurrent,Mode=TwoWay}"
  122. ValidResult="{Binding PropertyValidResultDic[EntryCurrent],Mode=TwoWay}" Width="260"/>
  123. <UserControls:GroupTextBoxControl Grid.Row="3" Grid.Column="2" Title="Entry Voltage" Unit="mV" MinValue="0" MaxValue="5000" Margin="20,10,20,10"
  124. IntValue="{Binding Recipe.EntryVoltage,Mode=TwoWay}"
  125. ValidResult="{Binding PropertyValidResultDic[EntryVoltage],Mode=TwoWay}" Width="260"/>
  126. <GroupBox Grid.Row="1" Grid.Column="2" IsEnabled="{Binding Enable}" Margin="10,10,10,10" Width="260" Header="Entry Type">
  127. <Grid>
  128. <RadioButton Content="Cold" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
  129. Command="{Binding AutoCurrentBasedFalseCommand}" IsChecked="{Binding Recipe.IsEntryTypeCold ,Mode=TwoWay}" Margin="28,-1,0,-6" ></RadioButton>
  130. <RadioButton Content="Hot" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Center"
  131. Command="{Binding AutoCurrentBasedTrueCommand}" IsChecked="{Binding Recipe.IsEntryTypeCold,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="100,-1,0,-6" ></RadioButton>
  132. </Grid>
  133. </GroupBox>
  134. </Grid>
  135. </TabItem>
  136. <TabItem Header="RampSteps">
  137. <Grid>
  138. <Grid.RowDefinitions>
  139. <RowDefinition Height="100"></RowDefinition>
  140. <RowDefinition Height="100"></RowDefinition>
  141. <RowDefinition Height="100"></RowDefinition>
  142. <RowDefinition Height="100"></RowDefinition>
  143. <RowDefinition/>
  144. </Grid.RowDefinitions>
  145. <Grid.ColumnDefinitions>
  146. <ColumnDefinition Width="9"></ColumnDefinition>
  147. <ColumnDefinition Width="13.5"/>
  148. <ColumnDefinition Width="197.5"/>
  149. <ColumnDefinition Width="220"></ColumnDefinition>
  150. <ColumnDefinition Width="550"></ColumnDefinition>
  151. <ColumnDefinition/>
  152. </Grid.ColumnDefinitions>
  153. <UserControls:GroupTextBoxControl Grid.Row="0" Grid.Column="2" Width="200" Title="Current Warning" Unit="%" MinValue="0" MaxValue="100" Margin="0,10,218,10"
  154. IntValue="{Binding Recipe.DepCurrentWarning,Mode=TwoWay}"
  155. ValidResult="{Binding PropertyValidResultDic[DepCurrentWarning],Mode=TwoWay}" Grid.ColumnSpan="2" />
  156. <UserControls:GroupTextBoxControl Grid.Row="1" Grid.Column="2" Width="200" Title="Current Fault" Unit="%" MinValue="0" MaxValue="100" Margin="0,10,218,10"
  157. IntValue="{Binding Recipe.DepCurrentFault,Mode=TwoWay}"
  158. ValidResult="{Binding PropertyValidResultDic[DepCurrentFault],Mode=TwoWay}" Grid.ColumnSpan="2" />
  159. <UserControls:GroupTextBoxControl Grid.Row="2" Grid.Column="2" Width="200" Title="Max Voltage Warning" Unit="%" MinValue="0" MaxValue="100" Margin="0,10,218,10"
  160. IntValue="{Binding Recipe.DepMaxVoltageWarning,Mode=TwoWay}"
  161. ValidResult="{Binding PropertyValidResultDic[DepMaxVoltageWarning],Mode=TwoWay}" Grid.ColumnSpan="2" />
  162. <UserControls:GroupTextBoxControl Grid.Row="3" Grid.Column="2" Width="200" Title="Max Voltage Fault" Unit="%" MinValue="0" MaxValue="100" Margin="0,10,218,10"
  163. IntValue="{Binding Recipe.DepMaxVoltageFault,Mode=TwoWay}"
  164. ValidResult="{Binding PropertyValidResultDic[DepMaxVoltageFault],Mode=TwoWay}" Grid.ColumnSpan="2"/>
  165. <UserControls:GroupDigitalBoxControl Grid.Column="3" Grid.Row="0" Title="Plating Z Offset" Unit="mm" MinValue="-100" MaxValue="100" Margin="-270,10,200,10"
  166. DigitalValue="{Binding Recipe.DepZoffset,Mode=TwoWay}"
  167. ValidResult="{Binding PropertyValidResultDic[DepZoffset],Mode=TwoWay}" Width="260" Grid.ColumnSpan="2" />
  168. <GroupBox Header="Deposition Step" Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Grid.RowSpan="4" Margin="20,0,0,20">
  169. <Grid>
  170. <Grid.RowDefinitions>
  171. <RowDefinition Height="75"></RowDefinition>
  172. <RowDefinition Height="280"/>
  173. <RowDefinition Height="65"></RowDefinition>
  174. </Grid.RowDefinitions>
  175. <Grid Grid.Row="0">
  176. <Grid.ColumnDefinitions>
  177. <ColumnDefinition Width="180"></ColumnDefinition>
  178. <ColumnDefinition Width="180"></ColumnDefinition>
  179. <ColumnDefinition Width="180"></ColumnDefinition>
  180. <ColumnDefinition Width="180"></ColumnDefinition>
  181. <ColumnDefinition/>
  182. </Grid.ColumnDefinitions>
  183. <GroupBox Header="Plating Steps" Grid.Row="0" Grid.Column="0">
  184. <Label Content="{Binding Recipe.DepStepCount}" Height="30" Width="151" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  185. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  186. </GroupBox>
  187. <GroupBox Header="Total Time" Grid.Row="0" Grid.Column="1">
  188. <Label Content="{Binding Recipe.DepStepTotalTime}" Height="30" Width="151" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  189. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0"></Label>
  190. </GroupBox>
  191. <GroupBox Header="Total Current" Grid.Row="0" Grid.Column="2">
  192. <Label Height="30" Width="151" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White" Background="Gray"
  193. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="6,0,0,0">
  194. <Label.Content>
  195. <TextBlock Text="{Binding Recipe.DepStepTotalCurrent,StringFormat=\{0:F3\} Amp_Minutes}"/>
  196. </Label.Content>
  197. </Label>
  198. </GroupBox>
  199. </Grid>
  200. <DataGrid x:Name="RampDataGrid" Grid.Row="1" Grid.Column="0" Grid.RowSpan="1" Grid.ColumnSpan="2" MinRowHeight="27" AutoGenerateColumns="False" CanUserAddRows="False" FontFamily="Arial" FontSize="14" Margin="0,10,0,20"
  201. ItemsSource="{Binding Recipe.DepSteps}" SelectionMode="Single" IsEnabled="{Binding Enable}" SelectedIndex="{Binding SelectedRampIndex,Mode=TwoWay}" >
  202. <DataGrid.Resources>
  203. <extendedControls:BindingProxy x:Key="DataShowProxy" Data="{Binding}" />
  204. </DataGrid.Resources>
  205. <DataGrid.Columns>
  206. <DataGridTextColumn Header="Time&#x0a;(Sec)" Width="100" Binding="{Binding DurartionSeconds,Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False"/>
  207. <DataGridTextColumn Header="Current&#x0a;(Amps)" Width="120" Binding="{Binding CurrentValue,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
  208. </DataGridTextColumn>
  209. <DataGridTextColumn Header="Plating Z Offset&#x0a;(mm)" Width="120" Binding="{Binding PlatingZoffset,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" >
  210. </DataGridTextColumn>
  211. <DataGridTextColumn Header="Plating Speed&#x0a;(rpm)" Width="120" Binding="{Binding PlatingSpeed,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" />
  212. <DataGridCheckBoxColumn Header="Bi-Direaction" Binding="{Binding BiDireaction,Mode=TwoWay}" Width="120" CanUserSort="False" CanUserReorder="False" CanUserResize="True" >
  213. </DataGridCheckBoxColumn>
  214. <DataGridTextColumn Header="B-D Frequency&#x0a;(sec)" Width="120" Binding="{Binding BiDFrequency,StringFormat=\{0:F3\},Mode=TwoWay}" CanUserSort="false" CanUserReorder="False" CanUserResize="False" />
  215. </DataGrid.Columns>
  216. </DataGrid>
  217. <Grid Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="4" IsEnabled="{Binding Enable}" Margin="0,-20,0,30">
  218. <Button Style="{StaticResource SysBtnStyle}" Content="Add Below" Height="35" Width="100" Command="{Binding AddBelowCommand}" HorizontalAlignment="Left" Margin="0,0,0,0"></Button>
  219. <Button Style="{StaticResource SysBtnStyle}" Content="Add Above" Height="35" Width="100" Command="{Binding AddAboveCommand}" HorizontalAlignment="Left" Margin="120,0,0,0"></Button>
  220. <Button Style="{StaticResource SysBtnStyle}" Content="Move Up" Height="35" Width="100" Command="{Binding MoveUpCommand}" HorizontalAlignment="Left" Margin="240,0,0,0"></Button>
  221. <Button Style="{StaticResource SysBtnStyle}" Content="Move Down" Height="35" Width="100" Command="{Binding MoveDownCommand}" HorizontalAlignment="Left" Margin="360,0,0,0"></Button>
  222. <Button Style="{StaticResource SysBtnStyle}" Content="Delete" Height="35" Width="100" Command="{Binding DeleteCommand}" HorizontalAlignment="Left" Margin="480,0,0,0"></Button>
  223. </Grid>
  224. </Grid>
  225. </GroupBox>
  226. <GroupBox Header="Smart Spin" Grid.Row="0" Grid.Column="5" Grid.RowSpan="5" Margin="10,10,0,20">
  227. <Grid>
  228. <Grid.RowDefinitions>
  229. <RowDefinition Height="80"></RowDefinition>
  230. <RowDefinition Height="80"></RowDefinition>
  231. <RowDefinition Height="80"></RowDefinition>
  232. <RowDefinition Height="80"></RowDefinition>
  233. <RowDefinition Height="80"></RowDefinition>
  234. <RowDefinition Height="80"></RowDefinition>
  235. </Grid.RowDefinitions>
  236. <GroupBox Header="Number of Smart Sping" Grid.Row="0" Margin="10,10,10,10" IsEnabled="{Binding Enable}" >
  237. <TextBox Text="{Binding Recipe.DepStepCount}" Height="30" Width="175" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="White"
  238. HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Grid.Column="1" Margin="18,0,0,0"></TextBox>
  239. </GroupBox>
  240. <UserControls:GroupTextBoxControl Grid.Row="1" Width="260" Title="Section 1 Speed" Unit="rpm" MinValue="0" MaxValue="100" Margin="10,0,10,0"
  241. IntValue="{Binding Recipe.Section1Speed,Mode=TwoWay}"
  242. ValidResult="{Binding PropertyValidResultDic[Section1Speed],Mode=TwoWay}" />
  243. <GroupBox Header="Section 1 Angle" Grid.Row="2" Margin="10,0,10,0">
  244. <Grid>
  245. <Grid.RowDefinitions>
  246. <RowDefinition Height="20"></RowDefinition>
  247. <RowDefinition Height="50"></RowDefinition>
  248. </Grid.RowDefinitions>
  249. <Grid.ColumnDefinitions>
  250. <ColumnDefinition Width="20"></ColumnDefinition>
  251. <ColumnDefinition Width="80"></ColumnDefinition>
  252. <ColumnDefinition Width="20"></ColumnDefinition>
  253. <ColumnDefinition Width="80"></ColumnDefinition>
  254. <ColumnDefinition/>
  255. </Grid.ColumnDefinitions>
  256. <Label Grid.Row="1" Grid.Column="0" Content="0"></Label>
  257. <Label Grid.Row="1" Grid.Column="4" Content="360"></Label>
  258. <Label Grid.Row="0" Grid.Column="1" Content="Start" Margin="5,-3,0,0"></Label>
  259. <Label Grid.Row="0" Grid.Column="3" Content="End" Margin="35,-3,0,0"></Label>
  260. <TextBox Text="{Binding Recipe.Section1AngleStartPosiotion,Mode=TwoWay}" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="1" Height="30" Width="50" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="White"
  261. HorizontalContentAlignment="Center" VerticalContentAlignment="Center"></TextBox>
  262. <TextBox Text="{Binding Recipe.Section1AngleEndPostion,Mode=TwoWay}" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="3" Margin="0,0,5,0" Height="30" Width="50" VerticalAlignment="Top" HorizontalAlignment="Right" Foreground="White"
  263. HorizontalContentAlignment="Center" VerticalContentAlignment="Center"></TextBox>
  264. </Grid>
  265. </GroupBox>
  266. <UserControls:GroupTextBoxControl Grid.Row="3" Width="260" Title="Section 2 Speed" Unit="rpm" MinValue="0" MaxValue="100" Margin="10,10,10,0"
  267. IntValue="{Binding Recipe.Section2Speed,Mode=TwoWay}"
  268. ValidResult="{Binding PropertyValidResultDic[Section2Speed],Mode=TwoWay}" />
  269. <GroupBox Header="Section 2 Angle" Grid.Row="4" Margin="10,0,10,0">
  270. <Grid>
  271. <Grid.RowDefinitions>
  272. <RowDefinition Height="20"></RowDefinition>
  273. <RowDefinition Height="50"></RowDefinition>
  274. </Grid.RowDefinitions>
  275. <Grid.ColumnDefinitions>
  276. <ColumnDefinition Width="20"></ColumnDefinition>
  277. <ColumnDefinition Width="80"></ColumnDefinition>
  278. <ColumnDefinition Width="20"></ColumnDefinition>
  279. <ColumnDefinition Width="80"></ColumnDefinition>
  280. <ColumnDefinition/>
  281. </Grid.ColumnDefinitions>
  282. <Label Grid.Row="1" Grid.Column="0" Content="0"></Label>
  283. <Label Grid.Row="1" Grid.Column="4" Content="360"></Label>
  284. <Label Grid.Row="0" Grid.Column="1" Content="Start" Margin="5,-3,0,0"></Label>
  285. <Label Grid.Row="0" Grid.Column="3" Content="End" Margin="35,-3,0,0"></Label>
  286. <TextBox Text="{Binding Recipe.Section2AngleStartPosiotion,Mode=TwoWay}" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="1" Height="30" Width="50" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="White"
  287. HorizontalContentAlignment="Center" VerticalContentAlignment="Center"></TextBox>
  288. <TextBox Text="{Binding Recipe.Section2AngleEndPostion,Mode=TwoWay}" IsEnabled="{Binding Enable}" Grid.Row="1" Grid.Column="3" Margin="0,0,5,0" Height="30" Width="50" VerticalAlignment="Top" HorizontalAlignment="Right" Foreground="White"
  289. HorizontalContentAlignment="Center" VerticalContentAlignment="Center"></TextBox>
  290. </Grid>
  291. </GroupBox>
  292. <UserControls:GroupTextBoxControl Grid.Row="5" Width="260" Title="Normal Speed" Unit="rpm" MinValue="0" MaxValue="100" Margin="10,10,10,0"
  293. IntValue="{Binding Recipe.NormalSpeed,Mode=TwoWay}"
  294. ValidResult="{Binding PropertyValidResultDic[NormalSpeed],Mode=TwoWay}" />
  295. </Grid>
  296. </GroupBox>
  297. </Grid>
  298. </TabItem>
  299. <TabItem Header="PulseSteps">
  300. <Grid>
  301. <Grid.ColumnDefinitions>
  302. <ColumnDefinition Width="300"></ColumnDefinition>
  303. <ColumnDefinition Width="300"></ColumnDefinition>
  304. <ColumnDefinition Width="300"></ColumnDefinition>
  305. <ColumnDefinition Width="300"></ColumnDefinition>
  306. </Grid.ColumnDefinitions>
  307. <GroupBox Header="Reclaim" Grid.Column="0" HorizontalAlignment="Left" Margin="10,10,10,10" Width="280">
  308. <Grid>
  309. <Grid.RowDefinitions>
  310. <RowDefinition Height="120"></RowDefinition>
  311. <RowDefinition Height="120"></RowDefinition>
  312. <RowDefinition Height="120"></RowDefinition>
  313. <RowDefinition Height="120"></RowDefinition>
  314. <RowDefinition/>
  315. </Grid.RowDefinitions>
  316. <UserControls:GroupTextBoxControl Grid.Row="0" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  317. IntValue="{Binding Recipe.ReclaimSpeed,Mode=TwoWay}"
  318. ValidResult="{Binding PropertyValidResultDic[ReclaimSpeed],Mode=TwoWay}"/>
  319. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  320. IntValue="{Binding Recipe.ReclaimTime,Mode=TwoWay}"
  321. ValidResult="{Binding PropertyValidResultDic[ReclaimTime],Mode=TwoWay}"/>
  322. <UserControls:GroupDigitalBoxControl Grid.Row="2" Width="250" Title="Z Offset" Unit="mm" MinValue="-100" MaxValue="100" Margin="10,20,10,20"
  323. DigitalValue="{Binding Recipe.ReclaimZoffset,Mode=TwoWay}"
  324. ValidResult="{Binding PropertyValidResultDic[ReclaimZoffset],Mode=TwoWay}" />
  325. </Grid>
  326. </GroupBox>
  327. <GroupBox Header="Rinse" Grid.Column="1" Margin="10,10,0,10" HorizontalAlignment="Left" Width="280">
  328. <Grid>
  329. <Grid.RowDefinitions>
  330. <RowDefinition Height="120"></RowDefinition>
  331. <RowDefinition Height="120"></RowDefinition>
  332. <RowDefinition Height="120"></RowDefinition>
  333. <RowDefinition Height="120"></RowDefinition>
  334. <RowDefinition/>
  335. </Grid.RowDefinitions>
  336. <UserControls:GroupTextBoxControl Grid.Row="0" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  337. IntValue="{Binding Recipe.RinseSpeed,Mode=TwoWay}"
  338. ValidResult="{Binding PropertyValidResultDic[RinseSpeed],Mode=TwoWay}"/>
  339. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  340. IntValue="{Binding Recipe.RinseTime,Mode=TwoWay}"
  341. ValidResult="{Binding PropertyValidResultDic[RinseTime],Mode=TwoWay}"/>
  342. <UserControls:GroupDigitalBoxControl Grid.Row="2" Width="250" Title="Z Offset" Unit="mm" MinValue="-100" MaxValue="100" Margin="10,20,10,20"
  343. DigitalValue="{Binding Recipe.RinseZoffset,Mode=TwoWay}"
  344. ValidResult="{Binding PropertyValidResultDic[RinseZoffset],Mode=TwoWay}" />
  345. </Grid>
  346. </GroupBox>
  347. <GroupBox Header="Dry" Grid.Column="2" HorizontalAlignment="Left" Margin="10,10,10,10" Width="280">
  348. <Grid>
  349. <Grid.RowDefinitions>
  350. <RowDefinition Height="120"></RowDefinition>
  351. <RowDefinition Height="120"></RowDefinition>
  352. <RowDefinition Height="120"></RowDefinition>
  353. <RowDefinition Height="120"></RowDefinition>
  354. <RowDefinition/>
  355. </Grid.RowDefinitions>
  356. <UserControls:GroupTextBoxControl Grid.Row="0" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  357. IntValue="{Binding Recipe.DrySpeed,Mode=TwoWay}"
  358. ValidResult="{Binding PropertyValidResultDic[DrySpeed],Mode=TwoWay}"/>
  359. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  360. IntValue="{Binding Recipe.DryTime,Mode=TwoWay}"
  361. ValidResult="{Binding PropertyValidResultDic[DryTime],Mode=TwoWay}"/>
  362. <UserControls:GroupDigitalBoxControl Grid.Row="2" Width="250" Title="Z Offset" Unit="mm" MinValue="-100" MaxValue="100" Margin="10,20,10,20"
  363. DigitalValue="{Binding Recipe.DryZoffset,Mode=TwoWay}"
  364. ValidResult="{Binding PropertyValidResultDic[DryZoffset],Mode=TwoWay}" />
  365. </Grid>
  366. </GroupBox>
  367. <GroupBox Header="Interval Rinse" Grid.Column="3" HorizontalAlignment="Left" Margin="10,10,10,10" Width="280">
  368. <Grid>
  369. <Grid.RowDefinitions>
  370. <RowDefinition Height="120"></RowDefinition>
  371. <RowDefinition Height="120"></RowDefinition>
  372. <RowDefinition Height="120"></RowDefinition>
  373. <RowDefinition Height="120"></RowDefinition>
  374. <RowDefinition/>
  375. </Grid.RowDefinitions>
  376. <GroupBox Grid.Row="0" IsEnabled="{Binding Enable}" Margin="10,10,10,10" Header="Rinse Before Entry">
  377. <Grid>
  378. <RadioButton Content="Enable" Height="30" Width="60" VerticalContentAlignment="Center" HorizontalAlignment="Left"
  379. Command="{Binding AutoCurrentBasedFalseCommand}" IsChecked="{Binding Recipe.RinseBeforeEntryEnable ,Mode=TwoWay}" Margin="18,-1,0,-6" ></RadioButton>
  380. <RadioButton Content="Disable" Height="30" Width="65" VerticalContentAlignment="Center" HorizontalAlignment="Center"
  381. Command="{Binding AutoCurrentBasedTrueCommand}" IsChecked="{Binding Recipe.RinseBeforeEntryEnable,Mode=TwoWay,Converter={StaticResource boolReverseConverter}}" Margin="60,-1,0,-6" ></RadioButton>
  382. </Grid>
  383. </GroupBox>
  384. <UserControls:GroupTextBoxControl Grid.Row="1" Width="250" Title="Speed" Unit="rpm" MinValue="0" MaxValue="1000" Margin="10,20,10,20"
  385. IntValue="{Binding Recipe.IntervalRinseSpeed,Mode=TwoWay}"
  386. ValidResult="{Binding PropertyValidResultDic[IntervalRinseSpeed],Mode=TwoWay}"/>
  387. <UserControls:GroupTextBoxControl Grid.Row="2" Width="250" Title="Time" Unit="sec" MinValue="0" MaxValue="100" Margin="10,20,10,20"
  388. IntValue="{Binding Recipe.IntervalRinseTime,Mode=TwoWay}"
  389. ValidResult="{Binding PropertyValidResultDic[IntervalRinseTime],Mode=TwoWay}"/>
  390. <UserControls:GroupDigitalBoxControl Grid.Row="3" Width="250" Title="Z Offset" Unit="mm" MinValue="-100" MaxValue="100" Margin="10,20,10,20"
  391. DigitalValue="{Binding Recipe.IntervalRinseZoffset,Mode=TwoWay}"
  392. ValidResult="{Binding PropertyValidResultDic[IntervalRinseZoffset],Mode=TwoWay}" />
  393. </Grid>
  394. </GroupBox>
  395. </Grid>
  396. </TabItem>
  397. </TabControl>
  398. </Grid>
  399. </Grid>
  400. </Grid>
  401. </Grid>
  402. </UserControl>