RecipeCommandView.xaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <UserControl x:Class="FurnaceUI.Views.Editors.RecipeCommandView"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  6. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7. xmlns:cal="http://www.caliburn.org" xmlns:editors="clr-namespace:FurnaceUI.Views.Editors" xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation" d:DataContext="{d:DesignInstance Type=editors:RecipeCommandViewModel}"
  8. mc:Ignorable="d"
  9. Height="740" Width="1000" FontFamily="Segoe" >
  10. <Canvas>
  11. <Grid HorizontalAlignment="Center" VerticalAlignment="Top" Width="990" Height="748">
  12. <Grid.RowDefinitions>
  13. <RowDefinition Height="0.8*"/>
  14. <RowDefinition Height="0.2*"/>
  15. <RowDefinition Height="0.2*"/>
  16. </Grid.RowDefinitions>
  17. <Grid Grid.Row="0" Grid.Column="0" Margin="0,0,0,0">
  18. <Grid.RowDefinitions>
  19. <RowDefinition Height="50"/>
  20. <RowDefinition Height="50"/>
  21. <RowDefinition Height="50"/>
  22. <RowDefinition Height="50"/>
  23. <RowDefinition Height="50"/>
  24. <RowDefinition Height="50"/>
  25. <RowDefinition Height="50"/>
  26. <RowDefinition Height="50"/>
  27. <RowDefinition Height="50"/>
  28. <RowDefinition Height="100"/>
  29. <RowDefinition Height="50"/>
  30. </Grid.RowDefinitions>
  31. <Grid.ColumnDefinitions>
  32. <ColumnDefinition Width="*"/>
  33. <ColumnDefinition Width="*"/>
  34. </Grid.ColumnDefinitions>
  35. <Border Grid.Row="0" Grid.Column="0" Margin="10" Visibility="{Binding NoneBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  36. <RadioButton x:Name="None" Width="300" GroupName="RecipeCommand" Content="None">
  37. <i:Interaction.Triggers>
  38. <i:EventTrigger EventName="Checked">
  39. <cal:ActionMessage MethodName="SetCommand">
  40. <cal:Parameter Value="$source"/>
  41. </cal:ActionMessage>
  42. </i:EventTrigger>
  43. </i:Interaction.Triggers>
  44. </RadioButton>
  45. </Border>
  46. <Border Grid.Row="1" Grid.Column="0" Margin="10" Visibility="{Binding ResetBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  47. <RadioButton x:Name="Reset" Width="300" GroupName="RecipeCommand" Content="Reset">
  48. <i:Interaction.Triggers>
  49. <i:EventTrigger EventName="Checked">
  50. <cal:ActionMessage MethodName="SetCommand">
  51. <cal:Parameter Value="$source"/>
  52. </cal:ActionMessage>
  53. </i:EventTrigger>
  54. </i:Interaction.Triggers>
  55. </RadioButton>
  56. </Border>
  57. <Border Grid.Row="1" Grid.Column="1" Margin="10" Visibility="{Binding JumpStepBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  58. <RadioButton Width="300" x:Name="JumpStep" GroupName="RecipeCommand" Content="Jump Step">
  59. <i:Interaction.Triggers>
  60. <i:EventTrigger EventName="Checked">
  61. <cal:ActionMessage MethodName="SetCommand">
  62. <cal:Parameter Value="$source"/>
  63. </cal:ActionMessage>
  64. </i:EventTrigger>
  65. </i:Interaction.Triggers>
  66. </RadioButton>
  67. </Border>
  68. <Button Grid.Column="1" Grid.Row="2" Visibility="{Binding JumpStepTextVisibility, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource bool2VisibilityConverter}}" Content="{Binding JumpStepText, UpdateSourceTrigger=PropertyChanged}" Height="35" Margin="104,8,106,7" >
  69. <i:Interaction.Triggers>
  70. <i:EventTrigger EventName="Click">
  71. <cal:ActionMessage MethodName="ShowRecipeLoopSetView">
  72. </cal:ActionMessage>
  73. </i:EventTrigger>
  74. </i:Interaction.Triggers>
  75. </Button>
  76. <Border Grid.Row="2" Grid.Column="0" Margin="10" Visibility="{Binding EndBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  77. <RadioButton x:Name="End" Width="300" GroupName="RecipeCommand" Content="End">
  78. <i:Interaction.Triggers>
  79. <i:EventTrigger EventName="Checked">
  80. <cal:ActionMessage MethodName="SetCommand">
  81. <cal:Parameter Value="$source"/>
  82. </cal:ActionMessage>
  83. </i:EventTrigger>
  84. </i:Interaction.Triggers>
  85. </RadioButton>
  86. </Border>
  87. <Border Grid.Row="3" Grid.Column="0" Margin="10" Visibility="{Binding HoldBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  88. <RadioButton x:Name="Hold" Width="300" GroupName="RecipeCommand" Content="Hold">
  89. <i:Interaction.Triggers>
  90. <i:EventTrigger EventName="Checked">
  91. <cal:ActionMessage MethodName="SetCommand">
  92. <cal:Parameter Value="$source"/>
  93. </cal:ActionMessage>
  94. </i:EventTrigger>
  95. </i:Interaction.Triggers>
  96. </RadioButton>
  97. </Border>
  98. <Border Grid.Row="4" Grid.Column="0" Margin="10" Visibility="{Binding BuzzerBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  99. <RadioButton x:Name="Buzzer" Width="300" GroupName="RecipeCommand" Content="Buzzer">
  100. <i:Interaction.Triggers>
  101. <i:EventTrigger EventName="Checked">
  102. <cal:ActionMessage MethodName="SetCommand">
  103. <cal:Parameter Value="$source"/>
  104. </cal:ActionMessage>
  105. </i:EventTrigger>
  106. </i:Interaction.Triggers>
  107. </RadioButton>
  108. </Border>
  109. <Border Grid.Row="3" Grid.Column="1" Margin="10" Grid.RowSpan="3" Visibility="{Binding CallSubRecipeBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  110. <StackPanel Orientation="Vertical">
  111. <RadioButton Width="300" Height="35" x:Name="CallSubRecipe" GroupName="RecipeCommand" Content="Call Sub Recipe">
  112. <i:Interaction.Triggers>
  113. <i:EventTrigger EventName="Checked">
  114. <cal:ActionMessage MethodName="SetCommand">
  115. <cal:Parameter Value="$source"/>
  116. </cal:ActionMessage>
  117. </i:EventTrigger>
  118. </i:Interaction.Triggers>
  119. </RadioButton>
  120. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Visibility="{Binding IsSubRecipePage, Converter={StaticResource bool2VisibilityConverter}}">
  121. <Border BorderThickness="1" BorderBrush="Black" Width="110" Height="35" Margin="0,10,1,0" Background="{DynamicResource Table_BG_Title}">
  122. <Label Content="Recipe Name:" VerticalContentAlignment="Center" HorizontalContentAlignment="Right"/>
  123. </Border>
  124. <Button Content="{Binding SubRecipeTableIndex}" Width="190" Height="35" Margin="0,10,0,0" >
  125. <i:Interaction.Triggers>
  126. <i:EventTrigger EventName="Click">
  127. <cal:ActionMessage MethodName="SelectTable"/>
  128. </i:EventTrigger>
  129. </i:Interaction.Triggers>
  130. </Button>
  131. </StackPanel>
  132. <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Visibility="{Binding IsSubRecipePage, Converter={StaticResource bool2VisibilityConverter}}">
  133. <Border BorderThickness="1" BorderBrush="Black" Width="110" Height="35" Margin="0,10,1,0" Background="{DynamicResource Table_BG_Title}">
  134. <Label Content="Loop Count:" VerticalContentAlignment="Center" HorizontalContentAlignment="Right"/>
  135. </Border>
  136. <controls:TextBoxEx x:Name="SubRecipeLoopCount" Tag="Number" Text="{Binding SubRecipeLoopCount,UpdateSourceTrigger=PropertyChanged}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MinValue="0" MaxValue="999999" EditBoxMode="UnSignInteger" Width="190" Height="35" Margin="0,10,0,0"/>
  137. </StackPanel>
  138. </StackPanel>
  139. </Border>
  140. <Border Grid.Row="6" Grid.Column="1" Margin="10" Visibility="{Binding LoopStepBtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  141. <RadioButton x:Name="LoopStep" Width="300" GroupName="RecipeCommand" Content="Loop Step">
  142. <i:Interaction.Triggers>
  143. <i:EventTrigger EventName="Checked">
  144. <cal:ActionMessage MethodName="SetCommand">
  145. <cal:Parameter Value="$source"/>
  146. </cal:ActionMessage>
  147. </i:EventTrigger>
  148. </i:Interaction.Triggers>
  149. </RadioButton>
  150. </Border>
  151. <Border Grid.Row="7" Grid.Column="1" Margin="10" Visibility="{Binding RdoLoopVisibility}" IsEnabled="{Binding IsEnable}">
  152. <StackPanel Orientation="Horizontal" Width="300">
  153. <Button Content="{Binding LoopStepStr}" Width="130">
  154. <i:Interaction.Triggers>
  155. <i:EventTrigger EventName="Click">
  156. <cal:ActionMessage MethodName="LoopStepSelectChick">
  157. <cal:Parameter Value="$source"/>
  158. </cal:ActionMessage>
  159. </i:EventTrigger>
  160. </i:Interaction.Triggers>
  161. </Button>
  162. <TextBlock Width="40" Text="X" VerticalAlignment="Center" Block.TextAlignment="Center"/>
  163. <controls:TextBoxEx Tag="Number" Text="{Binding LoopCount,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MinValue="0" MaxValue="999999" EditBoxMode="UnSignInteger" Width="130"/>
  164. </StackPanel>
  165. </Border>
  166. <Border Grid.Row="6" Margin="10" Visibility="{Binding LeakCheck1BtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  167. <RadioButton x:Name="LeakCheck1" Width="300" GroupName="RecipeCommand" Content="Leak Check1">
  168. <i:Interaction.Triggers>
  169. <i:EventTrigger EventName="Checked">
  170. <cal:ActionMessage MethodName="SetCommand">
  171. <cal:Parameter Value="$source"/>
  172. </cal:ActionMessage>
  173. </i:EventTrigger>
  174. </i:Interaction.Triggers>
  175. </RadioButton>
  176. </Border>
  177. <Border Grid.Row="7" Margin="10" Visibility="{Binding LeakCheck2BtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  178. <RadioButton Width="300" x:Name="LeakCheck2" GroupName="RecipeCommand" Content="Leak Check2">
  179. <i:Interaction.Triggers>
  180. <i:EventTrigger EventName="Checked">
  181. <cal:ActionMessage MethodName="SetCommand">
  182. <cal:Parameter Value="$source"/>
  183. </cal:ActionMessage>
  184. </i:EventTrigger>
  185. </i:Interaction.Triggers>
  186. </RadioButton>
  187. </Border>
  188. <Border Grid.Row="8" Margin="10" Visibility="{Binding LeakCheck3BtnVisibility, Converter={StaticResource bool2VisibilityConverter}}" IsEnabled="{Binding IsEnable}">
  189. <RadioButton Width="300" x:Name="LeakCheck3" GroupName="RecipeCommand" Content="Leak Check3">
  190. <i:Interaction.Triggers>
  191. <i:EventTrigger EventName="Checked">
  192. <cal:ActionMessage MethodName="SetCommand">
  193. <cal:Parameter Value="$source"/>
  194. </cal:ActionMessage>
  195. </i:EventTrigger>
  196. </i:Interaction.Triggers>
  197. </RadioButton>
  198. </Border>
  199. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding IsSubRecipePage, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="90,4,404,10" Grid.Row="3" Grid.RowSpan="3"/>
  200. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding IsSubRecipePage, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="404,5,90,10" Grid.Row="3" Grid.RowSpan="3"/>
  201. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding IsSubRecipePage, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="91,4,90,0" Grid.Row="3" Height="1" VerticalAlignment="Top"/>
  202. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding IsSubRecipePage, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="90,40,90,0" Grid.Row="5" Height="1" VerticalAlignment="Top"/>
  203. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding RdoLoopVisibility}" Grid.Column="1" Margin="90,4,404,3" Grid.Row="6" Grid.RowSpan="2"/>
  204. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding RdoLoopVisibility}" Grid.Column="1" Margin="405,0,89,0" Grid.Row="6" Grid.RowSpan="2" Height="94" VerticalAlignment="Center"/>
  205. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding RdoLoopVisibility}" Grid.Column="1" Margin="91,4,90,0" Grid.Row="6" Height="1" VerticalAlignment="Top"/>
  206. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding RdoLoopVisibility}" Grid.Column="1" Margin="91,46,90,3" Grid.Row="7" >
  207. </Border>
  208. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding JumpStepTextVisibility, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="94,48,90,0" Grid.Row="2" Height="1" VerticalAlignment="Top"/>
  209. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding JumpStepTextVisibility, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="404,6,90,2" Grid.RowSpan="2" Grid.Row="1"/>
  210. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding JumpStepTextVisibility, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="94,6,400,2" Grid.RowSpan="2" Grid.Row="1"/>
  211. <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Visibility="{Binding JumpStepTextVisibility, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource bool2VisibilityConverter}}" Grid.Column="1" Margin="94,5,90,0" Grid.Row="1" Height="1" VerticalAlignment="Top"/>
  212. </Grid>
  213. <StackPanel Grid.Row="1" Margin=" 20,0,20,0">
  214. <TextBlock Text="Description" FontSize="14"/>
  215. <TextBox Height="Auto" TextWrapping="Wrap" MinHeight="60" MinLines="2"/>
  216. </StackPanel>
  217. <Button Width="130" Margin="0,10,0,0" Height="45" Grid.Row="2" Content="Close" Style="{StaticResource CommandButton}">
  218. <i:Interaction.Triggers>
  219. <i:EventTrigger EventName="Click">
  220. <cal:ActionMessage MethodName="RecipeCommandClose">
  221. </cal:ActionMessage>
  222. </i:EventTrigger>
  223. </i:Interaction.Triggers>
  224. </Button>
  225. </Grid>
  226. </Canvas>
  227. </UserControl>