498 lines
33 KiB
XML
498 lines
33 KiB
XML
<UserControl x:Class="OperationControl.Views.Operacao.OperacaoRightView"
|
||
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">
|
||
<UserControl.Resources>
|
||
<BooleanToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
|
||
|
||
<Style x:Key="MenuButtonStyle" TargetType="Button">
|
||
<Setter Property="Margin" Value="0,0,0,10"/>
|
||
<Setter Property="Height" Value="52"/>
|
||
<Setter Property="FontSize" Value="16"/>
|
||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||
<Setter Property="Background" Value="#2A2A2A"/>
|
||
<Setter Property="Foreground" Value="White"/>
|
||
<Setter Property="BorderBrush" Value="#4A4A4A"/>
|
||
<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="10"
|
||
Padding="12">
|
||
<ContentPresenter HorizontalAlignment="Center"
|
||
VerticalAlignment="Center"/>
|
||
</Border>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
<Style.Triggers>
|
||
<Trigger Property="IsMouseOver" Value="True">
|
||
<Setter Property="Background" Value="#343434"/>
|
||
<Setter Property="BorderBrush" Value="#6A6A6A"/>
|
||
</Trigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
|
||
<Style x:Key="RoverCardButtonStyle" TargetType="Button">
|
||
<Setter Property="Margin" Value="0,0,0,12"/>
|
||
<Setter Property="Padding" Value="0"/>
|
||
<Setter Property="Background" Value="Transparent"/>
|
||
<Setter Property="BorderBrush" Value="Transparent"/>
|
||
<Setter Property="BorderThickness" Value="0"/>
|
||
<Setter Property="Cursor" Value="Hand"/>
|
||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
|
||
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="Button">
|
||
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
<Style x:Key="ThinScrollBar" TargetType="ScrollBar">
|
||
<Setter Property="Width" Value="8"/>
|
||
<Setter Property="Template">
|
||
<Setter.Value>
|
||
<ControlTemplate TargetType="ScrollBar">
|
||
<Grid Width="8" Background="Transparent">
|
||
<Border Margin="2,0,2,0" Background="#2F2F2F" CornerRadius="3"/>
|
||
<Track x:Name="PART_Track" Margin="2,0,2,0" IsDirectionReversed="True">
|
||
<Track.DecreaseRepeatButton>
|
||
<RepeatButton Opacity="0" IsHitTestVisible="False"/>
|
||
</Track.DecreaseRepeatButton>
|
||
<Track.Thumb>
|
||
<Thumb>
|
||
<Thumb.Template>
|
||
<ControlTemplate TargetType="Thumb">
|
||
<Border Background="#6B7280" CornerRadius="3" MinHeight="30"/>
|
||
</ControlTemplate>
|
||
</Thumb.Template>
|
||
</Thumb>
|
||
</Track.Thumb>
|
||
<Track.IncreaseRepeatButton>
|
||
<RepeatButton Opacity="0" IsHitTestVisible="False"/>
|
||
</Track.IncreaseRepeatButton>
|
||
</Track>
|
||
</Grid>
|
||
</ControlTemplate>
|
||
</Setter.Value>
|
||
</Setter>
|
||
</Style>
|
||
|
||
</UserControl.Resources>
|
||
|
||
<Grid Background="#1C1C1C">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="60"/>
|
||
<RowDefinition Height="*"/>
|
||
</Grid.RowDefinitions>
|
||
|
||
<!-- Cabeçalho -->
|
||
<Border Grid.Row="0" Background="#222222" BorderBrush="#343434" BorderThickness="0,0,0,1">
|
||
<Grid>
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="*"/>
|
||
<ColumnDefinition Width="44"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<TextBlock Grid.Column="0" Text="Painel do Operador" VerticalAlignment="Center" Margin="16,0,0,0" Foreground="White" FontSize="18" FontWeight="SemiBold"/>
|
||
|
||
<Button Grid.Column="1" Content="❯" Width="32" Height="32" Margin="0,0,8,0" HorizontalAlignment="Center" VerticalAlignment="Center" Command="{Binding ToggleCollapseCommand}">
|
||
<Button.Style>
|
||
<Style TargetType="Button">
|
||
<Setter Property="Background" Value="#2E2E2E"/>
|
||
<Setter Property="Foreground" Value="White"/>
|
||
<Setter Property="BorderBrush" Value="#505050"/>
|
||
<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.Triggers>
|
||
<DataTrigger Binding="{Binding IsCollapsed}" Value="True">
|
||
<Setter Property="Content" Value="❮"/>
|
||
</DataTrigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
</Button.Style>
|
||
</Button>
|
||
</Grid>
|
||
</Border>
|
||
|
||
<!-- Conteúdo -->
|
||
<Grid Grid.Row="1" Margin="14">
|
||
<Grid.Style>
|
||
<Style TargetType="Grid">
|
||
<Setter Property="Visibility" Value="Visible"/>
|
||
<Style.Triggers>
|
||
<DataTrigger Binding="{Binding IsCollapsed}" Value="True">
|
||
<Setter Property="Visibility" Value="Collapsed"/>
|
||
</DataTrigger>
|
||
</Style.Triggers>
|
||
</Style>
|
||
</Grid.Style>
|
||
|
||
<!-- Sem rover selecionado -->
|
||
<Grid Visibility="{Binding SemRoverSelecionado, Converter={StaticResource BoolToVisibilityConverter}}">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="*"/>
|
||
</Grid.RowDefinitions>
|
||
|
||
<StackPanel Grid.Row="0" Margin="0,0,0,12">
|
||
<TextBlock Text="Selecione um rover disponível na rede" Foreground="#D0D0D0" FontSize="14" Margin="0,0,0,4"/>
|
||
<TextBlock Text="{Binding QuantidadeRoversTexto}" Foreground="#8E8E8E" FontSize="12"/>
|
||
</StackPanel>
|
||
|
||
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
|
||
<ItemsControl ItemsSource="{Binding Rovers}">
|
||
<ItemsControl.ItemTemplate>
|
||
<DataTemplate>
|
||
<Button Style="{StaticResource RoverCardButtonStyle}" Command="{Binding DataContext.SelecionarRoverCommand, RelativeSource={RelativeSource AncestorType=UserControl}}" CommandParameter="{Binding}">
|
||
<Border Background="{Binding CardBackground}" BorderBrush="{Binding BordaCardBrush}" BorderThickness="{Binding BordaCardThickness}" CornerRadius="12" Padding="14" SnapsToDevicePixels="True">
|
||
<StackPanel>
|
||
<TextBlock Text="{Binding EquipamentoTexto}" Foreground="White" FontSize="16" FontWeight="Bold"/>
|
||
<TextBlock Text="{Binding NumeroSerieTexto}" Foreground="#CFCFCF" Margin="0,8,0,0" FontSize="13"/>
|
||
<TextBlock Text="{Binding StatusTexto}" Foreground="{Binding StatusBrush}" Margin="0,8,0,0" FontSize="13" FontWeight="SemiBold"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</Button>
|
||
</DataTemplate>
|
||
</ItemsControl.ItemTemplate>
|
||
</ItemsControl>
|
||
</ScrollViewer>
|
||
</Grid>
|
||
|
||
<!-- Com rover selecionado -->
|
||
<Grid Visibility="{Binding ComRoverSelecionado, Converter={StaticResource BoolToVisibilityConverter}}">
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="*"/>
|
||
</Grid.RowDefinitions>
|
||
|
||
<Border Grid.Row="0" Background="#262626" BorderBrush="#4E8EF7" BorderThickness="1" CornerRadius="12" Padding="14" Margin="0,0,0,14">
|
||
<StackPanel>
|
||
<TextBlock Text="{Binding RoverSelecionado.EquipamentoTexto}" Foreground="White" FontSize="16" FontWeight="Bold"/>
|
||
<TextBlock Text="{Binding RoverSelecionado.NumeroSerieTexto}" Foreground="#CFCFCF" Margin="0,8,0,0" FontSize="13"/>
|
||
<TextBlock Text="{Binding RoverSelecionado.StatusTexto}" Foreground="{Binding RoverSelecionado.StatusBrush}" Margin="0,8,0,0" FontSize="13" FontWeight="SemiBold"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<Button Grid.Row="1" Content="{Binding TextoBotaoTopo}" Command="{Binding AcaoBotaoTopoCommand}" Margin="0,0,0,14" Height="42" Background="#2E2E2E" Foreground="White" BorderBrush="#555555" BorderThickness="1"/>
|
||
|
||
<Grid Grid.Row="2">
|
||
|
||
<!-- MENU -->
|
||
<StackPanel Visibility="{Binding EmMenu, Converter={StaticResource BoolToVisibilityConverter}}">
|
||
<Button Content="Diagnóstico" Style="{StaticResource MenuButtonStyle}" Command="{Binding SelecionarSecaoCommand}" CommandParameter="Diagnostico"/>
|
||
|
||
<Button Content="Parametrização ▶" Style="{StaticResource MenuButtonStyle}" Command="{Binding SelecionarSecaoCommand}" CommandParameter="Parametrizacao"/>
|
||
|
||
<Button Content="Controle ▶" Style="{StaticResource MenuButtonStyle}" Command="{Binding SelecionarSecaoCommand}" CommandParameter="Controle"/>
|
||
|
||
<Button Content="Resumo ▶" Style="{StaticResource MenuButtonStyle}" Command="{Binding SelecionarSecaoCommand}" CommandParameter="Resumo"/>
|
||
</StackPanel>
|
||
|
||
<!-- RESUMO -->
|
||
<ScrollViewer Visibility="{Binding EmResumo, Converter={StaticResource BoolToVisibilityConverter}}" VerticalScrollBarVisibility="Auto">
|
||
<ScrollViewer.Resources>
|
||
<Style TargetType="ScrollBar" BasedOn="{StaticResource ThinScrollBar}" />
|
||
</ScrollViewer.Resources>
|
||
<StackPanel>
|
||
<!-- CARD ESTADO GERAL -->
|
||
<Border Background="#262626" BorderBrush="#3E3E3E" BorderThickness="1" CornerRadius="10" Padding="12" Margin="0,0,0,10">
|
||
<StackPanel>
|
||
<TextBlock Text="Estado Geral" Foreground="White" FontSize="16" FontWeight="Bold" Margin="0,0,0,12"/>
|
||
|
||
<Grid>
|
||
<Grid.RowDefinitions>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
<RowDefinition Height="Auto"/>
|
||
</Grid.RowDefinitions>
|
||
|
||
<Grid.ColumnDefinitions>
|
||
<ColumnDefinition Width="100"/>
|
||
<ColumnDefinition Width="*"/>
|
||
</Grid.ColumnDefinitions>
|
||
|
||
<TextBlock Grid.Row="0" Grid.Column="0" Text="Operação" Foreground="#CFCFCF" Margin="0,0,0,8"/>
|
||
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Resumo.Operacao}" Foreground="White" Margin="12,0,0,8"/>
|
||
|
||
<TextBlock Grid.Row="1" Grid.Column="0" Text="Modo" Foreground="#CFCFCF" Margin="0,0,0,8"/>
|
||
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Resumo.Modo}" Foreground="White" Margin="12,0,0,8"/>
|
||
|
||
<TextBlock Grid.Row="2" Grid.Column="0" Text="Status" Foreground="#CFCFCF" Margin="0,0,0,8"/>
|
||
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Resumo.Status}" Foreground="White" Margin="12,0,0,8" TextWrapping="Wrap"/>
|
||
|
||
<TextBlock Grid.Row="3" Grid.Column="0" Text="Carro" Foreground="#CFCFCF" Margin="0,0,0,8"/>
|
||
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding Resumo.Carro}" Foreground="White" Margin="12,0,0,8"/>
|
||
|
||
<TextBlock Grid.Row="4" Grid.Column="0" Text="Temperatura" Foreground="#CFCFCF" Margin="0,0,0,8"/>
|
||
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding Resumo.Temperatura}" Foreground="White" Margin="12,0,0,8"/>
|
||
|
||
<TextBlock Grid.Row="5" Grid.Column="0" Text="Conexão" Foreground="#CFCFCF" Margin="0,0,0,8"/>
|
||
<TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding Resumo.Conexao}" Foreground="White" Margin="12,0,0,8"/>
|
||
|
||
<TextBlock Grid.Row="6" Grid.Column="0" Text="Duração" Foreground="#CFCFCF" Margin="0,0,0,0"/>
|
||
<TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding Resumo.Duracao}" Foreground="White" Margin="12,0,0,0"/>
|
||
</Grid>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- CARD PROGRESSO -->
|
||
<Border Background="#262626" BorderBrush="#3E3E3E" BorderThickness="1" CornerRadius="10" Padding="12" Margin="0,0,0,10">
|
||
<StackPanel>
|
||
<TextBlock Text="Progresso e Recursos" Foreground="White" FontSize="16" FontWeight="Bold" Margin="0,0,0,12"/>
|
||
|
||
<!-- Rua Atual -->
|
||
<TextBlock Text="Rua Atual" Foreground="#CFCFCF"/>
|
||
<ProgressBar Value="{Binding Resumo.RuaAtualPercentual}" Maximum="100" Height="12" Margin="0,6,0,4"/>
|
||
<TextBlock Text="{Binding Resumo.RuaAtual}" Foreground="White" Margin="0,0,0,12"/>
|
||
|
||
<!-- Área Total -->
|
||
<TextBlock Text="Área Total" Foreground="#CFCFCF"/>
|
||
<ProgressBar Value="{Binding Resumo.AreaTotalPercentual}" Maximum="100" Height="12" Margin="0,6,0,4"/>
|
||
<TextBlock Text="{Binding Resumo.AreaTotal}" Foreground="White" Margin="0,0,0,12"/>
|
||
|
||
<!-- Bateria -->
|
||
<TextBlock Text="Bateria" Foreground="#CFCFCF"/>
|
||
<ProgressBar Value="{Binding Resumo.BateriaPercentual}" Maximum="100" Height="12" Margin="0,6,0,4"/>
|
||
<TextBlock Text="{Binding Resumo.Bateria}" Foreground="White" Margin="0,0,0,12"/>
|
||
|
||
<!-- Herbicida -->
|
||
<TextBlock Text="Herbicida" Foreground="#CFCFCF"/>
|
||
<ProgressBar Value="{Binding Resumo.HerbicidaPercentual}" Maximum="100" Height="12" Margin="0,6,0,4"/>
|
||
<TextBlock Text="{Binding Resumo.Herbicida}" Foreground="White" Margin="0,0,0,12"/>
|
||
|
||
<!-- Infestação -->
|
||
<TextBlock Text="Infestação" Foreground="#CFCFCF"/>
|
||
<ProgressBar Value="{Binding Resumo.InfestacaoPercentual}" Maximum="100" Height="12" Margin="0,6,0,4"/>
|
||
<TextBlock Text="{Binding Resumo.Infestacao}" Foreground="White"/>
|
||
</StackPanel>
|
||
</Border>
|
||
</StackPanel>
|
||
</ScrollViewer>
|
||
|
||
<!-- PARAMETRIZAÇÃO -->
|
||
<ScrollViewer Visibility="{Binding EmParametrizacao, Converter={StaticResource BoolToVisibilityConverter}}" VerticalScrollBarVisibility="Auto">
|
||
<ScrollViewer.Resources>
|
||
<Style TargetType="ScrollBar" BasedOn="{StaticResource ThinScrollBar}" />
|
||
|
||
<Style x:Key="ParamLabelStyle" TargetType="TextBlock">
|
||
<Setter Property="Foreground" Value="#D0D0D0"/>
|
||
<Setter Property="FontSize" Value="13"/>
|
||
<Setter Property="VerticalAlignment" Value="Center"/>
|
||
<Setter Property="Margin" Value="0,0,0,6"/>
|
||
</Style>
|
||
|
||
<Style x:Key="ParamTextBoxStyle" TargetType="TextBox">
|
||
<Setter Property="Height" Value="34"/>
|
||
<Setter Property="Margin" Value="0,0,0,12"/>
|
||
<Setter Property="Padding" Value="8,4"/>
|
||
<Setter Property="Background" Value="#2B2B2B"/>
|
||
<Setter Property="Foreground" Value="White"/>
|
||
<Setter Property="BorderBrush" Value="#5A5A5A"/>
|
||
<Setter Property="BorderThickness" Value="1"/>
|
||
</Style>
|
||
|
||
<Style x:Key="SectionCardStyle" TargetType="Border">
|
||
<Setter Property="Background" Value="#262626"/>
|
||
<Setter Property="BorderBrush" Value="#3E3E3E"/>
|
||
<Setter Property="BorderThickness" Value="1"/>
|
||
<Setter Property="CornerRadius" Value="10"/>
|
||
<Setter Property="Padding" Value="12"/>
|
||
<Setter Property="Margin" Value="0,0,0,12"/>
|
||
</Style>
|
||
|
||
<Style x:Key="ActionButtonStyle" TargetType="Button">
|
||
<Setter Property="Height" Value="40"/>
|
||
<Setter Property="Margin" Value="0,0,0,10"/>
|
||
<Setter Property="Foreground" Value="White"/>
|
||
<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>
|
||
|
||
<Style x:Key="ParamCheckBoxStyle" TargetType="CheckBox">
|
||
<Setter Property="Foreground" Value="White"/>
|
||
<Setter Property="Margin" Value="0,0,0,10"/>
|
||
</Style>
|
||
</ScrollViewer.Resources>
|
||
|
||
<StackPanel Margin="0,0,2,0">
|
||
<TextBlock Text="Parametrização" Foreground="White" FontSize="18" FontWeight="Bold" Margin="0,0,0,4"/>
|
||
|
||
<TextBlock Text="Configure os parâmetros operacionais do rover." Foreground="#A8A8A8" FontSize="12" Margin="0,0,0,14"/>
|
||
|
||
<!-- OPERACAO -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="Operação" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<TextBlock Text="Descrição" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Descricao}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- AUTOMAÇÃO GERAL -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="Automação Geral" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<CheckBox Content="Movimento Automático" IsChecked="{Binding Parametros.Controle.MovimentoAutomatico}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Direcional Automático" IsChecked="{Binding Parametros.Controle.DirecionalAutomatico}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Pulverizador Automático" IsChecked="{Binding Parametros.Controle.PulverizadorAutomatico}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Sonar Ativado" IsChecked="{Binding Parametros.Controle.SonarAtivado}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Parada por Obstáculo (OAK)" IsChecked="{Binding Parametros.Controle.OakParadaPorObstaculo}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Parada por Inclinação (IMU)" IsChecked="{Binding Parametros.Controle.ImuParadaPorInclinacao}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Frenagem Automática ao Parar" IsChecked="{Binding Parametros.Controle.FrenagemAutomaticaAoParar}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<CheckBox Content="Registrar Dados Pós-Processamento" IsChecked="{Binding Parametros.Controle.RegistrarDadosPosProcessamento}" Style="{StaticResource ParamCheckBoxStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- MOVIMENTO -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="Movimento" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<TextBlock Text="Velocidade sem Ervas (%)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.MovVelocidadeSErvasPercent, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Velocidade com Ervas (%)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.MovVelocidadeCErvasPercent, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="RPM Máx Calculado" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.MovRpmMax, Mode=OneWay}" IsReadOnly="True" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="RPM Mín Calculado" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.MovRpmMin, Mode=OneWay}" IsReadOnly="True" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- DIRECIONAL -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="Direcional" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<TextBlock Text="Ângulo Máximo (°)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.DirAnguloMaximo, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Velocidade Movimento" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.DirVelocidadeMovimento, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Tipo de Movimento" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.DirTipoMovimento, Mode=OneWay}" IsReadOnly="True" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- PULVERIZAÇÃO -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="Pulverização" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<TextBlock Text="Quantidade de Bicos" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.QtdBicos, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Capacidade do Reservatório (L)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.CapacidadeReservatorio, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Pressão Linha" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.AtuPressaoLinha, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Duração Atuação (ms)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.AtuDuracaoAtuacao, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Início Pulverização (%)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.AtuPercentualInicioPulverizacao, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Altura Área Pulverização" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.AtuAlturaAreaPulverizacao, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Ervas Bico On (%)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.AtuPercentualErvasBicoOn, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}"/>
|
||
|
||
<TextBlock Text="Ervas Bico Off (%)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.AtuPercentualErvasBicoOff, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- MPC -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="MPC" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<CheckBox Content="Matriz de Custo" IsChecked="{Binding Parametros.Controle.MpcMatrizCusto}" Style="{StaticResource ParamCheckBoxStyle}"/>
|
||
|
||
<TextBlock Text="Horizonte (m)" Style="{StaticResource ParamLabelStyle}"/>
|
||
<TextBox Text="{Binding Parametros.Controle.MpcHorizonte, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource ParamTextBoxStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
<!-- AÇÕES -->
|
||
<Border Style="{StaticResource SectionCardStyle}">
|
||
<StackPanel>
|
||
<TextBlock Text="Ações" Foreground="White" FontSize="15" FontWeight="SemiBold" Margin="0,0,0,12"/>
|
||
|
||
<Button Content="↻ Ler do Rover" Command="{Binding LerParametrosCommand}" Background="#2E2E2E" BorderBrush="#5C5C5C" Style="{StaticResource ActionButtonStyle}"/>
|
||
|
||
<Button Content="💾 Salvar no Rover" Command="{Binding SalvarParametrosCommand}" Background="#2F5D3A" BorderBrush="#4A8A5B" Style="{StaticResource ActionButtonStyle}" Margin="0,0,0,0"/>
|
||
</StackPanel>
|
||
</Border>
|
||
|
||
</StackPanel>
|
||
</ScrollViewer>
|
||
|
||
<!-- CONTROLE -->
|
||
<ScrollViewer Visibility="{Binding EmControle, Converter={StaticResource BoolToVisibilityConverter}}" VerticalScrollBarVisibility="Auto">
|
||
<ScrollViewer.Resources>
|
||
<Style TargetType="ScrollBar" BasedOn="{StaticResource ThinScrollBar}" />
|
||
</ScrollViewer.Resources>
|
||
<StackPanel>
|
||
<TextBlock Text="Controle" Foreground="White" FontSize="16" FontWeight="Bold"/>
|
||
</StackPanel>
|
||
</ScrollViewer>
|
||
|
||
</Grid>
|
||
</Grid>
|
||
</Grid>
|
||
</Grid>
|
||
</UserControl>
|