Pārlūkot izejas kodu

1 revise platingcell View
2 revise dqdr view bug

chenzk 1 nedēļu atpakaļ
vecāks
revīzija
9f644d1e98

+ 7 - 7
PunkHPX8_MainPages/ViewModels/DqdrRecipeViewModel.cs

@@ -352,19 +352,19 @@ namespace PunkHPX8_MainPages.ViewModels
             {
                 return;
             }
-            Recipe.IsIdentical = false;
+            Recipe.IsIdentical = true;
             string linkedDepRecipeName = Recipe.LinkedDepRecipeName;
             string fullName = DepRecipeNodes[0].Children.FirstOrDefault(node => node.FileName == linkedDepRecipeName)?.RecipeFullFileName;
             DepRecipe deprecipe = _uiRecipeManager.LoadRecipe<DepRecipe>(fullName);
             if (deprecipe != null)
             {
-                if (deprecipe.ReclaimTime == Recipe.ReclaimTime
-                    && deprecipe.RinseTime == Recipe.RinseTime
-                    && deprecipe.DryTime == Recipe.DryTime
-                    && deprecipe.RinseBeforeEntryEnable == Recipe.RinseBeforeEntryEnable
-                    && deprecipe.IntervalRinseTime == Recipe.IntervalRinseTime)
+                if (deprecipe.ReclaimTime != Recipe.ReclaimTime
+                    || deprecipe.RinseTime != Recipe.RinseTime
+                    || deprecipe.DryTime != Recipe.DryTime
+                    || deprecipe.RinseBeforeEntryEnable != Recipe.RinseBeforeEntryEnable
+                    || deprecipe.IntervalRinseTime != Recipe.IntervalRinseTime)
                 {
-                    Recipe.IsIdentical = true;
+                    Recipe.IsIdentical = false;
                 }
             }
 

+ 245 - 234
PunkHPX8_Themes/UserControls/PlatingCellUIControl.xaml

@@ -36,44 +36,250 @@
             <ScaleTransform ScaleX="1.2" ScaleY="1.2" />
         </Canvas.RenderTransform>
 
-        <Rectangle Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility}}" Width="270" Height="228" Fill="LightGray" Canvas.Top="176" Canvas.Left="64" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="3" Opacity="0.5"/>
-        <Rectangle Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility2}}" Width="270" Height="228" Fill="LightGray" Canvas.Top="176" Canvas.Left="414" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="3" Opacity="0.5"/>
+        <Canvas x:Name="left" Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility2}}">
+            <Canvas Width="125" Height="75" Canvas.Left="199" Canvas.Top="234" HorizontalAlignment="Left" VerticalAlignment="Center">
+                <Canvas.RenderTransform>
+                    <ScaleTransform ScaleX="0.6667" ScaleY="0.6667" />
+                </Canvas.RenderTransform>
+                <Rectangle Width="200" Height="100" Fill="Yellow" Canvas.Top="0" />
+                <Rectangle Width="160" Height="60" Fill="Gold" Canvas.Top="26" Canvas.Left="20" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+                <Rectangle Width="180" Height="40" Fill="Bisque" Canvas.Top="0" Canvas.Left="7" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+                <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="7" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Top">
+                    <Polygon.RenderTransform>
+                        <TransformGroup>
+                            <ScaleTransform/>
+                            <SkewTransform/>
+                            <RotateTransform Angle="90"/>
+                            <TranslateTransform/>
+                        </TransformGroup>
+                    </Polygon.RenderTransform>
+                </Polygon>
+                <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="168" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center">
+                    <Polygon.RenderTransform>
+                        <TransformGroup>
+                            <ScaleTransform/>
+                            <SkewTransform/>
+                            <RotateTransform Angle="-90"/>
+                            <TranslateTransform/>
+                        </TransformGroup>
+                    </Polygon.RenderTransform>
+                </Polygon>
+                <Polygon Points="50,50 210,50 200,60 60,60" 
+  Fill="White"  
+  StrokeThickness="1" Canvas.Left="-30" Canvas.Top="-10"/>
+            </Canvas>
+            <Rectangle Width="100" Height="10" Fill="#E0F7FA" Canvas.Top="179" Canvas.Left="215" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <Polygon Points="10,40 110,40 120,50 0,50" Fill="#E0F7FA" Canvas.Left="205" Canvas.Top="149" HorizontalAlignment="Left" VerticalAlignment="Center" Stroke="LightGray" StrokeThickness="1"/>
+            <Rectangle Fill="#E0F7FA"  Width="120" Height="35" Canvas.Top="199" Canvas.Left="205" Stroke="LightGray" StrokeThickness="3" HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
-        <Canvas Width="125" Height="75" Canvas.Left="199" Canvas.Top="234" HorizontalAlignment="Left" VerticalAlignment="Center">
-            <Canvas.RenderTransform>
-                <ScaleTransform ScaleX="0.6667" ScaleY="0.6667" />
-            </Canvas.RenderTransform>
-            <Rectangle Width="200" Height="100" Fill="Yellow" Canvas.Top="0" />
-            <Rectangle Width="160" Height="60" Fill="Gold" Canvas.Top="26" Canvas.Left="20" HorizontalAlignment="Left" VerticalAlignment="Center"/>
-            <Rectangle Width="180" Height="40" Fill="Bisque" Canvas.Top="0" Canvas.Left="7" HorizontalAlignment="Center" VerticalAlignment="Top"/>
-            <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="7" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Top">
-                <Polygon.RenderTransform>
-                    <TransformGroup>
-                        <ScaleTransform/>
-                        <SkewTransform/>
-                        <RotateTransform Angle="90"/>
-                        <TranslateTransform/>
-                    </TransformGroup>
-                </Polygon.RenderTransform>
-            </Polygon>
-            <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="168" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center">
-                <Polygon.RenderTransform>
-                    <TransformGroup>
-                        <ScaleTransform/>
-                        <SkewTransform/>
-                        <RotateTransform Angle="-90"/>
-                        <TranslateTransform/>
-                    </TransformGroup>
-                </Polygon.RenderTransform>
-            </Polygon>
-            <Polygon Points="50,50 210,50 200,60 60,60" 
-        Fill="White"  
-        StrokeThickness="1" Canvas.Left="-30" Canvas.Top="-10"/>
+            <Label Content="To AN Tower" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="77" Canvas.Top="259"/>
+            <Label Content="Res Return" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="95" Canvas.Top="303"/>
+            <Label Content="Res Source" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Center" Canvas.Left="95" Canvas.Top="331"/>
+
+            <userControls:FlowPipe IsReverse="False" IsFlowing="{Binding ElementName=self,Path=CCRValve}" Height="8"  Width="140"  Canvas.Left="65"  Canvas.Top="200" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="False" IsFlowing="{Binding ElementName=self,Path=RinseValve}" Height="8"  Width="140"  Canvas.Left="67"  Canvas.Top="224" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="True" IsFlowing="True" Height="8"  Width="40"  Canvas.Left="160"  Canvas.Top="266" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="True" IsFlowing="True" Height="8"  Width="60"  Canvas.Left="161"  Canvas.Top="313" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="True" IsFlowing="{Binding ElementName=self,Path=CAIsolationValve}" Height="8"  Width="110"  Canvas.Left="160"  Canvas.Top="339" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="True" IsFlowing="{Binding ElementName=self,Path=ANIsolationValve}" Height="8"  Width="80"  Canvas.Left="236"  Canvas.Top="367" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="False" IsFlowing="True" Height="8"  Width="50"  Canvas.Left="273"  Canvas.Top="296" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="False" IsFlowing="True" Height="8"  Width="20"  Canvas.Left="225"  Canvas.Top="301" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe IsReverse="False" IsFlowing="True" Height="8"  Width="75"  Canvas.Left="316"  Canvas.Top="299" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+
+            <Grid Height="50" Width="100" Canvas.Left="99" Canvas.Top="188" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                   IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
+                   Status="{Binding ElementName=self,Path=CCRValve}"  
+                   IsCanEdit="True" 
+                   ContextMenu="{StaticResource CCRValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="35,-80,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CCR"  />
+                </Grid>
+            </Grid>
+
+            <Grid Height="50" Width="100" Canvas.Left="99" Canvas.Top="213" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                             IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
+       Status="{Binding ElementName=self,Path=RinseValve}"  
+       IsCanEdit="True" 
+       ContextMenu="{StaticResource RinseValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="30,-10,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Rinse" />
+                </Grid>
+            </Grid>
+
+            <Grid Height="50" Width="100" Canvas.Left="237" Canvas.Top="355" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                             IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
+         Status="{Binding ElementName=self,Path=ANIsolationValve}"  
+         IsCanEdit="True" 
+         ContextMenu="{StaticResource ANIsolationValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="13,0,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="AN Isolation" />
+                </Grid>
+            </Grid>
+
+            <Grid Height="50" Width="100" Canvas.Left="164" Canvas.Top="328" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                             IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
+                 Status="{Binding ElementName=self,Path=CAIsolationValve}"  
+                 IsCanEdit="True" 
+                 ContextMenu="{StaticResource CAIsolationValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="13,-20,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CA Isolation" />
+                </Grid>
+            </Grid>
+        </Canvas>
+
+        <Canvas x:Name="right" Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility}}">
+            <Canvas Width="125" Height="75" Canvas.Left="417" Canvas.Top="235" HorizontalAlignment="Left" VerticalAlignment="Center">
+                <Canvas.RenderTransform>
+                    <ScaleTransform ScaleX="0.6667" ScaleY="0.6667" />
+                </Canvas.RenderTransform>
+
+                <Rectangle Width="200" Height="100" Fill="Yellow" Canvas.Top="0" />
+                <Rectangle Width="160" Height="60" Fill="Gold" Canvas.Top="26" Canvas.Left="20" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+                <Rectangle Width="180" Height="40" Fill="Bisque" Canvas.Top="0" Canvas.Left="7" HorizontalAlignment="Center" VerticalAlignment="Top"/>
+                <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="7" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Top">
+                    <Polygon.RenderTransform>
+                        <TransformGroup>
+                            <ScaleTransform/>
+                            <SkewTransform/>
+                            <RotateTransform Angle="90"/>
+                            <TranslateTransform/>
+                        </TransformGroup>
+                    </Polygon.RenderTransform>
+                </Polygon>
+                <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="168" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center">
+                    <Polygon.RenderTransform>
+                        <TransformGroup>
+                            <ScaleTransform/>
+                            <SkewTransform/>
+                            <RotateTransform Angle="-90"/>
+                            <TranslateTransform/>
+                        </TransformGroup>
+                    </Polygon.RenderTransform>
+                </Polygon>
+                <Polygon Points="50,50 210,50 200,60 60,60" 
+  Fill="White"  
+  StrokeThickness="1" Canvas.Left="-30" Canvas.Top="-10"/>
+            </Canvas>
+            <Rectangle Width="100" Height="10" Fill="#E0F7FA" Canvas.Top="180" Canvas.Left="433" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <Polygon Points="10,40 110,40 120,50 0,50" Fill="#E0F7FA" Canvas.Left="423" Canvas.Top="150" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+            <Rectangle Fill="#E0F7FA"  Width="120" Height="35" Canvas.Top="200" Canvas.Left="423" Stroke="LightGray" StrokeThickness="3" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+
+            <Label Content="To AN Tower" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="587" Canvas.Top="259"/>
+            <Label Content="Res Return" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="583" Canvas.Top="310"/>
+            <Label Content="Res Source" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="579" Canvas.Top="338"/>
+
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=CCRValve}" Height="8"  Width="140"  Canvas.Left="541"  Canvas.Top="200" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=RinseValve}" Height="8"  Width="140"  Canvas.Left="541"  Canvas.Top="224" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="40"  Canvas.Left="542"  Canvas.Top="263" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="60"  Canvas.Left="518"  Canvas.Top="318" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=CAIsolationValve}" Height="8"  Width="110"  Canvas.Left="470"  Canvas.Top="343" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=ANIsolationValve}" Height="8"  Width="80"  Canvas.Left="432"  Canvas.Top="368" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="50"  Canvas.Left="476"  Canvas.Top="301" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="20"  Canvas.Left="525"  Canvas.Top="301" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+            <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="75"  Canvas.Left="440"  Canvas.Top="298" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
+
+            <Grid Height="50" Width="100" Canvas.Left="538" Canvas.Top="188" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                                 IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
+               Status="{Binding ElementName=self,Path=CCRValve}"  
+               IsCanEdit="True" 
+               ContextMenu="{StaticResource CCRValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="35,-80,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CCR" />
+                </Grid>
+            </Grid>
+
+            <Grid Height="50" Width="100" Canvas.Left="538" Canvas.Top="213" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="21*"/>
+                    <ColumnDefinition Width="79*"/>
+                </Grid.ColumnDefinitions>
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0" Grid.ColumnSpan="2">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                                 IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
+             Status="{Binding ElementName=self,Path=RinseValve}"  
+             IsCanEdit="True" 
+             ContextMenu="{StaticResource RinseValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" Grid.ColumnSpan="2" >
+                    <Label Margin="30,-20,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Rinse" />
+                </Grid>
+            </Grid>
+
+            <Grid Height="50" Width="100" Canvas.Left="412" Canvas.Top="356" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                                 IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
+             Status="{Binding ElementName=self,Path=ANIsolationValve}"  
+             IsCanEdit="True" 
+             ContextMenu="{StaticResource ANIsolationValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="13,0,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="AN Isolation" />
+                </Grid>
+            </Grid>
+
+            <Grid Height="50" Width="100" Canvas.Left="466" Canvas.Top="331" HorizontalAlignment="Left" VerticalAlignment="Top"  >
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="30"></RowDefinition>
+                    <RowDefinition Height="20"></RowDefinition>
+                </Grid.RowDefinitions>
+                <Grid Grid.Row="0">
+                    <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                                                 IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
+             Status="{Binding ElementName=self,Path=CAIsolationValve}"  
+             IsCanEdit="True" 
+             ContextMenu="{StaticResource CAIsolationValve}"/>
+                </Grid>
+                <Grid Grid.Row="1" >
+                    <Label Margin="13,-20,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CA Isolation" />
+                </Grid>
+            </Grid>
         </Canvas>
 
-        <Rectangle Width="100" Height="10" Fill="#E0F7FA" Canvas.Top="179" Canvas.Left="215" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
-        <Polygon Points="10,40 110,40 120,50 0,50" Fill="#E0F7FA" Canvas.Left="205" Canvas.Top="149" HorizontalAlignment="Left" VerticalAlignment="Center" Stroke="LightGray" StrokeThickness="1"/>
-        <Rectangle Fill="#E0F7FA"  Width="120" Height="35" Canvas.Top="199" Canvas.Left="205" Stroke="LightGray" StrokeThickness="3" HorizontalAlignment="Left" VerticalAlignment="Center"/>
+     
         <Rectangle Fill="Gold"  Width="80" Height="8" Canvas.Top="159" Canvas.Left="224" HorizontalAlignment="Left" VerticalAlignment="Center"/>
         <Polygon Points="0,0 90,0 90,10 85,15 5,15 0,10" Fill="Orange" Canvas.Left="219" Canvas.Top="145" HorizontalAlignment="Left" VerticalAlignment="Center"/>
         <Rectangle Fill="PeachPuff"  Width="30" Height="10" Canvas.Top="135" Canvas.Left="248" HorizontalAlignment="Left" VerticalAlignment="Center"/>
@@ -96,214 +302,19 @@
         <Rectangle Fill="LightGray"  Width="20" Height="12" Canvas.Top="110" Canvas.Left="471" Stroke="Gray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
         <Rectangle Fill="LightGray"  Width="14" Height="4" Canvas.Top="106" Canvas.Left="474"  HorizontalAlignment="Left" VerticalAlignment="Center"/>
 
-        <Canvas Width="125" Height="75" Canvas.Left="417" Canvas.Top="235" HorizontalAlignment="Left" VerticalAlignment="Center">
-            <Canvas.RenderTransform>
-                <ScaleTransform ScaleX="0.6667" ScaleY="0.6667" />
-            </Canvas.RenderTransform>
-
-            <Rectangle Width="200" Height="100" Fill="Yellow" Canvas.Top="0" />
-            <Rectangle Width="160" Height="60" Fill="Gold" Canvas.Top="26" Canvas.Left="20" HorizontalAlignment="Left" VerticalAlignment="Center"/>
-            <Rectangle Width="180" Height="40" Fill="Bisque" Canvas.Top="0" Canvas.Left="7" HorizontalAlignment="Center" VerticalAlignment="Top"/>
-            <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="7" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Top">
-                <Polygon.RenderTransform>
-                    <TransformGroup>
-                        <ScaleTransform/>
-                        <SkewTransform/>
-                        <RotateTransform Angle="90"/>
-                        <TranslateTransform/>
-                    </TransformGroup>
-                </Polygon.RenderTransform>
-            </Polygon>
-            <Polygon Points="0,20 10,0 20,20" Fill="Yellow" Canvas.Left="168" Canvas.Top="0" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Left" VerticalAlignment="Center">
-                <Polygon.RenderTransform>
-                    <TransformGroup>
-                        <ScaleTransform/>
-                        <SkewTransform/>
-                        <RotateTransform Angle="-90"/>
-                        <TranslateTransform/>
-                    </TransformGroup>
-                </Polygon.RenderTransform>
-            </Polygon>
-            <Polygon Points="50,50 210,50 200,60 60,60" 
-        Fill="White"  
-        StrokeThickness="1" Canvas.Left="-30" Canvas.Top="-10"/>
-        </Canvas>
-        <Rectangle Width="100" Height="10" Fill="#E0F7FA" Canvas.Top="180" Canvas.Left="433" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
-        <Polygon Points="10,40 110,40 120,50 0,50" Fill="#E0F7FA" Canvas.Left="423" Canvas.Top="150" Stroke="LightGray" StrokeThickness="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
-        <Rectangle Fill="#E0F7FA"  Width="120" Height="35" Canvas.Top="200" Canvas.Left="423" Stroke="LightGray" StrokeThickness="3" HorizontalAlignment="Left" VerticalAlignment="Center"/>
-
-        <Label Content="To AN Tower" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="77" Canvas.Top="259"/>
-        <Label Content="To AN Tower" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="587" Canvas.Top="259"/>
-        <Label Content="Res Return" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="583" Canvas.Top="310"/>
-        <Label Content="Res Return" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="95" Canvas.Top="303"/>
-        <Label Content="Res Source" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Center" Canvas.Left="95" Canvas.Top="331"/>
-        <Label Content="Res Source" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="579" Canvas.Top="338"/>
-
         <Label Content="{Binding ElementName=self,Path=ModuleName}" Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility2}}" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="228" Canvas.Top="64"/>
         <Label Content="{Binding ElementName=self,Path=ModuleName}" Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility}}" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Canvas.Left="450" Canvas.Top="64"/>
 
-        <userControls:FlowPipe IsReverse="False" IsFlowing="{Binding ElementName=self,Path=CCRValve}" Height="8"  Width="140"  Canvas.Left="65"  Canvas.Top="200" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="False" IsFlowing="{Binding ElementName=self,Path=RinseValve}" Height="8"  Width="140"  Canvas.Left="67"  Canvas.Top="224" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="True" IsFlowing="True" Height="8"  Width="40"  Canvas.Left="160"  Canvas.Top="266" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="True" IsFlowing="True" Height="8"  Width="60"  Canvas.Left="161"  Canvas.Top="313" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="True" IsFlowing="{Binding ElementName=self,Path=CAIsolationValve}" Height="8"  Width="110"  Canvas.Left="160"  Canvas.Top="339" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="True" IsFlowing="{Binding ElementName=self,Path=ANIsolationValve}" Height="8"  Width="80"  Canvas.Left="236"  Canvas.Top="367" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="False" IsFlowing="True" Height="8"  Width="50"  Canvas.Left="273"  Canvas.Top="296" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="False" IsFlowing="True" Height="8"  Width="20"  Canvas.Left="225"  Canvas.Top="301" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe IsReverse="False" IsFlowing="True" Height="8"  Width="75"  Canvas.Left="316"  Canvas.Top="299" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-
-
-
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=CCRValve}" Height="8"  Width="140"  Canvas.Left="541"  Canvas.Top="200" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=RinseValve}" Height="8"  Width="140"  Canvas.Left="541"  Canvas.Top="224" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="40"  Canvas.Left="542"  Canvas.Top="263" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Center" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="60"  Canvas.Left="518"  Canvas.Top="318" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=CAIsolationValve}" Height="8"  Width="110"  Canvas.Left="470"  Canvas.Top="343" RotateTransformValue="0" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="True" IsFlowing="{Binding ElementName=self,Path=ANIsolationValve}" Height="8"  Width="80"  Canvas.Left="432"  Canvas.Top="368" RotateTransformValue="0" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="50"  Canvas.Left="476"  Canvas.Top="301" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="20"  Canvas.Left="525"  Canvas.Top="301" RotateTransformValue="90" HorizontalAlignment="Center" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-        <userControls:FlowPipe  IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}" IsReverse="False" IsFlowing="True" Height="8"  Width="75"  Canvas.Left="440"  Canvas.Top="298" RotateTransformValue="90" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="-1"/>
-
-
-        <Grid Height="50" Width="100" Canvas.Left="99" Canvas.Top="188" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                          IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
-                          Status="{Binding ElementName=self,Path=CCRValve}"  
-                          IsCanEdit="True" 
-                          ContextMenu="{StaticResource CCRValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="35,-80,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CCR"  />
-            </Grid>
-        </Grid>
-
-        <Grid Height="50" Width="100" Canvas.Left="99" Canvas.Top="213" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
-              Status="{Binding ElementName=self,Path=RinseValve}"  
-              IsCanEdit="True" 
-              ContextMenu="{StaticResource RinseValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="30,-10,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Rinse" />
-            </Grid>
-        </Grid>
+       
 
-        <Grid Height="50" Width="100" Canvas.Left="237" Canvas.Top="355" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
-                Status="{Binding ElementName=self,Path=ANIsolationValve}"  
-                IsCanEdit="True" 
-                ContextMenu="{StaticResource ANIsolationValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="13,0,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="AN Isolation" />
-            </Grid>
-        </Grid>
 
-        <Grid Height="50" Width="100" Canvas.Left="164" Canvas.Top="328" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable}"
-                        Status="{Binding ElementName=self,Path=CAIsolationValve}"  
-                        IsCanEdit="True" 
-                        ContextMenu="{StaticResource CAIsolationValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="13,-20,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CA Isolation" />
-            </Grid>
-        </Grid>
 
-        <Grid Height="50" Width="100" Canvas.Left="538" Canvas.Top="188" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
-                  Status="{Binding ElementName=self,Path=CCRValve}"  
-                  IsCanEdit="True" 
-                  ContextMenu="{StaticResource CCRValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="35,-80,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CCR" />
-            </Grid>
-        </Grid>
+        
 
-        <Grid Height="50" Width="100" Canvas.Left="538" Canvas.Top="213" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="21*"/>
-                <ColumnDefinition Width="79*"/>
-            </Grid.ColumnDefinitions>
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0" Grid.ColumnSpan="2">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
-                Status="{Binding ElementName=self,Path=RinseValve}"  
-                IsCanEdit="True" 
-                ContextMenu="{StaticResource RinseValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" Grid.ColumnSpan="2" >
-                <Label Margin="30,-20,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Rinse" />
-            </Grid>
-        </Grid>
 
-        <Grid Height="50" Width="100" Canvas.Left="412" Canvas.Top="356" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
-                Status="{Binding ElementName=self,Path=ANIsolationValve}"  
-                IsCanEdit="True" 
-                ContextMenu="{StaticResource ANIsolationValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="13,0,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="AN Isolation" />
-            </Grid>
-        </Grid>
+       
 
-        <Grid Height="50" Width="100" Canvas.Left="466" Canvas.Top="331" HorizontalAlignment="Left" VerticalAlignment="Top"  >
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30"></RowDefinition>
-                <RowDefinition Height="20"></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid Grid.Row="0">
-                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
-                                                    IsEnabled="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource BoolToBool}}"
-                Status="{Binding ElementName=self,Path=CAIsolationValve}"  
-                IsCanEdit="True" 
-                ContextMenu="{StaticResource CAIsolationValve}"/>
-            </Grid>
-            <Grid Grid.Row="1" >
-                <Label Margin="13,-20,0,0" Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="CA Isolation" />
-            </Grid>
-        </Grid>
+   
         <Canvas Height="10" Width="80" Canvas.Left="219" Canvas.Top="167" RenderTransformOrigin="0.5,0.5" Panel.ZIndex="2">
             <Viewbox   Canvas.Left="5"  Canvas.Top="2.5" HorizontalAlignment="Left" VerticalAlignment="Top" Panel.ZIndex="5">
                 <local:VPWWaferCtrl Width="80" Height="9" WaferData="{Binding ElementName=self, Path=WaferInfo}"   Visibility="{Binding ElementName=self,Path=IsLeftEnable,Converter={StaticResource boolToVisibility2}}"/>