<UserControl xmlns:Control="clr-namespace:MECF.Framework.UI.Core.Control;assembly=MECF.Framework.UI.Core"  x:Class="CyberX8_Themes.UserControls.TemperatureControllerControl"
             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:local="clr-namespace:CyberX8_Themes.UserControls"
             xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
             xmlns:converters="clr-namespace:CyberX8_Themes.Converters"
             mc:Ignorable="d" Name="self"
             d:DesignHeight="500" d:DesignWidth="500">
    <UserControl.Resources>
        <converters:BoolToColor x:Key="boolToColor"/>
        <converters:BoolToRedColor x:Key="boolToRedColor"/>
    </UserControl.Resources>
    <GroupBox Header="{Binding ElementName=self,Path=ModuleTitle}"  Background="{DynamicResource Table_BD_Title}" BorderBrush="DarkGray" Height="500">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition Height="130"/>
            </Grid.RowDefinitions>
            <Grid Grid.Row="0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="40"/>
                    <RowDefinition Height="30"/>
                    <RowDefinition Height="60"/>
                    <RowDefinition Height="40"/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Grid Grid.Row="0" Margin="0,5,0,0">
                    <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=IsConnected, Converter={StaticResource boolToColor}}"   Stroke="Silver" HorizontalAlignment="Left"/>
                    <Label Height="30" Width="70" Content="{Binding ElementName=self,Path=ModuleName}" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="28,0,0,0"/>
                    <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=DisableStatus}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Right" Margin="0,0,180,0"/>
                    <Button IsEnabled="{Binding IsEnable}" Style="{StaticResource SysBtnStyle}" Content="Disable" Click="Disable_Click" HorizontalAlignment="Right" Width="70" Margin="0,0,80,0"></Button>
                    <Button IsEnabled="{Binding IsEnable}" Style="{StaticResource SysBtnStyle}" Content="Enable" Click="Enable_Click" HorizontalAlignment="Right" Width="70" Margin="0,0,5,0"></Button>
                </Grid>
                <Grid Grid.Row="1">
                    <Label Height="30" Content="State" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                    <TextBlock Width="110" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=Status}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="44,0,0,0"/>
                    <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=AutoStatus}" Background="Black" Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Right" Margin="0,0,180,0"/>
                    <Label Height="30" Content="OperationMode" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="313,2,0,0"/>
                </Grid>
                <Grid Grid.Row="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="189*"/>
                        <ColumnDefinition Width="55*"/>
                    </Grid.ColumnDefinitions>
                    <Label Height="30" Content="Set Point" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                    <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="67,15,0,15" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointValue,Mode=TwoWay}"/>
                    <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="139,0,0,0"/>

                    <Button Style="{StaticResource SysBtnStyle}" IsEnabled="{Binding IsApplyEnable}" Content="Apply" Click="Apply_Click" HorizontalAlignment="Left" Width="70" Height="30" Margin="174,15,0,15"></Button>
                    <Ellipse Margin="0,10,10,34"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=TemperatureReached, Converter={StaticResource boolToColor}}"   Stroke="Silver" HorizontalAlignment="Right" Grid.Column="1"/>
                    <Label Content="Temperature Reached" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,5,30,0" Grid.ColumnSpan="2"/>
                    <Ellipse Margin="0,34,10,10"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=DeltaExceeded, Converter={StaticResource boolToRedColor}}"   Stroke="Silver" HorizontalAlignment="Right" Grid.Column="1"/>
                    <Label Content="Delta Exceeded" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,29,30,0" Grid.ColumnSpan="2"/>
                </Grid>
                <Grid Grid.Row="3">
                    <Label Height="30" Content="Set Point Limits:" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left"/>
                    <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="107,0,0,0" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointMinValue,Mode=TwoWay}"/>
                    <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="179,0,0,0"/>
                    <Control:NumbericUpDown IsEnabled="{Binding IsEnable}" Height="30" Width="70" IncrementValue="1" Margin="357,0,0,0" HorizontalAlignment="Left" Value="{Binding ElementName=self,Path=SetPointMaxValue,Mode=TwoWay}"/>
                    <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="427,0,0,0"/>
                    <TextBlock Width="100" VerticalAlignment="Center" Text="{Binding ElementName=self,Path=TargetTemperatureValue,StringFormat=\{0:F2\}}" Background="Black"
                               Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="210,0,0,0" />
                    <Label Height="30" Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Left" 
                           Margin="307,0,0,0"/>
                </Grid>
                <Grid Grid.Row="4">
                    <Label  Content="Reservior" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,70,0,0"/>
                    <TextBlock Width="50" VerticalAlignment="Top" Text="{Binding ElementName=self,Path=ReserviorValue,StringFormat=\{0:F2\}}" Background="Black"
           Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="67,72,0,0" />
                    <Label  Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="113,70,0,0"/>
                    <Label  Content="Heat Exch" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0,120,0,0"/>
                    <TextBlock Width="50" VerticalAlignment="Top" Text="{Binding ElementName=self,Path=HeatExchangerValue,StringFormat=\{0:F2\}}" Background="Black"
    Foreground="Lime" FontSize="16" FontWeight="Bold" HorizontalAlignment="Left" Margin="67,122,0,0" />
                    <Label Content="­℃" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="113,120,0,0"/>
                    <lvc:CartesianChart LegendLocation="Top" Hoverable="True" Margin="140,0,0,0" >
                        <lvc:CartesianChart.Series>
                            <lvc:LineSeries Title="Reservior series"  Width="1"  Values="{Binding ReserviorSeries}"  Stroke="Blue"  LineSmoothness="1"/>
                            <lvc:LineSeries Title="Heat Exch"  Width="1"  Values="{Binding HeatExchangerSeries}"  Stroke="Green"   LineSmoothness="1"/>
                        </lvc:CartesianChart.Series>
                        <lvc:CartesianChart.AxisX>
                            <lvc:Axis Labels="{Binding LabelSeries}"  FontSize="15" Foreground="Black" ShowLabels="False">
                                <lvc:Axis.Separator>
                                    <lvc:Separator Step="1"/>
                                </lvc:Axis.Separator>
                            </lvc:Axis>
                        </lvc:CartesianChart.AxisX>
                    </lvc:CartesianChart>
                </Grid>
            </Grid>
            <GroupBox Header="Alarm" Grid.Row="1">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                        <RowDefinition/>
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>
                    <WrapPanel Grid.Row="0" Grid.Column="0" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=AutoTuning, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Auto Tuning" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="0" Grid.Column="1" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=Fan, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Fan" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="0" Grid.Column="2" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=RemoteOff, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Remote Off" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="1" Grid.Column="0" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=AutoTuning, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Ext Sensor Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="1" Grid.Column="1" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=HighTempCutoff, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="High Temp Cuteoff" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="1" Grid.Column="2" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=LowTempCutoff, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Low Temp Cuteoff" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="2" Grid.Column="0" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=OutputFailure, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Output Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="2" Grid.Column="1" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=IntSensorFailure, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Int Sensor Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="2" Grid.Column="2" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=TempLimitWarn, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Temp Limit Warn" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="3" Grid.Column="0" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=PowerFailure, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Power Failure" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="3" Grid.Column="1" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=Leak, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Leak" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                    <WrapPanel Grid.Row="3" Grid.Column="2" >
                        <Ellipse Margin="5,0"  Width="16" Height="16"  Fill="{Binding ElementName=self,Path=Thermostat, Converter={StaticResource boolToRedColor}}"   Stroke="Silver"/>
                        <Label Height="40" Content="Thermostat" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center"/>
                    </WrapPanel>
                </Grid>
            </GroupBox>
        </Grid>
    </GroupBox>
</UserControl>