agrobot_base/AgroBase/OperationControl/Views/Operacao/OperacaoLeftView.xaml

224 lines
12 KiB
XML

<UserControl x:Class="OperationControl.Views.Operacao.OperacaoLeftView"
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:OperationControl.Views.Operacao"
mc:Ignorable="d"
d:DesignHeight="700" d:DesignWidth="280">
<UserControl.Resources>
<Style x:Key="LeftInfoCardStyle" TargetType="Border">
<Setter Property="Background" Value="#2A2A2A"/>
<Setter Property="CornerRadius" Value="8"/>
<Setter Property="Padding" Value="10,8"/>
<Setter Property="Margin" Value="0,0,0,8"/>
<Setter Property="BorderBrush" Value="#3A3A3A"/>
<Setter Property="BorderThickness" Value="1"/>
</Style>
<Style x:Key="LeftActionButtonStyle" TargetType="Button">
<Setter Property="Height" Value="42"/>
<Setter Property="Margin" Value="0,0,0,8"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="8">
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid Background="#181818">
<Border Margin="10"
Padding="12"
CornerRadius="10"
Background="#202020"
BorderBrush="#343434"
BorderThickness="1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- CONTEÚDO SUPERIOR -->
<ScrollViewer Grid.Row="0"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled">
<StackPanel Opacity="{Binding OpacityPainel}">
<TextBlock Text="Operação em Andamento"
FontSize="18"
FontWeight="Bold"
Foreground="White"
HorizontalAlignment="Center"
Margin="0,0,0,6"/>
<TextBlock Text="{Binding NomeRover}"
FontSize="14"
FontWeight="SemiBold"
Foreground="#D0D0D0"
HorizontalAlignment="Center"
TextAlignment="Center"
Margin="0,0,0,14"/>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="🚜" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Velocidade" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding Velocidade}" Foreground="White" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="↩" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Ângulo direcional" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding AnguloDirecional}" Foreground="White" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="⇄" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Movimento" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding TipoMovimento}" Foreground="White" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="🌡" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Temperatura" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding Temperatura}" Foreground="{Binding CorTemperatura}" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="🔋" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Bateria" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding Bateria}" Foreground="{Binding CorBateria}" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="🧪" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Reservatório" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding Reservatorio}" Foreground="{Binding CorReservatorio}" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="📶" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="Rede" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding SaudeRede}" Foreground="{Binding CorRede}" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource LeftInfoCardStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="36"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<TextBlock Text="📡" FontSize="18" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="GNSS" Foreground="White" VerticalAlignment="Center"/>
<TextBlock Grid.Column="2" Text="{Binding SaudeGnss}" Foreground="{Binding CorGnss}" FontWeight="Bold" VerticalAlignment="Center"/>
</Grid>
</Border>
</StackPanel>
</ScrollViewer>
<!-- RODAPÉ FIXO -->
<Border Grid.Row="1"
Margin="0,12,0,0"
Padding="10"
CornerRadius="10"
Background="#1A1A1A"
BorderBrush="#343434"
BorderThickness="1"
IsEnabled="{Binding RoverSelecionado}"
Opacity="{Binding OpacityPainel}">
<StackPanel>
<TextBlock Text="Ações principais"
Foreground="#CFCFCF"
FontSize="13"
FontWeight="SemiBold"
Margin="0,0,0,10"/>
<Button Content="{Binding TextoBotaoOperacao}"
Command="{Binding AlternarOperacaoCommand}"
Style="{StaticResource LeftActionButtonStyle}"
Background="{Binding CorBotaoOperacao}"
BorderBrush="{Binding BordaBotaoOperacao}"/>
<Button Content="⛔ Parada de Emergência"
Command="{Binding ParadaEmergenciaCommand}"
Style="{StaticResource LeftActionButtonStyle}"
Background="#7A1E1E"
BorderBrush="#B83A3A"/>
<Button Content="✖ Finalizar Operação"
Command="{Binding CancelarOperacaoCommand}"
Style="{StaticResource LeftActionButtonStyle}"
Background="#3A3A3A"
BorderBrush="#666666"
Margin="0,0,0,0"/>
</StackPanel>
</Border>
</Grid>
</Border>
</Grid>
</UserControl>