chenzk дней назад: 3
Родитель
Сommit
4103eaaf95

+ 95 - 2
PunkHPX8_MainPages/Views/VPWCellView.xaml

@@ -4,12 +4,105 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:UserControls="clr-namespace:PunkHPX8_Themes.UserControls;assembly=PunkHPX8_Themes" 
+             xmlns:converters="clr-namespace:PunkHPX8_Themes.Converters;assembly=PunkHPX8_Themes"
              xmlns:prism="http://prismlibrary.com/"
              prism:ViewModelLocator.AutoWireViewModel="True"
              xmlns:local="clr-namespace:PunkHPX8_MainPages.Views"
              mc:Ignorable="d" x:Name="self"
-             d:DesignHeight="850" d:DesignWidth="1800">
+             d:DesignHeight="850" d:DesignWidth="1850">
+    <UserControl.Resources>
+        <converters:BoolToColor x:Key="boolToColor"/>
+        <converters:RecipeIconConverter x:Key="recipeIconConverter"/>
+    </UserControl.Resources>
     <Grid>
-            
+        <Grid.RowDefinitions>
+            <RowDefinition Height="5"/>
+            <RowDefinition Height="190"/>
+            <RowDefinition Height="200"/>
+            <RowDefinition Height="175"/>
+            <RowDefinition Height="230"/>
+            <RowDefinition/>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="610"></ColumnDefinition>
+            <ColumnDefinition Width="400"></ColumnDefinition>
+            <ColumnDefinition Width="610"></ColumnDefinition>
+            <ColumnDefinition Width="250"></ColumnDefinition>
+            <ColumnDefinition/>
+        </Grid.ColumnDefinitions>
+        <Grid Grid.Row="1" Grid.Column="0">
+            <UserControls:SrdOverviewInformationPanel HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center" 
+                           ModuleTitle="{Binding Module}" IsEnabled="{Binding IsEnabled}"
+                            />
+        </Grid>
+        <Grid Grid.Row="1" Grid.Column="1">
+            <UserControls:WaferOverviewPanel HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center" 
+                        IsEnabled="{Binding IsEnabled}"
+                         />
+        </Grid>
+        <Grid Grid.Row="2" Grid.Column="0" Grid.RowSpan="2">
+            <UserControls:VPWCellStatusControl HorizontalAlignment="Left" Margin="10,-50,0,0" VerticalAlignment="Center" 
+                        IsEnabled="{Binding IsEnabled}"
+                         />
+        </Grid>
+        <Grid Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Grid.RowSpan="3" HorizontalAlignment="Left">
+            <UserControls:VPWCellUIControl ModuleName="{Binding Module}"
+                                   
+         
+         ></UserControls:VPWCellUIControl>
+        </Grid>
+
+        <Grid Grid.Row="1" Grid.Column="2" Grid.RowSpan="2">
+            <UserControls:RecipeControl HorizontalAlignment="Center" Margin="10,0,0,0" VerticalAlignment="Center"
+          ModuleName="{Binding Module}" IsEnabled="{Binding IsEnabled}"
+          ModuleTitle="{Binding RecipeModuleName}"
+          RecipeType="{Binding RecipeType}"
+          SelectedRecipeNode="{Binding SelectedRecipeNode,Mode=TwoWay}"
+          AchievedCycleTimes="{Binding AchievedRunRecipeCycle}"
+          CurrentOperationMode="{Binding PrewetPersistent.OperatingMode}"
+          NumberOfSelectedRecipeScans="{Binding NumberOfRecipeScans,Mode=TwoWay}"
+          RecipeModeValue ="{Binding PrewetPersistent.RecipeOperatingMode}"/>
+        </Grid>
+
+        
+        <Grid Grid.Row="2" Grid.Column="3" Grid.RowSpan="2" Margin="25,0,0,80" VerticalAlignment="Center">
+            <UserControls:RecipeModeControl Margin="5,40,35,10"
+                                     ModuleName="{Binding Module}"
+                                     RecipeModeValue="{Binding VpwMainPersistent.RecipeOperatingMode}"
+                                     ></UserControls:RecipeModeControl>
+        </Grid>
+
+
+        <Grid Grid.Row="1" Grid.Column="3">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="50"></RowDefinition>
+                <RowDefinition Height="60"></RowDefinition>
+                <RowDefinition Height="60"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <Label Content="{Binding Module}"  FontSize="30" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" HorizontalAlignment="Center"></Label>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Button IsEnabled="{Binding IsAutoEnabled}" Style="{StaticResource SysBtnStyle}" Height="30" Width="120" HorizontalAlignment="Center" Content="Initialize" Command="{Binding InitializeCommand}" />
+            </Grid>
+        </Grid>
+        <Grid Grid.Row="1" Grid.Column="3" Grid.RowSpan="2"  Margin="0,110,0,0">
+            <Label Content="Operating Mode"  FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Center"></Label>
+            <UserControls:OperatingModeControl HorizontalAlignment="Center" Margin="10,0,30,80" VerticalAlignment="Center" 
+                                        ModuleName="{Binding Module}"
+                                        OperationModeValue="{Binding PrewetPersistent.OperatingMode}"
+                                        IsManual="{Binding IsManualOperationMode,Mode=TwoWay}"/>
+        </Grid>
+
+
+
+        <Grid Grid.Row="3" Grid.Column="3" >
+            <Button Margin="0,20,0,0" IsEnabled="True" VerticalAlignment="Top" Style="{StaticResource SysBtnStyle}" Height="30" Width="120" HorizontalAlignment="Center" Content="Home" Command="{Binding HomeCommand}" />
+        </Grid>
+
+        <Label Grid.Row="2" Grid.Column="3" Margin="0,0,0,0" Content="Recipe Mode"  FontSize="15" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"></Label>
+
+
+
     </Grid>
 </UserControl>

+ 3 - 0
PunkHPX8_MainPages/Views/VPWMainView.xaml

@@ -75,6 +75,9 @@
                                            DIWDegasValve="{Binding VpwMainCommonData.DiwDegas}"
                                            DegasAdjustValve="{Binding VpwMainCommonData.DegasAdjust}"
                                            TotalFlow="{Binding VpwMainCommonData.DiwTotalFlow}"
+                                           IsBoosterPumpOpen="{Binding VpwMainCommonData.BoosterPumpEnable}"
+                                           IsDegasPumpOpen="{Binding VpwMainCommonData.DegasPumpEnable}"
+                                           IsVacuumPumpOpen="{Binding VpwMainCommonData.VacuumPumpEnable}"
                 
                 ></UserControls:VPWMainUIControl>
         </Grid>

+ 7 - 0
PunkHPX8_Themes/PunkHPX8_Themes.csproj

@@ -486,6 +486,9 @@
     <Compile Include="UserControls\VPWCellStatusControl.xaml.cs">
       <DependentUpon>VPWCellStatusControl.xaml</DependentUpon>
     </Compile>
+    <Compile Include="UserControls\VPWCellUIControl.xaml.cs">
+      <DependentUpon>VPWCellUIControl.xaml</DependentUpon>
+    </Compile>
     <Compile Include="UserControls\VPWDegasControl.xaml.cs">
       <DependentUpon>VPWDegasControl.xaml</DependentUpon>
     </Compile>
@@ -1054,6 +1057,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="UserControls\VPWCellUIControl.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="UserControls\VPWDegasControl.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>

+ 2 - 2
PunkHPX8_Themes/UserControls/ReservoirPump.xaml.cs

@@ -91,7 +91,7 @@ namespace PunkHPX8_Themes.UserControls
             }
             else
             {
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{PumpType}On");
+                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{PumpType}Enable");
             }
             
         } 
@@ -104,7 +104,7 @@ namespace PunkHPX8_Themes.UserControls
             }
             else
             {
-                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{PumpType}Off");
+                InvokeClient.Instance.Service.DoOperation($"{ModuleName}.{PumpType}Disable");
             }
         }
     }

+ 182 - 0
PunkHPX8_Themes/UserControls/VPWCellUIControl.xaml

@@ -0,0 +1,182 @@
+<UserControl x:Class="PunkHPX8_Themes.UserControls.VPWCellUIControl"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:userControls="clr-namespace:PunkHPX8_Themes.UserControls"
+             xmlns:customControls="clr-namespace:PunkHPX8_Themes.CustomControls"
+             xmlns:converters="clr-namespace:PunkHPX8_Themes.Converters"
+             xmlns:local="clr-namespace:PunkHPX8_Themes.UserControls"
+             mc:Ignorable="d" Name="self"
+             d:DesignHeight="600" d:DesignWidth="600">
+    <UserControl.Resources>
+        <converters:BoolToVisibility2 x:Key="boolToVisibility2"></converters:BoolToVisibility2>
+        <converters:BoolToVisibility x:Key="boolToVisibility"></converters:BoolToVisibility>
+        <converters:BoolToOrientation x:Key="boolToOrientation"></converters:BoolToOrientation>
+        <Style x:Key="DisableContextMenuStyle" TargetType="userControls:Pump1">
+            <Setter Property="IsEnabled" Value="False"/>
+        </Style>
+        <ContextMenu x:Key="DripValve">
+            <MenuItem Header="Open" Click="OpenDripValve_Click"/>
+            <MenuItem Header="Close" Click="CloseDripValve_Click"/>
+        </ContextMenu>
+        <ContextMenu x:Key="SmallValve">
+            <MenuItem Header="Open" Click="OpenSmallValve_Click"/>
+            <MenuItem Header="Close" Click="CloseSmallValve_Click"/>
+        </ContextMenu>
+        <ContextMenu x:Key="LargeValve">
+            <MenuItem Header="Open" Click="OpenLargeValve_Click"/>
+            <MenuItem Header="Close" Click="CloseLargeValve_Click"/>
+        </ContextMenu>
+        <ContextMenu x:Key="VentValve">
+            <MenuItem Header="Open" Click="OpenVentValve_Click"/>
+            <MenuItem Header="Close" Click="CloseVentValve_Click"/>
+        </ContextMenu>
+        <ContextMenu x:Key="DrainValve">
+            <MenuItem Header="Open" Click="OpenDrainValve_Click"/>
+            <MenuItem Header="Close" Click="CloseDrainValve_Click"/>
+        </ContextMenu>
+        <ContextMenu x:Key="CellVacuumValve">
+            <MenuItem Header="Open" Click="OpenCellVacuumValve_Click"/>
+            <MenuItem Header="Close" Click="CloseCellVacuumValve_Click"/>
+        </ContextMenu>
+    </UserControl.Resources>
+    <Canvas>
+        <Grid Height="50" Width="100" Canvas.Left="50" Canvas.Top="98"  >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"></RowDefinition>
+                <RowDefinition Height="20"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                           Status="{Binding ElementName=self,Path=DripValve}"  
+                           IsCanEdit="True" 
+                           ContextMenu="{StaticResource DripValve}"/>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Label Margin="12,0,0,0" Height="30" Width="100" FontSize="10"  FontWeight="Bold" Content="Drip" />
+            </Grid>
+        </Grid>
+
+        <Grid Height="50" Width="100" Canvas.Left="182" Canvas.Top="100" >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"></RowDefinition>
+                <RowDefinition Height="20"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                           Status="{Binding ElementName=self,Path=SmallValve}"  
+                           IsCanEdit="True" 
+                           ContextMenu="{StaticResource SmallValve}"/>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Label Margin="12,0,0,0" Height="30" Width="100" FontSize="10"  FontWeight="Bold" Content="Small" />
+            </Grid>
+        </Grid>
+
+        <Grid Height="50" Width="100" Canvas.Left="321" Canvas.Top="100"  >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"></RowDefinition>
+                <RowDefinition Height="20"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                           Status="{Binding ElementName=self,Path=LargeValve}"  
+                           IsCanEdit="True" 
+                           ContextMenu="{StaticResource LargeValve}"/>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Label Margin="12,0,0,0" Height="30" Width="100" FontSize="10"  FontWeight="Bold" Content="Large" />
+            </Grid>
+        </Grid>
+
+        <Grid Height="50" Width="100" Canvas.Left="38" Canvas.Top="203" >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"></RowDefinition>
+                <RowDefinition Height="20"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                           Status="{Binding ElementName=self,Path=VentValve}"  
+                           IsCanEdit="True" 
+                           ContextMenu="{StaticResource VentValve}"/>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Label Margin="12,0,0,0" Height="30" Width="100" FontSize="10"  FontWeight="Bold" Content="Vent Vlave" />
+            </Grid>
+        </Grid>
+
+        <Grid Height="50" Width="100" Canvas.Left="173" Canvas.Top="196" >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"></RowDefinition>
+                <RowDefinition Height="20"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                           Status="{Binding ElementName=self,Path=DrainValve}"  
+                           IsCanEdit="True" 
+                           ContextMenu="{StaticResource DrainValve}"/>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Label Margin="12,0,0,0" Height="30" Width="100" FontSize="10"  FontWeight="Bold" Content="Drain Valve" />
+            </Grid>
+        </Grid>
+
+        <Grid Height="50" Width="100" Canvas.Left="309" Canvas.Top="193" >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="30"></RowDefinition>
+                <RowDefinition Height="20"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid Grid.Row="0">
+                <customControls:CommonValveControl Height="16" Width="16"   ValveOrientation="Horizontal" 
+                           Status="{Binding ElementName=self,Path=VacuumValve}"  
+                           IsCanEdit="True" 
+                           ContextMenu="{StaticResource CellVacuumValve}"/>
+            </Grid>
+            <Grid Grid.Row="1">
+                <Label Margin="12,0,0,0" Height="30" Width="100" FontSize="10"  FontWeight="Bold" Content="Vacuum Valve" />
+            </Grid>
+        </Grid>
+
+        <Grid Height="50" Width="120" Canvas.Left="73" Canvas.Top="26"  >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="20"></RowDefinition>
+                <RowDefinition Height="30"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="60"></ColumnDefinition>
+                <ColumnDefinition Width="60"></ColumnDefinition>
+            </Grid.ColumnDefinitions>
+            <Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="0,0,10,0">
+                <Label Content="DIWLoopDO" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0"/>
+            </Grid>
+            <Border Grid.Row="1" Grid.Column="0"  Margin="5,5,5,5" Background="Black" Width="50" VerticalAlignment="Center" HorizontalAlignment="Right">
+                <TextBlock  Text="{Binding ElementName=self,Path=DIWLoopDo}" Foreground="Lime" FontSize="16" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Left"/>
+            </Border>
+            <Border Grid.Row="1" Grid.Column="1"  Margin="0,5,0,5 " Background="Black" Height="22" Width="40" VerticalAlignment="Center" HorizontalAlignment="Left">
+                <TextBlock  Text="ppm" Foreground="Lime" FontSize="12" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+            </Border>
+        </Grid>
+
+        <Grid Height="50" Width="120" Canvas.Left="257" Canvas.Top="29"  >
+            <Grid.RowDefinitions>
+                <RowDefinition Height="20"></RowDefinition>
+                <RowDefinition Height="30"></RowDefinition>
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="60"></ColumnDefinition>
+                <ColumnDefinition Width="60"></ColumnDefinition>
+            </Grid.ColumnDefinitions>
+            <Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="0,0,10,0">
+                <Label Content="Cell Vacuum" FontSize="10" FontWeight="Bold" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,0,0"/>
+            </Grid>
+            <Border Grid.Row="1" Grid.Column="0"  Margin="5,5,5,5" Background="Black" Width="50" VerticalAlignment="Center" HorizontalAlignment="Right">
+                <TextBlock  Text="{Binding ElementName=self,Path=CellVacuum}" Foreground="Lime" FontSize="16" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Left"/>
+            </Border>
+            <Border Grid.Row="1" Grid.Column="1"  Margin="0,5,0,5 " Background="Black" Height="22" Width="40" VerticalAlignment="Center" HorizontalAlignment="Left">
+                <TextBlock  Text="Toor" Foreground="Lime" FontSize="12" FontWeight="Bold" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+            </Border>
+        </Grid>
+
+    </Canvas>
+</UserControl>

+ 243 - 0
PunkHPX8_Themes/UserControls/VPWCellUIControl.xaml.cs

@@ -0,0 +1,243 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace PunkHPX8_Themes.UserControls
+{
+    /// <summary>
+    /// VPWCellUIControl.xaml 的交互逻辑
+    /// </summary>
+    public partial class VPWCellUIControl : UserControl
+    {
+        public VPWCellUIControl()
+        {
+            InitializeComponent();
+        }
+
+        public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
+          "ModuleName", typeof(string), typeof(VPWCellUIControl),
+          new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// 模块名称
+        /// </summary>
+        public string ModuleName
+        {
+            get
+            {
+                return (string)this.GetValue(ModuleNameProperty);
+            }
+            set
+            {
+                this.SetValue(ModuleNameProperty, value);
+            }
+        }
+
+        public static readonly DependencyProperty DripValveProerty = DependencyProperty.Register(
+            "DripValve", typeof(bool), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// DripValve
+        /// </summary>
+        public bool DripValve
+        {
+            get
+            {
+                return (bool)this.GetValue(DripValveProerty);
+            }
+            set
+            {
+                this.SetValue(DripValveProerty, value);
+            }
+        }
+
+        public static readonly DependencyProperty SmallValveProerty = DependencyProperty.Register(
+            "SmallValve", typeof(bool), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// SmallValve
+        /// </summary>
+        public bool SmallValve
+        {
+            get
+            {
+                return (bool)this.GetValue(SmallValveProerty);
+            }
+            set
+            {
+                this.SetValue(SmallValveProerty, value);
+            }
+        }
+
+        public static readonly DependencyProperty LargeValveProerty = DependencyProperty.Register(
+            "LargeValve", typeof(bool), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// LargeValve
+        /// </summary>
+        public bool LargeValve
+        {
+            get
+            {
+                return (bool)this.GetValue(LargeValveProerty);
+            }
+            set
+            {
+                this.SetValue(LargeValveProerty, value);
+            }
+        }
+
+        public static readonly DependencyProperty VentValveProerty = DependencyProperty.Register(
+           "VentValve", typeof(bool), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// VentValve
+        /// </summary>
+        public bool VentValve
+        {
+            get
+            {
+                return (bool)this.GetValue(VentValveProerty);
+            }
+            set
+            {
+                this.SetValue(VentValveProerty, value);
+            }
+        }
+
+        public static readonly DependencyProperty DrainValveProerty = DependencyProperty.Register(
+           "DrainValve", typeof(bool), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// DrainValve
+        /// </summary>
+        public bool DrainValve
+        {
+            get
+            {
+                return (bool)this.GetValue(DrainValveProerty);
+            }
+            set
+            {
+                this.SetValue(DrainValveProerty, value);
+            }
+        }
+
+        public static readonly DependencyProperty VacuumValveProerty = DependencyProperty.Register(
+       "VacuumValve", typeof(bool), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// VacuumValve
+        /// </summary>
+        public bool VacuumValve
+        {
+            get
+            {
+                return (bool)this.GetValue(VacuumValveProerty);
+            }
+            set
+            {
+                this.SetValue(VacuumValveProerty, value);
+            }
+        }
+
+
+        public static readonly DependencyProperty DIWLoopDoProperty = DependencyProperty.Register(
+        "DIWLoopDo", typeof(double), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// DIWLoopDo
+        /// </summary>
+        public double DIWLoopDo
+        {
+            get
+            {
+                return (double)this.GetValue(DIWLoopDoProperty);
+            }
+            set
+            {
+                this.SetValue(DIWLoopDoProperty, value);
+            }
+        }
+
+        public static readonly DependencyProperty CellVacuumProperty = DependencyProperty.Register(
+        "CellVacuum", typeof(double), typeof(VPWCellUIControl), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsRender));
+        /// <summary>
+        /// CellVacuum
+        /// </summary>
+        public double CellVacuum
+        {
+            get
+            {
+                return (double)this.GetValue(CellVacuumProperty);
+            }
+            set
+            {
+                this.SetValue(CellVacuumProperty, value);
+            }
+        }
+
+        private void OpenDripValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CloseDripValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void OpenSmallValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CloseSmallValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void OpenLargeValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CloseLargeValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void OpenVentValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CloseVentValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void OpenDrainValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CloseDrainValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void OpenCellVacuumValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CloseCellVacuumValve_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+    }
+}

+ 1 - 1
PunkHPX8_Themes/UserControls/VPWDegasControl.xaml

@@ -18,7 +18,7 @@
     </UserControl.Resources>
     <Border BorderBrush="Gray">
         <Grid>
-            <GroupBox Header="Booster Pump"  BorderBrush="DarkGray">
+            <GroupBox Header="Degas"  BorderBrush="DarkGray">
                 <Grid>
                     <Grid.RowDefinitions>
                         <RowDefinition Height="40"/>

+ 3 - 3
PunkHPX8_Themes/UserControls/VPWMainUIControl.xaml

@@ -138,9 +138,9 @@
             </Border>
         </Grid>
 
-        <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding ModuleName}" PumpType="BoosterPump" RotateTransformValue="0" IsOpenPump="{Binding IsBoosterPumpOpen,Mode=TwoWay}" Height="60" Width="60"  Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="146" Canvas.Top="194" />
-        <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding ModuleName}" PumpType="DegasPump" RotateTransformValue="0" IsOpenPump="{Binding IsDegasPumpOpen,Mode=TwoWay}" Height="60" Width="60"   Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="290" Canvas.Top="195" />
-        <userControls:ReservoirPump IsEnabled="{Binding IsEnabled}" ModuleName="{Binding ModuleName}" PumpType="VacuumPump" RotateTransformValue="0" IsOpenPump="{Binding IsVacuumPumpOpen,Mode=TwoWay}" Height="60" Width="60"   Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="432" Canvas.Top="199"  />
+        <userControls:ReservoirPump IsEnabled="True" ModuleName="{Binding ModuleName,ElementName=self}" PumpType="BoosterPump" RotateTransformValue="0" IsOpenPump="{Binding IsBoosterPumpOpen,Mode=TwoWay,ElementName=self}" Height="60" Width="60"  Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="146" Canvas.Top="194" />
+        <userControls:ReservoirPump IsEnabled="True" ModuleName="{Binding ModuleName,ElementName=self}" PumpType="DegasPump" RotateTransformValue="0" IsOpenPump="{Binding IsDegasPumpOpen,Mode=TwoWay,ElementName=self}" Height="60" Width="60"   Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="290" Canvas.Top="195" />
+        <userControls:ReservoirPump IsEnabled="True" ModuleName="{Binding ModuleName,ElementName=self}" PumpType="VacuumPump" RotateTransformValue="0" IsOpenPump="{Binding IsVacuumPumpOpen,Mode=TwoWay,ElementName=self}" Height="60" Width="60"   Tag="26" HorizontalAlignment="Left" VerticalAlignment="Top" Canvas.Left="432" Canvas.Top="199"  />
         <Label  Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Booster Pump" Canvas.Left="128" Canvas.Top="266" />
         <Label  Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Degas Pump" Canvas.Left="273" Canvas.Top="268" />
         <Label  Height="20" Width="100" FontSize="10"  FontWeight="Bold" Content="Vacuum Pump" Canvas.Left="423" Canvas.Top="270" />