<UserControl x:Class="Venus_MainPages.Views.TopView"
             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:prism="http://prismlibrary.com/"
             prism:ViewModelLocator.AutoWireViewModel="True"
             xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
             xmlns:converters="clr-namespace:Venus_Themes.Converters;assembly=Venus_Themes"
             xmlns:converters2="clr-namespace:Venus_MainPages.Converters"
             xmlns:userControls="clr-namespace:Venus_Themes.UserControls;assembly=Venus_Themes"
             xmlns:customControls="clr-namespace:Venus_Themes.CustomControls;assembly=Venus_Themes"
             mc:Ignorable="d" 
             d:DesignHeight="110" d:DesignWidth="1920" FontSize="20" x:Name="topView">
    <UserControl.Resources>
        <converters:StringToColorConverter x:Key="StringToColorConverter"/>
        <converters2:EventItemToStringConverter x:Key="EventItemToStringConverter"/>
        <converters2:PMStateConverter x:Key="PMStateConverter"/>
        <converters2:TMStateConverter x:Key="TMStateConverter"/>
        <converters2:LLStateConverter x:Key="LLStateConverter"/>
        <converters2:SystemStateConverter x:Key="SystemStateConverter"/>
        <converters2:EFEMStateConverter x:Key="EFEMStateConverter"/>
        <converters2:IsOnlineToColorConverter x:Key="IsOnlineConverter"/>
        <converters2:VCEStateConverter x:Key="VCEStateConverter"/>
        
    </UserControl.Resources>

    <Canvas Background="White">
        <Image  Canvas.Left="0" Canvas.Top="0"  Width="150" Height="40"  Source="Pack://application:,,,/Venus_Themes;Component/Resources/Jet.png" Stretch="Uniform" />
        <TextBox Style="{StaticResource textBoxStyle}" Text="{Binding Title}" FontSize="37" HorizontalContentAlignment="Center"    Canvas.Left="8" Canvas.Top="32"  IsReadOnly="True"/>

        <TextBlock Text="{Binding SoftwareVersion}" Foreground="#076DB6"    FontSize="20"  Canvas.Left="15" Canvas.Top="80" />

        <Grid Canvas.Left="150" Width="1400" Height="104">
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition/>
                <RowDefinition/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>


            </Grid.ColumnDefinitions>
            <userControls:StateTitle Title="System"                 TextBoxValue="{Binding RtDataValues[SYSTEM.FsmState]}" TextBoxColor="{Binding RtDataValues[SYSTEM.FsmState],Converter={StaticResource SystemStateConverter}}" LabelColor="{Binding RtDataValues[System.IsAutoMode],Converter={StaticResource IsOnlineConverter}}" IsOnline="{Binding RtDataValues[System.IsAutoMode]}" IsNeedInclude="False"/>

            <userControls:StateTitle Title="VCE1"  Grid.Column="3"  TextBoxValue="{Binding RtDataValues[VCE1.FsmState]}"   TextBoxColor="{Binding RtDataValues[VCE1.FsmState],Converter={StaticResource VCEStateConverter}}" Visibility="{Binding VCE1IsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsNeedInclude="False"/>

            <userControls:StateTitle Title="EFEM"  Grid.Column="3"  TextBoxValue="{Binding RtDataValues[EFEM.FsmState]}"   TextBoxColor="{Binding RtDataValues[EFEM.FsmState],Converter={StaticResource EFEMStateConverter}}"     LabelColor="{Binding RtDataValues[EFEM.IsOnline],Converter={StaticResource IsOnlineConverter}}"    Visibility="{Binding EFEMIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsOnline="{Binding RtDataValues[EFEM.IsOnline]}" IsNeedInclude="False"/>
            <userControls:StateTitle Title="LLA"   Grid.Column="1"  TextBoxValue="{Binding RtDataValues[LLA.FsmState]}"    TextBoxColor="{Binding RtDataValues[LLA.FsmState],Converter={StaticResource LLStateConverter}}"        LabelColor="{Binding RtDataValues[LLA.IsOnline],Converter={StaticResource IsOnlineConverter}}"     Visibility="{Binding LLAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsInclude="{Binding RtDataValues[LLA.IsInclude]}" IsOnline="{Binding RtDataValues[LLA.IsOnline]}"/>
            <userControls:StateTitle Title="LLB"   Grid.Column="2"  TextBoxValue="{Binding RtDataValues[LLB.FsmState]}"    TextBoxColor="{Binding RtDataValues[LLB.FsmState],Converter={StaticResource LLStateConverter}}"        LabelColor="{Binding RtDataValues[LLB.IsOnline],Converter={StaticResource IsOnlineConverter}}"     Visibility="{Binding LLBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsInclude="{Binding RtDataValues[LLB.IsInclude]}" IsOnline="{Binding RtDataValues[LLB.IsOnline]}"/>



            <userControls:StateTitle Title="PMA"   Grid.Column="0"  Grid.Row="1"  TextBoxValue="{Binding RtDataValues[PMA.FsmState]}"    TextBoxColor="{Binding RtDataValues[PMA.FsmState],Converter={StaticResource PMStateConverter}}"  Visibility="{Binding PMAIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" LabelColor="{Binding RtDataValues[PMA.IsOnline],Converter={StaticResource IsOnlineConverter}}" IsInclude="{Binding RtDataValues[PMA.IsInclude]}" IsOnline="{Binding RtDataValues[PMA.IsOnline]}"/>
            <userControls:StateTitle Title="PMB"   Grid.Column="1"  Grid.Row="1"  TextBoxValue="{Binding RtDataValues[PMB.FsmState]}"    TextBoxColor="{Binding RtDataValues[PMB.FsmState],Converter={StaticResource PMStateConverter}}"  Visibility="{Binding PMBIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" LabelColor="{Binding RtDataValues[PMB.IsOnline],Converter={StaticResource IsOnlineConverter}}" IsInclude="{Binding RtDataValues[PMB.IsInclude]}" IsOnline="{Binding RtDataValues[PMB.IsOnline]}"/>
            <userControls:StateTitle Title="PMC"   Grid.Column="2"  Grid.Row="1"  TextBoxValue="{Binding RtDataValues[PMC.FsmState]}"    TextBoxColor="{Binding RtDataValues[PMC.FsmState],Converter={StaticResource PMStateConverter}}"  Visibility="{Binding PMCIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" LabelColor="{Binding RtDataValues[PMC.IsOnline],Converter={StaticResource IsOnlineConverter}}" IsInclude="{Binding RtDataValues[PMC.IsInclude]}" IsOnline="{Binding RtDataValues[PMC.IsOnline]}"/>
            <userControls:StateTitle Title="PMD"   Grid.Column="3"  Grid.Row="1"  TextBoxValue="{Binding RtDataValues[PMD.FsmState]}"    TextBoxColor="{Binding RtDataValues[PMD.FsmState],Converter={StaticResource PMStateConverter}}"  Visibility="{Binding PMDIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" LabelColor="{Binding RtDataValues[PMD.IsOnline],Converter={StaticResource IsOnlineConverter}}" IsInclude="{Binding RtDataValues[PMD.IsInclude]}" IsOnline="{Binding RtDataValues[PMD.IsOnline]}"/>

            <userControls:StateTitle Title="TM"    Grid.Column="4"  Grid.Row="1"    TextBoxValue="{Binding RtDataValues[TM.FsmState]}"     TextBoxColor="{Binding RtDataValues[TM.FsmState],Converter={StaticResource TMStateConverter}}" Visibility="{Binding TMIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" LabelColor="{Binding RtDataValues[TM.IsOnline],Converter={StaticResource IsOnlineConverter}}" IsOnline="{Binding RtDataValues[TM.IsOnline]}" IsNeedInclude="False"/>
            <userControls:StateTitle Title="SETM"    Grid.Row="2"    TextBoxValue="{Binding RtDataValues[SETM.FsmState]}"     TextBoxColor="{Binding RtDataValues[SETM.FsmState],Converter={StaticResource TMStateConverter}}" Visibility="{Binding SETMIsInstalled,Converter={StaticResource bool2VisibilityConverter}}" IsOnline="{Binding RtDataValues[SETM.IsOnline]}"/>

  
            
            <StackPanel Orientation="Horizontal" Grid.Column="0"  Grid.Row="2" Grid.ColumnSpan="5">
                <Label Content="Log" Style="{StaticResource TopLable_LeftTop}"  Width="92"  BorderThickness="1"   HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="32.5" FontWeight="Bold" FontSize="18" BorderBrush="Silver" Cursor="Hand">
                    <Label.ContextMenu>
                        <ContextMenu Visibility="{Binding IsNeedContextMenu,Converter={StaticResource bool2VisibilityConverter}}">
                            <MenuItem Header="Exclude Info Log"     IsChecked="{Binding IsExcludeInfoType}"  IsEnabled="{Binding IsExcludeInfoType,Converter={StaticResource BoolToBool}}" Command="{Binding ExcludeInfoCommand}"/>
                            <MenuItem Header="Include Info Log"     IsChecked="{Binding IsExcludeInfoType,Converter={StaticResource BoolToBool}}"  IsEnabled="{Binding IsExcludeInfoType}" Command="{Binding ExcludeInfoCommand}"/>
                        </ContextMenu>
                    </Label.ContextMenu>
                </Label>
                <ComboBox  Width="1138" Canvas.Left="620" Canvas.Top="74.2" Height="32" 
                                       ItemsSource="{Binding EventLogList}"   
                                       SelectedIndex="{Binding EventLogListSelectedIndex}"
                                       VerticalContentAlignment="Center" FontSize="15" 
                                       Style="{StaticResource customeComboBoxStyle2}">
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock FontSize="20" Text="{Binding ElementName=topView,Path=DataContext.CurrentEventItem,Converter={StaticResource EventItemToStringConverter}}" Foreground="{Binding ElementName=topView,Path=DataContext.CurrentEventItem.Level,Converter={StaticResource StringToColorConverter}}"/>
                            </StackPanel>
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                    <ComboBox.ItemContainerStyle>
                        <Style TargetType="ComboBoxItem">
                            <Setter Property="Template">
                                <Setter.Value>
                                    <ControlTemplate TargetType="ComboBoxItem">
                                        <TextBlock FontSize="20" Text="{Binding .,Converter={StaticResource EventItemToStringConverter}}"  FontFamily="宋体"
                                                   Foreground="{Binding Level,Converter={StaticResource StringToColorConverter}}">

                                            <TextBlock.Style>
                                                <Style>
                                                    <Style.Triggers>
                                                        <Trigger Property="TextBlock.IsMouseOver" Value="true">
                                                            <Setter Property="TextBlock.Background" Value="Silver"/>
                                                        </Trigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </TextBlock.Style>
                                        </TextBlock>
                                    </ControlTemplate>
                                </Setter.Value>
                            </Setter>
                            <Setter Property="Background"  Value="{Binding Level,Converter={StaticResource StringToColorConverter}}"/>
                        </Style>
                    </ComboBox.ItemContainerStyle>
                </ComboBox>
                <Button  Content="Skip"   BorderThickness="0,0,1,0"  BorderBrush="White"        Style="{StaticResource SysBtnStyle}"   Command="{Binding SkipCommand}"  Width="70"    FontSize="15"  Height="30" Margin="10 0 0 0"/>
                <Button  Content="Clear"  BorderThickness="0"        BorderBrush="Transparent"  Style="{StaticResource SysBtnStyle}"   Command="{Binding ClearCommand}" Width="70"    FontSize="15"  Height="30" Margin="15 0 0 0"/>
            </StackPanel>
            <userControls:StateTitle Title="FA"   Grid.Column="4"  Grid.Row="0"  TextBoxValue="{Binding HostCommunicationStatus}"    TextBoxColor="{Binding HostBack}"  Canvas.Left="520"   Canvas.Top="40" LabelColor="#E7F0FB" IsNeedContextMenu="False"/>
        </Grid>

        <Border BorderThickness="1 0 1 0" BorderBrush="#E7F0FB" Width="240" Height="90" Canvas.Left="1590" Canvas.Top="0">
            <Canvas>
                <Path Data="{StaticResource Icon_User}" Stretch="Fill" StrokeThickness="1"  Fill="#333333"  Width="20" Height="20" Canvas.Left="20" Canvas.Top="10"></Path>
                <TextBlock Text="Admin" Canvas.Left="48" Canvas.Top="9" />

                <customControls:PathButton  Content="Logout"   BorderThickness="1"  BorderBrush="Red"           Command="{Binding SkipCommand}"  Width="90"    FontSize="15"  Height="28" Canvas.Left="120" Canvas.Top="7" Background="White" Foreground="Red" Padding="-6 -2 0 0"/>


                <RadioButton Content="Host Disable"   Canvas.Left="20"  Canvas.Top="40" Width="100" Height="25" Style="{StaticResource Button_RadioButton}"   IsChecked="{Binding IsEnableEnable}"    GroupName="Host" FontSize="13" Command="{Binding FADisableCommand}"/>
                <RadioButton Content="Host Enable"    Canvas.Left="120" Canvas.Top="40" Width="100" Height="25" Style="{StaticResource Button_RadioButton}"   IsChecked="{Binding IsEnableDisable}"   GroupName="Host" FontSize="13" Command="{Binding FAEnableCommand}"/>

                <RadioButton Content="Alert On"   Canvas.Left="20"  Canvas.Top="74" Width="100" Height="25" Style="{StaticResource Button_RadioButton}"   IsChecked="True"   GroupName="Alert" FontSize="13"/>
                <RadioButton Content="Alert Off"   Canvas.Left="120" Canvas.Top="74" Width="100" Height="25" Style="{StaticResource Button_RadioButton}"                      GroupName="Alert" FontSize="13"/>

            </Canvas>
        </Border>

        <Viewbox  Height="100" Width="40" Canvas.Left="1856" Canvas.Top="6"    >
            <deviceControl:AITSignalTower  
                                              IsRedLightOn   ="{Binding SignalTowerData.IsRedLightOn}"
                                              IsYellowLightOn="{Binding SignalTowerData.IsYellowLightOn}"
                                              IsGreenLightOn ="{Binding SignalTowerData.IsGreenLightOn}"
                                              IsBlueLightOn  ="{Binding SignalTowerData.IsBlueLightOn}"
                                              IsBuzzerOn     ="{Binding SignalTowerData.IsBuzzerOn}"/>
        </Viewbox>


        <TextBlock Text="{Binding TimeTick}" Canvas.Top="-20"  Canvas.Left="1700" FontSize="15" Foreground="Gray"/>

    </Canvas>

</UserControl>