ajustes finais na IHM grafica, criacao da tela de diagnosticos
This commit is contained in:
parent
539ec1b0ec
commit
efe7cc2e88
|
|
@ -396,6 +396,9 @@
|
|||
<Compile Include="Forms\IHM\Controls\HmiAutonomyResourceCard.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiBufferedListView.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiCameraSelector.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
|
@ -441,12 +444,6 @@
|
|||
<Compile Include="Forms\IHM\Controls\HmiNozzleGliph.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiNumericField.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiNumericParameterCard.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiOperationTabButton.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
|
@ -463,7 +460,7 @@
|
|||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiRoundedPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiShortcutButton.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
|
|
@ -481,6 +478,9 @@
|
|||
<Compile Include="Forms\IHM\Controls\HmiSprayerTelemetryRow.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiStatusLegend.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Controls\HmiStatusRow.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
|
|
@ -514,10 +514,10 @@
|
|||
<DependentUpon>frmOperacao.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\FuncoesIHM.cs" />
|
||||
<Compile Include="Forms\IHM\Operacao\HmiCompactMetricCard.cs">
|
||||
<Compile Include="Forms\IHM\Controls\HmiCompactMetricCard.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Operacao\HmiCompactMetricCard.Designer.cs">
|
||||
<Compile Include="Forms\IHM\Controls\HmiCompactMetricCard.Designer.cs">
|
||||
<DependentUpon>HmiCompactMetricCard.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\IHM\Operacao\Parametros\ucParametrosAtuador.cs">
|
||||
|
|
@ -971,6 +971,21 @@
|
|||
<DependentUpon>frmOperacao.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\IHM\Operacao\Parametros\ucParametrosAtuador.resx">
|
||||
<DependentUpon>ucParametrosAtuador.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\IHM\Operacao\ucOperacaoMovimentacao.resx">
|
||||
<DependentUpon>ucOperacaoMovimentacao.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\IHM\Operacao\ucOperacaoNavegacao.resx">
|
||||
<DependentUpon>ucOperacaoNavegacao.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\IHM\Operacao\ucOperacaoParametros.resx">
|
||||
<DependentUpon>ucOperacaoParametros.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\IHM\Operacao\ucOperacaoPulverizador.resx">
|
||||
<DependentUpon>ucOperacaoPulverizador.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\Simuladores\frmSimulacaoMapaGPS.resx">
|
||||
<DependentUpon>frmSimulacaoMapaGPS.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,88 @@
|
|||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Controls
|
||||
{
|
||||
public class HmiBufferedListView : ListView
|
||||
{
|
||||
public HmiBufferedListView()
|
||||
{
|
||||
DoubleBuffered = true;
|
||||
SetStyle(
|
||||
ControlStyles.OptimizedDoubleBuffer |
|
||||
ControlStyles.AllPaintingInWmPaint,
|
||||
true);
|
||||
|
||||
UpdateStyles();
|
||||
}
|
||||
|
||||
public void SincronizarLista(IList<string> novosItens)
|
||||
{
|
||||
var lista = this;
|
||||
|
||||
if (lista == null)
|
||||
return;
|
||||
|
||||
novosItens = novosItens ?? new List<string>();
|
||||
|
||||
lista.BeginUpdate();
|
||||
|
||||
try
|
||||
{
|
||||
int quantidadeComum = Math.Min(lista.Items.Count, novosItens.Count);
|
||||
|
||||
/*
|
||||
* Atualiza somente os itens cujo texto mudou.
|
||||
*/
|
||||
for (int i = 0; i < quantidadeComum; i++)
|
||||
{
|
||||
string novoTexto = novosItens[i] ?? string.Empty;
|
||||
|
||||
if (lista.Items[i].Text != novoTexto)
|
||||
lista.Items[i].Text = novoTexto;
|
||||
}
|
||||
|
||||
/*
|
||||
* Adiciona somente os itens novos.
|
||||
*/
|
||||
for (int i = lista.Items.Count; i < novosItens.Count; i++)
|
||||
{
|
||||
lista.Items.Add(new ListViewItem(novosItens[i] ?? string.Empty));
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove somente os itens excedentes.
|
||||
* Remove de trás para frente.
|
||||
*/
|
||||
for (int i = lista.Items.Count - 1; i >= novosItens.Count; i--)
|
||||
{
|
||||
lista.Items.RemoveAt(i);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
lista.EndUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
public bool EstaNoFinalDaLista()
|
||||
{
|
||||
var lista = this;
|
||||
|
||||
if (lista == null || lista.Items.Count == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
ListViewItem ultimoVisivel = lista.GetItemAt(2, Math.Max(0, lista.ClientSize.Height - 2));
|
||||
|
||||
if (ultimoVisivel == null)
|
||||
return true;
|
||||
|
||||
return ultimoVisivel.Index >= lista.Items.Count - 2;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,173 +1,232 @@
|
|||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Drawing2D;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using static AgroBase.Models.Enums;
|
||||
namespace AgroBase.Forms.IHM.Controls
|
||||
{
|
||||
public enum HmiModuleState
|
||||
{
|
||||
Operante = 0,
|
||||
Alerta = 1,
|
||||
Falha = 2,
|
||||
Desconectado = 3,
|
||||
Selecionado = 4
|
||||
}
|
||||
|
||||
[DefaultEvent("Click")]
|
||||
public class HmiModuleBadge : Control
|
||||
{
|
||||
private HmiModuleState _state = HmiModuleState.Operante;
|
||||
private string _moduleCode = "MOD";
|
||||
private StatusModulo _state = StatusModulo.Desconectado;
|
||||
private bool _selecionado;
|
||||
private T_Code _moduleCode = T_Code.Vzo;
|
||||
private S_Code _moduleSubCode = S_Code.sVZO;
|
||||
private string _moduleId = string.Empty;
|
||||
private bool _mandatorio;
|
||||
private bool _emUso;
|
||||
|
||||
public ObservableCollection<string> CondicoesOperacionais { get; } = new ObservableCollection<string>();
|
||||
public ObservableCollection<string> Logs { get; } = new ObservableCollection<string>();
|
||||
|
||||
public HmiModuleBadge()
|
||||
{
|
||||
SetStyle(
|
||||
ControlStyles.SupportsTransparentBackColor |
|
||||
ControlStyles.UserPaint |
|
||||
ControlStyles.AllPaintingInWmPaint |
|
||||
ControlStyles.OptimizedDoubleBuffer |
|
||||
ControlStyles.ResizeRedraw,
|
||||
true);
|
||||
|
||||
SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true);
|
||||
DoubleBuffered = true;
|
||||
BackColor = Color.Transparent;
|
||||
ForeColor = HmiTheme.Text;
|
||||
Cursor = Cursors.Hand;
|
||||
Font = new Font("Segoe UI", 8F, FontStyle.Bold);
|
||||
Size = new Size(45, 27);
|
||||
MinimumSize = new Size(42, 26);
|
||||
Font = new Font("Verdana", 6F, FontStyle.Bold);
|
||||
Size = new Size(42, 20);
|
||||
MinimumSize = new Size(53, 20);
|
||||
UpdateStyles();
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string ModuleCode
|
||||
public T_Code ModuleCode
|
||||
{
|
||||
get { return _moduleCode; }
|
||||
get
|
||||
{
|
||||
return _moduleCode;
|
||||
}
|
||||
set
|
||||
{
|
||||
_moduleCode = value ?? string.Empty;
|
||||
_moduleCode = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
[Category("Estado")]
|
||||
public HmiModuleState State
|
||||
[Category("Conteúdo")]
|
||||
public S_Code ModuleSubCode
|
||||
{
|
||||
get { return _state; }
|
||||
get
|
||||
{
|
||||
return _moduleSubCode;
|
||||
}
|
||||
set
|
||||
{
|
||||
_moduleSubCode = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
[Category("Conteúdo")]
|
||||
public string ModuleID
|
||||
{
|
||||
get
|
||||
{
|
||||
return _moduleId;
|
||||
}
|
||||
set
|
||||
{
|
||||
_moduleId = value ?? string.Empty;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
[Category("Estado")]
|
||||
public StatusModulo State
|
||||
{
|
||||
get
|
||||
{
|
||||
return _state;
|
||||
}
|
||||
set
|
||||
{
|
||||
_state = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
private Color Accent
|
||||
[Category("Estado")]
|
||||
[DefaultValue(false)]
|
||||
public bool Selecionado
|
||||
{
|
||||
get
|
||||
{
|
||||
switch (_state)
|
||||
{
|
||||
case HmiModuleState.Alerta:
|
||||
return HmiTheme.Warning;
|
||||
return _selecionado;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (_selecionado == value)
|
||||
return;
|
||||
|
||||
case HmiModuleState.Falha:
|
||||
return HmiTheme.Danger;
|
||||
|
||||
case HmiModuleState.Desconectado:
|
||||
return HmiTheme.TextMuted;
|
||||
|
||||
case HmiModuleState.Selecionado:
|
||||
return HmiTheme.Info;
|
||||
|
||||
case HmiModuleState.Operante:
|
||||
default:
|
||||
return HmiTheme.Success;
|
||||
}
|
||||
_selecionado = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
[Category("Estado")]
|
||||
[DefaultValue(false)]
|
||||
public bool Mandatorio
|
||||
{
|
||||
get
|
||||
{
|
||||
return _mandatorio;
|
||||
}
|
||||
set
|
||||
{
|
||||
_mandatorio = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
[Category("Estado")]
|
||||
[DefaultValue(true)]
|
||||
public bool EmUso
|
||||
{
|
||||
get
|
||||
{
|
||||
return _emUso;
|
||||
}
|
||||
set
|
||||
{
|
||||
_emUso = value;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
|
||||
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||
|
||||
Rectangle rect = new Rectangle(0, 0, Width - 1, Height - 1);
|
||||
|
||||
using (GraphicsPath path = CriarCaminhoArredondado(rect, 7))
|
||||
e.Graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
|
||||
Rectangle rect = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||
Color accent = FuncoesIHM.CorPorStatusModulo(State);
|
||||
/*
|
||||
* Fora de uso continua mostrando o estado conhecido,
|
||||
* mas visualmente fica bastante reduzido.
|
||||
*/
|
||||
int alphaFundo = _emUso ? 34 : 14;
|
||||
int alphaBorda = _emUso ? 255 : 95;
|
||||
Color corFundo = Color.FromArgb(alphaFundo, accent.R, accent.G, accent.B);
|
||||
Color corBorda = Color.FromArgb(alphaBorda, accent.R, accent.G, accent.B);
|
||||
using (GraphicsPath path = CriarCaminhoArredondado(rect, 6))
|
||||
using (SolidBrush fill = new SolidBrush(corFundo))
|
||||
using (Pen border = new Pen(corBorda, 1.1F))
|
||||
{
|
||||
Color accent = Accent;
|
||||
e.Graphics.FillPath(fill, path);
|
||||
e.Graphics.DrawPath(border, path);
|
||||
}
|
||||
|
||||
using (SolidBrush fill = new SolidBrush(
|
||||
Color.FromArgb(34, accent.R, accent.G, accent.B)))
|
||||
{
|
||||
e.Graphics.FillPath(fill, path);
|
||||
}
|
||||
if (_selecionado)
|
||||
{
|
||||
Rectangle rectSelecao = new Rectangle(1, 1, Math.Max(1, Width - 3), Math.Max(1, Height - 3));
|
||||
|
||||
using (Pen border = new Pen(
|
||||
accent,
|
||||
_state == HmiModuleState.Selecionado ? 2F : 1.2F))
|
||||
using (GraphicsPath pathSelecao = CriarCaminhoArredondado(rectSelecao, 6))
|
||||
using (Pen brilho = new Pen(Color.FromArgb(90, HmiTheme.Info.R, HmiTheme.Info.G, HmiTheme.Info.B), 3.5F))
|
||||
using (Pen bordaSelecao = new Pen(HmiTheme.Info, 1.7F))
|
||||
{
|
||||
e.Graphics.DrawPath(border, path);
|
||||
e.Graphics.DrawPath(brilho, pathSelecao);
|
||||
e.Graphics.DrawPath(bordaSelecao, pathSelecao);
|
||||
}
|
||||
}
|
||||
|
||||
TextRenderer.DrawText(
|
||||
e.Graphics,
|
||||
_moduleCode,
|
||||
Font,
|
||||
rect,
|
||||
_state == HmiModuleState.Desconectado
|
||||
? HmiTheme.TextMuted
|
||||
: HmiTheme.Text,
|
||||
TextFormatFlags.HorizontalCenter |
|
||||
TextFormatFlags.VerticalCenter |
|
||||
TextFormatFlags.EndEllipsis);
|
||||
Rectangle lockRect = new Rectangle(5, (Height - 12) / 2, 9, 12);
|
||||
DesenharCadeado(e.Graphics, lockRect, _mandatorio, _emUso ? accent : HmiTheme.TextMuted);
|
||||
Rectangle textRect = new Rectangle(15, 1, Math.Max(1, Width - 18), Math.Max(1, Height - 2));
|
||||
Color corTexto;
|
||||
if (!_emUso)
|
||||
{
|
||||
corTexto = HmiTheme.TextMuted;
|
||||
}
|
||||
else if (_state == StatusModulo.Desconectado)
|
||||
{
|
||||
corTexto = HmiTheme.TextMuted;
|
||||
}
|
||||
else
|
||||
{
|
||||
corTexto = HmiTheme.Text;
|
||||
}
|
||||
TextRenderer.DrawText(e.Graphics, Text, Font, textRect, corTexto, TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.EndEllipsis | TextFormatFlags.NoPadding);
|
||||
}
|
||||
|
||||
private static GraphicsPath CriarCaminhoArredondado(
|
||||
Rectangle bounds,
|
||||
int radius)
|
||||
private static void DesenharCadeado(Graphics graphics, Rectangle bounds, bool fechado, Color cor)
|
||||
{
|
||||
using (Pen pen = new Pen(cor, 1.3F))
|
||||
using (SolidBrush brush = new SolidBrush(Color.FromArgb(55, cor.R, cor.G, cor.B)))
|
||||
{
|
||||
pen.StartCap = LineCap.Round;
|
||||
pen.EndCap = LineCap.Round;
|
||||
Rectangle corpo = new Rectangle(bounds.X, bounds.Y + 5, bounds.Width, bounds.Height - 5);
|
||||
graphics.FillRectangle(brush, corpo);
|
||||
graphics.DrawRectangle(pen, corpo);
|
||||
if (fechado)
|
||||
{
|
||||
Rectangle arco = new Rectangle(bounds.X + 2, bounds.Y, bounds.Width - 4, 9);
|
||||
graphics.DrawArc(pen, arco, 180, 180);
|
||||
}
|
||||
else
|
||||
{
|
||||
Rectangle arco = new Rectangle(bounds.X - 3, bounds.Y, bounds.Width - 4, 9);
|
||||
graphics.DrawArc(pen, arco, 180, 180);
|
||||
}
|
||||
Point centro = new Point(corpo.Left + corpo.Width / 2, corpo.Top + corpo.Height / 2);
|
||||
using (SolidBrush keyBrush = new SolidBrush(cor))
|
||||
{
|
||||
graphics.FillEllipse(keyBrush, centro.X - 1, centro.Y - 1, 2, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static GraphicsPath CriarCaminhoArredondado(Rectangle bounds, int radius)
|
||||
{
|
||||
GraphicsPath path = new GraphicsPath();
|
||||
int diameter = radius * 2;
|
||||
|
||||
path.AddArc(
|
||||
bounds.Left,
|
||||
bounds.Top,
|
||||
diameter,
|
||||
diameter,
|
||||
180,
|
||||
90);
|
||||
|
||||
path.AddArc(
|
||||
bounds.Right - diameter,
|
||||
bounds.Top,
|
||||
diameter,
|
||||
diameter,
|
||||
270,
|
||||
90);
|
||||
|
||||
path.AddArc(
|
||||
bounds.Right - diameter,
|
||||
bounds.Bottom - diameter,
|
||||
diameter,
|
||||
diameter,
|
||||
0,
|
||||
90);
|
||||
|
||||
path.AddArc(
|
||||
bounds.Left,
|
||||
bounds.Bottom - diameter,
|
||||
diameter,
|
||||
diameter,
|
||||
90,
|
||||
90);
|
||||
|
||||
int diameter = Math.Min(radius * 2, Math.Min(bounds.Width, bounds.Height));
|
||||
if (diameter <= 0)
|
||||
{
|
||||
path.AddRectangle(bounds);
|
||||
path.CloseFigure();
|
||||
return path;
|
||||
}
|
||||
path.AddArc(bounds.Left, bounds.Top, diameter, diameter, 180, 90);
|
||||
path.AddArc(bounds.Right - diameter, bounds.Top, diameter, diameter, 270, 90);
|
||||
path.AddArc(bounds.Right - diameter, bounds.Bottom - diameter, diameter, diameter, 0, 90);
|
||||
path.AddArc(bounds.Left, bounds.Bottom - diameter, diameter, diameter, 90, 90);
|
||||
path.CloseFigure();
|
||||
return path;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Controls
|
||||
{
|
||||
/// <summary>
|
||||
/// Campo numérico compacto, padronizado e amigável para touchscreen.
|
||||
/// </summary>
|
||||
[DefaultEvent("ValueChanged")]
|
||||
public class HmiNumericField : UserControl
|
||||
{
|
||||
private readonly TableLayoutPanel _layout;
|
||||
private readonly Label _lblTitulo;
|
||||
private readonly NumericUpDown _numeric;
|
||||
private readonly Label _lblUnidade;
|
||||
|
||||
public event EventHandler ValueChanged;
|
||||
|
||||
public HmiNumericField()
|
||||
{
|
||||
DoubleBuffered = true;
|
||||
BackColor = Color.Transparent;
|
||||
Height = 53;
|
||||
MinimumSize = Size.Empty;
|
||||
Dock = DockStyle.Fill;
|
||||
Margin = new Padding(2);
|
||||
|
||||
_layout = new TableLayoutPanel
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
BackColor = Color.Transparent,
|
||||
ColumnCount = 2,
|
||||
RowCount = 2,
|
||||
Margin = Padding.Empty,
|
||||
Padding = Padding.Empty
|
||||
};
|
||||
|
||||
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
|
||||
_layout.RowStyles.Add(new RowStyle(SizeType.Absolute, 21F));
|
||||
_layout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||
|
||||
_lblTitulo = new Label
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
AutoSize = false,
|
||||
AutoEllipsis = true,
|
||||
BackColor = Color.Transparent,
|
||||
ForeColor = HmiTheme.TextMuted,
|
||||
Font = new Font("Segoe UI", 7.6F, FontStyle.Regular),
|
||||
Text = "Parâmetro",
|
||||
TextAlign = ContentAlignment.BottomLeft,
|
||||
Margin = Padding.Empty
|
||||
};
|
||||
|
||||
_numeric = new NumericUpDown
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
BackColor = HmiTheme.SurfaceRaised,
|
||||
ForeColor = HmiTheme.Text,
|
||||
BorderStyle = BorderStyle.FixedSingle,
|
||||
Font = new Font("Segoe UI", 10.5F, FontStyle.Bold),
|
||||
TextAlign = HorizontalAlignment.Center,
|
||||
DecimalPlaces = 1,
|
||||
Minimum = -100000,
|
||||
Maximum = 100000,
|
||||
Increment = 1,
|
||||
Margin = new Padding(0, 2, 4, 0),
|
||||
ThousandsSeparator = false
|
||||
};
|
||||
|
||||
_lblUnidade = new Label
|
||||
{
|
||||
AutoSize = true,
|
||||
Anchor = AnchorStyles.Right,
|
||||
BackColor = Color.Transparent,
|
||||
ForeColor = HmiTheme.TextMuted,
|
||||
Font = new Font("Segoe UI", 8F, FontStyle.Bold),
|
||||
Text = string.Empty,
|
||||
TextAlign = ContentAlignment.MiddleRight,
|
||||
Margin = new Padding(3, 0, 2, 0)
|
||||
};
|
||||
|
||||
_layout.Controls.Add(_lblTitulo, 0, 0);
|
||||
_layout.SetColumnSpan(_lblTitulo, 2);
|
||||
_layout.Controls.Add(_numeric, 0, 1);
|
||||
_layout.Controls.Add(_lblUnidade, 1, 1);
|
||||
|
||||
Controls.Add(_layout);
|
||||
|
||||
_numeric.ValueChanged += delegate
|
||||
{
|
||||
if (ValueChanged != null)
|
||||
ValueChanged(this, EventArgs.Empty);
|
||||
};
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Titulo
|
||||
{
|
||||
get { return _lblTitulo.Text; }
|
||||
set { _lblTitulo.Text = value ?? string.Empty; }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Unidade
|
||||
{
|
||||
get { return _lblUnidade.Text; }
|
||||
set { _lblUnidade.Text = value ?? string.Empty; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Value
|
||||
{
|
||||
get { return _numeric.Value; }
|
||||
set
|
||||
{
|
||||
decimal ajustado = Math.Max(_numeric.Minimum, Math.Min(_numeric.Maximum, value));
|
||||
_numeric.Value = ajustado;
|
||||
}
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Minimum
|
||||
{
|
||||
get { return _numeric.Minimum; }
|
||||
set { _numeric.Minimum = value; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Maximum
|
||||
{
|
||||
get { return _numeric.Maximum; }
|
||||
set { _numeric.Maximum = value; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Increment
|
||||
{
|
||||
get { return _numeric.Increment; }
|
||||
set { _numeric.Increment = value; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public int DecimalPlaces
|
||||
{
|
||||
get { return _numeric.DecimalPlaces; }
|
||||
set { _numeric.DecimalPlaces = Math.Max(0, Math.Min(4, value)); }
|
||||
}
|
||||
|
||||
[Browsable(false)]
|
||||
public NumericUpDown NumericControl
|
||||
{
|
||||
get { return _numeric; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
using AgroBase.Forms.IHM.Controls;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Operacao.Parametros.Controls
|
||||
{
|
||||
[DefaultEvent("ValueChanged")]
|
||||
public class HmiNumericParameterCard : UserControl
|
||||
{
|
||||
private readonly Label _lblTitulo;
|
||||
private readonly Label _lblDescricao;
|
||||
private readonly NumericUpDown _numeric;
|
||||
private readonly Label _lblUnidade;
|
||||
private readonly ToolTip _toolTip;
|
||||
|
||||
public event EventHandler ValueChanged;
|
||||
|
||||
public HmiNumericParameterCard()
|
||||
{
|
||||
DoubleBuffered = true;
|
||||
BackColor = HmiTheme.SurfaceRaised;
|
||||
Margin = new Padding(3);
|
||||
Padding = new Padding(10, 7, 10, 7);
|
||||
MinimumSize = new Size(180, 88);
|
||||
|
||||
TableLayoutPanel root = new TableLayoutPanel
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
BackColor = Color.Transparent,
|
||||
ColumnCount = 2,
|
||||
RowCount = 3,
|
||||
Margin = Padding.Empty,
|
||||
Padding = Padding.Empty
|
||||
};
|
||||
|
||||
root.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||
root.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 42F));
|
||||
|
||||
root.RowStyles.Add(new RowStyle(SizeType.Absolute, 28F));
|
||||
root.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||
|
||||
_lblTitulo = new Label
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
AutoSize = false,
|
||||
BackColor = Color.Transparent,
|
||||
ForeColor = HmiTheme.Text,
|
||||
Font = new Font("Segoe UI", 8.2F, FontStyle.Bold),
|
||||
Text = "Parâmetro",
|
||||
TextAlign = ContentAlignment.MiddleLeft,
|
||||
AutoEllipsis = true,
|
||||
Margin = Padding.Empty
|
||||
};
|
||||
|
||||
_lblDescricao = new Label
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
AutoSize = false,
|
||||
BackColor = Color.Transparent,
|
||||
ForeColor = HmiTheme.TextMuted,
|
||||
Font = new Font("Segoe UI", 6.5F),
|
||||
Text = "Descrição",
|
||||
TextAlign = ContentAlignment.TopLeft,
|
||||
AutoEllipsis = true,
|
||||
Margin = Padding.Empty
|
||||
};
|
||||
|
||||
_toolTip = new ToolTip();
|
||||
|
||||
_numeric = new NumericUpDown
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
BackColor = HmiTheme.Surface,
|
||||
ForeColor = HmiTheme.Text,
|
||||
BorderStyle = BorderStyle.FixedSingle,
|
||||
Font = new Font("Segoe UI", 9.5F, FontStyle.Bold),
|
||||
TextAlign = HorizontalAlignment.Center,
|
||||
Minimum = 0,
|
||||
Maximum = 100,
|
||||
DecimalPlaces = 1,
|
||||
Increment = 0.5M,
|
||||
Margin = new Padding(0, 3, 5, 3)
|
||||
};
|
||||
|
||||
_lblUnidade = new Label
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
AutoSize = false,
|
||||
BackColor = Color.Transparent,
|
||||
ForeColor = HmiTheme.TextMuted,
|
||||
Font = new Font("Segoe UI", 8F, FontStyle.Bold),
|
||||
Text = "m",
|
||||
TextAlign = ContentAlignment.MiddleCenter,
|
||||
Margin = new Padding(0, 3, 0, 3)
|
||||
};
|
||||
|
||||
root.Controls.Add(_lblTitulo, 0, 0);
|
||||
root.SetColumnSpan(_lblTitulo, 2);
|
||||
root.Controls.Add(_numeric, 0, 1);
|
||||
root.Controls.Add(_lblUnidade, 1, 1);
|
||||
|
||||
Controls.Add(root);
|
||||
|
||||
_numeric.ValueChanged += delegate
|
||||
{
|
||||
if (ValueChanged != null)
|
||||
ValueChanged(this, EventArgs.Empty);
|
||||
};
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Titulo
|
||||
{
|
||||
get { return _lblTitulo.Text; }
|
||||
set { _lblTitulo.Text = value ?? string.Empty; }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Descricao
|
||||
{
|
||||
get { return _lblDescricao.Text; }
|
||||
set
|
||||
{
|
||||
_lblDescricao.Text = value ?? string.Empty;
|
||||
_toolTip.SetToolTip(this, _lblDescricao.Text);
|
||||
_toolTip.SetToolTip(_lblTitulo, _lblDescricao.Text);
|
||||
_toolTip.SetToolTip(_numeric, _lblDescricao.Text);
|
||||
}
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Unidade
|
||||
{
|
||||
get { return _lblUnidade.Text; }
|
||||
set { _lblUnidade.Text = value ?? string.Empty; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Value
|
||||
{
|
||||
get { return _numeric.Value; }
|
||||
set
|
||||
{
|
||||
decimal novo = Math.Max(_numeric.Minimum, Math.Min(_numeric.Maximum, value));
|
||||
_numeric.Value = novo;
|
||||
}
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Minimum
|
||||
{
|
||||
get { return _numeric.Minimum; }
|
||||
set { _numeric.Minimum = value; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Maximum
|
||||
{
|
||||
get { return _numeric.Maximum; }
|
||||
set { _numeric.Maximum = value; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public decimal Increment
|
||||
{
|
||||
get { return _numeric.Increment; }
|
||||
set { _numeric.Increment = value; }
|
||||
}
|
||||
|
||||
[Category("Dados")]
|
||||
public int DecimalPlaces
|
||||
{
|
||||
get { return _numeric.DecimalPlaces; }
|
||||
set { _numeric.DecimalPlaces = Math.Max(0, value); }
|
||||
}
|
||||
|
||||
[Browsable(false)]
|
||||
public NumericUpDown Numeric
|
||||
{
|
||||
get { return _numeric; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@ using System.Windows.Forms;
|
|||
|
||||
namespace AgroBase.Forms.IHM.Controls
|
||||
{
|
||||
public class HmiRoundedPanel : UserControl
|
||||
public class HmiRoundedPanel : Panel
|
||||
{
|
||||
private Color _fillColor = HmiTheme.Surface;
|
||||
private Color _borderColor = HmiTheme.Border;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
using System.ComponentModel;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using static AgroBase.Models.Enums;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Controls.Operacao
|
||||
{
|
||||
|
|
@ -93,28 +95,31 @@ namespace AgroBase.Forms.IHM.Controls.Operacao
|
|||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Saude
|
||||
public double Saude
|
||||
{
|
||||
get { return _lblSaude.Text; }
|
||||
set { _lblSaude.Text = value ?? string.Empty; }
|
||||
get
|
||||
{
|
||||
double.TryParse(_lblSaude.Text.Replace("%", ""), out double _saude);
|
||||
return _saude;
|
||||
}
|
||||
set { _lblSaude.Text = $"{value:F0}%"; }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string Status
|
||||
public StatusModulo Status
|
||||
{
|
||||
get { return _lblStatus.Text; }
|
||||
set { _lblStatus.Text = value ?? string.Empty; }
|
||||
}
|
||||
|
||||
[Category("Aparência")]
|
||||
public Color StatusColor
|
||||
{
|
||||
get { return _lblStatus.ForeColor; }
|
||||
set
|
||||
get
|
||||
{
|
||||
_lblStatus.ForeColor = value;
|
||||
_lblSaude.ForeColor = value;
|
||||
Enum.TryParse(_lblStatus.Text, out StatusModulo _status);
|
||||
return _status;
|
||||
}
|
||||
set
|
||||
{
|
||||
_lblStatus.Text = value.ToString();
|
||||
_lblStatus.ForeColor = FuncoesIHM.CorPorStatusModulo(value);
|
||||
_lblSaude.ForeColor = FuncoesIHM.CorPorStatusModulo(value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,84 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Controls
|
||||
{
|
||||
public class HmiStatusLegend : Control
|
||||
{
|
||||
public HmiStatusLegend()
|
||||
{
|
||||
SetStyle(
|
||||
ControlStyles.UserPaint |
|
||||
ControlStyles.AllPaintingInWmPaint |
|
||||
ControlStyles.OptimizedDoubleBuffer |
|
||||
ControlStyles.ResizeRedraw |
|
||||
ControlStyles.SupportsTransparentBackColor,
|
||||
true);
|
||||
|
||||
BackColor = Color.Transparent;
|
||||
Font = new Font("Segoe UI", 7.5F);
|
||||
Height = 24;
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
|
||||
string[] textos =
|
||||
{
|
||||
"Operante",
|
||||
"Alerta",
|
||||
"Falha",
|
||||
"Desconectado"
|
||||
};
|
||||
|
||||
Color[] cores =
|
||||
{
|
||||
HmiTheme.Success,
|
||||
HmiTheme.Warning,
|
||||
HmiTheme.Danger,
|
||||
HmiTheme.TextMuted
|
||||
};
|
||||
|
||||
const int espacamento = 10;
|
||||
const int diametro = 7;
|
||||
const int distanciaTexto = 4;
|
||||
|
||||
int larguraTotal = 0;
|
||||
|
||||
for (int i = 0; i < textos.Length; i++)
|
||||
{
|
||||
Size tamanhoTexto = TextRenderer.MeasureText(textos[i], Font, Size.Empty, TextFormatFlags.NoPadding);
|
||||
|
||||
larguraTotal += diametro + distanciaTexto + tamanhoTexto.Width;
|
||||
|
||||
if (i < textos.Length - 1)
|
||||
larguraTotal += espacamento;
|
||||
}
|
||||
|
||||
int x = Math.Max(0, (Width - larguraTotal) / 2);
|
||||
int centroY = Height / 2;
|
||||
|
||||
for (int i = 0; i < textos.Length; i++)
|
||||
{
|
||||
Rectangle circulo = new Rectangle(x, centroY - diametro / 2, diametro, diametro);
|
||||
|
||||
using (SolidBrush brush = new SolidBrush(cores[i]))
|
||||
{
|
||||
e.Graphics.FillEllipse(brush, circulo);
|
||||
}
|
||||
|
||||
x += diametro + distanciaTexto;
|
||||
|
||||
Size tamanhoTexto = TextRenderer.MeasureText(textos[i], Font, Size.Empty, TextFormatFlags.NoPadding);
|
||||
|
||||
Rectangle textoRect = new Rectangle(x, 0, tamanhoTexto.Width, Height);
|
||||
|
||||
TextRenderer.DrawText(e.Graphics, textos[i], Font, textoRect, HmiTheme.TextMuted, TextFormatFlags.VerticalCenter | TextFormatFlags.NoPadding);
|
||||
|
||||
x += tamanhoTexto.Width + espacamento;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -343,14 +343,14 @@ namespace AgroBase.Forms.IHM.Controls.Operacao
|
|||
public string DirecionalSp
|
||||
{
|
||||
get { return _lblDirSp.Text; }
|
||||
set { _lblDirSp.Text = "SP " + (value ?? string.Empty); }
|
||||
set { _lblDirSp.Text = "SP " + (value ?? string.Empty).Replace("SP ", ""); }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string DirecionalAtual
|
||||
{
|
||||
get { return _lblDirAtual.Text; }
|
||||
set { _lblDirAtual.Text = "AT " + (value ?? string.Empty); }
|
||||
set { _lblDirAtual.Text = "AT " + (value ?? string.Empty).Replace("AT ", ""); }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
|
|
@ -364,14 +364,14 @@ namespace AgroBase.Forms.IHM.Controls.Operacao
|
|||
public string MovimentoSp
|
||||
{
|
||||
get { return _lblMovSp.Text; }
|
||||
set { _lblMovSp.Text = "SP " + (value ?? string.Empty); }
|
||||
set { _lblMovSp.Text = "SP " + (value ?? string.Empty).Replace("SP ", ""); }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
public string MovimentoAtual
|
||||
{
|
||||
get { return _lblMovAtual.Text; }
|
||||
set { _lblMovAtual.Text = "AT " + (value ?? string.Empty); }
|
||||
set { _lblMovAtual.Text = "AT " + (value ?? string.Empty).Replace("AT ", ""); }
|
||||
}
|
||||
|
||||
[Category("Conteúdo")]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,9 @@
|
|||
using AgroBase.Models;
|
||||
using MathNet.Numerics.Distributions;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Operacao.Parametros
|
||||
{
|
||||
|
|
@ -28,8 +33,8 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.paramKd = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.pnlPulverizacao = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.pulverizacaoLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblPulverizacaoTitulo = new System.Windows.Forms.Label();
|
||||
this.pulverizacaoHeaderLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblPulverizacaoTitulo = new System.Windows.Forms.Label();
|
||||
this.chkPulverizadorAutomatico = new System.Windows.Forms.CheckBox();
|
||||
this.lblPulverizacaoDescricao = new System.Windows.Forms.Label();
|
||||
this.parametrosLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
|
|
@ -51,7 +56,7 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
//
|
||||
// rootLayout
|
||||
//
|
||||
this.rootLayout.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.Background;
|
||||
this.rootLayout.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(17)))), ((int)(((byte)(20)))));
|
||||
this.rootLayout.ColumnCount = 2;
|
||||
this.rootLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 40F));
|
||||
this.rootLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60F));
|
||||
|
|
@ -59,9 +64,8 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.rootLayout.Controls.Add(this.pnlPulverizacao, 1, 0);
|
||||
this.rootLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rootLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.rootLayout.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.rootLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.rootLayout.Name = "rootLayout";
|
||||
this.rootLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.rootLayout.RowCount = 1;
|
||||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.rootLayout.Size = new System.Drawing.Size(760, 286);
|
||||
|
|
@ -69,9 +73,20 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
//
|
||||
// pnlAgitador
|
||||
//
|
||||
ConfigurePanel(this.pnlAgitador, this.agitadorLayout);
|
||||
this.pnlAgitador.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlAgitador.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlAgitador.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlAgitador.Controls.Add(this.agitadorLayout);
|
||||
this.pnlAgitador.CornerRadius = 9;
|
||||
this.pnlAgitador.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlAgitador.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlAgitador.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlAgitador.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
|
||||
this.pnlAgitador.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlAgitador.Name = "pnlAgitador";
|
||||
this.pnlAgitador.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pnlAgitador.Size = new System.Drawing.Size(301, 286);
|
||||
this.pnlAgitador.TabIndex = 0;
|
||||
//
|
||||
// agitadorLayout
|
||||
//
|
||||
|
|
@ -85,34 +100,53 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.agitadorLayout.Location = new System.Drawing.Point(8, 8);
|
||||
this.agitadorLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.agitadorLayout.Name = "agitadorLayout";
|
||||
this.agitadorLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.agitadorLayout.RowCount = 4;
|
||||
this.agitadorLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 26F));
|
||||
this.agitadorLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 34F));
|
||||
this.agitadorLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
|
||||
this.agitadorLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.agitadorLayout.Size = new System.Drawing.Size(282, 270);
|
||||
this.agitadorLayout.Size = new System.Drawing.Size(285, 270);
|
||||
this.agitadorLayout.TabIndex = 0;
|
||||
//
|
||||
// lblAgitadorTitulo
|
||||
//
|
||||
SetupSectionTitle(this.lblAgitadorTitulo, "AGITADOR DE CALDA");
|
||||
this.lblAgitadorTitulo.AutoEllipsis = true;
|
||||
this.lblAgitadorTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblAgitadorTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblAgitadorTitulo.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblAgitadorTitulo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||
this.lblAgitadorTitulo.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblAgitadorTitulo.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblAgitadorTitulo.Name = "lblAgitadorTitulo";
|
||||
this.lblAgitadorTitulo.Size = new System.Drawing.Size(285, 26);
|
||||
this.lblAgitadorTitulo.TabIndex = 0;
|
||||
this.lblAgitadorTitulo.Text = "AGITADOR DE CALDA";
|
||||
this.lblAgitadorTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// lblAgitadorDescricao
|
||||
//
|
||||
SetupSectionDescription(this.lblAgitadorDescricao, "Selecione o modo e ajuste os ganhos PID usados no controle do agitador.");
|
||||
this.lblAgitadorDescricao.AutoEllipsis = true;
|
||||
this.lblAgitadorDescricao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblAgitadorDescricao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblAgitadorDescricao.Font = new System.Drawing.Font("Segoe UI", 7F);
|
||||
this.lblAgitadorDescricao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblAgitadorDescricao.Location = new System.Drawing.Point(0, 26);
|
||||
this.lblAgitadorDescricao.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblAgitadorDescricao.Name = "lblAgitadorDescricao";
|
||||
this.lblAgitadorDescricao.Size = new System.Drawing.Size(285, 34);
|
||||
this.lblAgitadorDescricao.TabIndex = 1;
|
||||
this.lblAgitadorDescricao.Text = "Selecione o modo e ajuste os ganhos PID usados no controle do agitador.";
|
||||
//
|
||||
// seletorModoAgitador
|
||||
//
|
||||
this.seletorModoAgitador.BackColor = System.Drawing.Color.Transparent;
|
||||
this.seletorModoAgitador.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.seletorModoAgitador.Location = new System.Drawing.Point(0, 63);
|
||||
this.seletorModoAgitador.Margin = new System.Windows.Forms.Padding(0, 3, 0, 5);
|
||||
this.seletorModoAgitador.MinimumSize = new System.Drawing.Size(0, 40);
|
||||
this.seletorModoAgitador.Name = "seletorModoAgitador";
|
||||
this.seletorModoAgitador.SelectedMode = Enums.ModoAgitadorCalda.SemAgitacao;
|
||||
this.seletorModoAgitador.Size = new System.Drawing.Size(282, 42);
|
||||
this.seletorModoAgitador.SelectedMode = AgroBase.Models.Enums.ModoAgitadorCalda.SemAgitacao;
|
||||
this.seletorModoAgitador.Size = new System.Drawing.Size(285, 42);
|
||||
this.seletorModoAgitador.TabIndex = 2;
|
||||
//
|
||||
// pidLayout
|
||||
|
|
@ -132,32 +166,115 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.pidLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.pidLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.pidLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.pidLayout.Size = new System.Drawing.Size(282, 160);
|
||||
this.pidLayout.Size = new System.Drawing.Size(285, 160);
|
||||
this.pidLayout.TabIndex = 3;
|
||||
//
|
||||
// paramKp
|
||||
//
|
||||
SetupNumeric(this.paramKp, "Kp", "", 1.10M, 0M, 20M, 0.05M, 2);
|
||||
this.paramKp.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramKp.DecimalPlaces = 2;
|
||||
this.paramKp.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramKp.Increment = new decimal(new int[] {
|
||||
5,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.paramKp.Location = new System.Drawing.Point(0, 2);
|
||||
this.paramKp.Margin = new System.Windows.Forms.Padding(0, 2, 0, 4);
|
||||
this.paramKp.Maximum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramKp.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramKp.Name = "paramKp";
|
||||
this.paramKp.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.paramKp.Size = new System.Drawing.Size(285, 60);
|
||||
this.paramKp.TabIndex = 0;
|
||||
this.paramKp.Titulo = "Kp";
|
||||
this.paramKp.Unidade = "";
|
||||
this.paramKp.Value = new decimal(new int[] {
|
||||
110,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
//
|
||||
// paramKi
|
||||
//
|
||||
SetupNumeric(this.paramKi, "Ki", "", 0.12M, 0M, 20M, 0.01M, 2);
|
||||
this.paramKi.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramKi.DecimalPlaces = 2;
|
||||
this.paramKi.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramKi.Increment = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.paramKi.Location = new System.Drawing.Point(0, 52);
|
||||
this.paramKi.Margin = new System.Windows.Forms.Padding(0, 2, 0, 4);
|
||||
this.paramKi.Maximum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramKi.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramKi.Name = "paramKi";
|
||||
this.paramKi.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.paramKi.Size = new System.Drawing.Size(285, 60);
|
||||
this.paramKi.TabIndex = 1;
|
||||
this.paramKi.Titulo = "Ki";
|
||||
this.paramKi.Unidade = "";
|
||||
this.paramKi.Value = new decimal(new int[] {
|
||||
12,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
//
|
||||
// paramKd
|
||||
//
|
||||
SetupNumeric(this.paramKd, "Kd", "", 0.03M, 0M, 20M, 0.01M, 2);
|
||||
this.paramKd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramKd.DecimalPlaces = 2;
|
||||
this.paramKd.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramKd.Increment = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.paramKd.Location = new System.Drawing.Point(0, 102);
|
||||
this.paramKd.Margin = new System.Windows.Forms.Padding(0, 2, 0, 3);
|
||||
this.paramKd.Maximum = new decimal(new int[] {
|
||||
20,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramKd.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramKd.Name = "paramKd";
|
||||
this.paramKd.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.paramKd.Size = new System.Drawing.Size(285, 60);
|
||||
this.paramKd.TabIndex = 2;
|
||||
this.paramKd.Titulo = "Kd";
|
||||
this.paramKd.Unidade = "";
|
||||
this.paramKd.Value = new decimal(new int[] {
|
||||
3,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
//
|
||||
// pnlPulverizacao
|
||||
//
|
||||
ConfigurePanel(this.pnlPulverizacao, this.pulverizacaoLayout);
|
||||
this.pnlPulverizacao.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlPulverizacao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlPulverizacao.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlPulverizacao.Controls.Add(this.pulverizacaoLayout);
|
||||
this.pnlPulverizacao.CornerRadius = 9;
|
||||
this.pnlPulverizacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlPulverizacao.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlPulverizacao.Location = new System.Drawing.Point(307, 0);
|
||||
this.pnlPulverizacao.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.pnlPulverizacao.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlPulverizacao.Name = "pnlPulverizacao";
|
||||
this.pnlPulverizacao.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pnlPulverizacao.Size = new System.Drawing.Size(453, 286);
|
||||
this.pnlPulverizacao.TabIndex = 1;
|
||||
//
|
||||
// pulverizacaoLayout
|
||||
//
|
||||
|
|
@ -170,12 +287,11 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.pulverizacaoLayout.Location = new System.Drawing.Point(8, 8);
|
||||
this.pulverizacaoLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.pulverizacaoLayout.Name = "pulverizacaoLayout";
|
||||
this.pulverizacaoLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.pulverizacaoLayout.RowCount = 3;
|
||||
this.pulverizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 26F));
|
||||
this.pulverizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 34F));
|
||||
this.pulverizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.pulverizacaoLayout.Size = new System.Drawing.Size(434, 270);
|
||||
this.pulverizacaoLayout.Size = new System.Drawing.Size(437, 270);
|
||||
this.pulverizacaoLayout.TabIndex = 0;
|
||||
//
|
||||
// pulverizacaoHeaderLayout
|
||||
|
|
@ -187,36 +303,60 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.pulverizacaoHeaderLayout.Controls.Add(this.lblPulverizacaoTitulo, 0, 0);
|
||||
this.pulverizacaoHeaderLayout.Controls.Add(this.chkPulverizadorAutomatico, 1, 0);
|
||||
this.pulverizacaoHeaderLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pulverizacaoHeaderLayout.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.pulverizacaoHeaderLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.pulverizacaoHeaderLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.pulverizacaoHeaderLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.pulverizacaoHeaderLayout.Name = "pulverizacaoHeaderLayout";
|
||||
this.pulverizacaoHeaderLayout.RowCount = 1;
|
||||
this.pulverizacaoHeaderLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
//
|
||||
// chkPulverizadorAutomatico
|
||||
//
|
||||
this.chkPulverizadorAutomatico.AutoSize = false;
|
||||
this.chkPulverizadorAutomatico.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.chkPulverizadorAutomatico.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.chkPulverizadorAutomatico.FlatAppearance.BorderSize = 0;
|
||||
this.chkPulverizadorAutomatico.BackColor = System.Drawing.Color.Transparent;
|
||||
this.chkPulverizadorAutomatico.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Success;
|
||||
this.chkPulverizadorAutomatico.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Bold);
|
||||
this.chkPulverizadorAutomatico.Text = "Pulverizador automático";
|
||||
this.chkPulverizadorAutomatico.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.chkPulverizadorAutomatico.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.chkPulverizadorAutomatico.Margin = new System.Windows.Forms.Padding(0, 0, 2, 0);
|
||||
this.chkPulverizadorAutomatico.Name = "chkPulverizadorAutomatico";
|
||||
this.chkPulverizadorAutomatico.TabIndex = 0;
|
||||
this.pulverizacaoHeaderLayout.Size = new System.Drawing.Size(437, 26);
|
||||
this.pulverizacaoHeaderLayout.TabIndex = 0;
|
||||
//
|
||||
// lblPulverizacaoTitulo
|
||||
//
|
||||
SetupSectionTitle(this.lblPulverizacaoTitulo, "PULVERIZAÇÃO E WEED WORKER");
|
||||
this.lblPulverizacaoTitulo.AutoEllipsis = true;
|
||||
this.lblPulverizacaoTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblPulverizacaoTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblPulverizacaoTitulo.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblPulverizacaoTitulo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||
this.lblPulverizacaoTitulo.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblPulverizacaoTitulo.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblPulverizacaoTitulo.Name = "lblPulverizacaoTitulo";
|
||||
this.lblPulverizacaoTitulo.Size = new System.Drawing.Size(267, 26);
|
||||
this.lblPulverizacaoTitulo.TabIndex = 0;
|
||||
this.lblPulverizacaoTitulo.Text = "PULVERIZAÇÃO E WEED WORKER";
|
||||
this.lblPulverizacaoTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// chkPulverizadorAutomatico
|
||||
//
|
||||
this.chkPulverizadorAutomatico.BackColor = System.Drawing.Color.Transparent;
|
||||
this.chkPulverizadorAutomatico.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.chkPulverizadorAutomatico.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.chkPulverizadorAutomatico.FlatAppearance.BorderSize = 0;
|
||||
this.chkPulverizadorAutomatico.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.chkPulverizadorAutomatico.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Bold);
|
||||
this.chkPulverizadorAutomatico.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.chkPulverizadorAutomatico.Location = new System.Drawing.Point(267, 0);
|
||||
this.chkPulverizadorAutomatico.Margin = new System.Windows.Forms.Padding(0, 0, 2, 0);
|
||||
this.chkPulverizadorAutomatico.Name = "chkPulverizadorAutomatico";
|
||||
this.chkPulverizadorAutomatico.Size = new System.Drawing.Size(168, 26);
|
||||
this.chkPulverizadorAutomatico.TabIndex = 0;
|
||||
this.chkPulverizadorAutomatico.Text = "Pulverizador automático";
|
||||
this.chkPulverizadorAutomatico.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.chkPulverizadorAutomatico.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// lblPulverizacaoDescricao
|
||||
//
|
||||
SetupSectionDescription(this.lblPulverizacaoDescricao, "Defina os recursos da operação e os limites da região de atuação de cada bico.");
|
||||
this.lblPulverizacaoDescricao.AutoEllipsis = true;
|
||||
this.lblPulverizacaoDescricao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblPulverizacaoDescricao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblPulverizacaoDescricao.Font = new System.Drawing.Font("Segoe UI", 7F);
|
||||
this.lblPulverizacaoDescricao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblPulverizacaoDescricao.Location = new System.Drawing.Point(0, 26);
|
||||
this.lblPulverizacaoDescricao.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblPulverizacaoDescricao.Name = "lblPulverizacaoDescricao";
|
||||
this.lblPulverizacaoDescricao.Size = new System.Drawing.Size(437, 34);
|
||||
this.lblPulverizacaoDescricao.TabIndex = 1;
|
||||
this.lblPulverizacaoDescricao.Text = "Defina os recursos da operação e os limites da região de atuação de cada bico.";
|
||||
//
|
||||
// parametrosLayout
|
||||
//
|
||||
|
|
@ -234,54 +374,163 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.parametrosLayout.Location = new System.Drawing.Point(0, 60);
|
||||
this.parametrosLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.parametrosLayout.Name = "parametrosLayout";
|
||||
this.parametrosLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.parametrosLayout.RowCount = 3;
|
||||
this.parametrosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.parametrosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.parametrosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.parametrosLayout.Size = new System.Drawing.Size(434, 210);
|
||||
this.parametrosLayout.Size = new System.Drawing.Size(437, 210);
|
||||
this.parametrosLayout.TabIndex = 2;
|
||||
//
|
||||
// paramBicosEmUso
|
||||
//
|
||||
SetupNumeric(this.paramBicosEmUso, "Bicos em uso", "", 7M, 1M, 12M, 1M, 0);
|
||||
this.paramBicosEmUso.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramBicosEmUso.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramBicosEmUso.Location = new System.Drawing.Point(2, 2);
|
||||
this.paramBicosEmUso.Margin = new System.Windows.Forms.Padding(2, 2, 4, 4);
|
||||
this.paramBicosEmUso.Maximum = new decimal(new int[] {
|
||||
12,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramBicosEmUso.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramBicosEmUso.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramBicosEmUso.Name = "paramBicosEmUso";
|
||||
this.paramBicosEmUso.Padding = new System.Windows.Forms.Padding(7, 5, 7, 5);
|
||||
this.paramBicosEmUso.Size = new System.Drawing.Size(212, 63);
|
||||
this.paramBicosEmUso.TabIndex = 0;
|
||||
this.paramBicosEmUso.Titulo = "Bicos em uso";
|
||||
this.paramBicosEmUso.Unidade = "";
|
||||
this.paramBicosEmUso.Value = new decimal(new int[] {
|
||||
7,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// paramPressaoLinha
|
||||
//
|
||||
SetupNumeric(this.paramPressaoLinha, "Pressão da linha", "psi", 18M, 0M, 120M, 1M, 0);
|
||||
this.paramPressaoLinha.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramPressaoLinha.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramPressaoLinha.Location = new System.Drawing.Point(222, 2);
|
||||
this.paramPressaoLinha.Margin = new System.Windows.Forms.Padding(4, 2, 2, 4);
|
||||
this.paramPressaoLinha.Maximum = new decimal(new int[] {
|
||||
120,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramPressaoLinha.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramPressaoLinha.Name = "paramPressaoLinha";
|
||||
this.paramPressaoLinha.Padding = new System.Windows.Forms.Padding(7, 5, 7, 5);
|
||||
this.paramPressaoLinha.Size = new System.Drawing.Size(213, 63);
|
||||
this.paramPressaoLinha.TabIndex = 1;
|
||||
this.paramPressaoLinha.Titulo = "Pressão da linha";
|
||||
this.paramPressaoLinha.Unidade = "psi";
|
||||
this.paramPressaoLinha.Value = new decimal(new int[] {
|
||||
18,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// paramInicioTela
|
||||
//
|
||||
SetupNumeric(this.paramInicioTela, "Início da atuação", "%", 85M, 0M, 100M, 1M, 0);
|
||||
this.paramInicioTela.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramInicioTela.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramInicioTela.Location = new System.Drawing.Point(2, 71);
|
||||
this.paramInicioTela.Margin = new System.Windows.Forms.Padding(2, 2, 4, 4);
|
||||
this.paramInicioTela.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramInicioTela.Name = "paramInicioTela";
|
||||
this.paramInicioTela.Padding = new System.Windows.Forms.Padding(7, 5, 7, 5);
|
||||
this.paramInicioTela.Size = new System.Drawing.Size(212, 63);
|
||||
this.paramInicioTela.TabIndex = 2;
|
||||
this.paramInicioTela.Titulo = "Início da atuação";
|
||||
this.paramInicioTela.Unidade = "%";
|
||||
this.paramInicioTela.Value = new decimal(new int[] {
|
||||
85,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// paramAlturaArea
|
||||
//
|
||||
SetupNumeric(this.paramAlturaArea, "Altura da área", "%", 15M, 1M, 100M, 1M, 0);
|
||||
this.paramAlturaArea.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramAlturaArea.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramAlturaArea.Location = new System.Drawing.Point(222, 71);
|
||||
this.paramAlturaArea.Margin = new System.Windows.Forms.Padding(4, 2, 2, 4);
|
||||
this.paramAlturaArea.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.paramAlturaArea.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramAlturaArea.Name = "paramAlturaArea";
|
||||
this.paramAlturaArea.Padding = new System.Windows.Forms.Padding(7, 5, 7, 5);
|
||||
this.paramAlturaArea.Size = new System.Drawing.Size(213, 63);
|
||||
this.paramAlturaArea.TabIndex = 3;
|
||||
this.paramAlturaArea.Titulo = "Altura da área";
|
||||
this.paramAlturaArea.Unidade = "%";
|
||||
this.paramAlturaArea.Value = new decimal(new int[] {
|
||||
15,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// paramErvasOn
|
||||
//
|
||||
SetupNumeric(this.paramErvasOn, "Ervas para ligar", "%", 25.0M, 0M, 100M, 0.5M, 1);
|
||||
this.paramErvasOn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramErvasOn.DecimalPlaces = 1;
|
||||
this.paramErvasOn.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramErvasOn.Increment = new decimal(new int[] {
|
||||
5,
|
||||
0,
|
||||
0,
|
||||
65536});
|
||||
this.paramErvasOn.Location = new System.Drawing.Point(2, 140);
|
||||
this.paramErvasOn.Margin = new System.Windows.Forms.Padding(2, 2, 4, 0);
|
||||
this.paramErvasOn.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramErvasOn.Name = "paramErvasOn";
|
||||
this.paramErvasOn.Padding = new System.Windows.Forms.Padding(7, 5, 7, 5);
|
||||
this.paramErvasOn.Size = new System.Drawing.Size(212, 70);
|
||||
this.paramErvasOn.TabIndex = 4;
|
||||
this.paramErvasOn.Titulo = "Ervas para ligar";
|
||||
this.paramErvasOn.Unidade = "%";
|
||||
this.paramErvasOn.Value = new decimal(new int[] {
|
||||
250,
|
||||
0,
|
||||
0,
|
||||
65536});
|
||||
//
|
||||
// paramErvasOff
|
||||
//
|
||||
SetupNumeric(this.paramErvasOff, "Ervas para desligar", "%", 15.0M, 0M, 100M, 0.5M, 1);
|
||||
this.paramErvasOff.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.paramErvasOff.DecimalPlaces = 1;
|
||||
this.paramErvasOff.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.paramErvasOff.Increment = new decimal(new int[] {
|
||||
5,
|
||||
0,
|
||||
0,
|
||||
65536});
|
||||
this.paramErvasOff.Location = new System.Drawing.Point(222, 140);
|
||||
this.paramErvasOff.Margin = new System.Windows.Forms.Padding(4, 2, 2, 0);
|
||||
this.paramErvasOff.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.paramErvasOff.Name = "paramErvasOff";
|
||||
this.paramErvasOff.Padding = new System.Windows.Forms.Padding(7, 5, 7, 5);
|
||||
this.paramErvasOff.Size = new System.Drawing.Size(213, 70);
|
||||
this.paramErvasOff.TabIndex = 5;
|
||||
this.paramErvasOff.Titulo = "Ervas para desligar";
|
||||
this.paramErvasOff.Unidade = "%";
|
||||
this.paramErvasOff.Value = new decimal(new int[] {
|
||||
150,
|
||||
0,
|
||||
0,
|
||||
65536});
|
||||
//
|
||||
// ucParametrosAtuador
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.Background;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(17)))), ((int)(((byte)(20)))));
|
||||
this.Controls.Add(this.rootLayout);
|
||||
this.DoubleBuffered = true;
|
||||
this.Margin = new System.Windows.Forms.Padding(0);
|
||||
|
|
@ -296,53 +545,7 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.pulverizacaoHeaderLayout.ResumeLayout(false);
|
||||
this.parametrosLayout.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private static void ConfigurePanel(AgroBase.Forms.IHM.Controls.HmiRoundedPanel panel, System.Windows.Forms.Control child)
|
||||
{
|
||||
panel.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
panel.Controls.Add(child);
|
||||
panel.CornerRadius = 9;
|
||||
panel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
panel.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
panel.Padding = new System.Windows.Forms.Padding(8);
|
||||
}
|
||||
|
||||
private static void SetupSectionTitle(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
}
|
||||
|
||||
private static void SetupSectionDescription(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 7F);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
}
|
||||
|
||||
private static void SetupNumeric(AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField field, string title, string unit, decimal value, decimal minimum, decimal maximum, decimal increment, int decimalPlaces)
|
||||
{
|
||||
field.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
field.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
field.Titulo = title;
|
||||
field.Unidade = unit;
|
||||
field.Minimum = minimum;
|
||||
field.Maximum = maximum;
|
||||
field.Increment = increment;
|
||||
field.DecimalPlaces = decimalPlaces;
|
||||
field.Value = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
|
|
@ -1,4 +1,10 @@
|
|||
using AgroBase.Models;
|
||||
using MathNet.Numerics.Distributions;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ProgressBar;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Operacao.Parametros
|
||||
{
|
||||
|
|
@ -71,7 +77,12 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 42F));
|
||||
|
||||
// Assistências
|
||||
ConfigurePanel(this.pnlAssistencias, this.assistenciasLayout);
|
||||
this.pnlAssistencias.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
this.pnlAssistencias.Controls.Add(this.assistenciasLayout);
|
||||
this.pnlAssistencias.CornerRadius = 9;
|
||||
this.pnlAssistencias.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlAssistencias.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.pnlAssistencias.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pnlAssistencias.Margin = new System.Windows.Forms.Padding(0, 0, 3, 3);
|
||||
this.pnlAssistencias.Padding = new System.Windows.Forms.Padding(8);
|
||||
|
||||
|
|
@ -88,8 +99,14 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.assistenciasLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
|
||||
this.assistenciasLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
SetupSectionTitle(this.lblAssistenciasTitulo, "AUTOMAÇÃO E ASSISTÊNCIAS");
|
||||
SetupSectionDescription(this.lblAssistenciasDescricao, "Defina quais recursos podem interferir no controle direcional.");
|
||||
this.lblAssistenciasTitulo.AutoEllipsis = true;
|
||||
this.lblAssistenciasTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblAssistenciasTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblAssistenciasTitulo.Font = new System.Drawing.Font("Segoe UI", 6.7F);
|
||||
this.lblAssistenciasTitulo.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
this.lblAssistenciasTitulo.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblAssistenciasTitulo.Text = "Defina quais recursos podem interferir no controle direcional.";
|
||||
this.lblAssistenciasTitulo.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
|
||||
this.checksLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.checksLayout.ColumnCount = 2;
|
||||
|
|
@ -106,13 +123,37 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.checksLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.checksLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
|
||||
SetupCheck(this.checkDirecionalAutomatico, "Direcional automático");
|
||||
SetupCheck(this.checkAssistidoSonar, "Assistido por sonar");
|
||||
SetupCheck(this.checkAssistidoImu, "Assistido por IMU");
|
||||
SetupCheck(this.checkImuPrefereArco, "IMU prefere arco");
|
||||
this.checkDirecionalAutomatico.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkDirecionalAutomatico.Titulo = "Direcional automático";
|
||||
this.checkDirecionalAutomatico.Checked = true;
|
||||
this.checkDirecionalAutomatico.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkDirecionalAutomatico.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkAssistidoSonar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkAssistidoSonar.Titulo = "Assistido por sonar";
|
||||
this.checkAssistidoSonar.Checked = true;
|
||||
this.checkAssistidoSonar.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkAssistidoSonar.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkAssistidoImu.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkAssistidoImu.Titulo = "Assistido por IMU";
|
||||
this.checkAssistidoImu.Checked = true;
|
||||
this.checkAssistidoImu.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkAssistidoImu.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkImuPrefereArco.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkImuPrefereArco.Titulo = "IMU prefere arco";
|
||||
this.checkImuPrefereArco.Checked = true;
|
||||
this.checkImuPrefereArco.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkImuPrefereArco.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
// Controle direcional
|
||||
ConfigurePanel(this.pnlControle, this.controleLayout);
|
||||
this.pnlControle.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
this.pnlControle.Controls.Add(this.controleLayout);
|
||||
this.pnlControle.CornerRadius = 9;
|
||||
this.pnlControle.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlControle.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.pnlControle.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pnlControle.Margin = new System.Windows.Forms.Padding(3, 0, 0, 3);
|
||||
this.pnlControle.Padding = new System.Windows.Forms.Padding(8);
|
||||
|
||||
|
|
@ -133,8 +174,23 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.controleLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
|
||||
this.controleLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
SetupSectionTitle(this.lblControleTitulo, "LIMITES DO DIRECIONAL");
|
||||
SetupSectionDescription(this.lblControleDescricao, "Ajuste o ângulo máximo e a velocidade usada pelos motores de passo.");
|
||||
this.lblControleTitulo.AutoEllipsis = true;
|
||||
this.lblControleTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblControleTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblControleTitulo.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
this.lblControleTitulo.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
this.lblControleTitulo.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblControleTitulo.Text = "LIMITES DO DIRECIONAL";
|
||||
this.lblControleTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
|
||||
this.lblControleDescricao.AutoEllipsis = true;
|
||||
this.lblControleDescricao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblControleDescricao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblControleDescricao.Font = new System.Drawing.Font("Segoe UI", 6.7F);
|
||||
this.lblControleDescricao.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
this.lblControleDescricao.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblControleDescricao.Text = "Ajuste o ângulo máximo e a velocidade usada pelos motores de passo.";
|
||||
this.lblControleDescricao.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
|
||||
this.sliderAnguloMaximo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.sliderAnguloMaximo.Margin = new System.Windows.Forms.Padding(0, 2, 3, 0);
|
||||
|
|
@ -157,7 +213,12 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.sliderVelocidadeDirecional.AccentColor = AgroBase.Forms.IHM.Controls.HmiTheme.Info;
|
||||
|
||||
// Controle e navegação
|
||||
ConfigurePanel(this.pnlNavegacao, this.navegacaoLayout);
|
||||
this.pnlNavegacao.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
this.pnlNavegacao.Controls.Add(this.navegacaoLayout);
|
||||
this.pnlNavegacao.CornerRadius = 9;
|
||||
this.pnlNavegacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlNavegacao.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.pnlNavegacao.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pnlNavegacao.Margin = new System.Windows.Forms.Padding(0, 3, 0, 0);
|
||||
this.pnlNavegacao.Padding = new System.Windows.Forms.Padding(8);
|
||||
|
||||
|
|
@ -177,18 +238,41 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.navegacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22F));
|
||||
this.navegacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
SetupSectionTitle(this.lblNavegacaoTitulo, "CONTROLE E NAVEGAÇÃO");
|
||||
this.lblNavegacaoTitulo.AutoEllipsis = true;
|
||||
this.lblNavegacaoTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblNavegacaoTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblNavegacaoTitulo.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
this.lblNavegacaoTitulo.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
this.lblNavegacaoTitulo.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblNavegacaoTitulo.Text = "CONTROLE E NAVEGAÇÃO";
|
||||
this.lblNavegacaoTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
|
||||
this.seletorModoControle.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.seletorModoControle.Margin = new System.Windows.Forms.Padding(0, 1, 3, 0);
|
||||
this.seletorModoControle.MinimumSize = System.Drawing.Size.Empty;
|
||||
this.seletorModoControle.SelectedMode = Enums.TiposControladorDirecional.MPC;
|
||||
|
||||
SetupNumeric(this.parametroHorizonte, "Horizonte de predição", "m", 4M, 1M, 30M, 0.5M, 1);
|
||||
this.parametroHorizonte.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.parametroHorizonte.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.parametroHorizonte.Titulo = "Horizonte de predição";
|
||||
this.parametroHorizonte.Unidade = "m";
|
||||
this.parametroHorizonte.Minimum = 1M;
|
||||
this.parametroHorizonte.Maximum = 30M;
|
||||
this.parametroHorizonte.Increment = 0.5M;
|
||||
this.parametroHorizonte.DecimalPlaces = 1;
|
||||
this.parametroHorizonte.Value = 4M;
|
||||
this.parametroHorizonte.Margin = new System.Windows.Forms.Padding(3, 1, 3, 3);
|
||||
this.parametroHorizonte.Name = "parametroHorizonte";
|
||||
|
||||
SetupNumeric(this.parametroDistanciaSaida, "Distância para manobra", "m", 5M, 0M, 20M, 0.5M, 1);
|
||||
this.parametroDistanciaSaida.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.parametroDistanciaSaida.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
this.parametroDistanciaSaida.Titulo = "Distância para manobra";
|
||||
this.parametroDistanciaSaida.Unidade = "m";
|
||||
this.parametroDistanciaSaida.Minimum = 0M;
|
||||
this.parametroDistanciaSaida.Maximum = 20M;
|
||||
this.parametroDistanciaSaida.Increment = 0.5M;
|
||||
this.parametroDistanciaSaida.DecimalPlaces = 1;
|
||||
this.parametroDistanciaSaida.Value = 5M;
|
||||
this.parametroDistanciaSaida.Margin = new System.Windows.Forms.Padding(3, 1, 0, 3);
|
||||
this.parametroDistanciaSaida.Name = "parametroDistanciaSaida";
|
||||
|
||||
|
|
@ -211,62 +295,6 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private static void ConfigurePanel(AgroBase.Forms.IHM.Controls.HmiRoundedPanel panel, System.Windows.Forms.Control child)
|
||||
{
|
||||
panel.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
panel.Controls.Add(child);
|
||||
panel.CornerRadius = 9;
|
||||
panel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
panel.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
panel.Padding = new System.Windows.Forms.Padding(8);
|
||||
}
|
||||
|
||||
private static void SetupSectionTitle(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
}
|
||||
|
||||
private static void SetupSectionDescription(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 6.7F);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
}
|
||||
|
||||
private static void SetupCheck(AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactCheckRow check, string title)
|
||||
{
|
||||
check.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
check.Titulo = title;
|
||||
check.Checked = true;
|
||||
check.Margin = new System.Windows.Forms.Padding(3);
|
||||
check.MinimumSize = System.Drawing.Size.Empty;
|
||||
}
|
||||
|
||||
private static void SetupNumeric(AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField field, string title, string unit, decimal value, decimal minimum, decimal maximum, decimal increment, int decimalPlaces)
|
||||
{
|
||||
field.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
field.MinimumSize = new System.Drawing.Size(0, 60);
|
||||
field.Titulo = title;
|
||||
field.Unidade = unit;
|
||||
field.Minimum = minimum;
|
||||
field.Maximum = maximum;
|
||||
field.Increment = increment;
|
||||
field.DecimalPlaces = decimalPlaces;
|
||||
field.Value = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel rootLayout;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
using AgroBase.Forms.IHM.Controls.Operacao;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Operacao.Parametros
|
||||
{
|
||||
|
|
@ -127,10 +128,33 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.lblArquivoValor.Padding = new Padding(6, 0, 6, 0);
|
||||
this.lblArquivoValor.Margin = new Padding(0, 0, 0, 4);
|
||||
|
||||
ConfigurarMetrica(this.metricRuas, "Ruas", "0 / 0", 82);
|
||||
ConfigurarMetrica(this.metricDistancia, "Distância", "0,0 m", 88);
|
||||
ConfigurarMetrica(this.metricTempo, "Tempo estimado", "00:00:00", 88);
|
||||
ConfigurarMetrica(this.metricMapaTotal, "Mapa total", "0,0 m", 88);
|
||||
this.metricRuas.Dock = DockStyle.Fill;
|
||||
this.metricRuas.Margin = Padding.Empty;
|
||||
this.metricRuas.Titulo = "Ruas";
|
||||
this.metricRuas.Valor = "0 / 0";
|
||||
this.metricRuas.LarguraValor = 82;
|
||||
this.metricRuas.CorValor = HmiTheme.Success;
|
||||
|
||||
this.metricDistancia.Dock = DockStyle.Fill;
|
||||
this.metricDistancia.Margin = Padding.Empty;
|
||||
this.metricDistancia.Titulo = "Distância";
|
||||
this.metricDistancia.Valor = "0,0 m";
|
||||
this.metricDistancia.LarguraValor = 88;
|
||||
this.metricDistancia.CorValor = HmiTheme.Success;
|
||||
|
||||
this.metricTempo.Dock = DockStyle.Fill;
|
||||
this.metricTempo.Margin = Padding.Empty;
|
||||
this.metricTempo.Titulo = "Tempo estimado";
|
||||
this.metricTempo.Valor = "00:00:00";
|
||||
this.metricTempo.LarguraValor = 88;
|
||||
this.metricTempo.CorValor = HmiTheme.Success;
|
||||
|
||||
this.metricMapaTotal.Dock = DockStyle.Fill;
|
||||
this.metricMapaTotal.Margin = Padding.Empty;
|
||||
this.metricMapaTotal.Titulo = "Mapa total";
|
||||
this.metricMapaTotal.Valor = "0,0 m";
|
||||
this.metricMapaTotal.LarguraValor = 88;
|
||||
this.metricMapaTotal.CorValor = HmiTheme.Success;
|
||||
|
||||
this.lblInstrucao.Dock = DockStyle.Fill;
|
||||
this.lblInstrucao.BackColor = HmiTheme.SurfaceRaised;
|
||||
|
|
@ -190,15 +214,6 @@ namespace AgroBase.Forms.IHM.Operacao.Parametros
|
|||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private static void ConfigurarMetrica(HmiNavigationMetric metric, string titulo, string valor, int larguraValor)
|
||||
{
|
||||
metric.Dock = DockStyle.Fill;
|
||||
metric.Margin = Padding.Empty;
|
||||
metric.Titulo = titulo;
|
||||
metric.Valor = valor;
|
||||
metric.LarguraValor = larguraValor;
|
||||
metric.CorValor = HmiTheme.Success;
|
||||
}
|
||||
|
||||
private TableLayoutPanel rootLayout;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
namespace AgroBase.Forms.IHM.Operacao.Parametros
|
||||
using MathNet.Numerics.Distributions;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ProgressBar;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Operacao.Parametros
|
||||
{
|
||||
partial class ucParametrosMovimento
|
||||
{
|
||||
|
|
@ -55,7 +61,12 @@
|
|||
this.rootLayout.RowCount = 1;
|
||||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
ConfigurePanel(this.pnlAutomacao, this.automacaoLayout);
|
||||
this.pnlAutomacao.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
this.pnlAutomacao.Controls.Add(this.automacaoLayout);
|
||||
this.pnlAutomacao.CornerRadius = 9;
|
||||
this.pnlAutomacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlAutomacao.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.pnlAutomacao.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.pnlAutomacao.Margin = new System.Windows.Forms.Padding(0, 0, 3, 0);
|
||||
|
||||
this.automacaoLayout.ColumnCount = 1;
|
||||
|
|
@ -71,8 +82,23 @@
|
|||
this.automacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F));
|
||||
this.automacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
SetupSectionTitle(this.lblAutomacaoTitulo, "AUTOMAÇÃO E ASSISTÊNCIAS");
|
||||
SetupSectionDescription(this.lblAutomacaoDescricao, "Ative somente os recursos que devem participar do controle de movimento.");
|
||||
this.lblAutomacaoTitulo.AutoEllipsis = true;
|
||||
this.lblAutomacaoTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblAutomacaoTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblAutomacaoTitulo.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblAutomacaoTitulo.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
this.lblAutomacaoTitulo.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblAutomacaoTitulo.Text = "AUTOMAÇÃO E ASSISTÊNCIAS";
|
||||
this.lblAutomacaoTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
|
||||
this.lblAutomacaoDescricao.AutoEllipsis = true;
|
||||
this.lblAutomacaoDescricao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblAutomacaoDescricao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblAutomacaoDescricao.Font = new System.Drawing.Font("Segoe UI", 7F);
|
||||
this.lblAutomacaoDescricao.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
this.lblAutomacaoDescricao.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblAutomacaoDescricao.Text = "Ative somente os recursos que devem participar do controle de movimento.";
|
||||
this.lblAutomacaoDescricao.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
|
||||
this.checksLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.checksLayout.ColumnCount = 2;
|
||||
|
|
@ -92,14 +118,48 @@
|
|||
this.checksLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.checksLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
|
||||
SetupCheck(this.checkMovimentoAutomatico, "Movimento automático");
|
||||
SetupCheck(this.checkAssistidoSonar, "Assistido por sonar");
|
||||
SetupCheck(this.checkParadaObstaculo, "Parada por obstáculo");
|
||||
SetupCheck(this.checkAssistidoImu, "Assistido por IMU");
|
||||
SetupCheck(this.checkParadaInclinacao, "Parada por inclinação");
|
||||
SetupCheck(this.checkFrenagemParar, "Frenagem ao parar");
|
||||
this.checkMovimentoAutomatico.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkMovimentoAutomatico.Titulo = "Movimento automático";
|
||||
this.checkMovimentoAutomatico.Checked = true;
|
||||
this.checkMovimentoAutomatico.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkMovimentoAutomatico.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
ConfigurePanel(this.pnlVelocidades, this.velocidadesLayout);
|
||||
this.checkAssistidoSonar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkAssistidoSonar.Titulo = "Assistido por sonar";
|
||||
this.checkAssistidoSonar.Checked = true;
|
||||
this.checkAssistidoSonar.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkAssistidoSonar.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkParadaObstaculo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkParadaObstaculo.Titulo = "Parada por obstáculo";
|
||||
this.checkParadaObstaculo.Checked = true;
|
||||
this.checkParadaObstaculo.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkParadaObstaculo.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkAssistidoImu.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkAssistidoImu.Titulo = "Assistido por IMU";
|
||||
this.checkAssistidoImu.Checked = true;
|
||||
this.checkAssistidoImu.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkAssistidoImu.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkParadaInclinacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkParadaInclinacao.Titulo = "Parada por inclinação";
|
||||
this.checkParadaInclinacao.Checked = true;
|
||||
this.checkParadaInclinacao.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkParadaInclinacao.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.checkFrenagemParar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.checkFrenagemParar.Titulo = "Frenagem ao parar";
|
||||
this.checkFrenagemParar.Checked = true;
|
||||
this.checkFrenagemParar.Margin = new System.Windows.Forms.Padding(3);
|
||||
this.checkFrenagemParar.MinimumSize = System.Drawing.Size.Empty;
|
||||
|
||||
this.pnlVelocidades.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
this.pnlVelocidades.Controls.Add(this.velocidadesLayout);
|
||||
this.pnlVelocidades.CornerRadius = 9;
|
||||
this.pnlVelocidades.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlVelocidades.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.pnlVelocidades.Padding = new System.Windows.Forms.Padding(10);
|
||||
this.pnlVelocidades.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
|
||||
this.velocidadesLayout.ColumnCount = 1;
|
||||
|
|
@ -117,8 +177,23 @@
|
|||
this.velocidadesLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.velocidadesLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
|
||||
SetupSectionTitle(this.lblVelocidadesTitulo, "LIMITES DE VELOCIDADE");
|
||||
SetupSectionDescription(this.lblVelocidadesDescricao, "A velocidade em km/h é calculada pelo percentual da velocidade máxima do equipamento.");
|
||||
this.lblVelocidadesTitulo.AutoEllipsis = true;
|
||||
this.lblVelocidadesTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblVelocidadesTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblVelocidadesTitulo.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblVelocidadesTitulo.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
this.lblVelocidadesTitulo.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblVelocidadesTitulo.Text = "LIMITES DE VELOCIDADE";
|
||||
this.lblVelocidadesTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
|
||||
this.lblVelocidadesDescricao.AutoEllipsis = true;
|
||||
this.lblVelocidadesDescricao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblVelocidadesDescricao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblVelocidadesDescricao.Font = new System.Drawing.Font("Segoe UI", 7F);
|
||||
this.lblVelocidadesDescricao.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
this.lblVelocidadesDescricao.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblVelocidadesDescricao.Text = "A velocidade em km/h é calculada pelo percentual da velocidade máxima do equipamento.";
|
||||
this.lblVelocidadesDescricao.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
|
||||
this.sliderSemErvas.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.sliderSemErvas.Margin = new System.Windows.Forms.Padding(0, 2, 0, 3);
|
||||
|
|
@ -150,49 +225,6 @@
|
|||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private static void ConfigurePanel(AgroBase.Forms.IHM.Controls.HmiRoundedPanel panel, System.Windows.Forms.Control child)
|
||||
{
|
||||
panel.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
panel.Controls.Add(child);
|
||||
panel.CornerRadius = 9;
|
||||
panel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
panel.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
panel.Padding = new System.Windows.Forms.Padding(10);
|
||||
}
|
||||
|
||||
private static void SetupSectionTitle(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
}
|
||||
|
||||
private static void SetupSectionDescription(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 7F);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.TopLeft;
|
||||
}
|
||||
|
||||
private static void SetupCheck(AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactCheckRow check, string title)
|
||||
{
|
||||
check.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
check.Titulo = title;
|
||||
check.Checked = true;
|
||||
check.Margin = new System.Windows.Forms.Padding(3);
|
||||
check.MinimumSize = System.Drawing.Size.Empty;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel rootLayout;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
namespace AgroBase.Forms.IHM.Operacao
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
using System.Drawing;
|
||||
|
||||
namespace AgroBase.Forms.IHM.Operacao
|
||||
{
|
||||
partial class ucOperacaoParametros
|
||||
{
|
||||
|
|
@ -22,29 +25,22 @@
|
|||
this.btnAbaDirecional = new System.Windows.Forms.Button();
|
||||
this.btnAbaAtuador = new System.Windows.Forms.Button();
|
||||
this.btnAbaMapa = new System.Windows.Forms.Button();
|
||||
|
||||
this.pnlDescricaoAba = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.lblDescricaoAba = new System.Windows.Forms.Label();
|
||||
|
||||
this.pnlConteudo = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
|
||||
this.footerPanel = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.footerLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
|
||||
this.campoModoLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblModoOperacao = new System.Windows.Forms.Label();
|
||||
this.cmbModoOperacao = new System.Windows.Forms.ComboBox();
|
||||
|
||||
this.campoModoLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.campoDescricaoLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.campoRegistroLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblDescricaoOperacao = new System.Windows.Forms.Label();
|
||||
this.txtDescricaoOperacao = new System.Windows.Forms.TextBox();
|
||||
this.campoRegistroLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblRegistroDados = new System.Windows.Forms.Label();
|
||||
this.chkRegistrarPosProcessamento = new System.Windows.Forms.CheckBox();
|
||||
|
||||
this.btnRedefinir = new AgroBase.Forms.IHM.Controls.HmiSidebarButton();
|
||||
this.btnSalvar = new AgroBase.Forms.IHM.Controls.HmiSidebarButton();
|
||||
|
||||
this.rootLayout.SuspendLayout();
|
||||
this.tabsLayout.SuspendLayout();
|
||||
this.pnlDescricaoAba.SuspendLayout();
|
||||
|
|
@ -54,9 +50,10 @@
|
|||
this.campoDescricaoLayout.SuspendLayout();
|
||||
this.campoRegistroLayout.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
||||
//
|
||||
// rootLayout
|
||||
this.rootLayout.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.Background;
|
||||
//
|
||||
this.rootLayout.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(17)))), ((int)(((byte)(20)))));
|
||||
this.rootLayout.ColumnCount = 1;
|
||||
this.rootLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.rootLayout.Controls.Add(this.tabsLayout, 0, 0);
|
||||
|
|
@ -64,15 +61,19 @@
|
|||
this.rootLayout.Controls.Add(this.pnlConteudo, 0, 2);
|
||||
this.rootLayout.Controls.Add(this.footerPanel, 0, 3);
|
||||
this.rootLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rootLayout.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.rootLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.rootLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.rootLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.rootLayout.Name = "rootLayout";
|
||||
this.rootLayout.RowCount = 4;
|
||||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 45F));
|
||||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
|
||||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 62F));
|
||||
|
||||
this.rootLayout.Size = new System.Drawing.Size(784, 435);
|
||||
this.rootLayout.TabIndex = 0;
|
||||
//
|
||||
// tabsLayout
|
||||
//
|
||||
this.tabsLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.tabsLayout.ColumnCount = 4;
|
||||
this.tabsLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||
|
|
@ -84,53 +85,149 @@
|
|||
this.tabsLayout.Controls.Add(this.btnAbaAtuador, 2, 0);
|
||||
this.tabsLayout.Controls.Add(this.btnAbaMapa, 3, 0);
|
||||
this.tabsLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tabsLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.tabsLayout.Margin = new System.Windows.Forms.Padding(0, 0, 0, 3);
|
||||
this.tabsLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.tabsLayout.Name = "tabsLayout";
|
||||
this.tabsLayout.RowCount = 1;
|
||||
this.tabsLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
SetupTabButton(this.btnAbaMovimento, "↔ Movimento");
|
||||
SetupTabButton(this.btnAbaDirecional, "◉ Direcional");
|
||||
SetupTabButton(this.btnAbaAtuador, "♨ Atuador");
|
||||
SetupTabButton(this.btnAbaMapa, "⌖ Mapa e Navegação");
|
||||
|
||||
this.tabsLayout.Size = new System.Drawing.Size(784, 42);
|
||||
this.tabsLayout.TabIndex = 0;
|
||||
//
|
||||
// btnAbaMovimento
|
||||
//
|
||||
this.btnAbaMovimento.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.btnAbaMovimento.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAbaMovimento.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnAbaMovimento.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnAbaMovimento.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnAbaMovimento.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
this.btnAbaMovimento.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.btnAbaMovimento.Location = new System.Drawing.Point(2, 0);
|
||||
this.btnAbaMovimento.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.btnAbaMovimento.Name = "btnAbaMovimento";
|
||||
this.btnAbaMovimento.Size = new System.Drawing.Size(192, 42);
|
||||
this.btnAbaMovimento.TabIndex = 0;
|
||||
this.btnAbaMovimento.Text = "↔ Movimento";
|
||||
this.btnAbaMovimento.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// btnAbaDirecional
|
||||
//
|
||||
this.btnAbaDirecional.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.btnAbaDirecional.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAbaDirecional.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnAbaDirecional.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnAbaDirecional.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnAbaDirecional.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
this.btnAbaDirecional.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.btnAbaDirecional.Location = new System.Drawing.Point(198, 0);
|
||||
this.btnAbaDirecional.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.btnAbaDirecional.Name = "btnAbaDirecional";
|
||||
this.btnAbaDirecional.Size = new System.Drawing.Size(192, 42);
|
||||
this.btnAbaDirecional.TabIndex = 1;
|
||||
this.btnAbaDirecional.Text = "◉ Direcional";
|
||||
this.btnAbaDirecional.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// btnAbaAtuador
|
||||
//
|
||||
this.btnAbaAtuador.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.btnAbaAtuador.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAbaAtuador.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnAbaAtuador.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnAbaAtuador.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnAbaAtuador.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
this.btnAbaAtuador.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.btnAbaAtuador.Location = new System.Drawing.Point(394, 0);
|
||||
this.btnAbaAtuador.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.btnAbaAtuador.Name = "btnAbaAtuador";
|
||||
this.btnAbaAtuador.Size = new System.Drawing.Size(192, 42);
|
||||
this.btnAbaAtuador.TabIndex = 2;
|
||||
this.btnAbaAtuador.Text = "♨ Atuador";
|
||||
this.btnAbaAtuador.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// btnAbaMapa
|
||||
//
|
||||
this.btnAbaMapa.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.btnAbaMapa.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAbaMapa.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnAbaMapa.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnAbaMapa.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnAbaMapa.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
this.btnAbaMapa.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.btnAbaMapa.Location = new System.Drawing.Point(590, 0);
|
||||
this.btnAbaMapa.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
this.btnAbaMapa.Name = "btnAbaMapa";
|
||||
this.btnAbaMapa.Size = new System.Drawing.Size(192, 42);
|
||||
this.btnAbaMapa.TabIndex = 3;
|
||||
this.btnAbaMapa.Text = "⌖ Mapa e Navegação";
|
||||
this.btnAbaMapa.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// pnlDescricaoAba
|
||||
this.pnlDescricaoAba.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
//
|
||||
this.pnlDescricaoAba.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlDescricaoAba.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlDescricaoAba.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlDescricaoAba.Controls.Add(this.lblDescricaoAba);
|
||||
this.pnlDescricaoAba.CornerRadius = 7;
|
||||
this.pnlDescricaoAba.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlDescricaoAba.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.SurfaceRaised;
|
||||
this.pnlDescricaoAba.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.pnlDescricaoAba.Location = new System.Drawing.Point(0, 45);
|
||||
this.pnlDescricaoAba.Margin = new System.Windows.Forms.Padding(0, 0, 0, 3);
|
||||
this.pnlDescricaoAba.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlDescricaoAba.Name = "pnlDescricaoAba";
|
||||
this.pnlDescricaoAba.Padding = new System.Windows.Forms.Padding(10, 0, 10, 0);
|
||||
|
||||
this.pnlDescricaoAba.Size = new System.Drawing.Size(784, 25);
|
||||
this.pnlDescricaoAba.TabIndex = 1;
|
||||
//
|
||||
// lblDescricaoAba
|
||||
//
|
||||
this.lblDescricaoAba.AutoEllipsis = true;
|
||||
this.lblDescricaoAba.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblDescricaoAba.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblDescricaoAba.Font = new System.Drawing.Font("Segoe UI", 7.2F);
|
||||
this.lblDescricaoAba.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
this.lblDescricaoAba.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.lblDescricaoAba.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblDescricaoAba.Location = new System.Drawing.Point(10, 0);
|
||||
this.lblDescricaoAba.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblDescricaoAba.Name = "lblDescricaoAba";
|
||||
this.lblDescricaoAba.Size = new System.Drawing.Size(764, 25);
|
||||
this.lblDescricaoAba.TabIndex = 0;
|
||||
this.lblDescricaoAba.Text = "Automação, assistências e velocidades de deslocamento";
|
||||
this.lblDescricaoAba.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
|
||||
//
|
||||
// pnlConteudo
|
||||
this.pnlConteudo.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
//
|
||||
this.pnlConteudo.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlConteudo.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlConteudo.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlConteudo.CornerRadius = 9;
|
||||
this.pnlConteudo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlConteudo.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.pnlConteudo.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlConteudo.Location = new System.Drawing.Point(0, 73);
|
||||
this.pnlConteudo.Margin = new System.Windows.Forms.Padding(0, 0, 0, 3);
|
||||
this.pnlConteudo.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlConteudo.Name = "pnlConteudo";
|
||||
this.pnlConteudo.Padding = new System.Windows.Forms.Padding(6);
|
||||
|
||||
this.pnlConteudo.Size = new System.Drawing.Size(784, 297);
|
||||
this.pnlConteudo.TabIndex = 2;
|
||||
//
|
||||
// footerPanel
|
||||
this.footerPanel.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
//
|
||||
this.footerPanel.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.footerPanel.BackColor = System.Drawing.Color.Transparent;
|
||||
this.footerPanel.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.footerPanel.Controls.Add(this.footerLayout);
|
||||
this.footerPanel.CornerRadius = 9;
|
||||
this.footerPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.footerPanel.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
this.footerPanel.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.footerPanel.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.footerPanel.Location = new System.Drawing.Point(0, 373);
|
||||
this.footerPanel.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.footerPanel.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.footerPanel.Name = "footerPanel";
|
||||
this.footerPanel.Padding = new System.Windows.Forms.Padding(8, 6, 8, 6);
|
||||
|
||||
this.footerPanel.Size = new System.Drawing.Size(784, 62);
|
||||
this.footerPanel.TabIndex = 3;
|
||||
//
|
||||
// footerLayout
|
||||
//
|
||||
this.footerLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.footerLayout.ColumnCount = 5;
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 145F));
|
||||
|
|
@ -144,158 +241,210 @@
|
|||
this.footerLayout.Controls.Add(this.btnRedefinir, 3, 0);
|
||||
this.footerLayout.Controls.Add(this.btnSalvar, 4, 0);
|
||||
this.footerLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.footerLayout.Margin = System.Windows.Forms.Padding.Empty;
|
||||
this.footerLayout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
this.footerLayout.Location = new System.Drawing.Point(8, 6);
|
||||
this.footerLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.footerLayout.Name = "footerLayout";
|
||||
this.footerLayout.RowCount = 1;
|
||||
this.footerLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
|
||||
// lblModoOperacao
|
||||
ConfigurarCampoFooter(this.campoModoLayout);
|
||||
this.footerLayout.Size = new System.Drawing.Size(768, 50);
|
||||
this.footerLayout.TabIndex = 0;
|
||||
//
|
||||
// campoModoLayout
|
||||
//
|
||||
this.campoModoLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.campoModoLayout.ColumnCount = 1;
|
||||
this.campoModoLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.campoModoLayout.Controls.Add(this.lblModoOperacao, 0, 0);
|
||||
this.campoModoLayout.Controls.Add(this.cmbModoOperacao, 0, 1);
|
||||
SetupFooterLabel(this.lblModoOperacao, "Modo da operação");
|
||||
this.campoModoLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.campoModoLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.campoModoLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.campoModoLayout.Name = "campoModoLayout";
|
||||
this.campoModoLayout.RowCount = 2;
|
||||
this.campoModoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
|
||||
this.campoModoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.campoModoLayout.Size = new System.Drawing.Size(145, 50);
|
||||
this.campoModoLayout.TabIndex = 0;
|
||||
//
|
||||
// lblModoOperacao
|
||||
//
|
||||
this.lblModoOperacao.AutoEllipsis = true;
|
||||
this.lblModoOperacao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblModoOperacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblModoOperacao.Font = new System.Drawing.Font("Segoe UI", 7.2F, System.Drawing.FontStyle.Bold);
|
||||
this.lblModoOperacao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblModoOperacao.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblModoOperacao.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblModoOperacao.Name = "lblModoOperacao";
|
||||
this.lblModoOperacao.Size = new System.Drawing.Size(145, 17);
|
||||
this.lblModoOperacao.TabIndex = 0;
|
||||
this.lblModoOperacao.Text = "Modo da operação";
|
||||
this.lblModoOperacao.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// cmbModoOperacao
|
||||
//
|
||||
this.cmbModoOperacao.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.cmbModoOperacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.cmbModoOperacao.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.SurfaceRaised;
|
||||
this.cmbModoOperacao.DropDownHeight = 150;
|
||||
this.cmbModoOperacao.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmbModoOperacao.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.cmbModoOperacao.Font = new System.Drawing.Font("Segoe UI", 7.5F, System.Drawing.FontStyle.Bold);
|
||||
this.cmbModoOperacao.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
this.cmbModoOperacao.Margin = new System.Windows.Forms.Padding(0, 1, 5, 3);
|
||||
this.cmbModoOperacao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||
this.cmbModoOperacao.IntegralHeight = false;
|
||||
this.cmbModoOperacao.DropDownHeight = 150;
|
||||
|
||||
// lblDescricao
|
||||
ConfigurarCampoFooter(this.campoDescricaoLayout);
|
||||
this.cmbModoOperacao.Location = new System.Drawing.Point(0, 18);
|
||||
this.cmbModoOperacao.Margin = new System.Windows.Forms.Padding(0, 1, 5, 3);
|
||||
this.cmbModoOperacao.Name = "cmbModoOperacao";
|
||||
this.cmbModoOperacao.Size = new System.Drawing.Size(140, 20);
|
||||
this.cmbModoOperacao.TabIndex = 1;
|
||||
//
|
||||
// campoDescricaoLayout
|
||||
//
|
||||
this.campoDescricaoLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.campoDescricaoLayout.ColumnCount = 1;
|
||||
this.campoDescricaoLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.campoDescricaoLayout.Controls.Add(this.lblDescricaoOperacao, 0, 0);
|
||||
this.campoDescricaoLayout.Controls.Add(this.txtDescricaoOperacao, 0, 1);
|
||||
SetupFooterLabel(this.lblDescricaoOperacao, "Descrição");
|
||||
this.txtDescricaoOperacao.AutoSize = false;
|
||||
this.txtDescricaoOperacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.txtDescricaoOperacao.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.SurfaceRaised;
|
||||
this.txtDescricaoOperacao.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.Text;
|
||||
this.campoDescricaoLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.campoDescricaoLayout.Location = new System.Drawing.Point(145, 0);
|
||||
this.campoDescricaoLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.campoDescricaoLayout.Name = "campoDescricaoLayout";
|
||||
this.campoDescricaoLayout.RowCount = 2;
|
||||
this.campoDescricaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
|
||||
this.campoDescricaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.campoDescricaoLayout.Size = new System.Drawing.Size(198, 50);
|
||||
this.campoDescricaoLayout.TabIndex = 1;
|
||||
//
|
||||
// lblDescricaoOperacao
|
||||
//
|
||||
this.lblDescricaoOperacao.AutoEllipsis = true;
|
||||
this.lblDescricaoOperacao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblDescricaoOperacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblDescricaoOperacao.Font = new System.Drawing.Font("Segoe UI", 7.2F, System.Drawing.FontStyle.Bold);
|
||||
this.lblDescricaoOperacao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblDescricaoOperacao.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblDescricaoOperacao.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblDescricaoOperacao.Name = "lblDescricaoOperacao";
|
||||
this.lblDescricaoOperacao.Size = new System.Drawing.Size(198, 17);
|
||||
this.lblDescricaoOperacao.TabIndex = 0;
|
||||
this.lblDescricaoOperacao.Text = "Descrição";
|
||||
this.lblDescricaoOperacao.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// txtDescricaoOperacao
|
||||
//
|
||||
this.txtDescricaoOperacao.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.txtDescricaoOperacao.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.txtDescricaoOperacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.txtDescricaoOperacao.Font = new System.Drawing.Font("Segoe UI", 7.5F);
|
||||
this.txtDescricaoOperacao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||
this.txtDescricaoOperacao.Location = new System.Drawing.Point(3, 18);
|
||||
this.txtDescricaoOperacao.Margin = new System.Windows.Forms.Padding(3, 1, 5, 3);
|
||||
this.txtDescricaoOperacao.MaxLength = 120;
|
||||
|
||||
// posProcessamentoLayout
|
||||
ConfigurarCampoFooter(this.campoRegistroLayout);
|
||||
this.txtDescricaoOperacao.Name = "txtDescricaoOperacao";
|
||||
this.txtDescricaoOperacao.Size = new System.Drawing.Size(190, 29);
|
||||
this.txtDescricaoOperacao.TabIndex = 1;
|
||||
//
|
||||
// campoRegistroLayout
|
||||
//
|
||||
this.campoRegistroLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.campoRegistroLayout.ColumnCount = 1;
|
||||
this.campoRegistroLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.campoRegistroLayout.Controls.Add(this.lblRegistroDados, 0, 0);
|
||||
this.campoRegistroLayout.Controls.Add(this.chkRegistrarPosProcessamento, 0, 1);
|
||||
SetupFooterLabel(this.lblRegistroDados, "Registro de dados");
|
||||
this.campoRegistroLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.campoRegistroLayout.Location = new System.Drawing.Point(343, 0);
|
||||
this.campoRegistroLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.campoRegistroLayout.Name = "campoRegistroLayout";
|
||||
this.campoRegistroLayout.RowCount = 2;
|
||||
this.campoRegistroLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
|
||||
this.campoRegistroLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.campoRegistroLayout.Size = new System.Drawing.Size(145, 50);
|
||||
this.campoRegistroLayout.TabIndex = 2;
|
||||
//
|
||||
// lblRegistroDados
|
||||
//
|
||||
this.lblRegistroDados.AutoEllipsis = true;
|
||||
this.lblRegistroDados.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblRegistroDados.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblRegistroDados.Font = new System.Drawing.Font("Segoe UI", 7.2F, System.Drawing.FontStyle.Bold);
|
||||
this.lblRegistroDados.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblRegistroDados.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblRegistroDados.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblRegistroDados.Name = "lblRegistroDados";
|
||||
this.lblRegistroDados.Size = new System.Drawing.Size(145, 17);
|
||||
this.lblRegistroDados.TabIndex = 0;
|
||||
this.lblRegistroDados.Text = "Registro de dados";
|
||||
this.lblRegistroDados.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// chkRegistrarPosProcessamento
|
||||
//
|
||||
this.chkRegistrarPosProcessamento.Appearance = System.Windows.Forms.Appearance.Button;
|
||||
this.chkRegistrarPosProcessamento.AutoSize = false;
|
||||
this.chkRegistrarPosProcessamento.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.chkRegistrarPosProcessamento.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.chkRegistrarPosProcessamento.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.chkRegistrarPosProcessamento.FlatAppearance.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.chkRegistrarPosProcessamento.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(90)))), ((int)(((byte)(46)))));
|
||||
this.chkRegistrarPosProcessamento.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.chkRegistrarPosProcessamento.FlatAppearance.BorderSize = 1;
|
||||
this.chkRegistrarPosProcessamento.FlatAppearance.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
this.chkRegistrarPosProcessamento.FlatAppearance.CheckedBackColor = System.Drawing.Color.FromArgb(30, 90, 46);
|
||||
this.chkRegistrarPosProcessamento.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.SurfaceRaised;
|
||||
this.chkRegistrarPosProcessamento.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
this.chkRegistrarPosProcessamento.Font = new System.Drawing.Font("Segoe UI", 7F, System.Drawing.FontStyle.Bold);
|
||||
this.chkRegistrarPosProcessamento.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.chkRegistrarPosProcessamento.Location = new System.Drawing.Point(3, 18);
|
||||
this.chkRegistrarPosProcessamento.Margin = new System.Windows.Forms.Padding(3, 1, 5, 3);
|
||||
this.chkRegistrarPosProcessamento.Name = "chkRegistrarPosProcessamento";
|
||||
this.chkRegistrarPosProcessamento.Size = new System.Drawing.Size(137, 29);
|
||||
this.chkRegistrarPosProcessamento.TabIndex = 1;
|
||||
this.chkRegistrarPosProcessamento.Text = "DESATIVADO";
|
||||
this.chkRegistrarPosProcessamento.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.chkRegistrarPosProcessamento.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.chkRegistrarPosProcessamento.UseVisualStyleBackColor = false;
|
||||
|
||||
//
|
||||
// btnRedefinir
|
||||
SetupFooterAction(this.btnRedefinir, "REDEFINIR", "↻", AgroBase.Forms.IHM.Controls.HmiTheme.Warning);
|
||||
|
||||
//
|
||||
this.btnRedefinir.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(181)))), ((int)(((byte)(68)))));
|
||||
this.btnRedefinir.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnRedefinir.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(181)))), ((int)(((byte)(68)))));
|
||||
this.btnRedefinir.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnRedefinir.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnRedefinir.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnRedefinir.IconText = "↻";
|
||||
this.btnRedefinir.Location = new System.Drawing.Point(491, 0);
|
||||
this.btnRedefinir.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.btnRedefinir.Name = "btnRedefinir";
|
||||
this.btnRedefinir.Size = new System.Drawing.Size(132, 50);
|
||||
this.btnRedefinir.TabIndex = 3;
|
||||
this.btnRedefinir.Text = "REDEFINIR";
|
||||
//
|
||||
// btnSalvar
|
||||
SetupFooterAction(this.btnSalvar, "SALVAR", "▣", AgroBase.Forms.IHM.Controls.HmiTheme.Success);
|
||||
|
||||
//
|
||||
this.btnSalvar.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.btnSalvar.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnSalvar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.btnSalvar.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSalvar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnSalvar.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnSalvar.IconText = "▣";
|
||||
this.btnSalvar.Location = new System.Drawing.Point(626, 0);
|
||||
this.btnSalvar.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.btnSalvar.Name = "btnSalvar";
|
||||
this.btnSalvar.Size = new System.Drawing.Size(142, 50);
|
||||
this.btnSalvar.TabIndex = 4;
|
||||
this.btnSalvar.Text = "SALVAR";
|
||||
//
|
||||
// ucOperacaoParametros
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.Background;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(17)))), ((int)(((byte)(20)))));
|
||||
this.Controls.Add(this.rootLayout);
|
||||
this.DoubleBuffered = true;
|
||||
this.Name = "ucOperacaoParametros";
|
||||
this.Size = new System.Drawing.Size(784, 435);
|
||||
|
||||
this.campoModoLayout.ResumeLayout(true);
|
||||
this.campoModoLayout.PerformLayout();
|
||||
|
||||
this.campoDescricaoLayout.ResumeLayout(true);
|
||||
this.campoDescricaoLayout.PerformLayout();
|
||||
|
||||
this.campoRegistroLayout.ResumeLayout(true);
|
||||
this.campoRegistroLayout.PerformLayout();
|
||||
|
||||
this.footerLayout.ResumeLayout(true);
|
||||
this.footerLayout.PerformLayout();
|
||||
|
||||
this.footerPanel.ResumeLayout(true);
|
||||
this.footerPanel.PerformLayout();
|
||||
|
||||
this.pnlDescricaoAba.ResumeLayout(true);
|
||||
this.pnlDescricaoAba.PerformLayout();
|
||||
|
||||
this.tabsLayout.ResumeLayout(true);
|
||||
this.tabsLayout.PerformLayout();
|
||||
|
||||
this.rootLayout.ResumeLayout(true);
|
||||
this.rootLayout.PerformLayout();
|
||||
|
||||
this.rootLayout.ResumeLayout(false);
|
||||
this.tabsLayout.ResumeLayout(false);
|
||||
this.pnlDescricaoAba.ResumeLayout(false);
|
||||
this.footerPanel.ResumeLayout(false);
|
||||
this.footerLayout.ResumeLayout(false);
|
||||
this.campoModoLayout.ResumeLayout(false);
|
||||
this.campoDescricaoLayout.ResumeLayout(false);
|
||||
this.campoRegistroLayout.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
|
||||
private static void SetupTabButton(System.Windows.Forms.Button button, string text)
|
||||
{
|
||||
button.BackColor = AgroBase.Forms.IHM.Controls.HmiTheme.Surface;
|
||||
button.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
button.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
button.FlatAppearance.BorderColor = AgroBase.Forms.IHM.Controls.HmiTheme.Border;
|
||||
button.FlatAppearance.BorderSize = 1;
|
||||
button.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
button.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||
button.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
button.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
|
||||
button.Text = text;
|
||||
button.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
button.UseVisualStyleBackColor = false;
|
||||
}
|
||||
|
||||
private static void SetupFooterLabel(System.Windows.Forms.Label label, string text)
|
||||
{
|
||||
label.AutoEllipsis = true;
|
||||
label.BackColor = System.Drawing.Color.Transparent;
|
||||
label.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
label.Font = new System.Drawing.Font("Segoe UI", 7.2F, System.Drawing.FontStyle.Bold);
|
||||
label.ForeColor = AgroBase.Forms.IHM.Controls.HmiTheme.TextMuted;
|
||||
label.Margin = System.Windows.Forms.Padding.Empty;
|
||||
label.Text = text;
|
||||
label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
}
|
||||
|
||||
private static void SetupFooterAction(AgroBase.Forms.IHM.Controls.HmiSidebarButton button, string text, string icon, System.Drawing.Color accent)
|
||||
{
|
||||
button.AccentColor = accent;
|
||||
button.BorderColor = accent;
|
||||
button.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
button.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
button.FillColor = AgroBase.Forms.IHM.Controls.HmiTheme.SurfaceRaised;
|
||||
button.IconText = icon;
|
||||
button.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
button.MaximumSize = System.Drawing.Size.Empty;
|
||||
button.MinimumSize = System.Drawing.Size.Empty;
|
||||
button.Text = text;
|
||||
}
|
||||
|
||||
private static void ConfigurarCampoFooter(System.Windows.Forms.TableLayoutPanel layout)
|
||||
{
|
||||
layout.BackColor = System.Drawing.Color.Transparent;
|
||||
layout.ColumnCount = 1;
|
||||
layout.ColumnStyles.Clear();
|
||||
layout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
layout.RowCount = 2;
|
||||
layout.RowStyles.Clear();
|
||||
layout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
|
||||
layout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
layout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
layout.Margin = System.Windows.Forms.Padding.Empty;
|
||||
layout.Padding = System.Windows.Forms.Padding.Empty;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -73,7 +73,6 @@ namespace AgroBase.Forms.IHM.Operacao
|
|||
|
||||
try
|
||||
{
|
||||
var operacao = operacaoParametrizando?.Sensoriamento?.Operacao;
|
||||
var parametros = operacaoParametrizando?.Parametros;
|
||||
ModoOperacao modo = operacaoParametrizando?.Parametros?.Modo ?? ModoOperacao.NaoDefinido;
|
||||
int indiceModo = (int)modo;
|
||||
|
|
@ -212,7 +211,8 @@ namespace AgroBase.Forms.IHM.Operacao
|
|||
novaOperacao.Parametros.Mapa = dadosMapaAtual;
|
||||
novaOperacao.Parametros.TipoMapa = tipoMapaAtual;
|
||||
novaOperacao.Parametros.RuasPercorrer = new List<string>();
|
||||
novaOperacao.Parametros.Descricao = descricaoAtual;
|
||||
if (!string.IsNullOrEmpty(descricaoAtual))
|
||||
novaOperacao.Parametros.Descricao = descricaoAtual;
|
||||
if (novaOperacao.Parametros?.Controle != null)
|
||||
novaOperacao.Parametros.Controle.RegistrarDadosPosProcessamento = registrarDados;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -20,6 +20,7 @@ namespace AgroBase.Forms.IHM.Operacao
|
|||
private bool _controleDescartado;
|
||||
|
||||
private OperacaoModel op => Variaveis.OperacaoEmAndamento;
|
||||
private bool ModoManual => (op?.Parametros?.Controle?.ControleManualAcionado ?? false) || (op?.Parametros?.Modo ?? ModoOperacao.NaoDefinido) == ModoOperacao.Manual;
|
||||
|
||||
private readonly List<HmiNozzleCard> _bicos = new List<HmiNozzleCard>();
|
||||
public IList<HmiNozzleCard> Bicos
|
||||
|
|
@ -56,6 +57,9 @@ namespace AgroBase.Forms.IHM.Operacao
|
|||
cardPressaoSp.Valor = pressaoSP.ToString("F1");
|
||||
cardStatusBomba.Valor = bombaLigada ? "Ligada" : "Desligada";
|
||||
cardStatusBomba.CorValor = bombaLigada ? HmiTheme.Success : HmiTheme.Danger;
|
||||
|
||||
btnLigarBomba.Enabled = ModoManual;
|
||||
btnDesligarBomba.Enabled = ModoManual;
|
||||
}
|
||||
|
||||
private void AtualizarDadosAgitador()
|
||||
|
|
@ -66,6 +70,9 @@ namespace AgroBase.Forms.IHM.Operacao
|
|||
cardModoAgitador.Valor = modo.ToString();
|
||||
cardStatusAgitador.Valor = agitadorLigado ? "Ligado" : "Desligado";
|
||||
cardStatusAgitador.CorValor = agitadorLigado ? HmiTheme.Success : HmiTheme.Danger;
|
||||
|
||||
btnLigarAgitador.Enabled = ModoManual;
|
||||
btnDesligarAgitador.Enabled = ModoManual;
|
||||
}
|
||||
|
||||
private void AtualizarSaudeModulos()
|
||||
|
|
@ -93,12 +100,11 @@ namespace AgroBase.Forms.IHM.Operacao
|
|||
|
||||
void DefinirSaudeModulo(HmiSprayerModuleHealthRow card, HmiRoundedPanel pnl, double saude, StatusModulo status)
|
||||
{
|
||||
card.Saude = saude.ToString("F0") + "%";
|
||||
card.Status = status.ToString();
|
||||
card.StatusColor = FuncoesIHM.CorPorStatusModulo(status);
|
||||
card.Saude = saude;
|
||||
card.Status = status;
|
||||
|
||||
if (pnl != null)
|
||||
FuncoesIHM.AplicarEstadoPainel(pnl, card.StatusColor);
|
||||
FuncoesIHM.AplicarEstadoPainel(pnl, FuncoesIHM.CorPorStatusModulo(status));
|
||||
}
|
||||
|
||||
DefinirSaudeModulo(healthBomba, pnlBomba, saudeBomba?.saude ?? 0, saudeBomba?.status ?? StatusModulo.Desconectado);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
using System.Windows.Forms;
|
||||
using AgroBase.Forms.IHM.Controls;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
namespace AgroBase.Forms.IHM
|
||||
{
|
||||
|
|
@ -51,32 +54,32 @@ namespace AgroBase.Forms.IHM
|
|||
this.redeCan = new AgroBase.Forms.IHM.Controls.HmiNetworkEditor();
|
||||
this.rightLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.pnlGeometria = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.geometriaLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblGeometria = new System.Windows.Forms.Label();
|
||||
this.fldLeverFrontal = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldLeverLateral = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldEntreEixos = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldAnguloFrontal = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldAnguloLateral = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.pnlBateria = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.bateriaLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblBateria = new System.Windows.Forms.Label();
|
||||
this.fldTensaoMin = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldTensaoMax = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldCorrenteMax = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldPercentualTensaoMin = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.pnlReservatorio = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.reservatorioLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblReservatorio = new System.Windows.Forms.Label();
|
||||
this.fldCapacidadeReservatorio = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldReservatorioMin = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldReservatorioCritico = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.pnlFooter = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||
this.footerLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblAlteracoes = new System.Windows.Forms.Label();
|
||||
this.btnRestaurar = new AgroBase.Forms.IHM.Controls.HmiSidebarButton();
|
||||
this.btnSalvar = new AgroBase.Forms.IHM.Controls.HmiSidebarButton();
|
||||
this.btnTestarComunicacao = new AgroBase.Forms.IHM.Controls.HmiSidebarButton();
|
||||
this.geometriaLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.fldLeverFrontal = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldLeverLateral = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldEntreEixos = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldAnguloFrontal = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldAnguloLateral = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.lblGeometria = new System.Windows.Forms.Label();
|
||||
this.bateriaLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.fldTensaoMin = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldTensaoMax = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldCorrenteMax = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldPercentualTensaoMin = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.lblBateria = new System.Windows.Forms.Label();
|
||||
this.reservatorioLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.fldCapacidadeReservatorio = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldReservatorioMin = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.fldReservatorioCritico = new AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField();
|
||||
this.lblReservatorio = new System.Windows.Forms.Label();
|
||||
this.rootLayout.SuspendLayout();
|
||||
this.pnlHeader.SuspendLayout();
|
||||
this.headerLayout.SuspendLayout();
|
||||
|
|
@ -89,11 +92,14 @@ namespace AgroBase.Forms.IHM
|
|||
this.pnlRedes.SuspendLayout();
|
||||
this.redesLayout.SuspendLayout();
|
||||
this.rightLayout.SuspendLayout();
|
||||
this.pnlGeometria.SuspendLayout();
|
||||
this.geometriaLayout.SuspendLayout();
|
||||
this.pnlBateria.SuspendLayout();
|
||||
this.bateriaLayout.SuspendLayout();
|
||||
this.pnlReservatorio.SuspendLayout();
|
||||
this.reservatorioLayout.SuspendLayout();
|
||||
this.pnlFooter.SuspendLayout();
|
||||
this.footerLayout.SuspendLayout();
|
||||
this.geometriaLayout.SuspendLayout();
|
||||
this.bateriaLayout.SuspendLayout();
|
||||
this.reservatorioLayout.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// rootLayout
|
||||
|
|
@ -137,9 +143,9 @@ namespace AgroBase.Forms.IHM
|
|||
//
|
||||
this.headerLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.headerLayout.ColumnCount = 3;
|
||||
this.headerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 102F));
|
||||
this.headerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 112F));
|
||||
this.headerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.headerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 176F));
|
||||
this.headerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 165F));
|
||||
this.headerLayout.Controls.Add(this.btnVoltar, 0, 0);
|
||||
this.headerLayout.Controls.Add(this.headerTextLayout, 1, 0);
|
||||
this.headerLayout.Controls.Add(this.pnlRover, 2, 0);
|
||||
|
|
@ -155,16 +161,17 @@ namespace AgroBase.Forms.IHM
|
|||
//
|
||||
this.btnVoltar.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(61)))), ((int)(((byte)(165)))), ((int)(((byte)(255)))));
|
||||
this.btnVoltar.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnVoltar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnVoltar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(57)))), ((int)(((byte)(119)))), ((int)(((byte)(151)))));
|
||||
this.btnVoltar.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnVoltar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnVoltar.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnVoltar.IconText = "←";
|
||||
this.btnVoltar.Location = new System.Drawing.Point(0, 2);
|
||||
this.btnVoltar.Margin = new System.Windows.Forms.Padding(0, 2, 8, 2);
|
||||
this.btnVoltar.MinimumSize = new System.Drawing.Size(102, 36);
|
||||
this.btnVoltar.Location = new System.Drawing.Point(0, 4);
|
||||
this.btnVoltar.Margin = new System.Windows.Forms.Padding(0, 4, 8, 4);
|
||||
this.btnVoltar.MaximumSize = new System.Drawing.Size(112, 44);
|
||||
this.btnVoltar.MinimumSize = new System.Drawing.Size(96, 36);
|
||||
this.btnVoltar.Name = "btnVoltar";
|
||||
this.btnVoltar.Size = new System.Drawing.Size(102, 42);
|
||||
this.btnVoltar.Size = new System.Drawing.Size(104, 38);
|
||||
this.btnVoltar.TabIndex = 0;
|
||||
this.btnVoltar.Text = "VOLTAR";
|
||||
//
|
||||
|
|
@ -176,13 +183,13 @@ namespace AgroBase.Forms.IHM
|
|||
this.headerTextLayout.Controls.Add(this.lblTitulo, 0, 0);
|
||||
this.headerTextLayout.Controls.Add(this.lblSubtitulo, 0, 1);
|
||||
this.headerTextLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.headerTextLayout.Location = new System.Drawing.Point(102, 0);
|
||||
this.headerTextLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.headerTextLayout.Location = new System.Drawing.Point(122, 0);
|
||||
this.headerTextLayout.Margin = new System.Windows.Forms.Padding(10, 0, 5, 0);
|
||||
this.headerTextLayout.Name = "headerTextLayout";
|
||||
this.headerTextLayout.RowCount = 2;
|
||||
this.headerTextLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 60F));
|
||||
this.headerTextLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 40F));
|
||||
this.headerTextLayout.Size = new System.Drawing.Size(486, 46);
|
||||
this.headerTextLayout.Size = new System.Drawing.Size(472, 46);
|
||||
this.headerTextLayout.TabIndex = 1;
|
||||
//
|
||||
// lblTitulo
|
||||
|
|
@ -194,7 +201,7 @@ namespace AgroBase.Forms.IHM
|
|||
this.lblTitulo.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblTitulo.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblTitulo.Name = "lblTitulo";
|
||||
this.lblTitulo.Size = new System.Drawing.Size(486, 27);
|
||||
this.lblTitulo.Size = new System.Drawing.Size(472, 27);
|
||||
this.lblTitulo.TabIndex = 0;
|
||||
this.lblTitulo.Text = "AJUSTES DO EQUIPAMENTO";
|
||||
this.lblTitulo.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||
|
|
@ -208,7 +215,7 @@ namespace AgroBase.Forms.IHM
|
|||
this.lblSubtitulo.Location = new System.Drawing.Point(0, 27);
|
||||
this.lblSubtitulo.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblSubtitulo.Name = "lblSubtitulo";
|
||||
this.lblSubtitulo.Size = new System.Drawing.Size(486, 19);
|
||||
this.lblSubtitulo.Size = new System.Drawing.Size(472, 19);
|
||||
this.lblSubtitulo.TabIndex = 1;
|
||||
this.lblSubtitulo.Text = "Configurações físicas, câmeras e comunicação do rover";
|
||||
//
|
||||
|
|
@ -221,12 +228,12 @@ namespace AgroBase.Forms.IHM
|
|||
this.pnlRover.CornerRadius = 9;
|
||||
this.pnlRover.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlRover.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(58)))), ((int)(((byte)(46)))));
|
||||
this.pnlRover.Location = new System.Drawing.Point(593, 0);
|
||||
this.pnlRover.Location = new System.Drawing.Point(604, 0);
|
||||
this.pnlRover.Margin = new System.Windows.Forms.Padding(5, 0, 0, 0);
|
||||
this.pnlRover.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.pnlRover.Name = "pnlRover";
|
||||
this.pnlRover.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pnlRover.Size = new System.Drawing.Size(171, 46);
|
||||
this.pnlRover.Size = new System.Drawing.Size(160, 46);
|
||||
this.pnlRover.TabIndex = 2;
|
||||
//
|
||||
// lblRover
|
||||
|
|
@ -237,7 +244,7 @@ namespace AgroBase.Forms.IHM
|
|||
this.lblRover.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.lblRover.Location = new System.Drawing.Point(8, 8);
|
||||
this.lblRover.Name = "lblRover";
|
||||
this.lblRover.Size = new System.Drawing.Size(155, 30);
|
||||
this.lblRover.Size = new System.Drawing.Size(144, 30);
|
||||
this.lblRover.TabIndex = 0;
|
||||
this.lblRover.Text = "ROVER 01\r\nConfiguração local";
|
||||
this.lblRover.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
|
|
@ -290,22 +297,18 @@ namespace AgroBase.Forms.IHM
|
|||
this.pnlCameras.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.pnlCameras.Name = "pnlCameras";
|
||||
this.pnlCameras.Padding = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.pnlCameras.Size = new System.Drawing.Size(388, 258);
|
||||
this.pnlCameras.Size = new System.Drawing.Size(388, 281);
|
||||
this.pnlCameras.TabIndex = 0;
|
||||
//
|
||||
// camerasLayout
|
||||
//
|
||||
this.camerasLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.camerasLayout.ColumnCount = 2;
|
||||
this.camerasLayout.ColumnStyles.Clear();
|
||||
this.camerasLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.camerasLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 140F));
|
||||
this.camerasLayout.Controls.Add(this.lblCameras, 0, 0);
|
||||
this.camerasLayout.SetColumnSpan(this.lblCameras, 2);
|
||||
this.camerasLayout.Controls.Add(this.cameraFrontal, 0, 1);
|
||||
this.camerasLayout.SetColumnSpan(this.cameraFrontal, 2);
|
||||
this.camerasLayout.Controls.Add(this.cameraErvas, 0, 2);
|
||||
this.camerasLayout.SetColumnSpan(this.cameraErvas, 2);
|
||||
this.camerasLayout.Controls.Add(this.btnAtualizarCameras, 1, 3);
|
||||
this.camerasLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.camerasLayout.Location = new System.Drawing.Point(10, 6);
|
||||
|
|
@ -316,12 +319,13 @@ namespace AgroBase.Forms.IHM
|
|||
this.camerasLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 102F));
|
||||
this.camerasLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 102F));
|
||||
this.camerasLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.camerasLayout.Size = new System.Drawing.Size(368, 246);
|
||||
this.camerasLayout.Size = new System.Drawing.Size(368, 269);
|
||||
this.camerasLayout.TabIndex = 0;
|
||||
//
|
||||
// lblCameras
|
||||
//
|
||||
this.lblCameras.BackColor = System.Drawing.Color.Transparent;
|
||||
this.camerasLayout.SetColumnSpan(this.lblCameras, 2);
|
||||
this.lblCameras.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblCameras.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||
this.lblCameras.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||
|
|
@ -336,6 +340,7 @@ namespace AgroBase.Forms.IHM
|
|||
// cameraFrontal
|
||||
//
|
||||
this.cameraFrontal.BackColor = System.Drawing.Color.Transparent;
|
||||
this.camerasLayout.SetColumnSpan(this.cameraFrontal, 2);
|
||||
this.cameraFrontal.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.cameraFrontal.Location = new System.Drawing.Point(0, 25);
|
||||
this.cameraFrontal.Margin = new System.Windows.Forms.Padding(0, 1, 0, 2);
|
||||
|
|
@ -352,8 +357,9 @@ namespace AgroBase.Forms.IHM
|
|||
// cameraErvas
|
||||
//
|
||||
this.cameraErvas.BackColor = System.Drawing.Color.Transparent;
|
||||
this.camerasLayout.SetColumnSpan(this.cameraErvas, 2);
|
||||
this.cameraErvas.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.cameraErvas.Location = new System.Drawing.Point(0, 118);
|
||||
this.cameraErvas.Location = new System.Drawing.Point(0, 127);
|
||||
this.cameraErvas.Margin = new System.Windows.Forms.Padding(0, 1, 0, 2);
|
||||
this.cameraErvas.MinimumSize = new System.Drawing.Size(300, 100);
|
||||
this.cameraErvas.Name = "cameraErvas";
|
||||
|
|
@ -369,16 +375,17 @@ namespace AgroBase.Forms.IHM
|
|||
//
|
||||
this.btnAtualizarCameras.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(61)))), ((int)(((byte)(165)))), ((int)(((byte)(255)))));
|
||||
this.btnAtualizarCameras.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnAtualizarCameras.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnAtualizarCameras.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(57)))), ((int)(((byte)(111)))), ((int)(((byte)(137)))));
|
||||
this.btnAtualizarCameras.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnAtualizarCameras.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnAtualizarCameras.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.btnAtualizarCameras.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.btnAtualizarCameras.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnAtualizarCameras.IconText = "↻";
|
||||
this.btnAtualizarCameras.Location = new System.Drawing.Point(0, 212);
|
||||
this.btnAtualizarCameras.Margin = new System.Windows.Forms.Padding(4, 3, 0, 0);
|
||||
this.btnAtualizarCameras.MinimumSize = System.Drawing.Size.Empty;
|
||||
this.btnAtualizarCameras.Location = new System.Drawing.Point(228, 230);
|
||||
this.btnAtualizarCameras.Margin = new System.Windows.Forms.Padding(0, 2, 0, 0);
|
||||
this.btnAtualizarCameras.MaximumSize = new System.Drawing.Size(142, 34);
|
||||
this.btnAtualizarCameras.MinimumSize = new System.Drawing.Size(110, 32);
|
||||
this.btnAtualizarCameras.Name = "btnAtualizarCameras";
|
||||
this.btnAtualizarCameras.Size = new System.Drawing.Size(140, 34);
|
||||
this.btnAtualizarCameras.TabIndex = 3;
|
||||
this.btnAtualizarCameras.Text = "ATUALIZAR";
|
||||
//
|
||||
|
|
@ -391,12 +398,12 @@ namespace AgroBase.Forms.IHM
|
|||
this.pnlRedes.CornerRadius = 10;
|
||||
this.pnlRedes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlRedes.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlRedes.Location = new System.Drawing.Point(0, 262);
|
||||
this.pnlRedes.Location = new System.Drawing.Point(0, 285);
|
||||
this.pnlRedes.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.pnlRedes.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.pnlRedes.Name = "pnlRedes";
|
||||
this.pnlRedes.Padding = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.pnlRedes.Size = new System.Drawing.Size(388, 199);
|
||||
this.pnlRedes.Size = new System.Drawing.Size(388, 176);
|
||||
this.pnlRedes.TabIndex = 1;
|
||||
//
|
||||
// redesLayout
|
||||
|
|
@ -415,7 +422,7 @@ namespace AgroBase.Forms.IHM
|
|||
this.redesLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.redesLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.redesLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.redesLayout.Size = new System.Drawing.Size(368, 187);
|
||||
this.redesLayout.Size = new System.Drawing.Size(368, 164);
|
||||
this.redesLayout.TabIndex = 0;
|
||||
//
|
||||
// lblRedes
|
||||
|
|
@ -442,9 +449,9 @@ namespace AgroBase.Forms.IHM
|
|||
this.redeHaLow.Location = new System.Drawing.Point(0, 25);
|
||||
this.redeHaLow.Margin = new System.Windows.Forms.Padding(0, 1, 0, 2);
|
||||
this.redeHaLow.Mask = "";
|
||||
this.redeHaLow.MinimumSize = new System.Drawing.Size(260, 78);
|
||||
this.redeHaLow.MinimumSize = new System.Drawing.Size(250, 63);
|
||||
this.redeHaLow.Name = "redeHaLow";
|
||||
this.redeHaLow.Size = new System.Drawing.Size(368, 78);
|
||||
this.redeHaLow.Size = new System.Drawing.Size(368, 67);
|
||||
this.redeHaLow.Status = "Não testada";
|
||||
this.redeHaLow.StatusColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.redeHaLow.TabIndex = 1;
|
||||
|
|
@ -457,12 +464,12 @@ namespace AgroBase.Forms.IHM
|
|||
this.redeCan.Gateway = "";
|
||||
this.redeCan.InterfaceName = "";
|
||||
this.redeCan.Ip = "";
|
||||
this.redeCan.Location = new System.Drawing.Point(0, 106);
|
||||
this.redeCan.Location = new System.Drawing.Point(0, 95);
|
||||
this.redeCan.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0);
|
||||
this.redeCan.Mask = "";
|
||||
this.redeCan.MinimumSize = new System.Drawing.Size(260, 78);
|
||||
this.redeCan.MinimumSize = new System.Drawing.Size(250, 63);
|
||||
this.redeCan.Name = "redeCan";
|
||||
this.redeCan.Size = new System.Drawing.Size(368, 81);
|
||||
this.redeCan.Size = new System.Drawing.Size(368, 69);
|
||||
this.redeCan.Status = "Não testada";
|
||||
this.redeCan.StatusColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.redeCan.TabIndex = 2;
|
||||
|
|
@ -489,43 +496,400 @@ namespace AgroBase.Forms.IHM
|
|||
//
|
||||
// pnlGeometria
|
||||
//
|
||||
this.pnlGeometria.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlGeometria.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(106)))), ((int)(((byte)(222)))));
|
||||
this.pnlGeometria.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlGeometria.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlGeometria.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(106)))), ((int)(((byte)(222)))));
|
||||
this.pnlGeometria.Controls.Add(this.geometriaLayout);
|
||||
this.pnlGeometria.CornerRadius = 10;
|
||||
this.pnlGeometria.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlGeometria.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlGeometria.Location = new System.Drawing.Point(3, 3);
|
||||
this.pnlGeometria.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.pnlGeometria.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlGeometria.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4);
|
||||
this.pnlGeometria.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlGeometria.Name = "pnlGeometria";
|
||||
this.pnlGeometria.Padding = new System.Windows.Forms.Padding(12);
|
||||
this.pnlGeometria.Size = new System.Drawing.Size(150, 150);
|
||||
this.pnlGeometria.Padding = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.pnlGeometria.Size = new System.Drawing.Size(388, 152);
|
||||
this.pnlGeometria.TabIndex = 0;
|
||||
//
|
||||
// geometriaLayout
|
||||
//
|
||||
this.geometriaLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.geometriaLayout.ColumnCount = 3;
|
||||
this.geometriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.geometriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.geometriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.geometriaLayout.Controls.Add(this.lblGeometria, 0, 0);
|
||||
this.geometriaLayout.Controls.Add(this.fldLeverFrontal, 0, 1);
|
||||
this.geometriaLayout.Controls.Add(this.fldLeverLateral, 1, 1);
|
||||
this.geometriaLayout.Controls.Add(this.fldEntreEixos, 2, 1);
|
||||
this.geometriaLayout.Controls.Add(this.fldAnguloFrontal, 0, 2);
|
||||
this.geometriaLayout.Controls.Add(this.fldAnguloLateral, 1, 2);
|
||||
this.geometriaLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.geometriaLayout.Location = new System.Drawing.Point(10, 6);
|
||||
this.geometriaLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.geometriaLayout.Name = "geometriaLayout";
|
||||
this.geometriaLayout.RowCount = 3;
|
||||
this.geometriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.geometriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.geometriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.geometriaLayout.Size = new System.Drawing.Size(368, 140);
|
||||
this.geometriaLayout.TabIndex = 0;
|
||||
//
|
||||
// lblGeometria
|
||||
//
|
||||
this.lblGeometria.BackColor = System.Drawing.Color.Transparent;
|
||||
this.geometriaLayout.SetColumnSpan(this.lblGeometria, 3);
|
||||
this.lblGeometria.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblGeometria.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblGeometria.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(106)))), ((int)(((byte)(222)))));
|
||||
this.lblGeometria.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblGeometria.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblGeometria.Name = "lblGeometria";
|
||||
this.lblGeometria.Size = new System.Drawing.Size(368, 24);
|
||||
this.lblGeometria.TabIndex = 0;
|
||||
this.lblGeometria.Text = "▌ GEOMETRIA";
|
||||
this.lblGeometria.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// fldLeverFrontal
|
||||
//
|
||||
this.fldLeverFrontal.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldLeverFrontal.DecimalPlaces = 1;
|
||||
this.fldLeverFrontal.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldLeverFrontal.Location = new System.Drawing.Point(2, 26);
|
||||
this.fldLeverFrontal.Margin = new System.Windows.Forms.Padding(2, 2, 3, 3);
|
||||
this.fldLeverFrontal.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldLeverFrontal.Minimum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.fldLeverFrontal.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldLeverFrontal.Name = "fldLeverFrontal";
|
||||
this.fldLeverFrontal.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldLeverFrontal.Size = new System.Drawing.Size(117, 53);
|
||||
this.fldLeverFrontal.TabIndex = 0;
|
||||
this.fldLeverFrontal.Titulo = "Lever arm frontal";
|
||||
this.fldLeverFrontal.Unidade = "cm";
|
||||
//
|
||||
// fldLeverLateral
|
||||
//
|
||||
this.fldLeverLateral.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldLeverLateral.DecimalPlaces = 1;
|
||||
this.fldLeverLateral.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldLeverLateral.Location = new System.Drawing.Point(125, 26);
|
||||
this.fldLeverLateral.Margin = new System.Windows.Forms.Padding(3, 2, 3, 3);
|
||||
this.fldLeverLateral.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldLeverLateral.Minimum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
-2147483648});
|
||||
this.fldLeverLateral.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldLeverLateral.Name = "fldLeverLateral";
|
||||
this.fldLeverLateral.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldLeverLateral.Size = new System.Drawing.Size(116, 53);
|
||||
this.fldLeverLateral.TabIndex = 1;
|
||||
this.fldLeverLateral.Titulo = "Lever arm lateral";
|
||||
this.fldLeverLateral.Unidade = "cm";
|
||||
//
|
||||
// fldEntreEixos
|
||||
//
|
||||
this.fldEntreEixos.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldEntreEixos.DecimalPlaces = 1;
|
||||
this.fldEntreEixos.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldEntreEixos.Location = new System.Drawing.Point(247, 26);
|
||||
this.fldEntreEixos.Margin = new System.Windows.Forms.Padding(3, 2, 2, 3);
|
||||
this.fldEntreEixos.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldEntreEixos.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldEntreEixos.Name = "fldEntreEixos";
|
||||
this.fldEntreEixos.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldEntreEixos.Size = new System.Drawing.Size(119, 53);
|
||||
this.fldEntreEixos.TabIndex = 2;
|
||||
this.fldEntreEixos.Titulo = "Distância entre eixos";
|
||||
this.fldEntreEixos.Unidade = "cm";
|
||||
//
|
||||
// fldAnguloFrontal
|
||||
//
|
||||
this.fldAnguloFrontal.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldAnguloFrontal.DecimalPlaces = 1;
|
||||
this.fldAnguloFrontal.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldAnguloFrontal.Location = new System.Drawing.Point(2, 84);
|
||||
this.fldAnguloFrontal.Margin = new System.Windows.Forms.Padding(2, 2, 3, 2);
|
||||
this.fldAnguloFrontal.Maximum = new decimal(new int[] {
|
||||
90,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldAnguloFrontal.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldAnguloFrontal.Name = "fldAnguloFrontal";
|
||||
this.fldAnguloFrontal.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldAnguloFrontal.Size = new System.Drawing.Size(117, 54);
|
||||
this.fldAnguloFrontal.TabIndex = 3;
|
||||
this.fldAnguloFrontal.Titulo = "Ângulo máx. frontal";
|
||||
this.fldAnguloFrontal.Unidade = "°";
|
||||
//
|
||||
// fldAnguloLateral
|
||||
//
|
||||
this.fldAnguloLateral.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldAnguloLateral.DecimalPlaces = 1;
|
||||
this.fldAnguloLateral.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldAnguloLateral.Location = new System.Drawing.Point(125, 84);
|
||||
this.fldAnguloLateral.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.fldAnguloLateral.Maximum = new decimal(new int[] {
|
||||
90,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldAnguloLateral.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldAnguloLateral.Name = "fldAnguloLateral";
|
||||
this.fldAnguloLateral.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldAnguloLateral.Size = new System.Drawing.Size(116, 54);
|
||||
this.fldAnguloLateral.TabIndex = 4;
|
||||
this.fldAnguloLateral.Titulo = "Ângulo máx. lateral";
|
||||
this.fldAnguloLateral.Unidade = "°";
|
||||
//
|
||||
// pnlBateria
|
||||
//
|
||||
this.pnlBateria.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlBateria.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlBateria.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlBateria.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlBateria.Controls.Add(this.bateriaLayout);
|
||||
this.pnlBateria.CornerRadius = 10;
|
||||
this.pnlBateria.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlBateria.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlBateria.Location = new System.Drawing.Point(3, 159);
|
||||
this.pnlBateria.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.pnlBateria.Location = new System.Drawing.Point(0, 156);
|
||||
this.pnlBateria.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4);
|
||||
this.pnlBateria.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlBateria.Name = "pnlBateria";
|
||||
this.pnlBateria.Padding = new System.Windows.Forms.Padding(12);
|
||||
this.pnlBateria.Size = new System.Drawing.Size(150, 146);
|
||||
this.pnlBateria.Padding = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.pnlBateria.Size = new System.Drawing.Size(388, 148);
|
||||
this.pnlBateria.TabIndex = 1;
|
||||
//
|
||||
// bateriaLayout
|
||||
//
|
||||
this.bateriaLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.bateriaLayout.ColumnCount = 3;
|
||||
this.bateriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.bateriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.bateriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.bateriaLayout.Controls.Add(this.lblBateria, 0, 0);
|
||||
this.bateriaLayout.Controls.Add(this.fldTensaoMin, 0, 1);
|
||||
this.bateriaLayout.Controls.Add(this.fldTensaoMax, 1, 1);
|
||||
this.bateriaLayout.Controls.Add(this.fldCorrenteMax, 2, 1);
|
||||
this.bateriaLayout.Controls.Add(this.fldPercentualTensaoMin, 0, 2);
|
||||
this.bateriaLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.bateriaLayout.Location = new System.Drawing.Point(10, 6);
|
||||
this.bateriaLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.bateriaLayout.Name = "bateriaLayout";
|
||||
this.bateriaLayout.RowCount = 3;
|
||||
this.bateriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.bateriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.bateriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.bateriaLayout.Size = new System.Drawing.Size(368, 136);
|
||||
this.bateriaLayout.TabIndex = 0;
|
||||
//
|
||||
// lblBateria
|
||||
//
|
||||
this.lblBateria.BackColor = System.Drawing.Color.Transparent;
|
||||
this.bateriaLayout.SetColumnSpan(this.lblBateria, 3);
|
||||
this.lblBateria.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblBateria.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblBateria.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.lblBateria.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblBateria.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblBateria.Name = "lblBateria";
|
||||
this.lblBateria.Size = new System.Drawing.Size(368, 24);
|
||||
this.lblBateria.TabIndex = 0;
|
||||
this.lblBateria.Text = "▌ BATERIA";
|
||||
this.lblBateria.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// fldTensaoMin
|
||||
//
|
||||
this.fldTensaoMin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldTensaoMin.DecimalPlaces = 1;
|
||||
this.fldTensaoMin.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldTensaoMin.Increment = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
65536});
|
||||
this.fldTensaoMin.Location = new System.Drawing.Point(2, 26);
|
||||
this.fldTensaoMin.Margin = new System.Windows.Forms.Padding(2, 2, 3, 3);
|
||||
this.fldTensaoMin.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldTensaoMin.Name = "fldTensaoMin";
|
||||
this.fldTensaoMin.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldTensaoMin.Size = new System.Drawing.Size(117, 51);
|
||||
this.fldTensaoMin.TabIndex = 0;
|
||||
this.fldTensaoMin.Titulo = "Tensão mínima";
|
||||
this.fldTensaoMin.Unidade = "V";
|
||||
//
|
||||
// fldTensaoMax
|
||||
//
|
||||
this.fldTensaoMax.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldTensaoMax.DecimalPlaces = 1;
|
||||
this.fldTensaoMax.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldTensaoMax.Increment = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
65536});
|
||||
this.fldTensaoMax.Location = new System.Drawing.Point(125, 26);
|
||||
this.fldTensaoMax.Margin = new System.Windows.Forms.Padding(3, 2, 3, 3);
|
||||
this.fldTensaoMax.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldTensaoMax.Name = "fldTensaoMax";
|
||||
this.fldTensaoMax.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldTensaoMax.Size = new System.Drawing.Size(116, 51);
|
||||
this.fldTensaoMax.TabIndex = 1;
|
||||
this.fldTensaoMax.Titulo = "Tensão máxima";
|
||||
this.fldTensaoMax.Unidade = "V";
|
||||
//
|
||||
// fldCorrenteMax
|
||||
//
|
||||
this.fldCorrenteMax.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldCorrenteMax.DecimalPlaces = 1;
|
||||
this.fldCorrenteMax.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldCorrenteMax.Location = new System.Drawing.Point(247, 26);
|
||||
this.fldCorrenteMax.Margin = new System.Windows.Forms.Padding(3, 2, 2, 3);
|
||||
this.fldCorrenteMax.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldCorrenteMax.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldCorrenteMax.Name = "fldCorrenteMax";
|
||||
this.fldCorrenteMax.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldCorrenteMax.Size = new System.Drawing.Size(119, 51);
|
||||
this.fldCorrenteMax.TabIndex = 2;
|
||||
this.fldCorrenteMax.Titulo = "Corrente máxima";
|
||||
this.fldCorrenteMax.Unidade = "A";
|
||||
//
|
||||
// fldPercentualTensaoMin
|
||||
//
|
||||
this.fldPercentualTensaoMin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldPercentualTensaoMin.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldPercentualTensaoMin.Location = new System.Drawing.Point(2, 82);
|
||||
this.fldPercentualTensaoMin.Margin = new System.Windows.Forms.Padding(2, 2, 3, 2);
|
||||
this.fldPercentualTensaoMin.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldPercentualTensaoMin.Name = "fldPercentualTensaoMin";
|
||||
this.fldPercentualTensaoMin.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldPercentualTensaoMin.Size = new System.Drawing.Size(117, 52);
|
||||
this.fldPercentualTensaoMin.TabIndex = 3;
|
||||
this.fldPercentualTensaoMin.Titulo = "Tensão mínima";
|
||||
this.fldPercentualTensaoMin.Unidade = "%";
|
||||
//
|
||||
// pnlReservatorio
|
||||
//
|
||||
this.pnlReservatorio.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.pnlReservatorio.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(181)))), ((int)(((byte)(68)))));
|
||||
this.pnlReservatorio.BackColor = System.Drawing.Color.Transparent;
|
||||
this.pnlReservatorio.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.pnlReservatorio.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(181)))), ((int)(((byte)(68)))));
|
||||
this.pnlReservatorio.Controls.Add(this.reservatorioLayout);
|
||||
this.pnlReservatorio.CornerRadius = 10;
|
||||
this.pnlReservatorio.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlReservatorio.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||
this.pnlReservatorio.Location = new System.Drawing.Point(3, 311);
|
||||
this.pnlReservatorio.MinimumSize = new System.Drawing.Size(30, 30);
|
||||
this.pnlReservatorio.Location = new System.Drawing.Point(0, 308);
|
||||
this.pnlReservatorio.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.pnlReservatorio.MinimumSize = new System.Drawing.Size(30, 25);
|
||||
this.pnlReservatorio.Name = "pnlReservatorio";
|
||||
this.pnlReservatorio.Padding = new System.Windows.Forms.Padding(12);
|
||||
this.pnlReservatorio.Size = new System.Drawing.Size(150, 147);
|
||||
this.pnlReservatorio.Padding = new System.Windows.Forms.Padding(10, 6, 10, 6);
|
||||
this.pnlReservatorio.Size = new System.Drawing.Size(388, 153);
|
||||
this.pnlReservatorio.TabIndex = 2;
|
||||
//
|
||||
// reservatorioLayout
|
||||
//
|
||||
this.reservatorioLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.reservatorioLayout.ColumnCount = 2;
|
||||
this.reservatorioLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.Controls.Add(this.lblReservatorio, 0, 0);
|
||||
this.reservatorioLayout.Controls.Add(this.fldCapacidadeReservatorio, 0, 1);
|
||||
this.reservatorioLayout.Controls.Add(this.fldReservatorioMin, 1, 1);
|
||||
this.reservatorioLayout.Controls.Add(this.fldReservatorioCritico, 0, 2);
|
||||
this.reservatorioLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.reservatorioLayout.Location = new System.Drawing.Point(10, 6);
|
||||
this.reservatorioLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.reservatorioLayout.Name = "reservatorioLayout";
|
||||
this.reservatorioLayout.RowCount = 3;
|
||||
this.reservatorioLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.reservatorioLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.Size = new System.Drawing.Size(368, 141);
|
||||
this.reservatorioLayout.TabIndex = 0;
|
||||
//
|
||||
// lblReservatorio
|
||||
//
|
||||
this.lblReservatorio.BackColor = System.Drawing.Color.Transparent;
|
||||
this.reservatorioLayout.SetColumnSpan(this.lblReservatorio, 2);
|
||||
this.lblReservatorio.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lblReservatorio.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
|
||||
this.lblReservatorio.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(181)))), ((int)(((byte)(68)))));
|
||||
this.lblReservatorio.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblReservatorio.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.lblReservatorio.Name = "lblReservatorio";
|
||||
this.lblReservatorio.Size = new System.Drawing.Size(368, 24);
|
||||
this.lblReservatorio.TabIndex = 0;
|
||||
this.lblReservatorio.Text = "▌ RESERVATÓRIO";
|
||||
this.lblReservatorio.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// fldCapacidadeReservatorio
|
||||
//
|
||||
this.fldCapacidadeReservatorio.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldCapacidadeReservatorio.DecimalPlaces = 1;
|
||||
this.fldCapacidadeReservatorio.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldCapacidadeReservatorio.Location = new System.Drawing.Point(2, 26);
|
||||
this.fldCapacidadeReservatorio.Margin = new System.Windows.Forms.Padding(2, 2, 3, 3);
|
||||
this.fldCapacidadeReservatorio.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.fldCapacidadeReservatorio.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldCapacidadeReservatorio.Name = "fldCapacidadeReservatorio";
|
||||
this.fldCapacidadeReservatorio.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldCapacidadeReservatorio.Size = new System.Drawing.Size(179, 53);
|
||||
this.fldCapacidadeReservatorio.TabIndex = 0;
|
||||
this.fldCapacidadeReservatorio.Titulo = "Capacidade";
|
||||
this.fldCapacidadeReservatorio.Unidade = "L";
|
||||
//
|
||||
// fldReservatorioMin
|
||||
//
|
||||
this.fldReservatorioMin.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldReservatorioMin.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldReservatorioMin.Location = new System.Drawing.Point(187, 26);
|
||||
this.fldReservatorioMin.Margin = new System.Windows.Forms.Padding(3, 2, 2, 3);
|
||||
this.fldReservatorioMin.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldReservatorioMin.Name = "fldReservatorioMin";
|
||||
this.fldReservatorioMin.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldReservatorioMin.Size = new System.Drawing.Size(179, 53);
|
||||
this.fldReservatorioMin.TabIndex = 1;
|
||||
this.fldReservatorioMin.Titulo = "Mínimo";
|
||||
this.fldReservatorioMin.Unidade = "%";
|
||||
//
|
||||
// fldReservatorioCritico
|
||||
//
|
||||
this.fldReservatorioCritico.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.fldReservatorioCritico.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fldReservatorioCritico.Location = new System.Drawing.Point(2, 84);
|
||||
this.fldReservatorioCritico.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.fldReservatorioCritico.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
this.fldReservatorioCritico.Name = "fldReservatorioCritico";
|
||||
this.fldReservatorioCritico.Padding = new System.Windows.Forms.Padding(4, 2, 4, 3);
|
||||
this.fldReservatorioCritico.Size = new System.Drawing.Size(180, 55);
|
||||
this.fldReservatorioCritico.TabIndex = 2;
|
||||
this.fldReservatorioCritico.Titulo = "Mínimo crítico";
|
||||
this.fldReservatorioCritico.Unidade = "%";
|
||||
//
|
||||
// pnlFooter
|
||||
//
|
||||
this.pnlFooter.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
|
|
@ -548,9 +912,9 @@ namespace AgroBase.Forms.IHM
|
|||
this.footerLayout.BackColor = System.Drawing.Color.Transparent;
|
||||
this.footerLayout.ColumnCount = 4;
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 130F));
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 145F));
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 155F));
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 145F));
|
||||
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 145F));
|
||||
this.footerLayout.Controls.Add(this.lblAlteracoes, 0, 0);
|
||||
this.footerLayout.Controls.Add(this.btnRestaurar, 1, 0);
|
||||
this.footerLayout.Controls.Add(this.btnSalvar, 2, 0);
|
||||
|
|
@ -572,206 +936,61 @@ namespace AgroBase.Forms.IHM
|
|||
this.lblAlteracoes.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.lblAlteracoes.Location = new System.Drawing.Point(3, 0);
|
||||
this.lblAlteracoes.Name = "lblAlteracoes";
|
||||
this.lblAlteracoes.Size = new System.Drawing.Size(328, 41);
|
||||
this.lblAlteracoes.Size = new System.Drawing.Size(323, 41);
|
||||
this.lblAlteracoes.TabIndex = 0;
|
||||
this.lblAlteracoes.Text = "Parâmetros sincronizados com o equipamento.";
|
||||
this.lblAlteracoes.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// btnRestaurar
|
||||
//
|
||||
this.btnRestaurar.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.btnRestaurar.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||
this.btnRestaurar.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnRestaurar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnRestaurar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(114)))), ((int)(((byte)(122)))), ((int)(((byte)(127)))));
|
||||
this.btnRestaurar.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnRestaurar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnRestaurar.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnRestaurar.IconText = "●";
|
||||
this.btnRestaurar.IconText = "↻";
|
||||
this.btnRestaurar.Location = new System.Drawing.Point(334, 2);
|
||||
this.btnRestaurar.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.btnRestaurar.MinimumSize = new System.Drawing.Size(130, 36);
|
||||
this.btnRestaurar.Margin = new System.Windows.Forms.Padding(5, 2, 0, 2);
|
||||
this.btnRestaurar.MinimumSize = new System.Drawing.Size(60, 34);
|
||||
this.btnRestaurar.Name = "btnRestaurar";
|
||||
this.btnRestaurar.Size = new System.Drawing.Size(130, 37);
|
||||
this.btnRestaurar.Size = new System.Drawing.Size(140, 37);
|
||||
this.btnRestaurar.TabIndex = 1;
|
||||
this.btnRestaurar.Text = "Restaurar";
|
||||
this.btnRestaurar.Text = "RESTAURAR";
|
||||
//
|
||||
// btnSalvar
|
||||
//
|
||||
this.btnSalvar.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.btnSalvar.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnSalvar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnSalvar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(144)))), ((int)(((byte)(92)))));
|
||||
this.btnSalvar.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSalvar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnSalvar.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnSalvar.IconText = "●";
|
||||
this.btnSalvar.Location = new System.Drawing.Point(464, 2);
|
||||
this.btnSalvar.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.btnSalvar.MinimumSize = new System.Drawing.Size(130, 36);
|
||||
this.btnSalvar.IconText = "✓";
|
||||
this.btnSalvar.Location = new System.Drawing.Point(479, 2);
|
||||
this.btnSalvar.Margin = new System.Windows.Forms.Padding(5, 2, 0, 2);
|
||||
this.btnSalvar.MinimumSize = new System.Drawing.Size(60, 34);
|
||||
this.btnSalvar.Name = "btnSalvar";
|
||||
this.btnSalvar.Size = new System.Drawing.Size(145, 37);
|
||||
this.btnSalvar.Size = new System.Drawing.Size(140, 37);
|
||||
this.btnSalvar.TabIndex = 2;
|
||||
this.btnSalvar.Text = "Salvar Parâmetros";
|
||||
this.btnSalvar.Text = "SALVAR";
|
||||
//
|
||||
// btnTestarComunicacao
|
||||
//
|
||||
this.btnTestarComunicacao.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||
this.btnTestarComunicacao.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(61)))), ((int)(((byte)(165)))), ((int)(((byte)(255)))));
|
||||
this.btnTestarComunicacao.BackColor = System.Drawing.Color.Transparent;
|
||||
this.btnTestarComunicacao.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||
this.btnTestarComunicacao.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(57)))), ((int)(((byte)(119)))), ((int)(((byte)(151)))));
|
||||
this.btnTestarComunicacao.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnTestarComunicacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.btnTestarComunicacao.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||
this.btnTestarComunicacao.IconText = "●";
|
||||
this.btnTestarComunicacao.Location = new System.Drawing.Point(609, 2);
|
||||
this.btnTestarComunicacao.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.btnTestarComunicacao.MinimumSize = new System.Drawing.Size(130, 36);
|
||||
this.btnTestarComunicacao.IconText = "◉";
|
||||
this.btnTestarComunicacao.Location = new System.Drawing.Point(624, 2);
|
||||
this.btnTestarComunicacao.Margin = new System.Windows.Forms.Padding(5, 2, 0, 2);
|
||||
this.btnTestarComunicacao.MinimumSize = new System.Drawing.Size(60, 34);
|
||||
this.btnTestarComunicacao.Name = "btnTestarComunicacao";
|
||||
this.btnTestarComunicacao.Size = new System.Drawing.Size(150, 37);
|
||||
this.btnTestarComunicacao.Size = new System.Drawing.Size(140, 37);
|
||||
this.btnTestarComunicacao.TabIndex = 3;
|
||||
this.btnTestarComunicacao.Text = "Testar Comunicação";
|
||||
//
|
||||
// geometriaLayout
|
||||
//
|
||||
this.geometriaLayout.ColumnCount = 3;
|
||||
this.geometriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.geometriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.geometriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.geometriaLayout.Controls.Add(this.fldLeverFrontal, 0, 1);
|
||||
this.geometriaLayout.Controls.Add(this.fldLeverLateral, 1, 1);
|
||||
this.geometriaLayout.Controls.Add(this.fldEntreEixos, 2, 1);
|
||||
this.geometriaLayout.Controls.Add(this.fldAnguloFrontal, 0, 2);
|
||||
this.geometriaLayout.Controls.Add(this.fldAnguloLateral, 1, 2);
|
||||
this.geometriaLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.geometriaLayout.Name = "geometriaLayout";
|
||||
this.geometriaLayout.RowCount = 3;
|
||||
this.geometriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.geometriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.geometriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.geometriaLayout.Size = new System.Drawing.Size(200, 100);
|
||||
this.geometriaLayout.TabIndex = 0;
|
||||
this.geometriaLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
|
||||
this.pnlGeometria.Controls.Add(this.geometriaLayout);
|
||||
//
|
||||
// fldLeverFrontal
|
||||
//
|
||||
SetupNumeric(this.fldLeverFrontal, "Lever arm frontal", "cm", 0M, -1000M, 1000M, 1M, 1);
|
||||
this.fldLeverFrontal.Margin = new System.Windows.Forms.Padding(2, 2, 3, 3);
|
||||
//
|
||||
// fldLeverLateral
|
||||
//
|
||||
SetupNumeric(this.fldLeverLateral, "Lever arm lateral", "cm", 0M, -1000M, 1000M, 1M, 1);
|
||||
this.fldLeverLateral.Margin = new System.Windows.Forms.Padding(3, 2, 3, 3);
|
||||
//
|
||||
// fldEntreEixos
|
||||
//
|
||||
SetupNumeric(this.fldEntreEixos, "Distância entre eixos", "cm", 0M, 0M, 1000M, 1M, 1);
|
||||
this.fldEntreEixos.Margin = new System.Windows.Forms.Padding(3, 2, 2, 3);
|
||||
//
|
||||
// fldAnguloFrontal
|
||||
//
|
||||
SetupNumeric(this.fldAnguloFrontal, "Ângulo máx. frontal", "°", 0M, 0M, 90M, 1M, 1);
|
||||
this.fldAnguloFrontal.Margin = new System.Windows.Forms.Padding(2, 2, 3, 2);
|
||||
//
|
||||
// fldAnguloLateral
|
||||
//
|
||||
SetupNumeric(this.fldAnguloLateral, "Ângulo máx. lateral", "°", 0M, 0M, 90M, 1M, 1);
|
||||
this.fldAnguloLateral.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
//
|
||||
// lblGeometria
|
||||
//
|
||||
this.lblGeometria.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblGeometria.Name = "lblGeometria";
|
||||
this.lblGeometria.Size = new System.Drawing.Size(100, 23);
|
||||
this.lblGeometria.TabIndex = 0;
|
||||
//
|
||||
// bateriaLayout
|
||||
//
|
||||
this.bateriaLayout.ColumnCount = 3;
|
||||
this.bateriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.bateriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33F));
|
||||
this.bateriaLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
|
||||
this.bateriaLayout.Controls.Add(this.fldTensaoMin, 0, 1);
|
||||
this.bateriaLayout.Controls.Add(this.fldTensaoMax, 1, 1);
|
||||
this.bateriaLayout.Controls.Add(this.fldCorrenteMax, 2, 1);
|
||||
this.bateriaLayout.Controls.Add(this.fldPercentualTensaoMin, 0, 2);
|
||||
this.bateriaLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.bateriaLayout.Name = "bateriaLayout";
|
||||
this.bateriaLayout.RowCount = 3;
|
||||
this.bateriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.bateriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.bateriaLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.bateriaLayout.Size = new System.Drawing.Size(200, 100);
|
||||
this.bateriaLayout.TabIndex = 0;
|
||||
this.bateriaLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
|
||||
|
||||
this.pnlBateria.Controls.Add(this.bateriaLayout);
|
||||
//
|
||||
// fldTensaoMin
|
||||
//
|
||||
SetupNumeric(this.fldTensaoMin, "Tensão mínima", "V", 0M, 0M, 100M, 0.1M, 1);
|
||||
this.fldTensaoMin.Margin = new System.Windows.Forms.Padding(2, 2, 3, 3);
|
||||
//
|
||||
// fldTensaoMax
|
||||
//
|
||||
SetupNumeric(this.fldTensaoMax, "Tensão máxima", "V", 0M, 0M, 100M, 0.1M, 1);
|
||||
this.fldTensaoMax.Margin = new System.Windows.Forms.Padding(3, 2, 3, 3);
|
||||
//
|
||||
// fldCorrenteMax
|
||||
//
|
||||
SetupNumeric(this.fldCorrenteMax, "Corrente máxima", "A", 0M, 0M, 1000M, 1M, 1);
|
||||
this.fldCorrenteMax.Margin = new System.Windows.Forms.Padding(3, 2, 2, 3);
|
||||
|
||||
//
|
||||
// fldPercentualTensaoMin
|
||||
//
|
||||
SetupNumeric(this.fldPercentualTensaoMin, "Tensão mínima", "%", 0M, 0M, 100M, 1M, 0);
|
||||
this.fldPercentualTensaoMin.Margin = new System.Windows.Forms.Padding(2, 2, 3, 2);
|
||||
//
|
||||
// lblBateria
|
||||
//
|
||||
this.lblBateria.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblBateria.Name = "lblBateria";
|
||||
this.lblBateria.Size = new System.Drawing.Size(100, 23);
|
||||
this.lblBateria.TabIndex = 0;
|
||||
//
|
||||
// reservatorioLayout
|
||||
//
|
||||
this.reservatorioLayout.ColumnCount = 2;
|
||||
this.reservatorioLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.Controls.Add(this.fldCapacidadeReservatorio, 0, 1);
|
||||
this.reservatorioLayout.Controls.Add(this.fldReservatorioMin, 1, 1);
|
||||
this.reservatorioLayout.Controls.Add(this.fldReservatorioCritico, 0, 2);
|
||||
this.reservatorioLayout.Location = new System.Drawing.Point(0, 0);
|
||||
this.reservatorioLayout.Name = "reservatorioLayout";
|
||||
this.reservatorioLayout.RowCount = 3;
|
||||
this.reservatorioLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||
this.reservatorioLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.reservatorioLayout.Size = new System.Drawing.Size(200, 100);
|
||||
this.reservatorioLayout.TabIndex = 0;
|
||||
this.reservatorioLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
|
||||
this.pnlReservatorio.Controls.Add(this.reservatorioLayout);
|
||||
//
|
||||
// fldCapacidadeReservatorio
|
||||
//
|
||||
SetupNumeric(this.fldCapacidadeReservatorio, "Capacidade", "L", 0M, 0M, 1000M, 1M, 1);
|
||||
this.fldCapacidadeReservatorio.Margin = new System.Windows.Forms.Padding(2, 2, 3, 3);
|
||||
//
|
||||
// fldReservatorioMin
|
||||
//
|
||||
SetupNumeric(this.fldReservatorioMin, "Mínimo", "%", 0M, 0M, 100M, 1M, 0);
|
||||
this.fldReservatorioMin.Margin = new System.Windows.Forms.Padding(3, 2, 2, 3);
|
||||
//
|
||||
// fldReservatorioCritico
|
||||
//
|
||||
SetupNumeric(this.fldReservatorioCritico, "Mínimo crítico", "%", 0M, 0M, 100M, 1M, 0);
|
||||
this.fldReservatorioCritico.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
|
||||
//
|
||||
// lblReservatorio
|
||||
//
|
||||
this.lblReservatorio.Location = new System.Drawing.Point(0, 0);
|
||||
this.lblReservatorio.Name = "lblReservatorio";
|
||||
this.lblReservatorio.Size = new System.Drawing.Size(100, 23);
|
||||
this.lblReservatorio.TabIndex = 0;
|
||||
this.btnTestarComunicacao.Text = "TESTAR REDE";
|
||||
//
|
||||
// frmAjustes
|
||||
//
|
||||
|
|
@ -798,28 +1017,18 @@ namespace AgroBase.Forms.IHM
|
|||
this.pnlRedes.ResumeLayout(false);
|
||||
this.redesLayout.ResumeLayout(false);
|
||||
this.rightLayout.ResumeLayout(false);
|
||||
this.pnlGeometria.ResumeLayout(false);
|
||||
this.geometriaLayout.ResumeLayout(false);
|
||||
this.pnlBateria.ResumeLayout(false);
|
||||
this.bateriaLayout.ResumeLayout(false);
|
||||
this.pnlReservatorio.ResumeLayout(false);
|
||||
this.reservatorioLayout.ResumeLayout(false);
|
||||
this.pnlFooter.ResumeLayout(false);
|
||||
this.footerLayout.ResumeLayout(false);
|
||||
this.geometriaLayout.ResumeLayout(false);
|
||||
this.bateriaLayout.ResumeLayout(false);
|
||||
this.reservatorioLayout.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
private static void SetupNumeric(AgroBase.Forms.IHM.Operacao.Parametros.Controls.HmiCompactNumericField field, string title, string unit, decimal value, decimal minimum, decimal maximum, decimal increment, int decimalPlaces)
|
||||
{
|
||||
field.Dock = DockStyle.Fill;
|
||||
field.MinimumSize = new System.Drawing.Size(0, 48);
|
||||
field.Titulo = title;
|
||||
field.Unidade = unit;
|
||||
field.Minimum = minimum;
|
||||
field.Maximum = maximum;
|
||||
field.Increment = increment;
|
||||
field.DecimalPlaces = decimalPlaces;
|
||||
field.Value = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TableLayoutPanel rootLayout;
|
||||
|
|
|
|||
|
|
@ -29,9 +29,6 @@ namespace AgroBase.Forms.IHM
|
|||
{
|
||||
InitializeComponent();
|
||||
|
||||
ConfigurarAparencia();
|
||||
CorrigirLayoutInicial();
|
||||
|
||||
VincularEventos();
|
||||
}
|
||||
|
||||
|
|
@ -59,471 +56,7 @@ namespace AgroBase.Forms.IHM
|
|||
|
||||
public void AtualizarDadosTela()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ConfigurarAparencia()
|
||||
{
|
||||
SuspendLayout();
|
||||
|
||||
try
|
||||
{
|
||||
ConfigurarSecao(
|
||||
pnlGeometria,
|
||||
geometriaLayout,
|
||||
lblGeometria,
|
||||
"▌ GEOMETRIA",
|
||||
HmiTheme.Manual,
|
||||
new Padding(0, 0, 0, 4));
|
||||
|
||||
ConfigurarSecao(
|
||||
pnlBateria,
|
||||
bateriaLayout,
|
||||
lblBateria,
|
||||
"▌ BATERIA",
|
||||
HmiTheme.Success,
|
||||
new Padding(0, 0, 0, 4));
|
||||
|
||||
ConfigurarSecao(
|
||||
pnlReservatorio,
|
||||
reservatorioLayout,
|
||||
lblReservatorio,
|
||||
"▌ RESERVATÓRIO",
|
||||
HmiTheme.Warning,
|
||||
Padding.Empty);
|
||||
|
||||
ConfigurarBotaoRodape(
|
||||
btnRestaurar,
|
||||
"RESTAURAR",
|
||||
"↻",
|
||||
HmiTheme.TextMuted);
|
||||
|
||||
ConfigurarBotaoRodape(
|
||||
btnSalvar,
|
||||
"SALVAR",
|
||||
"✓",
|
||||
HmiTheme.Success);
|
||||
|
||||
ConfigurarBotaoRodape(
|
||||
btnTestarComunicacao,
|
||||
"TESTAR REDE",
|
||||
"◉",
|
||||
HmiTheme.Info);
|
||||
|
||||
ConfigurarBotaoHeader(
|
||||
btnVoltar,
|
||||
"VOLTAR",
|
||||
"←",
|
||||
HmiTheme.Info);
|
||||
|
||||
btnVoltar.Dock = DockStyle.Fill;
|
||||
btnVoltar.Margin = new Padding(0, 4, 8, 4);
|
||||
|
||||
ConfigurarBotaoSecao(
|
||||
btnAtualizarCameras,
|
||||
"ATUALIZAR",
|
||||
"↻",
|
||||
HmiTheme.Info,
|
||||
142);
|
||||
|
||||
btnAtualizarCameras.Dock = DockStyle.Left;
|
||||
btnAtualizarCameras.Width = 150;
|
||||
btnAtualizarCameras.Margin =
|
||||
new Padding(0, 2, 0, 0);
|
||||
}
|
||||
finally
|
||||
{
|
||||
ResumeLayout(true);
|
||||
}
|
||||
}
|
||||
private void ConfigurarSecao(HmiRoundedPanel painel, TableLayoutPanel layout, Label titulo, string textoTitulo, Color corDestaque, Padding margem)
|
||||
{
|
||||
painel.SuspendLayout();
|
||||
layout.SuspendLayout();
|
||||
|
||||
try
|
||||
{
|
||||
painel.Dock = DockStyle.Fill;
|
||||
painel.FillColor = HmiTheme.Surface;
|
||||
painel.BorderColor = corDestaque;
|
||||
painel.BorderThickness = 1;
|
||||
painel.CornerRadius = 10;
|
||||
painel.AccentColor = corDestaque;
|
||||
painel.ShowAccent = false;
|
||||
|
||||
painel.Margin = margem;
|
||||
painel.Padding = new Padding(10, 6, 10, 6);
|
||||
|
||||
layout.Dock = DockStyle.Fill;
|
||||
layout.BackColor = Color.Transparent;
|
||||
layout.Margin = Padding.Empty;
|
||||
layout.Padding = Padding.Empty;
|
||||
|
||||
titulo.Dock = DockStyle.Fill;
|
||||
titulo.AutoSize = false;
|
||||
titulo.BackColor = Color.Transparent;
|
||||
titulo.ForeColor = corDestaque;
|
||||
|
||||
titulo.Font = new Font("Segoe UI", 9F, FontStyle.Bold);
|
||||
|
||||
titulo.Text = textoTitulo;
|
||||
titulo.TextAlign = ContentAlignment.MiddleLeft;
|
||||
titulo.Margin = Padding.Empty;
|
||||
titulo.Padding = Padding.Empty;
|
||||
|
||||
if (!layout.Controls.Contains(titulo))
|
||||
layout.Controls.Add(titulo, 0, 0);
|
||||
|
||||
if (!painel.Controls.Contains(layout))
|
||||
{
|
||||
painel.Controls.Clear();
|
||||
painel.Controls.Add(layout);
|
||||
}
|
||||
|
||||
layout.BringToFront();
|
||||
}
|
||||
finally
|
||||
{
|
||||
layout.ResumeLayout(true);
|
||||
painel.ResumeLayout(true);
|
||||
}
|
||||
}
|
||||
private void ConfigurarBotaoRodape(HmiSidebarButton botao, string texto, string icone, Color corDestaque)
|
||||
{
|
||||
botao.Dock = DockStyle.Fill;
|
||||
|
||||
botao.Text = texto;
|
||||
botao.IconText = icone;
|
||||
|
||||
botao.AccentColor = corDestaque;
|
||||
botao.BorderColor = MisturarCores(HmiTheme.Border, corDestaque, 0.55F);
|
||||
|
||||
botao.FillColor = HmiTheme.SurfaceRaised;
|
||||
botao.CornerRadius = 9;
|
||||
|
||||
botao.Margin = new Padding(5, 2, 0, 2);
|
||||
botao.Padding = Padding.Empty;
|
||||
|
||||
botao.Cursor = Cursors.Hand;
|
||||
}
|
||||
private void ConfigurarBotaoHeader(HmiSidebarButton botao, string texto, string icone, Color corDestaque)
|
||||
{
|
||||
botao.SuspendLayout();
|
||||
|
||||
try
|
||||
{
|
||||
botao.Text = texto;
|
||||
botao.IconText = icone;
|
||||
|
||||
botao.AccentColor = corDestaque;
|
||||
|
||||
botao.BorderColor = MisturarCores(
|
||||
HmiTheme.Border,
|
||||
corDestaque,
|
||||
0.55F);
|
||||
|
||||
botao.FillColor =
|
||||
HmiTheme.SurfaceRaised;
|
||||
|
||||
botao.CornerRadius = 9;
|
||||
|
||||
botao.Dock = DockStyle.Fill;
|
||||
|
||||
/*
|
||||
* Essencial: o botão antigo exigia 130 px,
|
||||
* mas a coluna do header tem aproximadamente 112 px.
|
||||
*/
|
||||
botao.MinimumSize =
|
||||
new Size(96, 36);
|
||||
|
||||
botao.MaximumSize =
|
||||
new Size(112, 44);
|
||||
|
||||
botao.Margin =
|
||||
new Padding(0, 3, 10, 3);
|
||||
|
||||
botao.Padding =
|
||||
Padding.Empty;
|
||||
|
||||
botao.Cursor =
|
||||
Cursors.Hand;
|
||||
}
|
||||
finally
|
||||
{
|
||||
botao.ResumeLayout(true);
|
||||
}
|
||||
}
|
||||
private void ConfigurarBotaoSecao(HmiSidebarButton botao, string texto, string icone, Color corDestaque, int largura)
|
||||
{
|
||||
botao.SuspendLayout();
|
||||
|
||||
try
|
||||
{
|
||||
botao.Text = texto;
|
||||
botao.IconText = icone;
|
||||
|
||||
botao.AccentColor =
|
||||
corDestaque;
|
||||
|
||||
botao.BorderColor =
|
||||
MisturarCores(
|
||||
HmiTheme.Border,
|
||||
corDestaque,
|
||||
0.45F);
|
||||
|
||||
botao.FillColor =
|
||||
HmiTheme.SurfaceRaised;
|
||||
|
||||
botao.CornerRadius = 8;
|
||||
|
||||
botao.Dock =
|
||||
DockStyle.Left;
|
||||
|
||||
botao.MinimumSize =
|
||||
new Size(110, 32);
|
||||
|
||||
botao.MaximumSize =
|
||||
new Size(largura, 34);
|
||||
|
||||
botao.Width = largura;
|
||||
botao.Height = 33;
|
||||
|
||||
botao.Margin =
|
||||
new Padding(0, 2, 0, 0);
|
||||
|
||||
botao.Padding =
|
||||
Padding.Empty;
|
||||
|
||||
botao.Cursor =
|
||||
Cursors.Hand;
|
||||
}
|
||||
finally
|
||||
{
|
||||
botao.ResumeLayout(true);
|
||||
}
|
||||
}
|
||||
private static Color MisturarCores(Color corBase, Color corDestaque, float pesoDestaque)
|
||||
{
|
||||
pesoDestaque = Math.Max(0F, Math.Min(1F, pesoDestaque));
|
||||
|
||||
float pesoBase = 1F - pesoDestaque;
|
||||
|
||||
return Color.FromArgb(
|
||||
(int)(corBase.R * pesoBase + corDestaque.R * pesoDestaque),
|
||||
(int)(corBase.G * pesoBase + corDestaque.G * pesoDestaque),
|
||||
(int)( corBase.B * pesoBase + corDestaque.B * pesoDestaque)
|
||||
);
|
||||
}
|
||||
private void CorrigirLayoutInicial()
|
||||
{
|
||||
SuspendLayout();
|
||||
rootLayout.SuspendLayout();
|
||||
contentLayout.SuspendLayout();
|
||||
|
||||
try
|
||||
{
|
||||
// =====================================================
|
||||
// HEADER
|
||||
// =====================================================
|
||||
|
||||
headerLayout.ColumnStyles.Clear();
|
||||
headerLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 112F));
|
||||
headerLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||
headerLayout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 165F));
|
||||
|
||||
headerTextLayout.Margin = new Padding(10, 0, 5, 0);
|
||||
lblTitulo.Padding = Padding.Empty;
|
||||
lblSubtitulo.Padding = Padding.Empty;
|
||||
|
||||
// =====================================================
|
||||
// COLUNAS PRINCIPAIS
|
||||
// =====================================================
|
||||
|
||||
contentLayout.ColumnStyles.Clear();
|
||||
|
||||
contentLayout.ColumnStyles.Add(
|
||||
new ColumnStyle(
|
||||
SizeType.Percent,
|
||||
50F
|
||||
)
|
||||
);
|
||||
|
||||
contentLayout.ColumnStyles.Add(
|
||||
new ColumnStyle(
|
||||
SizeType.Percent,
|
||||
50F
|
||||
)
|
||||
);
|
||||
|
||||
leftLayout.Dock = DockStyle.Fill;
|
||||
rightLayout.Dock = DockStyle.Fill;
|
||||
|
||||
leftLayout.MinimumSize = Size.Empty;
|
||||
rightLayout.MinimumSize = Size.Empty;
|
||||
|
||||
// =====================================================
|
||||
// CÂMERAS
|
||||
// =====================================================
|
||||
|
||||
/*cameraFrontal.MinimumSize =
|
||||
Size.Empty;
|
||||
|
||||
cameraFrontal.Height = 86;
|
||||
|
||||
cameraErvas.MinimumSize =
|
||||
Size.Empty;
|
||||
|
||||
cameraErvas.Height = 86;
|
||||
|
||||
camerasLayout.RowStyles.Clear();
|
||||
|
||||
camerasLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Absolute,
|
||||
24F
|
||||
)
|
||||
);
|
||||
|
||||
camerasLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Absolute,
|
||||
88F
|
||||
)
|
||||
);
|
||||
|
||||
camerasLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Absolute,
|
||||
88F
|
||||
)
|
||||
);
|
||||
|
||||
camerasLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Percent,
|
||||
100F
|
||||
)
|
||||
);*/
|
||||
|
||||
// =====================================================
|
||||
// REDES
|
||||
// =====================================================
|
||||
|
||||
redeHaLow.MinimumSize =
|
||||
Size.Empty;
|
||||
|
||||
redeCan.MinimumSize =
|
||||
Size.Empty;
|
||||
|
||||
redeHaLow.Height = 67;
|
||||
redeCan.Height = 67;
|
||||
|
||||
redesLayout.RowStyles.Clear();
|
||||
|
||||
redesLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Absolute,
|
||||
24F
|
||||
)
|
||||
);
|
||||
|
||||
redesLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Percent,
|
||||
50F
|
||||
)
|
||||
);
|
||||
|
||||
redesLayout.RowStyles.Add(
|
||||
new RowStyle(
|
||||
SizeType.Percent,
|
||||
50F
|
||||
)
|
||||
);
|
||||
|
||||
// =====================================================
|
||||
// PAINÉIS DA DIREITA
|
||||
// =====================================================
|
||||
|
||||
ConfigurarPainelDireito(
|
||||
pnlGeometria,
|
||||
geometriaLayout
|
||||
);
|
||||
|
||||
ConfigurarPainelDireito(
|
||||
pnlBateria,
|
||||
bateriaLayout
|
||||
);
|
||||
|
||||
ConfigurarPainelDireito(
|
||||
pnlReservatorio,
|
||||
reservatorioLayout
|
||||
);
|
||||
|
||||
// =====================================================
|
||||
// FOOTER
|
||||
// =====================================================
|
||||
|
||||
btnRestaurar.Text =
|
||||
"RESTAURAR";
|
||||
|
||||
btnRestaurar.IconText =
|
||||
"↻";
|
||||
|
||||
btnSalvar.Text =
|
||||
"SALVAR";
|
||||
|
||||
btnSalvar.IconText =
|
||||
"✓";
|
||||
|
||||
btnTestarComunicacao.Text =
|
||||
"TESTAR REDE";
|
||||
|
||||
btnTestarComunicacao.IconText =
|
||||
"◉";
|
||||
|
||||
btnRestaurar.Margin =
|
||||
new Padding(5, 2, 0, 2);
|
||||
|
||||
btnSalvar.Margin =
|
||||
new Padding(5, 2, 0, 2);
|
||||
|
||||
btnTestarComunicacao.Margin =
|
||||
new Padding(5, 2, 0, 2);
|
||||
|
||||
pnlGeometria.BringToFront();
|
||||
pnlBateria.BringToFront();
|
||||
pnlReservatorio.BringToFront();
|
||||
|
||||
contentLayout.PerformLayout();
|
||||
rootLayout.PerformLayout();
|
||||
}
|
||||
finally
|
||||
{
|
||||
contentLayout.ResumeLayout(true);
|
||||
rootLayout.ResumeLayout(true);
|
||||
ResumeLayout(true);
|
||||
}
|
||||
}
|
||||
|
||||
private static void ConfigurarPainelDireito(HmiRoundedPanel painel, TableLayoutPanel layout)
|
||||
{
|
||||
painel.Dock = DockStyle.Fill;
|
||||
painel.Visible = true;
|
||||
painel.MinimumSize = Size.Empty;
|
||||
|
||||
layout.Dock = DockStyle.Fill;
|
||||
layout.Visible = true;
|
||||
layout.MinimumSize = Size.Empty;
|
||||
|
||||
if (!painel.Controls.Contains(layout))
|
||||
{
|
||||
painel.Controls.Clear();
|
||||
painel.Controls.Add(layout);
|
||||
}
|
||||
|
||||
layout.BringToFront();
|
||||
lblRover.Text = $"ROVER {VariaveisEquipamento.Parametros.serial_number}\r\nConfiguração local";
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -56,7 +56,7 @@
|
|||
this.lblTituloAtualizacoes = new System.Windows.Forms.Label();
|
||||
this.picWifi = new System.Windows.Forms.PictureBox();
|
||||
this.lblAtualizacaoResumo = new System.Windows.Forms.Label();
|
||||
this.pgbAtualizacaoArquivos = new System.Windows.Forms.ProgressBar();
|
||||
this.pgbAtualizacaoArquivos = new Controls.Operacao.HmiProgressBar();
|
||||
this.lblProgressoAtualizacao = new System.Windows.Forms.Label();
|
||||
this.pnlFooter = new System.Windows.Forms.Panel();
|
||||
this.footerLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||
|
|
@ -168,7 +168,6 @@
|
|||
this.lblTitulo.Size = new System.Drawing.Size(531, 31);
|
||||
this.lblTitulo.TabIndex = 0;
|
||||
this.lblTitulo.Text = "MENU DO EQUIPAMENTO";
|
||||
this.lblTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// lblStatus
|
||||
//
|
||||
|
|
@ -183,7 +182,7 @@
|
|||
this.lblStatus.Size = new System.Drawing.Size(531, 19);
|
||||
this.lblStatus.TabIndex = 1;
|
||||
this.lblStatus.Text = "Acesso rápido para operação em campo";
|
||||
this.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.lblStatus.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||
//
|
||||
// pnlRoverStatus
|
||||
//
|
||||
|
|
@ -727,7 +726,6 @@
|
|||
this.pgbAtualizacaoArquivos.Margin = new System.Windows.Forms.Padding(5, 3, 5, 2);
|
||||
this.pgbAtualizacaoArquivos.Name = "pgbAtualizacaoArquivos";
|
||||
this.pgbAtualizacaoArquivos.Size = new System.Drawing.Size(154, 11);
|
||||
this.pgbAtualizacaoArquivos.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
|
||||
this.pgbAtualizacaoArquivos.TabIndex = 3;
|
||||
//
|
||||
// lblProgressoAtualizacao
|
||||
|
|
@ -875,7 +873,7 @@
|
|||
private System.Windows.Forms.Label lblTituloAtualizacoes;
|
||||
private System.Windows.Forms.PictureBox picWifi;
|
||||
private System.Windows.Forms.Label lblAtualizacaoResumo;
|
||||
public System.Windows.Forms.ProgressBar pgbAtualizacaoArquivos;
|
||||
public new Controls.Operacao.HmiProgressBar pgbAtualizacaoArquivos;
|
||||
public System.Windows.Forms.Label lblProgressoAtualizacao;
|
||||
private System.Windows.Forms.Panel pnlFooter;
|
||||
private System.Windows.Forms.TableLayoutPanel footerLayout;
|
||||
|
|
|
|||
|
|
@ -96,8 +96,9 @@ namespace AgroBase.Forms.IHM
|
|||
tileDiagnosticos.SetStatus(existeFalha ? "Existe uma falha ativa" : "Saúde geral normal", existeFalha ? HmiTheme.Warning : HmiTheme.Info);
|
||||
tileDiagnosticos.AccentColor = existeFalha ? HmiTheme.Warning : HmiTheme.Info;
|
||||
|
||||
bool pronto = operacaoLiberada && mqttConectado && iaConectada;
|
||||
bool pronto = operacaoLiberada;
|
||||
|
||||
lblRoverNome.Text = $"ROVER {VariaveisEquipamento.Parametros.serial_number}";
|
||||
lblRoverProntidao.Text = pronto ? "Pronto para operação" : "Aguardando condições";
|
||||
lblRoverProntidao.ForeColor = pronto ? HmiTheme.Success : HmiTheme.Warning;
|
||||
lblRoverDot.ForeColor = pronto ? HmiTheme.Success : HmiTheme.Warning;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
using AgroBase.Forms.IHM.Controls;
|
||||
using AgroBase.Forms.IHM.Controls;
|
||||
using AgroBase.Forms.IHM.Operacao;
|
||||
using AgroBase.Models;
|
||||
using System;
|
||||
|
|
@ -55,6 +54,8 @@ namespace AgroBase.Forms.IHM
|
|||
lblStatusOperacao.Text = op_liberada ? "Operação Liberada" : "Operação Bloqueada";
|
||||
lblStatusOperacao.ForeColor = op_liberada ? HmiTheme.Success : HmiTheme.Warning;
|
||||
|
||||
lblModoValor.Text = (op?.Parametros?.Modo ?? Enums.ModoOperacao.NaoDefinido).ToString();
|
||||
|
||||
switch (_abaAtual)
|
||||
{
|
||||
case AbaOperacaoIHM.Movimentacao:
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ using Newtonsoft.Json;
|
|||
using AgroMonitor;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using AgroBase.Forms.IHM.Controls.Operacao;
|
||||
|
||||
namespace AgroBase.Models
|
||||
{
|
||||
|
|
@ -1419,6 +1420,15 @@ namespace AgroBase.Models
|
|||
Valor > pgb.Maximum ? pgb.Value = pgb.Maximum :
|
||||
pgb.Minimum;
|
||||
}
|
||||
|
||||
public static void PreencheValorProgressBar(HmiProgressBar pgb, double Valor)
|
||||
{
|
||||
pgb.Value =
|
||||
Valor >= pgb.Minimum && Valor <= pgb.Maximum ? pgb.Value = Convert.ToInt32(Valor) :
|
||||
Valor < pgb.Minimum ? pgb.Value = pgb.Minimum :
|
||||
Valor > pgb.Maximum ? pgb.Value = pgb.Maximum :
|
||||
pgb.Minimum;
|
||||
}
|
||||
|
||||
public static void PreencheValorTrackBar(TrackBar tkb, double Valor)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1487,12 +1487,11 @@ class CameraIMU(ModuloDiagnosticoBase):
|
|||
sensors_count = int(data.get("sensors_count", 0) or 0)
|
||||
sensors_valid_count = int(data.get("sensors_valid_count", 0) or 0)
|
||||
sensors_ignored_count = int(data.get("sensors_ignored_count", 0) or 0)
|
||||
fontes_count = len(data.get("fontes", []))
|
||||
|
||||
if sensors_count <= 0:
|
||||
motivos.append(
|
||||
"Nenhum dos módulos IMU configurados foi detectado"
|
||||
)
|
||||
elif sensors_valid_count <= 0 and sensors_ignored_count > 0:
|
||||
motivos.append("Nenhum dos módulos IMU configurados foi detectado")
|
||||
elif sensors_valid_count <= 0 and sensors_ignored_count > 0 and fontes_count > 0:
|
||||
motivos.append("Câmeras detectadas, mas nenhuma IMU válida")
|
||||
else:
|
||||
motivos.append("Nenhuma IMU válida disponível")
|
||||
|
|
@ -1553,9 +1552,13 @@ class CameraIMU(ModuloDiagnosticoBase):
|
|||
|
||||
saude = int(max(0, min(100, saude)))
|
||||
|
||||
modo = data.get("modo", "sem_imu")
|
||||
|
||||
status = StatusModulo.OPERANTE
|
||||
if not conectado:
|
||||
status = StatusModulo.DESCONECTADO
|
||||
elif modo == "sem_imu":
|
||||
status = StatusModulo.DESCONECTADO
|
||||
elif not valido:
|
||||
status = StatusModulo.FALHA
|
||||
elif saude <= 45:
|
||||
|
|
|
|||
Loading…
Reference in New Issue