Iniciado nova IHM
|
|
@ -384,6 +384,40 @@
|
||||||
<Compile Include="Forms\frmPinout.Designer.cs">
|
<Compile Include="Forms\frmPinout.Designer.cs">
|
||||||
<DependentUpon>frmPinout.cs</DependentUpon>
|
<DependentUpon>frmPinout.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\HmiMenuTile.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\HmiRoundedPanel.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\HmiShortcutButton.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\HmiSidebarButton.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\HmiStatusRow.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\HmiTheme.cs" />
|
||||||
|
<Compile Include="Forms\IHM\Controls\StatusOperacaoControl.cs">
|
||||||
|
<SubType>UserControl</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\Controls\StatusOperacaoControl.Designer.cs">
|
||||||
|
<DependentUpon>StatusOperacaoControl.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\frmDiagnosticos.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\frmDiagnosticos.Designer.cs">
|
||||||
|
<DependentUpon>frmDiagnosticos.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\frmMenu.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Forms\IHM\frmMenu.Designer.cs">
|
||||||
|
<DependentUpon>frmMenu.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Forms\Simuladores\frmSimulacaoMapaGPS.cs">
|
<Compile Include="Forms\Simuladores\frmSimulacaoMapaGPS.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|
@ -408,11 +442,11 @@
|
||||||
<Compile Include="Forms\IHM\frmAjustes.Designer.cs">
|
<Compile Include="Forms\IHM\frmAjustes.Designer.cs">
|
||||||
<DependentUpon>frmAjustes.cs</DependentUpon>
|
<DependentUpon>frmAjustes.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Forms\IHM\frmDiagnosticos.cs">
|
<Compile Include="Forms\IHM\frmTestes.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Forms\IHM\frmDiagnosticos.Designer.cs">
|
<Compile Include="Forms\IHM\frmTestes.Designer.cs">
|
||||||
<DependentUpon>frmDiagnosticos.cs</DependentUpon>
|
<DependentUpon>frmTestes.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Forms\IHM\frmDialogoMapa.cs">
|
<Compile Include="Forms\IHM\frmDialogoMapa.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
|
|
@ -643,6 +677,13 @@
|
||||||
<Content Include="icon.ico" />
|
<Content Include="icon.ico" />
|
||||||
<None Include="Imagens\logo.png" />
|
<None Include="Imagens\logo.png" />
|
||||||
<None Include="Imagens\ads.jpg" />
|
<None Include="Imagens\ads.jpg" />
|
||||||
|
<None Include="Imagens\testes.png" />
|
||||||
|
<None Include="Imagens\base.png" />
|
||||||
|
<None Include="Imagens\bateria.png" />
|
||||||
|
<None Include="Imagens\gnss.png" />
|
||||||
|
<None Include="Imagens\rede.png" />
|
||||||
|
<None Include="Imagens\reservatorio.png" />
|
||||||
|
<None Include="Imagens\temperatura.png" />
|
||||||
<Content Include="Python\Output\modelo_3d-1_0.mtl" />
|
<Content Include="Python\Output\modelo_3d-1_0.mtl" />
|
||||||
<Content Include="Python\Output\modelo_3d-1_0.obj" />
|
<Content Include="Python\Output\modelo_3d-1_0.obj" />
|
||||||
<None Include="Resources\rede.png" />
|
<None Include="Resources\rede.png" />
|
||||||
|
|
@ -768,6 +809,13 @@
|
||||||
<EmbeddedResource Include="Forms\frmPinout.resx">
|
<EmbeddedResource Include="Forms\frmPinout.resx">
|
||||||
<DependentUpon>frmPinout.cs</DependentUpon>
|
<DependentUpon>frmPinout.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Forms\IHM\frmDiagnosticos.resx">
|
||||||
|
<DependentUpon>frmDiagnosticos.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Forms\IHM\frmMenu.resx">
|
||||||
|
<DependentUpon>frmMenu.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Forms\Simuladores\frmSimulacaoMapaGPS.resx">
|
<EmbeddedResource Include="Forms\Simuladores\frmSimulacaoMapaGPS.resx">
|
||||||
<DependentUpon>frmSimulacaoMapaGPS.cs</DependentUpon>
|
<DependentUpon>frmSimulacaoMapaGPS.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|
@ -783,14 +831,15 @@
|
||||||
<EmbeddedResource Include="Forms\IHM\frmAjustes.resx">
|
<EmbeddedResource Include="Forms\IHM\frmAjustes.resx">
|
||||||
<DependentUpon>frmAjustes.cs</DependentUpon>
|
<DependentUpon>frmAjustes.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Forms\IHM\frmDiagnosticos.resx">
|
<EmbeddedResource Include="Forms\IHM\frmTestes.resx">
|
||||||
<DependentUpon>frmDiagnosticos.cs</DependentUpon>
|
<DependentUpon>frmTestes.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Forms\IHM\frmDialogoMapa.resx">
|
<EmbeddedResource Include="Forms\IHM\frmDialogoMapa.resx">
|
||||||
<DependentUpon>frmDialogoMapa.cs</DependentUpon>
|
<DependentUpon>frmDialogoMapa.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Forms\IHM\frmIHM.resx">
|
<EmbeddedResource Include="Forms\IHM\frmIHM.resx">
|
||||||
<DependentUpon>frmIHM.cs</DependentUpon>
|
<DependentUpon>frmIHM.cs</DependentUpon>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Forms\Movimentacao\frmMovCamera.resx">
|
<EmbeddedResource Include="Forms\Movimentacao\frmMovCamera.resx">
|
||||||
<DependentUpon>frmMovCamera.cs</DependentUpon>
|
<DependentUpon>frmMovCamera.cs</DependentUpon>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,298 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
[DefaultEvent("Click")]
|
||||||
|
public class HmiMenuTile : UserControl
|
||||||
|
{
|
||||||
|
private readonly TableLayoutPanel _layout;
|
||||||
|
private readonly PictureBox _picIcone;
|
||||||
|
private readonly Label _lblTitulo;
|
||||||
|
private readonly Label _lblSubtitulo;
|
||||||
|
|
||||||
|
private Color _fillColor = HmiTheme.SurfaceRaised;
|
||||||
|
private Color _borderColor = HmiTheme.Border;
|
||||||
|
private Color _accentColor = HmiTheme.Success;
|
||||||
|
private int _cornerRadius = 13;
|
||||||
|
private bool _pressed;
|
||||||
|
|
||||||
|
public HmiMenuTile()
|
||||||
|
{
|
||||||
|
SetStyle(
|
||||||
|
ControlStyles.AllPaintingInWmPaint |
|
||||||
|
ControlStyles.UserPaint |
|
||||||
|
ControlStyles.OptimizedDoubleBuffer |
|
||||||
|
ControlStyles.ResizeRedraw |
|
||||||
|
ControlStyles.SupportsTransparentBackColor,
|
||||||
|
true);
|
||||||
|
|
||||||
|
DoubleBuffered = true;
|
||||||
|
BackColor = Color.Transparent;
|
||||||
|
Cursor = Cursors.Hand;
|
||||||
|
MinimumSize = new Size(150, 110);
|
||||||
|
Margin = new Padding(6);
|
||||||
|
|
||||||
|
_layout = new TableLayoutPanel
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ColumnCount = 1,
|
||||||
|
RowCount = 3,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Padding = new Padding(8, 7, 8, 7)
|
||||||
|
};
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Absolute, 27F));
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
|
||||||
|
|
||||||
|
_picIcone = new PictureBox
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
SizeMode = PictureBoxSizeMode.Zoom,
|
||||||
|
Margin = new Padding(48, 4, 48, 3),
|
||||||
|
Cursor = Cursors.Hand,
|
||||||
|
TabStop = false
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblTitulo = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ForeColor = HmiTheme.Text,
|
||||||
|
Font = new Font("Segoe UI", 13F, FontStyle.Bold),
|
||||||
|
Text = "TÍTULO",
|
||||||
|
TextAlign = ContentAlignment.MiddleCenter,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand,
|
||||||
|
AutoEllipsis = true
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblSubtitulo = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ForeColor = HmiTheme.TextMuted,
|
||||||
|
Font = new Font("Segoe UI", 8.25F, FontStyle.Regular),
|
||||||
|
Text = string.Empty,
|
||||||
|
TextAlign = ContentAlignment.TopCenter,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand,
|
||||||
|
AutoEllipsis = true
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.Controls.Add(_picIcone, 0, 0);
|
||||||
|
_layout.Controls.Add(_lblTitulo, 0, 1);
|
||||||
|
_layout.Controls.Add(_lblSubtitulo, 0, 2);
|
||||||
|
Controls.Add(_layout);
|
||||||
|
|
||||||
|
WireChild(_layout);
|
||||||
|
WireChild(_picIcone);
|
||||||
|
WireChild(_lblTitulo);
|
||||||
|
WireChild(_lblSubtitulo);
|
||||||
|
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
public Image Icone
|
||||||
|
{
|
||||||
|
get { return _picIcone.Image; }
|
||||||
|
set { _picIcone.Image = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[DefaultValue("TÍTULO")]
|
||||||
|
public string Titulo
|
||||||
|
{
|
||||||
|
get { return _lblTitulo.Text; }
|
||||||
|
set { _lblTitulo.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[DefaultValue("")]
|
||||||
|
public string Subtitulo
|
||||||
|
{
|
||||||
|
get { return _lblSubtitulo.Text; }
|
||||||
|
set { _lblSubtitulo.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color FillColor
|
||||||
|
{
|
||||||
|
get { return _fillColor; }
|
||||||
|
set { _fillColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color BorderColor
|
||||||
|
{
|
||||||
|
get { return _borderColor; }
|
||||||
|
set { _borderColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color AccentColor
|
||||||
|
{
|
||||||
|
get { return _accentColor; }
|
||||||
|
set { _accentColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(13)]
|
||||||
|
public int CornerRadius
|
||||||
|
{
|
||||||
|
get { return _cornerRadius; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_cornerRadius = Math.Max(0, value);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetStatus(string text, Color color)
|
||||||
|
{
|
||||||
|
Subtitulo = text;
|
||||||
|
_lblSubtitulo.ForeColor = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnEnabledChanged(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnEnabledChanged(e);
|
||||||
|
Cursor = Enabled ? Cursors.Hand : Cursors.Default;
|
||||||
|
_lblTitulo.ForeColor = Enabled ? HmiTheme.Text : HmiTheme.Disabled;
|
||||||
|
_lblSubtitulo.ForeColor = Enabled ? HmiTheme.TextMuted : HmiTheme.Disabled;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseDown(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseDown(e);
|
||||||
|
if (!Enabled || e.Button != MouseButtons.Left)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressed = true;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseUp(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseUp(e);
|
||||||
|
if (!_pressed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressed = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseLeave(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseLeave(e);
|
||||||
|
if (!_pressed)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressed = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
Color currentFill = _pressed
|
||||||
|
? HmiTheme.SurfacePressed
|
||||||
|
: _fillColor;
|
||||||
|
|
||||||
|
if (!Enabled)
|
||||||
|
currentFill = Color.FromArgb(22, 25, 28);
|
||||||
|
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var brush = new SolidBrush(currentFill))
|
||||||
|
{
|
||||||
|
e.Graphics.FillPath(brush, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
Color border = Enabled ? _accentColor : HmiTheme.Disabled;
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var pen = new Pen(border, _pressed ? 2F : 1.25F))
|
||||||
|
{
|
||||||
|
e.Graphics.DrawPath(pen, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
using (var pen = new Pen(Color.FromArgb(120, border), 3F))
|
||||||
|
{
|
||||||
|
pen.StartCap = LineCap.Round;
|
||||||
|
pen.EndCap = LineCap.Round;
|
||||||
|
e.Graphics.DrawLine(pen, 18, 8, Math.Max(18, Width - 18), 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
base.OnPaint(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WireChild(Control child)
|
||||||
|
{
|
||||||
|
child.Click += Child_Click;
|
||||||
|
child.MouseDown += Child_MouseDown;
|
||||||
|
child.MouseUp += Child_MouseUp;
|
||||||
|
child.MouseLeave += Child_MouseLeave;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Child_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (Enabled)
|
||||||
|
OnClick(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Child_MouseDown(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
OnMouseDown(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Child_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
OnMouseUp(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Child_MouseLeave(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
OnMouseLeave(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateRoundedRegion()
|
||||||
|
{
|
||||||
|
if (Width <= 0 || Height <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(
|
||||||
|
new Rectangle(0, 0, Width, Height),
|
||||||
|
_cornerRadius))
|
||||||
|
{
|
||||||
|
if (Region != null)
|
||||||
|
Region.Dispose();
|
||||||
|
|
||||||
|
Region = new Region(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,197 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
public class HmiRoundedPanel : UserControl
|
||||||
|
{
|
||||||
|
private Color _fillColor = HmiTheme.Surface;
|
||||||
|
private Color _borderColor = HmiTheme.Border;
|
||||||
|
private Color _accentColor = HmiTheme.Success;
|
||||||
|
private int _cornerRadius = 12;
|
||||||
|
private int _borderThickness = 1;
|
||||||
|
private int _accentWidth = 4;
|
||||||
|
private bool _showAccent;
|
||||||
|
|
||||||
|
public HmiRoundedPanel()
|
||||||
|
{
|
||||||
|
SetStyle(
|
||||||
|
ControlStyles.AllPaintingInWmPaint |
|
||||||
|
ControlStyles.UserPaint |
|
||||||
|
ControlStyles.OptimizedDoubleBuffer |
|
||||||
|
ControlStyles.ResizeRedraw |
|
||||||
|
ControlStyles.SupportsTransparentBackColor,
|
||||||
|
true);
|
||||||
|
|
||||||
|
DoubleBuffered = true;
|
||||||
|
BackColor = Color.Transparent;
|
||||||
|
Padding = new Padding(12);
|
||||||
|
MinimumSize = new Size(30, 30);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color FillColor
|
||||||
|
{
|
||||||
|
get { return _fillColor; }
|
||||||
|
set { _fillColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color BorderColor
|
||||||
|
{
|
||||||
|
get { return _borderColor; }
|
||||||
|
set { _borderColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color AccentColor
|
||||||
|
{
|
||||||
|
get { return _accentColor; }
|
||||||
|
set { _accentColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(false)]
|
||||||
|
public bool ShowAccent
|
||||||
|
{
|
||||||
|
get { return _showAccent; }
|
||||||
|
set { _showAccent = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(12)]
|
||||||
|
public int CornerRadius
|
||||||
|
{
|
||||||
|
get { return _cornerRadius; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_cornerRadius = Math.Max(0, value);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(1)]
|
||||||
|
public int BorderThickness
|
||||||
|
{
|
||||||
|
get { return _borderThickness; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_borderThickness = Math.Max(0, value);
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(4)]
|
||||||
|
public int AccentWidth
|
||||||
|
{
|
||||||
|
get { return _accentWidth; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_accentWidth = Math.Max(1, value);
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
using (var path = CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var brush = new SolidBrush(_fillColor))
|
||||||
|
{
|
||||||
|
e.Graphics.FillPath(brush, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
using (var path = CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
{
|
||||||
|
if (_borderThickness > 0)
|
||||||
|
{
|
||||||
|
using (var pen = new Pen(_borderColor, _borderThickness))
|
||||||
|
{
|
||||||
|
e.Graphics.DrawPath(pen, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_showAccent && Height > 20)
|
||||||
|
{
|
||||||
|
using (var pen = new Pen(_accentColor, _accentWidth))
|
||||||
|
{
|
||||||
|
pen.StartCap = LineCap.Round;
|
||||||
|
pen.EndCap = LineCap.Round;
|
||||||
|
e.Graphics.DrawLine(
|
||||||
|
pen,
|
||||||
|
Padding.Left / 2,
|
||||||
|
12,
|
||||||
|
Padding.Left / 2,
|
||||||
|
Height - 12);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
base.OnPaint(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateRoundedRegion()
|
||||||
|
{
|
||||||
|
if (Width <= 0 || Height <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var bounds = new Rectangle(0, 0, Width, Height);
|
||||||
|
using (var path = CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
{
|
||||||
|
if (Region != null)
|
||||||
|
Region.Dispose();
|
||||||
|
|
||||||
|
Region = new Region(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static GraphicsPath CreateRoundedPath(Rectangle bounds, int radius)
|
||||||
|
{
|
||||||
|
var path = new GraphicsPath();
|
||||||
|
|
||||||
|
if (radius <= 0)
|
||||||
|
{
|
||||||
|
path.AddRectangle(bounds);
|
||||||
|
path.CloseFigure();
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
int diameter = Math.Min(radius * 2, Math.Min(bounds.Width, bounds.Height));
|
||||||
|
var arc = new Rectangle(bounds.X, bounds.Y, diameter, diameter);
|
||||||
|
|
||||||
|
path.AddArc(arc, 180, 90);
|
||||||
|
|
||||||
|
arc.X = bounds.Right - diameter;
|
||||||
|
path.AddArc(arc, 270, 90);
|
||||||
|
|
||||||
|
arc.Y = bounds.Bottom - diameter;
|
||||||
|
path.AddArc(arc, 0, 90);
|
||||||
|
|
||||||
|
arc.X = bounds.Left;
|
||||||
|
path.AddArc(arc, 90, 90);
|
||||||
|
|
||||||
|
path.CloseFigure();
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,241 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
[DefaultEvent("Click")]
|
||||||
|
public class HmiShortcutButton : UserControl
|
||||||
|
{
|
||||||
|
private readonly TableLayoutPanel _layout;
|
||||||
|
private readonly Label _lblIcon;
|
||||||
|
private readonly Label _lblText;
|
||||||
|
private readonly Label _lblArrow;
|
||||||
|
|
||||||
|
private Color _fillColor = Color.FromArgb(27, 33, 37);
|
||||||
|
private Color _borderColor = HmiTheme.BorderSoft;
|
||||||
|
private Color _accentColor = HmiTheme.Success;
|
||||||
|
private int _cornerRadius = 9;
|
||||||
|
private bool _pressed;
|
||||||
|
|
||||||
|
public HmiShortcutButton()
|
||||||
|
{
|
||||||
|
SetStyle(
|
||||||
|
ControlStyles.AllPaintingInWmPaint |
|
||||||
|
ControlStyles.UserPaint |
|
||||||
|
ControlStyles.OptimizedDoubleBuffer |
|
||||||
|
ControlStyles.ResizeRedraw |
|
||||||
|
ControlStyles.SupportsTransparentBackColor,
|
||||||
|
true);
|
||||||
|
|
||||||
|
DoubleBuffered = true;
|
||||||
|
BackColor = Color.Transparent;
|
||||||
|
Cursor = Cursors.Hand;
|
||||||
|
Height = 35;
|
||||||
|
MinimumSize = new Size(140, 34);
|
||||||
|
Margin = new Padding(0, 3, 0, 3);
|
||||||
|
|
||||||
|
_layout = new TableLayoutPanel
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ColumnCount = 3,
|
||||||
|
RowCount = 1,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Padding = new Padding(9, 0, 8, 0)
|
||||||
|
};
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 32F));
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 22F));
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
|
|
||||||
|
_lblIcon = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
Text = "›",
|
||||||
|
TextAlign = ContentAlignment.MiddleCenter,
|
||||||
|
ForeColor = _accentColor,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
Font = new Font("Segoe UI Symbol", 15F, FontStyle.Bold),
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblText = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
Text = "Atalho",
|
||||||
|
TextAlign = ContentAlignment.MiddleLeft,
|
||||||
|
ForeColor = HmiTheme.Text,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
Font = new Font("Segoe UI", 9.25F, FontStyle.Regular),
|
||||||
|
AutoEllipsis = true,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblArrow = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
Text = "›",
|
||||||
|
TextAlign = ContentAlignment.MiddleRight,
|
||||||
|
ForeColor = HmiTheme.TextMuted,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
Font = new Font("Segoe UI", 17F, FontStyle.Regular),
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.Controls.Add(_lblIcon, 0, 0);
|
||||||
|
_layout.Controls.Add(_lblText, 1, 0);
|
||||||
|
_layout.Controls.Add(_lblArrow, 2, 0);
|
||||||
|
Controls.Add(_layout);
|
||||||
|
|
||||||
|
WireChild(_layout);
|
||||||
|
WireChild(_lblIcon);
|
||||||
|
WireChild(_lblText);
|
||||||
|
WireChild(_lblArrow);
|
||||||
|
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
public string Texto
|
||||||
|
{
|
||||||
|
get { return _lblText.Text; }
|
||||||
|
set { _lblText.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
public string IconText
|
||||||
|
{
|
||||||
|
get { return _lblIcon.Text; }
|
||||||
|
set { _lblIcon.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color AccentColor
|
||||||
|
{
|
||||||
|
get { return _accentColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_accentColor = value;
|
||||||
|
_lblIcon.ForeColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color FillColor
|
||||||
|
{
|
||||||
|
get { return _fillColor; }
|
||||||
|
set { _fillColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color BorderColor
|
||||||
|
{
|
||||||
|
get { return _borderColor; }
|
||||||
|
set { _borderColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(9)]
|
||||||
|
public int CornerRadius
|
||||||
|
{
|
||||||
|
get { return _cornerRadius; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_cornerRadius = Math.Max(0, value);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseDown(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseDown(e);
|
||||||
|
if (e.Button != MouseButtons.Left)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressed = true;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseUp(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseUp(e);
|
||||||
|
_pressed = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseLeave(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseLeave(e);
|
||||||
|
_pressed = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
Color fill = _pressed ? HmiTheme.SurfacePressed : _fillColor;
|
||||||
|
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var brush = new SolidBrush(fill))
|
||||||
|
{
|
||||||
|
e.Graphics.FillPath(brush, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var pen = new Pen(_pressed ? _accentColor : _borderColor, _pressed ? 1.5F : 1F))
|
||||||
|
{
|
||||||
|
e.Graphics.DrawPath(pen, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
base.OnPaint(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WireChild(Control child)
|
||||||
|
{
|
||||||
|
child.Click += delegate { OnClick(EventArgs.Empty); };
|
||||||
|
child.MouseDown += delegate(object sender, MouseEventArgs e) { OnMouseDown(e); };
|
||||||
|
child.MouseUp += delegate(object sender, MouseEventArgs e) { OnMouseUp(e); };
|
||||||
|
child.MouseLeave += delegate { OnMouseLeave(EventArgs.Empty); };
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateRoundedRegion()
|
||||||
|
{
|
||||||
|
if (Width <= 0 || Height <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(
|
||||||
|
new Rectangle(0, 0, Width, Height),
|
||||||
|
_cornerRadius))
|
||||||
|
{
|
||||||
|
if (Region != null)
|
||||||
|
Region.Dispose();
|
||||||
|
|
||||||
|
Region = new Region(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,337 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Botão touch reutilizável para ações da barra lateral.
|
||||||
|
/// </summary>
|
||||||
|
[DefaultEvent("Click")]
|
||||||
|
public class HmiSidebarButton : UserControl
|
||||||
|
{
|
||||||
|
private readonly TableLayoutPanel _layout;
|
||||||
|
private readonly Label _lblIcone;
|
||||||
|
private readonly Label _lblTexto;
|
||||||
|
|
||||||
|
private Color _fillColor = HmiTheme.SurfaceRaised;
|
||||||
|
private Color _borderColor = HmiTheme.Border;
|
||||||
|
private Color _accentColor = HmiTheme.Success;
|
||||||
|
private int _cornerRadius = 9;
|
||||||
|
private bool _pressionado;
|
||||||
|
|
||||||
|
public HmiSidebarButton()
|
||||||
|
{
|
||||||
|
SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true);
|
||||||
|
|
||||||
|
DoubleBuffered = true;
|
||||||
|
BackColor = Color.Transparent;
|
||||||
|
Cursor = Cursors.Hand;
|
||||||
|
Height = 38;
|
||||||
|
MinimumSize = new Size(130, 36);
|
||||||
|
Margin = new Padding(0, 2, 0, 2);
|
||||||
|
Padding = Padding.Empty;
|
||||||
|
|
||||||
|
_layout = new TableLayoutPanel
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ColumnCount = 2,
|
||||||
|
RowCount = 1,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Padding = new Padding(9, 2, 10, 2)
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 32F));
|
||||||
|
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||||
|
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
|
|
||||||
|
_lblIcone = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ForeColor = _accentColor,
|
||||||
|
Font = new Font("Segoe UI Symbol", 12F, FontStyle.Bold),
|
||||||
|
Text = "●",
|
||||||
|
TextAlign = ContentAlignment.MiddleCenter,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblTexto = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
AutoEllipsis = true,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ForeColor = HmiTheme.Text,
|
||||||
|
Font = new Font("Segoe UI", 8.5F, FontStyle.Bold),
|
||||||
|
Text = "AÇÃO",
|
||||||
|
TextAlign = ContentAlignment.MiddleLeft,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Cursor = Cursors.Hand
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.Controls.Add(_lblIcone, 0, 0);
|
||||||
|
_layout.Controls.Add(_lblTexto, 1, 0);
|
||||||
|
Controls.Add(_layout);
|
||||||
|
|
||||||
|
EncaminharEventos(_layout);
|
||||||
|
EncaminharEventos(_lblIcone);
|
||||||
|
EncaminharEventos(_lblTexto);
|
||||||
|
|
||||||
|
AtualizarRegiaoArredondada();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Browsable(true)]
|
||||||
|
[EditorBrowsable(EditorBrowsableState.Always)]
|
||||||
|
[Bindable(true)]
|
||||||
|
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[Description("Texto exibido no botão.")]
|
||||||
|
[DefaultValue("AÇÃO")]
|
||||||
|
public override string Text
|
||||||
|
{
|
||||||
|
get => _lblTexto.Text;
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
string texto = value ?? string.Empty;
|
||||||
|
|
||||||
|
base.Text = texto;
|
||||||
|
_lblTexto.Text = texto;
|
||||||
|
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[DefaultValue("●")]
|
||||||
|
public string IconText
|
||||||
|
{
|
||||||
|
get { return _lblIcone.Text; }
|
||||||
|
set { _lblIcone.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color FillColor
|
||||||
|
{
|
||||||
|
get { return _fillColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_fillColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color BorderColor
|
||||||
|
{
|
||||||
|
get { return _borderColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_borderColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color AccentColor
|
||||||
|
{
|
||||||
|
get { return _accentColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_accentColor = value;
|
||||||
|
_lblIcone.ForeColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(9)]
|
||||||
|
public int CornerRadius
|
||||||
|
{
|
||||||
|
get { return _cornerRadius; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_cornerRadius = Math.Max(0, value);
|
||||||
|
AtualizarRegiaoArredondada();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnEnabledChanged(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnEnabledChanged(e);
|
||||||
|
|
||||||
|
Cursor = Enabled
|
||||||
|
? Cursors.Hand
|
||||||
|
: Cursors.Default;
|
||||||
|
|
||||||
|
_lblTexto.ForeColor = Enabled
|
||||||
|
? HmiTheme.Text
|
||||||
|
: HmiTheme.Disabled;
|
||||||
|
|
||||||
|
_lblIcone.ForeColor = Enabled
|
||||||
|
? _accentColor
|
||||||
|
: HmiTheme.Disabled;
|
||||||
|
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
AtualizarRegiaoArredondada();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseDown(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseDown(e);
|
||||||
|
|
||||||
|
if (!Enabled || e.Button != MouseButtons.Left)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressionado = true;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseUp(MouseEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseUp(e);
|
||||||
|
|
||||||
|
if (!_pressionado)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressionado = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnMouseLeave(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnMouseLeave(e);
|
||||||
|
|
||||||
|
if (!_pressionado)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_pressionado = false;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
Color fill = _pressionado
|
||||||
|
? HmiTheme.SurfacePressed
|
||||||
|
: _fillColor;
|
||||||
|
|
||||||
|
if (!Enabled)
|
||||||
|
fill = Color.FromArgb(21, 25, 28);
|
||||||
|
|
||||||
|
Rectangle bounds = new Rectangle(
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
Math.Max(1, Width - 1),
|
||||||
|
Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (GraphicsPath path =
|
||||||
|
HmiRoundedPanel.CreateRoundedPath(
|
||||||
|
bounds,
|
||||||
|
_cornerRadius))
|
||||||
|
using (SolidBrush brush = new SolidBrush(fill))
|
||||||
|
{
|
||||||
|
e.Graphics.FillPath(brush, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
Color border = Enabled
|
||||||
|
? _borderColor
|
||||||
|
: HmiTheme.Disabled;
|
||||||
|
|
||||||
|
Rectangle bounds = new Rectangle(
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
Math.Max(1, Width - 1),
|
||||||
|
Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (GraphicsPath path =
|
||||||
|
HmiRoundedPanel.CreateRoundedPath(
|
||||||
|
bounds,
|
||||||
|
_cornerRadius))
|
||||||
|
using (Pen pen = new Pen(
|
||||||
|
_pressionado ? _accentColor : border,
|
||||||
|
_pressionado ? 1.6F : 1F))
|
||||||
|
{
|
||||||
|
e.Graphics.DrawPath(pen, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
using (Pen accentPen = new Pen(
|
||||||
|
Enabled ? _accentColor : HmiTheme.Disabled,
|
||||||
|
3F))
|
||||||
|
{
|
||||||
|
accentPen.StartCap = LineCap.Round;
|
||||||
|
accentPen.EndCap = LineCap.Round;
|
||||||
|
|
||||||
|
e.Graphics.DrawLine(
|
||||||
|
accentPen,
|
||||||
|
6,
|
||||||
|
10,
|
||||||
|
6,
|
||||||
|
Height - 10);
|
||||||
|
}
|
||||||
|
|
||||||
|
base.OnPaint(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EncaminharEventos(Control control)
|
||||||
|
{
|
||||||
|
control.Click += delegate
|
||||||
|
{
|
||||||
|
if (Enabled)
|
||||||
|
OnClick(EventArgs.Empty);
|
||||||
|
};
|
||||||
|
|
||||||
|
control.MouseDown += delegate(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
OnMouseDown(e);
|
||||||
|
};
|
||||||
|
|
||||||
|
control.MouseUp += delegate(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
OnMouseUp(e);
|
||||||
|
};
|
||||||
|
|
||||||
|
control.MouseLeave += delegate
|
||||||
|
{
|
||||||
|
OnMouseLeave(EventArgs.Empty);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AtualizarRegiaoArredondada()
|
||||||
|
{
|
||||||
|
if (Width <= 0 || Height <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
using (GraphicsPath path =
|
||||||
|
HmiRoundedPanel.CreateRoundedPath(
|
||||||
|
new Rectangle(0, 0, Width, Height),
|
||||||
|
_cornerRadius))
|
||||||
|
{
|
||||||
|
if (Region != null)
|
||||||
|
Region.Dispose();
|
||||||
|
|
||||||
|
Region = new Region(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,216 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
[DefaultEvent("Click")]
|
||||||
|
public class HmiStatusRow : UserControl
|
||||||
|
{
|
||||||
|
private readonly TableLayoutPanel _layout;
|
||||||
|
private readonly Label _lblIndicator;
|
||||||
|
private readonly Label _lblTitle;
|
||||||
|
private readonly Label _lblValue;
|
||||||
|
|
||||||
|
private Color _fillColor = Color.FromArgb(27, 33, 37);
|
||||||
|
private Color _borderColor = HmiTheme.BorderSoft;
|
||||||
|
private Color _statusColor = HmiTheme.TextMuted;
|
||||||
|
private int _cornerRadius = 8;
|
||||||
|
|
||||||
|
public HmiStatusRow()
|
||||||
|
{
|
||||||
|
SetStyle(
|
||||||
|
ControlStyles.AllPaintingInWmPaint |
|
||||||
|
ControlStyles.UserPaint |
|
||||||
|
ControlStyles.OptimizedDoubleBuffer |
|
||||||
|
ControlStyles.ResizeRedraw |
|
||||||
|
ControlStyles.SupportsTransparentBackColor,
|
||||||
|
true);
|
||||||
|
|
||||||
|
DoubleBuffered = true;
|
||||||
|
BackColor = Color.Transparent;
|
||||||
|
Height = 31;
|
||||||
|
MinimumSize = new Size(120, 29);
|
||||||
|
Margin = new Padding(0, 2, 0, 2);
|
||||||
|
|
||||||
|
_layout = new TableLayoutPanel
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ColumnCount = 3,
|
||||||
|
RowCount = 1,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Padding = new Padding(8, 0, 8, 0)
|
||||||
|
};
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 18F));
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
|
|
||||||
|
_lblIndicator = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
Text = "●",
|
||||||
|
TextAlign = ContentAlignment.MiddleLeft,
|
||||||
|
ForeColor = _statusColor,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
Font = new Font("Segoe UI", 8F, FontStyle.Bold),
|
||||||
|
Margin = Padding.Empty
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblTitle = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
Text = "Status",
|
||||||
|
TextAlign = ContentAlignment.MiddleLeft,
|
||||||
|
ForeColor = HmiTheme.Text,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
Font = new Font("Segoe UI", 8.5F, FontStyle.Regular),
|
||||||
|
AutoEllipsis = true,
|
||||||
|
Margin = Padding.Empty
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblValue = new Label
|
||||||
|
{
|
||||||
|
AutoSize = true,
|
||||||
|
Anchor = AnchorStyles.Right,
|
||||||
|
Text = "-",
|
||||||
|
TextAlign = ContentAlignment.MiddleRight,
|
||||||
|
ForeColor = _statusColor,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
Font = new Font("Segoe UI", 8.5F, FontStyle.Bold),
|
||||||
|
Margin = new Padding(8, 0, 0, 0)
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.Controls.Add(_lblIndicator, 0, 0);
|
||||||
|
_layout.Controls.Add(_lblTitle, 1, 0);
|
||||||
|
_layout.Controls.Add(_lblValue, 2, 0);
|
||||||
|
Controls.Add(_layout);
|
||||||
|
|
||||||
|
WireChild(_layout);
|
||||||
|
WireChild(_lblIndicator);
|
||||||
|
WireChild(_lblTitle);
|
||||||
|
WireChild(_lblValue);
|
||||||
|
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
public string Titulo
|
||||||
|
{
|
||||||
|
get { return _lblTitle.Text; }
|
||||||
|
set { _lblTitle.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
public string Valor
|
||||||
|
{
|
||||||
|
get { return _lblValue.Text; }
|
||||||
|
set { _lblValue.Text = value ?? string.Empty; }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color StatusColor
|
||||||
|
{
|
||||||
|
get { return _statusColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_statusColor = value;
|
||||||
|
_lblIndicator.ForeColor = value;
|
||||||
|
_lblValue.ForeColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color FillColor
|
||||||
|
{
|
||||||
|
get { return _fillColor; }
|
||||||
|
set { _fillColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color BorderColor
|
||||||
|
{
|
||||||
|
get { return _borderColor; }
|
||||||
|
set { _borderColor = value; Invalidate(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(8)]
|
||||||
|
public int CornerRadius
|
||||||
|
{
|
||||||
|
get { return _cornerRadius; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_cornerRadius = Math.Max(0, value);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetStatus(string value, Color color)
|
||||||
|
{
|
||||||
|
Valor = value;
|
||||||
|
StatusColor = color;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
UpdateRoundedRegion();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var brush = new SolidBrush(_fillColor))
|
||||||
|
{
|
||||||
|
e.Graphics.FillPath(brush, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
var bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(bounds, _cornerRadius))
|
||||||
|
using (var pen = new Pen(_borderColor, 1F))
|
||||||
|
{
|
||||||
|
e.Graphics.DrawPath(pen, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
base.OnPaint(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void WireChild(Control child)
|
||||||
|
{
|
||||||
|
child.Click += delegate { OnClick(EventArgs.Empty); };
|
||||||
|
child.Cursor = Cursors.Hand;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateRoundedRegion()
|
||||||
|
{
|
||||||
|
if (Width <= 0 || Height <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
using (var path = HmiRoundedPanel.CreateRoundedPath(
|
||||||
|
new Rectangle(0, 0, Width, Height),
|
||||||
|
_cornerRadius))
|
||||||
|
{
|
||||||
|
if (Region != null)
|
||||||
|
Region.Dispose();
|
||||||
|
|
||||||
|
Region = new Region(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Paleta central da IHM. Altere as cores aqui para atualizar todas as telas.
|
||||||
|
/// </summary>
|
||||||
|
public static class HmiTheme
|
||||||
|
{
|
||||||
|
public static readonly Color Background = Color.FromArgb(12, 17, 20);
|
||||||
|
public static readonly Color Surface = Color.FromArgb(24, 29, 33);
|
||||||
|
public static readonly Color SurfaceRaised = Color.FromArgb(30, 36, 41);
|
||||||
|
public static readonly Color SurfacePressed = Color.FromArgb(19, 24, 28);
|
||||||
|
public static readonly Color Header = Color.FromArgb(15, 48, 38);
|
||||||
|
|
||||||
|
public static readonly Color Border = Color.FromArgb(53, 63, 69);
|
||||||
|
public static readonly Color BorderSoft = Color.FromArgb(42, 51, 57);
|
||||||
|
|
||||||
|
public static readonly Color Text = Color.FromArgb(241, 245, 247);
|
||||||
|
public static readonly Color TextMuted = Color.FromArgb(164, 174, 181);
|
||||||
|
|
||||||
|
public static readonly Color Success = Color.FromArgb(72, 210, 122);
|
||||||
|
public static readonly Color Info = Color.FromArgb(61, 165, 255);
|
||||||
|
public static readonly Color Manual = Color.FromArgb(155, 106, 222);
|
||||||
|
public static readonly Color Warning = Color.FromArgb(244, 181, 68);
|
||||||
|
public static readonly Color Danger = Color.FromArgb(239, 83, 80);
|
||||||
|
|
||||||
|
public static readonly Color Disabled = Color.FromArgb(92, 101, 107);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
partial class StatusOperacaoControl
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Component Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
components = new System.ComponentModel.Container();
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,393 @@
|
||||||
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM.Controls
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Card compacto utilizado na barra lateral da IHM.
|
||||||
|
/// Mantém compatibilidade com as propriedades do componente anterior.
|
||||||
|
/// </summary>
|
||||||
|
[DefaultEvent("Click")]
|
||||||
|
public partial class StatusOperacaoControl : UserControl
|
||||||
|
{
|
||||||
|
private readonly TableLayoutPanel _layout;
|
||||||
|
private readonly PictureBox _picIcone;
|
||||||
|
private readonly Label _lblTitulo;
|
||||||
|
private readonly Label _lblValor;
|
||||||
|
|
||||||
|
private Color _corFundo = HmiTheme.SurfaceRaised;
|
||||||
|
private Color _corBorda = HmiTheme.BorderSoft;
|
||||||
|
private Color _corDestaque = HmiTheme.Success;
|
||||||
|
private int _raioBorda = 10;
|
||||||
|
private bool _mostrarDestaque = true;
|
||||||
|
|
||||||
|
public StatusOperacaoControl()
|
||||||
|
{
|
||||||
|
SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true);
|
||||||
|
|
||||||
|
DoubleBuffered = true;
|
||||||
|
BackColor = Color.Transparent;
|
||||||
|
ForeColor = HmiTheme.Text;
|
||||||
|
|
||||||
|
Height = 42;
|
||||||
|
MinimumSize = new Size(130, 40);
|
||||||
|
Margin = new Padding(0, 0, 0, 5);
|
||||||
|
Padding = Padding.Empty;
|
||||||
|
Cursor = Cursors.Default;
|
||||||
|
|
||||||
|
_layout = new TableLayoutPanel
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ColumnCount = 3,
|
||||||
|
RowCount = 1,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Padding = new Padding(12, 3, 10, 3)
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 29F));
|
||||||
|
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
|
||||||
|
|
||||||
|
_layout.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||||
|
|
||||||
|
_layout.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
|
||||||
|
|
||||||
|
_picIcone = new PictureBox
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
SizeMode = PictureBoxSizeMode.Zoom,
|
||||||
|
Margin = new Padding(1, 7, 7, 7),
|
||||||
|
Padding = Padding.Empty,
|
||||||
|
TabStop = false
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblTitulo = new Label
|
||||||
|
{
|
||||||
|
AutoSize = true,
|
||||||
|
Anchor = AnchorStyles.Left,
|
||||||
|
AutoEllipsis = false,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ForeColor = HmiTheme.Text,
|
||||||
|
Font = new Font("Segoe UI", 8.25F, FontStyle.Regular),
|
||||||
|
Text = "Título",
|
||||||
|
TextAlign = ContentAlignment.MiddleLeft,
|
||||||
|
Margin = Padding.Empty,
|
||||||
|
Padding = Padding.Empty,
|
||||||
|
MaximumSize = new Size(105, 0)
|
||||||
|
};
|
||||||
|
|
||||||
|
_lblValor = new Label
|
||||||
|
{
|
||||||
|
Dock = DockStyle.Fill,
|
||||||
|
AutoSize = false,
|
||||||
|
AutoEllipsis = true,
|
||||||
|
BackColor = Color.Transparent,
|
||||||
|
ForeColor = HmiTheme.Success,
|
||||||
|
Font = new Font("Segoe UI", 8.25F, FontStyle.Bold),
|
||||||
|
Text = "0",
|
||||||
|
TextAlign = ContentAlignment.MiddleRight,
|
||||||
|
Margin = new Padding(6, 0, 0, 0),
|
||||||
|
Padding = Padding.Empty
|
||||||
|
};
|
||||||
|
|
||||||
|
_layout.Controls.Add(_picIcone, 0, 0);
|
||||||
|
_layout.Controls.Add(_lblTitulo, 1, 0);
|
||||||
|
_layout.Controls.Add(_lblValor, 2, 0);
|
||||||
|
|
||||||
|
Controls.Add(_layout);
|
||||||
|
|
||||||
|
EncaminharClique(_layout);
|
||||||
|
EncaminharClique(_picIcone);
|
||||||
|
EncaminharClique(_lblTitulo);
|
||||||
|
EncaminharClique(_lblValor);
|
||||||
|
|
||||||
|
AtualizarRegiaoArredondada();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[Description("Ícone exibido no lado esquerdo.")]
|
||||||
|
public Image Icone
|
||||||
|
{
|
||||||
|
get { return _picIcone.Image; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_picIcone.Image = value;
|
||||||
|
_picIcone.Visible = value != null;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[DefaultValue("Título")]
|
||||||
|
public string Titulo
|
||||||
|
{
|
||||||
|
get => _lblTitulo.Text;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_lblTitulo.Text = value ?? string.Empty;
|
||||||
|
AjustarFonteTitulo();
|
||||||
|
PerformLayout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Conteúdo")]
|
||||||
|
[DefaultValue("0")]
|
||||||
|
public string Valor
|
||||||
|
{
|
||||||
|
get { return _lblValor.Text; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_lblValor.Text = value ?? string.Empty;
|
||||||
|
if (IsHandleCreated)
|
||||||
|
BeginInvoke(new Action(AjustarFonteValor));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color CorValor
|
||||||
|
{
|
||||||
|
get { return _lblValor.ForeColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_lblValor.ForeColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color CorTitulo
|
||||||
|
{
|
||||||
|
get { return _lblTitulo.ForeColor; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_lblTitulo.ForeColor = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color CorFundo
|
||||||
|
{
|
||||||
|
get { return _corFundo; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_corFundo = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color CorBorda
|
||||||
|
{
|
||||||
|
get { return _corBorda; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_corBorda = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
public Color CorDestaque
|
||||||
|
{
|
||||||
|
get { return _corDestaque; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_corDestaque = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(true)]
|
||||||
|
public bool MostrarDestaque
|
||||||
|
{
|
||||||
|
get { return _mostrarDestaque; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_mostrarDestaque = value;
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Category("Aparência")]
|
||||||
|
[DefaultValue(10)]
|
||||||
|
public int RaioBorda
|
||||||
|
{
|
||||||
|
get { return _raioBorda; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_raioBorda = Math.Max(0, value);
|
||||||
|
AtualizarRegiaoArredondada();
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AtualizarStatus(string valor, Color? corValor = null, Color? corDestaque = null)
|
||||||
|
{
|
||||||
|
Valor = valor;
|
||||||
|
|
||||||
|
if (corValor.HasValue)
|
||||||
|
CorValor = corValor.Value;
|
||||||
|
|
||||||
|
if (corDestaque.HasValue)
|
||||||
|
CorDestaque = corDestaque.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnEnabledChanged(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnEnabledChanged(e);
|
||||||
|
|
||||||
|
_lblTitulo.ForeColor = Enabled ? HmiTheme.Text : HmiTheme.Disabled;
|
||||||
|
|
||||||
|
_lblValor.ForeColor = Enabled ? _lblValor.ForeColor : HmiTheme.Disabled;
|
||||||
|
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnResize(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnResize(e);
|
||||||
|
AtualizarRegiaoArredondada();
|
||||||
|
AjustarFonteValor();
|
||||||
|
AjustarFonteTitulo();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaintBackground(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
Rectangle bounds = new Rectangle( 0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (GraphicsPath path = HmiRoundedPanel.CreateRoundedPath(bounds, _raioBorda))
|
||||||
|
using (SolidBrush brush = new SolidBrush(_corFundo))
|
||||||
|
{
|
||||||
|
e.Graphics.FillPath(brush, path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnPaint(PaintEventArgs e)
|
||||||
|
{
|
||||||
|
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
|
Rectangle bounds = new Rectangle(0, 0, Math.Max(1, Width - 1), Math.Max(1, Height - 1));
|
||||||
|
|
||||||
|
using (GraphicsPath path = HmiRoundedPanel.CreateRoundedPath(bounds, _raioBorda))
|
||||||
|
using (Pen pen = new Pen(_corBorda, 1F))
|
||||||
|
{
|
||||||
|
e.Graphics.DrawPath(pen, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_mostrarDestaque && Height > 20)
|
||||||
|
{
|
||||||
|
using (Pen accentPen = new Pen(_corDestaque, 3F))
|
||||||
|
{
|
||||||
|
accentPen.StartCap = LineCap.Round;
|
||||||
|
accentPen.EndCap = LineCap.Round;
|
||||||
|
|
||||||
|
e.Graphics.DrawLine(accentPen, 6, 11, 6, Height - 11);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
base.OnPaint(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void EncaminharClique(Control control)
|
||||||
|
{
|
||||||
|
control.Click += delegate
|
||||||
|
{
|
||||||
|
OnClick(EventArgs.Empty);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AtualizarRegiaoArredondada()
|
||||||
|
{
|
||||||
|
if (Width <= 0 || Height <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
using (GraphicsPath path = HmiRoundedPanel.CreateRoundedPath(new Rectangle(0, 0, Width, Height), _raioBorda))
|
||||||
|
{
|
||||||
|
if (Region != null)
|
||||||
|
Region.Dispose();
|
||||||
|
|
||||||
|
Region = new Region(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AjustarFonteValor()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(_lblValor?.Text))
|
||||||
|
return;
|
||||||
|
|
||||||
|
const float tamanhoMaximo = 8.25F;
|
||||||
|
const float tamanhoMinimo = 6.75F;
|
||||||
|
|
||||||
|
float tamanho = tamanhoMaximo;
|
||||||
|
|
||||||
|
using (Graphics graphics = _lblValor.CreateGraphics())
|
||||||
|
{
|
||||||
|
while (tamanho > tamanhoMinimo)
|
||||||
|
{
|
||||||
|
using (Font fonteTeste = new Font("Segoe UI", tamanho, FontStyle.Bold))
|
||||||
|
{
|
||||||
|
SizeF tamanhoTexto = graphics.MeasureString(_lblValor.Text, fonteTeste);
|
||||||
|
|
||||||
|
if (tamanhoTexto.Width <= _lblValor.ClientSize.Width - 2)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tamanho -= 0.25F;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Font fonteAntiga = _lblValor.Font;
|
||||||
|
|
||||||
|
_lblValor.Font = new Font("Segoe UI", tamanho, FontStyle.Bold);
|
||||||
|
|
||||||
|
fonteAntiga?.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AjustarFonteTitulo()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(_lblTitulo?.Text))
|
||||||
|
return;
|
||||||
|
|
||||||
|
const float fonteMaxima = 8.25F;
|
||||||
|
const float fonteMinima = 7F;
|
||||||
|
|
||||||
|
float tamanhoFonte = fonteMaxima;
|
||||||
|
|
||||||
|
int larguraMaxima = 105;
|
||||||
|
|
||||||
|
while (tamanhoFonte > fonteMinima)
|
||||||
|
{
|
||||||
|
using (Font fonteTeste = new Font("Segoe UI", tamanhoFonte, FontStyle.Regular))
|
||||||
|
{
|
||||||
|
Size tamanhoTexto = TextRenderer.MeasureText(_lblTitulo.Text, fonteTeste, new Size(int.MaxValue, Height), TextFormatFlags.SingleLine | TextFormatFlags.NoPadding);
|
||||||
|
|
||||||
|
if (tamanhoTexto.Width <= larguraMaxima)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
tamanhoFonte -= 0.25F;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Math.Abs(_lblTitulo.Font.Size - tamanhoFonte) < 0.01F)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Font fonteAnterior = _lblTitulo.Font;
|
||||||
|
|
||||||
|
_lblTitulo.Font = new Font("Segoe UI", tamanhoFonte, FontStyle.Regular);
|
||||||
|
|
||||||
|
fonteAnterior.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -286,7 +286,7 @@ namespace AgroBase.Forms.IHM
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmbCameraCaminho.Text = CameraCaminho.Id;
|
cmbCameraCaminho.Text = CameraCaminho?.Id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,432 +28,62 @@
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmDiagnosticos));
|
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
this.panel1 = new System.Windows.Forms.Panel();
|
||||||
this.tabPulverizador = new System.Windows.Forms.TabPage();
|
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||||
this.dgPulverizador = new System.Windows.Forms.DataGridView();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||||
this.tabMovimentacao = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgMovimentacao = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabDirecional = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgDirecional = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabSensoriamento = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgSensoriamento = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabComunicacao = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgComunicacao = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabCameras = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgCameras = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabSinaleiros = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgSinaleiros = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabResultados = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgResultados = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabFalhas = new System.Windows.Forms.TabPage();
|
|
||||||
this.tvwFalhas = new System.Windows.Forms.TreeView();
|
|
||||||
this.picCamera = new System.Windows.Forms.PictureBox();
|
|
||||||
this.picVoltar = new System.Windows.Forms.PictureBox();
|
|
||||||
this.picDiagnosticarTudo = new System.Windows.Forms.PictureBox();
|
|
||||||
this.picIniciarDiagnostico = new System.Windows.Forms.PictureBox();
|
|
||||||
this.picLoading = new System.Windows.Forms.PictureBox();
|
|
||||||
this.tabReles = new System.Windows.Forms.TabPage();
|
|
||||||
this.dgReles = new System.Windows.Forms.DataGridView();
|
|
||||||
this.tabControl1.SuspendLayout();
|
|
||||||
this.tabPulverizador.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).BeginInit();
|
|
||||||
this.tabMovimentacao.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).BeginInit();
|
|
||||||
this.tabDirecional.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).BeginInit();
|
|
||||||
this.tabSensoriamento.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).BeginInit();
|
|
||||||
this.tabComunicacao.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgComunicacao)).BeginInit();
|
|
||||||
this.tabCameras.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgCameras)).BeginInit();
|
|
||||||
this.tabSinaleiros.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgSinaleiros)).BeginInit();
|
|
||||||
this.tabResultados.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgResultados)).BeginInit();
|
|
||||||
this.tabFalhas.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picCamera)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picDiagnosticarTudo)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picIniciarDiagnostico)).BeginInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picLoading)).BeginInit();
|
|
||||||
this.tabReles.SuspendLayout();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgReles)).BeginInit();
|
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// tabControl1
|
// richTextBox1
|
||||||
//
|
//
|
||||||
this.tabControl1.Controls.Add(this.tabPulverizador);
|
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||||
this.tabControl1.Controls.Add(this.tabMovimentacao);
|
this.richTextBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
this.tabControl1.Controls.Add(this.tabDirecional);
|
this.richTextBox1.Location = new System.Drawing.Point(12, 518);
|
||||||
this.tabControl1.Controls.Add(this.tabSensoriamento);
|
this.richTextBox1.Name = "richTextBox1";
|
||||||
this.tabControl1.Controls.Add(this.tabComunicacao);
|
this.richTextBox1.ReadOnly = true;
|
||||||
this.tabControl1.Controls.Add(this.tabCameras);
|
this.richTextBox1.Size = new System.Drawing.Size(776, 70);
|
||||||
this.tabControl1.Controls.Add(this.tabSinaleiros);
|
this.richTextBox1.TabIndex = 1;
|
||||||
this.tabControl1.Controls.Add(this.tabReles);
|
this.richTextBox1.Text = "Impedimento: Nenhum";
|
||||||
this.tabControl1.Controls.Add(this.tabResultados);
|
|
||||||
this.tabControl1.Controls.Add(this.tabFalhas);
|
|
||||||
this.tabControl1.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
|
||||||
this.tabControl1.Location = new System.Drawing.Point(100, 12);
|
|
||||||
this.tabControl1.Name = "tabControl1";
|
|
||||||
this.tabControl1.SelectedIndex = 0;
|
|
||||||
this.tabControl1.Size = new System.Drawing.Size(912, 576);
|
|
||||||
this.tabControl1.TabIndex = 0;
|
|
||||||
//
|
//
|
||||||
// tabPulverizador
|
// panel1
|
||||||
//
|
//
|
||||||
this.tabPulverizador.Controls.Add(this.dgPulverizador);
|
this.panel1.Location = new System.Drawing.Point(418, 12);
|
||||||
this.tabPulverizador.Location = new System.Drawing.Point(4, 38);
|
this.panel1.Name = "panel1";
|
||||||
this.tabPulverizador.Name = "tabPulverizador";
|
this.panel1.Size = new System.Drawing.Size(370, 500);
|
||||||
this.tabPulverizador.Padding = new System.Windows.Forms.Padding(3);
|
this.panel1.TabIndex = 2;
|
||||||
this.tabPulverizador.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabPulverizador.TabIndex = 0;
|
|
||||||
this.tabPulverizador.Text = "Pulverizador";
|
|
||||||
this.tabPulverizador.UseVisualStyleBackColor = true;
|
|
||||||
//
|
//
|
||||||
// dgPulverizador
|
// pictureBox1
|
||||||
//
|
//
|
||||||
this.dgPulverizador.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
this.pictureBox1.Image = global::AgroBase.Properties.Resources.robo_superior;
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
this.pictureBox1.Location = new System.Drawing.Point(12, 12);
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
this.pictureBox1.Name = "pictureBox1";
|
||||||
this.dgPulverizador.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
this.pictureBox1.Size = new System.Drawing.Size(400, 500);
|
||||||
this.dgPulverizador.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
this.dgPulverizador.Location = new System.Drawing.Point(6, 6);
|
this.pictureBox1.TabIndex = 0;
|
||||||
this.dgPulverizador.Name = "dgPulverizador";
|
this.pictureBox1.TabStop = false;
|
||||||
this.dgPulverizador.Size = new System.Drawing.Size(892, 520);
|
|
||||||
this.dgPulverizador.TabIndex = 0;
|
|
||||||
//
|
|
||||||
// tabMovimentacao
|
|
||||||
//
|
|
||||||
this.tabMovimentacao.Controls.Add(this.dgMovimentacao);
|
|
||||||
this.tabMovimentacao.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabMovimentacao.Name = "tabMovimentacao";
|
|
||||||
this.tabMovimentacao.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabMovimentacao.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabMovimentacao.TabIndex = 1;
|
|
||||||
this.tabMovimentacao.Text = "Movimentação";
|
|
||||||
this.tabMovimentacao.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgMovimentacao
|
|
||||||
//
|
|
||||||
this.dgMovimentacao.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgMovimentacao.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgMovimentacao.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgMovimentacao.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgMovimentacao.Name = "dgMovimentacao";
|
|
||||||
this.dgMovimentacao.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgMovimentacao.TabIndex = 1;
|
|
||||||
//
|
|
||||||
// tabDirecional
|
|
||||||
//
|
|
||||||
this.tabDirecional.Controls.Add(this.dgDirecional);
|
|
||||||
this.tabDirecional.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabDirecional.Name = "tabDirecional";
|
|
||||||
this.tabDirecional.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabDirecional.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabDirecional.TabIndex = 2;
|
|
||||||
this.tabDirecional.Text = "Direcional";
|
|
||||||
this.tabDirecional.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgDirecional
|
|
||||||
//
|
|
||||||
this.dgDirecional.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgDirecional.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgDirecional.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgDirecional.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgDirecional.Name = "dgDirecional";
|
|
||||||
this.dgDirecional.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgDirecional.TabIndex = 2;
|
|
||||||
//
|
|
||||||
// tabSensoriamento
|
|
||||||
//
|
|
||||||
this.tabSensoriamento.Controls.Add(this.dgSensoriamento);
|
|
||||||
this.tabSensoriamento.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabSensoriamento.Name = "tabSensoriamento";
|
|
||||||
this.tabSensoriamento.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabSensoriamento.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabSensoriamento.TabIndex = 3;
|
|
||||||
this.tabSensoriamento.Text = "Sensoriamento";
|
|
||||||
this.tabSensoriamento.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgSensoriamento
|
|
||||||
//
|
|
||||||
this.dgSensoriamento.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgSensoriamento.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgSensoriamento.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgSensoriamento.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgSensoriamento.Name = "dgSensoriamento";
|
|
||||||
this.dgSensoriamento.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgSensoriamento.TabIndex = 3;
|
|
||||||
//
|
|
||||||
// tabComunicacao
|
|
||||||
//
|
|
||||||
this.tabComunicacao.Controls.Add(this.dgComunicacao);
|
|
||||||
this.tabComunicacao.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabComunicacao.Name = "tabComunicacao";
|
|
||||||
this.tabComunicacao.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabComunicacao.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabComunicacao.TabIndex = 4;
|
|
||||||
this.tabComunicacao.Text = "Comunicação";
|
|
||||||
this.tabComunicacao.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgComunicacao
|
|
||||||
//
|
|
||||||
this.dgComunicacao.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgComunicacao.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgComunicacao.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgComunicacao.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgComunicacao.Name = "dgComunicacao";
|
|
||||||
this.dgComunicacao.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgComunicacao.TabIndex = 4;
|
|
||||||
//
|
|
||||||
// tabCameras
|
|
||||||
//
|
|
||||||
this.tabCameras.Controls.Add(this.dgCameras);
|
|
||||||
this.tabCameras.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabCameras.Name = "tabCameras";
|
|
||||||
this.tabCameras.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabCameras.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabCameras.TabIndex = 5;
|
|
||||||
this.tabCameras.Text = "Câmeras";
|
|
||||||
this.tabCameras.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgCameras
|
|
||||||
//
|
|
||||||
this.dgCameras.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgCameras.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgCameras.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgCameras.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgCameras.Name = "dgCameras";
|
|
||||||
this.dgCameras.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgCameras.TabIndex = 5;
|
|
||||||
//
|
|
||||||
// tabSinaleiros
|
|
||||||
//
|
|
||||||
this.tabSinaleiros.Controls.Add(this.dgSinaleiros);
|
|
||||||
this.tabSinaleiros.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabSinaleiros.Name = "tabSinaleiros";
|
|
||||||
this.tabSinaleiros.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabSinaleiros.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabSinaleiros.TabIndex = 6;
|
|
||||||
this.tabSinaleiros.Text = "Sinaleiros";
|
|
||||||
this.tabSinaleiros.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgSinaleiros
|
|
||||||
//
|
|
||||||
this.dgSinaleiros.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgSinaleiros.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgSinaleiros.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgSinaleiros.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgSinaleiros.Name = "dgSinaleiros";
|
|
||||||
this.dgSinaleiros.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgSinaleiros.TabIndex = 6;
|
|
||||||
//
|
|
||||||
// tabResultados
|
|
||||||
//
|
|
||||||
this.tabResultados.Controls.Add(this.dgResultados);
|
|
||||||
this.tabResultados.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabResultados.Name = "tabResultados";
|
|
||||||
this.tabResultados.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabResultados.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabResultados.TabIndex = 7;
|
|
||||||
this.tabResultados.Text = "Resultados";
|
|
||||||
this.tabResultados.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgResultados
|
|
||||||
//
|
|
||||||
this.dgResultados.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgResultados.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgResultados.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgResultados.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgResultados.Name = "dgResultados";
|
|
||||||
this.dgResultados.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgResultados.TabIndex = 7;
|
|
||||||
//
|
|
||||||
// tabFalhas
|
|
||||||
//
|
|
||||||
this.tabFalhas.Controls.Add(this.tvwFalhas);
|
|
||||||
this.tabFalhas.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabFalhas.Name = "tabFalhas";
|
|
||||||
this.tabFalhas.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabFalhas.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabFalhas.TabIndex = 8;
|
|
||||||
this.tabFalhas.Text = "Cód. Falhas";
|
|
||||||
this.tabFalhas.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// tvwFalhas
|
|
||||||
//
|
|
||||||
this.tvwFalhas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.tvwFalhas.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.tvwFalhas.Name = "tvwFalhas";
|
|
||||||
this.tvwFalhas.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.tvwFalhas.TabIndex = 0;
|
|
||||||
//
|
|
||||||
// picCamera
|
|
||||||
//
|
|
||||||
this.picCamera.Location = new System.Drawing.Point(12, 194);
|
|
||||||
this.picCamera.Name = "picCamera";
|
|
||||||
this.picCamera.Size = new System.Drawing.Size(65, 65);
|
|
||||||
this.picCamera.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
|
||||||
this.picCamera.TabIndex = 6;
|
|
||||||
this.picCamera.TabStop = false;
|
|
||||||
//
|
|
||||||
// picVoltar
|
|
||||||
//
|
|
||||||
this.picVoltar.Image = global::AgroBase.Properties.Resources.voltar;
|
|
||||||
this.picVoltar.Location = new System.Drawing.Point(12, 12);
|
|
||||||
this.picVoltar.Name = "picVoltar";
|
|
||||||
this.picVoltar.Size = new System.Drawing.Size(65, 65);
|
|
||||||
this.picVoltar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
|
||||||
this.picVoltar.TabIndex = 12;
|
|
||||||
this.picVoltar.TabStop = false;
|
|
||||||
//
|
|
||||||
// picDiagnosticarTudo
|
|
||||||
//
|
|
||||||
this.picDiagnosticarTudo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.picDiagnosticarTudo.Image = global::AgroBase.Properties.Resources.diagnostico;
|
|
||||||
this.picDiagnosticarTudo.Location = new System.Drawing.Point(12, 519);
|
|
||||||
this.picDiagnosticarTudo.Name = "picDiagnosticarTudo";
|
|
||||||
this.picDiagnosticarTudo.Size = new System.Drawing.Size(65, 65);
|
|
||||||
this.picDiagnosticarTudo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
|
||||||
this.picDiagnosticarTudo.TabIndex = 13;
|
|
||||||
this.picDiagnosticarTudo.TabStop = false;
|
|
||||||
//
|
|
||||||
// picIniciarDiagnostico
|
|
||||||
//
|
|
||||||
this.picIniciarDiagnostico.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.picIniciarDiagnostico.Image = global::AgroBase.Properties.Resources.iniciar;
|
|
||||||
this.picIniciarDiagnostico.Location = new System.Drawing.Point(12, 425);
|
|
||||||
this.picIniciarDiagnostico.Name = "picIniciarDiagnostico";
|
|
||||||
this.picIniciarDiagnostico.Size = new System.Drawing.Size(65, 65);
|
|
||||||
this.picIniciarDiagnostico.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
|
||||||
this.picIniciarDiagnostico.TabIndex = 14;
|
|
||||||
this.picIniciarDiagnostico.TabStop = false;
|
|
||||||
//
|
|
||||||
// picLoading
|
|
||||||
//
|
|
||||||
this.picLoading.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
|
||||||
this.picLoading.Location = new System.Drawing.Point(12, 328);
|
|
||||||
this.picLoading.Name = "picLoading";
|
|
||||||
this.picLoading.Size = new System.Drawing.Size(65, 65);
|
|
||||||
this.picLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
|
||||||
this.picLoading.TabIndex = 15;
|
|
||||||
this.picLoading.TabStop = false;
|
|
||||||
//
|
|
||||||
// tabReles
|
|
||||||
//
|
|
||||||
this.tabReles.Controls.Add(this.dgReles);
|
|
||||||
this.tabReles.Location = new System.Drawing.Point(4, 38);
|
|
||||||
this.tabReles.Name = "tabReles";
|
|
||||||
this.tabReles.Padding = new System.Windows.Forms.Padding(3);
|
|
||||||
this.tabReles.Size = new System.Drawing.Size(904, 534);
|
|
||||||
this.tabReles.TabIndex = 9;
|
|
||||||
this.tabReles.Text = "Reles";
|
|
||||||
this.tabReles.UseVisualStyleBackColor = true;
|
|
||||||
//
|
|
||||||
// dgReles
|
|
||||||
//
|
|
||||||
this.dgReles.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.dgReles.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
|
||||||
this.dgReles.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
|
||||||
this.dgReles.Location = new System.Drawing.Point(6, 6);
|
|
||||||
this.dgReles.Name = "dgReles";
|
|
||||||
this.dgReles.Size = new System.Drawing.Size(892, 522);
|
|
||||||
this.dgReles.TabIndex = 7;
|
|
||||||
//
|
//
|
||||||
// frmDiagnosticos
|
// frmDiagnosticos
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(1024, 600);
|
this.ClientSize = new System.Drawing.Size(800, 600);
|
||||||
this.Controls.Add(this.picCamera);
|
this.Controls.Add(this.panel1);
|
||||||
this.Controls.Add(this.picLoading);
|
this.Controls.Add(this.richTextBox1);
|
||||||
this.Controls.Add(this.picIniciarDiagnostico);
|
this.Controls.Add(this.pictureBox1);
|
||||||
this.Controls.Add(this.picDiagnosticarTudo);
|
|
||||||
this.Controls.Add(this.picVoltar);
|
|
||||||
this.Controls.Add(this.tabControl1);
|
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
|
||||||
this.Name = "frmDiagnosticos";
|
this.Name = "frmDiagnosticos";
|
||||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
this.Text = "Diagnósticos";
|
this.Text = "frmDiagnosticos";
|
||||||
this.TopMost = true;
|
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||||
this.Load += new System.EventHandler(this.frmDiagnosticos_Load);
|
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||||
this.tabControl1.ResumeLayout(false);
|
|
||||||
this.tabPulverizador.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).EndInit();
|
|
||||||
this.tabMovimentacao.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).EndInit();
|
|
||||||
this.tabDirecional.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).EndInit();
|
|
||||||
this.tabSensoriamento.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).EndInit();
|
|
||||||
this.tabComunicacao.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgComunicacao)).EndInit();
|
|
||||||
this.tabCameras.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgCameras)).EndInit();
|
|
||||||
this.tabSinaleiros.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgSinaleiros)).EndInit();
|
|
||||||
this.tabResultados.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgResultados)).EndInit();
|
|
||||||
this.tabFalhas.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picCamera)).EndInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).EndInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picDiagnosticarTudo)).EndInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picIniciarDiagnostico)).EndInit();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picLoading)).EndInit();
|
|
||||||
this.tabReles.ResumeLayout(false);
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.dgReles)).EndInit();
|
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.TabControl tabControl1;
|
private System.Windows.Forms.PictureBox pictureBox1;
|
||||||
private System.Windows.Forms.TabPage tabPulverizador;
|
private System.Windows.Forms.RichTextBox richTextBox1;
|
||||||
private System.Windows.Forms.TabPage tabMovimentacao;
|
private System.Windows.Forms.Panel panel1;
|
||||||
private System.Windows.Forms.TabPage tabDirecional;
|
|
||||||
private System.Windows.Forms.TabPage tabSensoriamento;
|
|
||||||
private System.Windows.Forms.TabPage tabComunicacao;
|
|
||||||
private System.Windows.Forms.TabPage tabCameras;
|
|
||||||
private System.Windows.Forms.TabPage tabSinaleiros;
|
|
||||||
private System.Windows.Forms.PictureBox picVoltar;
|
|
||||||
private System.Windows.Forms.TabPage tabResultados;
|
|
||||||
private System.Windows.Forms.PictureBox picDiagnosticarTudo;
|
|
||||||
private System.Windows.Forms.DataGridView dgPulverizador;
|
|
||||||
private System.Windows.Forms.PictureBox picIniciarDiagnostico;
|
|
||||||
private System.Windows.Forms.DataGridView dgMovimentacao;
|
|
||||||
private System.Windows.Forms.DataGridView dgDirecional;
|
|
||||||
private System.Windows.Forms.DataGridView dgSensoriamento;
|
|
||||||
private System.Windows.Forms.DataGridView dgComunicacao;
|
|
||||||
private System.Windows.Forms.DataGridView dgCameras;
|
|
||||||
private System.Windows.Forms.DataGridView dgSinaleiros;
|
|
||||||
private System.Windows.Forms.DataGridView dgResultados;
|
|
||||||
private System.Windows.Forms.PictureBox picCamera;
|
|
||||||
private System.Windows.Forms.PictureBox picLoading;
|
|
||||||
private System.Windows.Forms.TabPage tabFalhas;
|
|
||||||
private System.Windows.Forms.TreeView tvwFalhas;
|
|
||||||
private System.Windows.Forms.TabPage tabReles;
|
|
||||||
private System.Windows.Forms.DataGridView dgReles;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,885 @@
|
||||||
|
namespace AgroBase.Forms.IHM
|
||||||
|
{
|
||||||
|
partial class frmMenu
|
||||||
|
{
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing)
|
||||||
|
{
|
||||||
|
if (components != null)
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.rootLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.pnlHeader = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||||
|
this.headerLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.headerTextLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.lblTitulo = new System.Windows.Forms.Label();
|
||||||
|
this.lblStatus = new System.Windows.Forms.Label();
|
||||||
|
this.pnlRoverStatus = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||||
|
this.roverStatusLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.lblRoverDot = new System.Windows.Forms.Label();
|
||||||
|
this.lblRoverNome = new System.Windows.Forms.Label();
|
||||||
|
this.lblRoverProntidao = new System.Windows.Forms.Label();
|
||||||
|
this.gridAcoes = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.tileOperacao = new AgroBase.Forms.IHM.Controls.HmiMenuTile();
|
||||||
|
this.tileModoManual = new AgroBase.Forms.IHM.Controls.HmiMenuTile();
|
||||||
|
this.tileDiagnosticos = new AgroBase.Forms.IHM.Controls.HmiMenuTile();
|
||||||
|
this.tileAjustes = new AgroBase.Forms.IHM.Controls.HmiMenuTile();
|
||||||
|
this.tileTestes = new AgroBase.Forms.IHM.Controls.HmiMenuTile();
|
||||||
|
this.tileDesligar = new AgroBase.Forms.IHM.Controls.HmiMenuTile();
|
||||||
|
this.gridInferior = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.pnlStatusRapido = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||||
|
this.statusLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.lblTituloStatus = new System.Windows.Forms.Label();
|
||||||
|
this.rowOperacaoLiberada = new AgroBase.Forms.IHM.Controls.HmiStatusRow();
|
||||||
|
this.rowMqtt = new AgroBase.Forms.IHM.Controls.HmiStatusRow();
|
||||||
|
this.rowIA = new AgroBase.Forms.IHM.Controls.HmiStatusRow();
|
||||||
|
this.rowFalhas = new AgroBase.Forms.IHM.Controls.HmiStatusRow();
|
||||||
|
this.pnlAtalhos = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||||
|
this.atalhosLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.lblTituloAtalhos = new System.Windows.Forms.Label();
|
||||||
|
this.btnDebugMode = new AgroBase.Forms.IHM.Controls.HmiShortcutButton();
|
||||||
|
this.btnAjustarLeverArm = new AgroBase.Forms.IHM.Controls.HmiShortcutButton();
|
||||||
|
this.btnSincronizarArquivos = new AgroBase.Forms.IHM.Controls.HmiShortcutButton();
|
||||||
|
this.pnlAtualizacoes = new AgroBase.Forms.IHM.Controls.HmiRoundedPanel();
|
||||||
|
this.atualizacaoLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
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.lblProgressoAtualizacao = new System.Windows.Forms.Label();
|
||||||
|
this.pnlFooter = new System.Windows.Forms.Panel();
|
||||||
|
this.footerLayout = new System.Windows.Forms.TableLayoutPanel();
|
||||||
|
this.lblVersao = new System.Windows.Forms.Label();
|
||||||
|
this.lblConexaoFooter = new System.Windows.Forms.Label();
|
||||||
|
this.rootLayout.SuspendLayout();
|
||||||
|
this.pnlHeader.SuspendLayout();
|
||||||
|
this.headerLayout.SuspendLayout();
|
||||||
|
this.headerTextLayout.SuspendLayout();
|
||||||
|
this.pnlRoverStatus.SuspendLayout();
|
||||||
|
this.roverStatusLayout.SuspendLayout();
|
||||||
|
this.gridAcoes.SuspendLayout();
|
||||||
|
this.gridInferior.SuspendLayout();
|
||||||
|
this.pnlStatusRapido.SuspendLayout();
|
||||||
|
this.statusLayout.SuspendLayout();
|
||||||
|
this.pnlAtalhos.SuspendLayout();
|
||||||
|
this.atalhosLayout.SuspendLayout();
|
||||||
|
this.pnlAtualizacoes.SuspendLayout();
|
||||||
|
this.atualizacaoLayout.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picWifi)).BeginInit();
|
||||||
|
this.pnlFooter.SuspendLayout();
|
||||||
|
this.footerLayout.SuspendLayout();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// rootLayout
|
||||||
|
//
|
||||||
|
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.pnlHeader, 0, 0);
|
||||||
|
this.rootLayout.Controls.Add(this.gridAcoes, 0, 1);
|
||||||
|
this.rootLayout.Controls.Add(this.gridInferior, 0, 2);
|
||||||
|
this.rootLayout.Controls.Add(this.pnlFooter, 0, 3);
|
||||||
|
this.rootLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rootLayout.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.rootLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.rootLayout.Name = "rootLayout";
|
||||||
|
this.rootLayout.Padding = new System.Windows.Forms.Padding(10, 9, 10, 7);
|
||||||
|
this.rootLayout.RowCount = 4;
|
||||||
|
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 72F));
|
||||||
|
this.rootLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 305F));
|
||||||
|
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, 25F));
|
||||||
|
this.rootLayout.Size = new System.Drawing.Size(800, 600);
|
||||||
|
this.rootLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// pnlHeader
|
||||||
|
//
|
||||||
|
this.pnlHeader.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.pnlHeader.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pnlHeader.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(35)))), ((int)(((byte)(83)))), ((int)(((byte)(67)))));
|
||||||
|
this.pnlHeader.Controls.Add(this.headerLayout);
|
||||||
|
this.pnlHeader.CornerRadius = 13;
|
||||||
|
this.pnlHeader.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pnlHeader.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(48)))), ((int)(((byte)(38)))));
|
||||||
|
this.pnlHeader.Location = new System.Drawing.Point(10, 9);
|
||||||
|
this.pnlHeader.Margin = new System.Windows.Forms.Padding(0, 0, 0, 6);
|
||||||
|
this.pnlHeader.MinimumSize = new System.Drawing.Size(30, 30);
|
||||||
|
this.pnlHeader.Name = "pnlHeader";
|
||||||
|
this.pnlHeader.Padding = new System.Windows.Forms.Padding(15, 8, 12, 8);
|
||||||
|
this.pnlHeader.ShowAccent = true;
|
||||||
|
this.pnlHeader.Size = new System.Drawing.Size(780, 66);
|
||||||
|
this.pnlHeader.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// headerLayout
|
||||||
|
//
|
||||||
|
this.headerLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.headerLayout.ColumnCount = 2;
|
||||||
|
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, 222F));
|
||||||
|
this.headerLayout.Controls.Add(this.headerTextLayout, 0, 0);
|
||||||
|
this.headerLayout.Controls.Add(this.pnlRoverStatus, 1, 0);
|
||||||
|
this.headerLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.headerLayout.Location = new System.Drawing.Point(15, 8);
|
||||||
|
this.headerLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.headerLayout.Name = "headerLayout";
|
||||||
|
this.headerLayout.RowCount = 1;
|
||||||
|
this.headerLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.headerLayout.Size = new System.Drawing.Size(753, 50);
|
||||||
|
this.headerLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// headerTextLayout
|
||||||
|
//
|
||||||
|
this.headerTextLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.headerTextLayout.ColumnCount = 1;
|
||||||
|
this.headerTextLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.headerTextLayout.Controls.Add(this.lblTitulo, 0, 0);
|
||||||
|
this.headerTextLayout.Controls.Add(this.lblStatus, 0, 1);
|
||||||
|
this.headerTextLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.headerTextLayout.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.headerTextLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.headerTextLayout.Name = "headerTextLayout";
|
||||||
|
this.headerTextLayout.RowCount = 2;
|
||||||
|
this.headerTextLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 62F));
|
||||||
|
this.headerTextLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 38F));
|
||||||
|
this.headerTextLayout.Size = new System.Drawing.Size(531, 50);
|
||||||
|
this.headerTextLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lblTitulo
|
||||||
|
//
|
||||||
|
this.lblTitulo.AutoEllipsis = true;
|
||||||
|
this.lblTitulo.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblTitulo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblTitulo.Font = new System.Drawing.Font("Segoe UI", 19F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblTitulo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||||
|
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(531, 31);
|
||||||
|
this.lblTitulo.TabIndex = 0;
|
||||||
|
this.lblTitulo.Text = "MENU DO EQUIPAMENTO";
|
||||||
|
this.lblTitulo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
//
|
||||||
|
// lblStatus
|
||||||
|
//
|
||||||
|
this.lblStatus.AutoEllipsis = true;
|
||||||
|
this.lblStatus.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblStatus.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblStatus.Font = new System.Drawing.Font("Segoe UI", 9.5F);
|
||||||
|
this.lblStatus.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(218)))), ((int)(((byte)(211)))));
|
||||||
|
this.lblStatus.Location = new System.Drawing.Point(0, 31);
|
||||||
|
this.lblStatus.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblStatus.Name = "lblStatus";
|
||||||
|
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;
|
||||||
|
//
|
||||||
|
// pnlRoverStatus
|
||||||
|
//
|
||||||
|
this.pnlRoverStatus.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.pnlRoverStatus.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pnlRoverStatus.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(91)))), ((int)(((byte)(73)))));
|
||||||
|
this.pnlRoverStatus.Controls.Add(this.roverStatusLayout);
|
||||||
|
this.pnlRoverStatus.CornerRadius = 10;
|
||||||
|
this.pnlRoverStatus.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pnlRoverStatus.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(58)))), ((int)(((byte)(46)))));
|
||||||
|
this.pnlRoverStatus.Location = new System.Drawing.Point(537, 0);
|
||||||
|
this.pnlRoverStatus.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||||
|
this.pnlRoverStatus.MinimumSize = new System.Drawing.Size(30, 30);
|
||||||
|
this.pnlRoverStatus.Name = "pnlRoverStatus";
|
||||||
|
this.pnlRoverStatus.Padding = new System.Windows.Forms.Padding(9, 4, 9, 4);
|
||||||
|
this.pnlRoverStatus.Size = new System.Drawing.Size(216, 50);
|
||||||
|
this.pnlRoverStatus.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// roverStatusLayout
|
||||||
|
//
|
||||||
|
this.roverStatusLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.roverStatusLayout.ColumnCount = 2;
|
||||||
|
this.roverStatusLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 35F));
|
||||||
|
this.roverStatusLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.roverStatusLayout.Controls.Add(this.lblRoverDot, 0, 0);
|
||||||
|
this.roverStatusLayout.Controls.Add(this.lblRoverNome, 1, 0);
|
||||||
|
this.roverStatusLayout.Controls.Add(this.lblRoverProntidao, 1, 1);
|
||||||
|
this.roverStatusLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.roverStatusLayout.Location = new System.Drawing.Point(9, 4);
|
||||||
|
this.roverStatusLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.roverStatusLayout.Name = "roverStatusLayout";
|
||||||
|
this.roverStatusLayout.RowCount = 2;
|
||||||
|
this.roverStatusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 53F));
|
||||||
|
this.roverStatusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 47F));
|
||||||
|
this.roverStatusLayout.Size = new System.Drawing.Size(198, 42);
|
||||||
|
this.roverStatusLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lblRoverDot
|
||||||
|
//
|
||||||
|
this.lblRoverDot.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblRoverDot.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblRoverDot.Font = new System.Drawing.Font("Segoe UI", 21F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblRoverDot.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.lblRoverDot.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.lblRoverDot.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblRoverDot.Name = "lblRoverDot";
|
||||||
|
this.roverStatusLayout.SetRowSpan(this.lblRoverDot, 2);
|
||||||
|
this.lblRoverDot.Size = new System.Drawing.Size(35, 42);
|
||||||
|
this.lblRoverDot.TabIndex = 0;
|
||||||
|
this.lblRoverDot.Text = "●";
|
||||||
|
this.lblRoverDot.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// lblRoverNome
|
||||||
|
//
|
||||||
|
this.lblRoverNome.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblRoverNome.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblRoverNome.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblRoverNome.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||||
|
this.lblRoverNome.Location = new System.Drawing.Point(35, 0);
|
||||||
|
this.lblRoverNome.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblRoverNome.Name = "lblRoverNome";
|
||||||
|
this.lblRoverNome.Size = new System.Drawing.Size(163, 22);
|
||||||
|
this.lblRoverNome.TabIndex = 1;
|
||||||
|
this.lblRoverNome.Text = "ROVER 01";
|
||||||
|
this.lblRoverNome.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||||
|
//
|
||||||
|
// lblRoverProntidao
|
||||||
|
//
|
||||||
|
this.lblRoverProntidao.AutoEllipsis = true;
|
||||||
|
this.lblRoverProntidao.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblRoverProntidao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblRoverProntidao.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblRoverProntidao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.lblRoverProntidao.Location = new System.Drawing.Point(35, 22);
|
||||||
|
this.lblRoverProntidao.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblRoverProntidao.Name = "lblRoverProntidao";
|
||||||
|
this.lblRoverProntidao.Size = new System.Drawing.Size(163, 20);
|
||||||
|
this.lblRoverProntidao.TabIndex = 2;
|
||||||
|
this.lblRoverProntidao.Text = "Pronto para operação";
|
||||||
|
//
|
||||||
|
// gridAcoes
|
||||||
|
//
|
||||||
|
this.gridAcoes.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.gridAcoes.ColumnCount = 3;
|
||||||
|
this.gridAcoes.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||||
|
this.gridAcoes.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||||
|
this.gridAcoes.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||||
|
this.gridAcoes.Controls.Add(this.tileOperacao, 0, 0);
|
||||||
|
this.gridAcoes.Controls.Add(this.tileModoManual, 1, 0);
|
||||||
|
this.gridAcoes.Controls.Add(this.tileDiagnosticos, 2, 0);
|
||||||
|
this.gridAcoes.Controls.Add(this.tileAjustes, 0, 1);
|
||||||
|
this.gridAcoes.Controls.Add(this.tileTestes, 1, 1);
|
||||||
|
this.gridAcoes.Controls.Add(this.tileDesligar, 2, 1);
|
||||||
|
this.gridAcoes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.gridAcoes.Location = new System.Drawing.Point(10, 81);
|
||||||
|
this.gridAcoes.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.gridAcoes.Name = "gridAcoes";
|
||||||
|
this.gridAcoes.RowCount = 2;
|
||||||
|
this.gridAcoes.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.gridAcoes.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.gridAcoes.Size = new System.Drawing.Size(780, 305);
|
||||||
|
this.gridAcoes.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// tileOperacao
|
||||||
|
//
|
||||||
|
this.tileOperacao.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.tileOperacao.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.tileOperacao.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.tileOperacao.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.tileOperacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tileOperacao.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||||
|
this.tileOperacao.Icone = global::AgroBase.Properties.Resources.cana;
|
||||||
|
this.tileOperacao.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.tileOperacao.Margin = new System.Windows.Forms.Padding(6);
|
||||||
|
this.tileOperacao.MinimumSize = new System.Drawing.Size(150, 110);
|
||||||
|
this.tileOperacao.Name = "tileOperacao";
|
||||||
|
this.tileOperacao.Size = new System.Drawing.Size(248, 140);
|
||||||
|
this.tileOperacao.Subtitulo = "Aguardando parâmetros";
|
||||||
|
this.tileOperacao.TabIndex = 0;
|
||||||
|
this.tileOperacao.Titulo = "OPERAÇÃO";
|
||||||
|
//
|
||||||
|
// tileModoManual
|
||||||
|
//
|
||||||
|
this.tileModoManual.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(155)))), ((int)(((byte)(106)))), ((int)(((byte)(222)))));
|
||||||
|
this.tileModoManual.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.tileModoManual.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.tileModoManual.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.tileModoManual.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tileModoManual.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||||
|
this.tileModoManual.Icone = global::AgroBase.Properties.Resources.joystick;
|
||||||
|
this.tileModoManual.Location = new System.Drawing.Point(266, 6);
|
||||||
|
this.tileModoManual.Margin = new System.Windows.Forms.Padding(6);
|
||||||
|
this.tileModoManual.MinimumSize = new System.Drawing.Size(150, 110);
|
||||||
|
this.tileModoManual.Name = "tileModoManual";
|
||||||
|
this.tileModoManual.Size = new System.Drawing.Size(248, 140);
|
||||||
|
this.tileModoManual.Subtitulo = "Controle local por joystick";
|
||||||
|
this.tileModoManual.TabIndex = 1;
|
||||||
|
this.tileModoManual.Titulo = "MODO MANUAL";
|
||||||
|
//
|
||||||
|
// tileDiagnosticos
|
||||||
|
//
|
||||||
|
this.tileDiagnosticos.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(61)))), ((int)(((byte)(165)))), ((int)(((byte)(255)))));
|
||||||
|
this.tileDiagnosticos.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.tileDiagnosticos.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.tileDiagnosticos.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.tileDiagnosticos.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tileDiagnosticos.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||||
|
this.tileDiagnosticos.Icone = global::AgroBase.Properties.Resources.diagnostico;
|
||||||
|
this.tileDiagnosticos.Location = new System.Drawing.Point(526, 6);
|
||||||
|
this.tileDiagnosticos.Margin = new System.Windows.Forms.Padding(6);
|
||||||
|
this.tileDiagnosticos.MinimumSize = new System.Drawing.Size(150, 110);
|
||||||
|
this.tileDiagnosticos.Name = "tileDiagnosticos";
|
||||||
|
this.tileDiagnosticos.Size = new System.Drawing.Size(248, 140);
|
||||||
|
this.tileDiagnosticos.Subtitulo = "Saúde e testes individuais";
|
||||||
|
this.tileDiagnosticos.TabIndex = 2;
|
||||||
|
this.tileDiagnosticos.Titulo = "DIAGNÓSTICO";
|
||||||
|
//
|
||||||
|
// tileAjustes
|
||||||
|
//
|
||||||
|
this.tileAjustes.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(59)))), ((int)(((byte)(134)))), ((int)(((byte)(215)))));
|
||||||
|
this.tileAjustes.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.tileAjustes.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.tileAjustes.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.tileAjustes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tileAjustes.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||||
|
this.tileAjustes.Icone = global::AgroBase.Properties.Resources.ajustes;
|
||||||
|
this.tileAjustes.Location = new System.Drawing.Point(6, 158);
|
||||||
|
this.tileAjustes.Margin = new System.Windows.Forms.Padding(6);
|
||||||
|
this.tileAjustes.MinimumSize = new System.Drawing.Size(150, 110);
|
||||||
|
this.tileAjustes.Name = "tileAjustes";
|
||||||
|
this.tileAjustes.Size = new System.Drawing.Size(248, 141);
|
||||||
|
this.tileAjustes.Subtitulo = "Parâmetros do equipamento";
|
||||||
|
this.tileAjustes.TabIndex = 3;
|
||||||
|
this.tileAjustes.Titulo = "AJUSTES";
|
||||||
|
//
|
||||||
|
// tileTestes
|
||||||
|
//
|
||||||
|
this.tileTestes.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(181)))), ((int)(((byte)(68)))));
|
||||||
|
this.tileTestes.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.tileTestes.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.tileTestes.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.tileTestes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tileTestes.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||||
|
this.tileTestes.Icone = global::AgroBase.Properties.Resources.testes;
|
||||||
|
this.tileTestes.Location = new System.Drawing.Point(266, 158);
|
||||||
|
this.tileTestes.Margin = new System.Windows.Forms.Padding(6);
|
||||||
|
this.tileTestes.MinimumSize = new System.Drawing.Size(150, 110);
|
||||||
|
this.tileTestes.Name = "tileTestes";
|
||||||
|
this.tileTestes.Size = new System.Drawing.Size(248, 141);
|
||||||
|
this.tileTestes.Subtitulo = "Verificação interna";
|
||||||
|
this.tileTestes.TabIndex = 4;
|
||||||
|
this.tileTestes.Titulo = "TESTES";
|
||||||
|
//
|
||||||
|
// tileDesligar
|
||||||
|
//
|
||||||
|
this.tileDesligar.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(83)))), ((int)(((byte)(80)))));
|
||||||
|
this.tileDesligar.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.tileDesligar.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.tileDesligar.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.tileDesligar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.tileDesligar.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(36)))), ((int)(((byte)(41)))));
|
||||||
|
this.tileDesligar.Icone = global::AgroBase.Properties.Resources.desligar;
|
||||||
|
this.tileDesligar.Location = new System.Drawing.Point(526, 158);
|
||||||
|
this.tileDesligar.Margin = new System.Windows.Forms.Padding(6);
|
||||||
|
this.tileDesligar.MinimumSize = new System.Drawing.Size(150, 110);
|
||||||
|
this.tileDesligar.Name = "tileDesligar";
|
||||||
|
this.tileDesligar.Size = new System.Drawing.Size(248, 141);
|
||||||
|
this.tileDesligar.Subtitulo = "Encerrar o equipamento";
|
||||||
|
this.tileDesligar.TabIndex = 5;
|
||||||
|
this.tileDesligar.Titulo = "DESLIGAR";
|
||||||
|
//
|
||||||
|
// gridInferior
|
||||||
|
//
|
||||||
|
this.gridInferior.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.gridInferior.ColumnCount = 3;
|
||||||
|
this.gridInferior.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 34F));
|
||||||
|
this.gridInferior.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 41F));
|
||||||
|
this.gridInferior.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.gridInferior.Controls.Add(this.pnlStatusRapido, 0, 0);
|
||||||
|
this.gridInferior.Controls.Add(this.pnlAtalhos, 1, 0);
|
||||||
|
this.gridInferior.Controls.Add(this.pnlAtualizacoes, 2, 0);
|
||||||
|
this.gridInferior.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.gridInferior.Location = new System.Drawing.Point(10, 386);
|
||||||
|
this.gridInferior.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.gridInferior.Name = "gridInferior";
|
||||||
|
this.gridInferior.RowCount = 1;
|
||||||
|
this.gridInferior.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.gridInferior.Size = new System.Drawing.Size(780, 182);
|
||||||
|
this.gridInferior.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// pnlStatusRapido
|
||||||
|
//
|
||||||
|
this.pnlStatusRapido.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.pnlStatusRapido.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pnlStatusRapido.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.pnlStatusRapido.Controls.Add(this.statusLayout);
|
||||||
|
this.pnlStatusRapido.CornerRadius = 11;
|
||||||
|
this.pnlStatusRapido.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pnlStatusRapido.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||||
|
this.pnlStatusRapido.Location = new System.Drawing.Point(6, 5);
|
||||||
|
this.pnlStatusRapido.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
|
||||||
|
this.pnlStatusRapido.MinimumSize = new System.Drawing.Size(30, 30);
|
||||||
|
this.pnlStatusRapido.Name = "pnlStatusRapido";
|
||||||
|
this.pnlStatusRapido.Padding = new System.Windows.Forms.Padding(10, 7, 10, 7);
|
||||||
|
this.pnlStatusRapido.Size = new System.Drawing.Size(253, 172);
|
||||||
|
this.pnlStatusRapido.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// statusLayout
|
||||||
|
//
|
||||||
|
this.statusLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.statusLayout.ColumnCount = 1;
|
||||||
|
this.statusLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.statusLayout.Controls.Add(this.lblTituloStatus, 0, 0);
|
||||||
|
this.statusLayout.Controls.Add(this.rowOperacaoLiberada, 0, 1);
|
||||||
|
this.statusLayout.Controls.Add(this.rowMqtt, 0, 2);
|
||||||
|
this.statusLayout.Controls.Add(this.rowIA, 0, 3);
|
||||||
|
this.statusLayout.Controls.Add(this.rowFalhas, 0, 4);
|
||||||
|
this.statusLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.statusLayout.Location = new System.Drawing.Point(10, 7);
|
||||||
|
this.statusLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.statusLayout.Name = "statusLayout";
|
||||||
|
this.statusLayout.RowCount = 5;
|
||||||
|
this.statusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
|
||||||
|
this.statusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.statusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.statusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.statusLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 25F));
|
||||||
|
this.statusLayout.Size = new System.Drawing.Size(233, 158);
|
||||||
|
this.statusLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lblTituloStatus
|
||||||
|
//
|
||||||
|
this.lblTituloStatus.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblTituloStatus.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblTituloStatus.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblTituloStatus.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||||
|
this.lblTituloStatus.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.lblTituloStatus.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblTituloStatus.Name = "lblTituloStatus";
|
||||||
|
this.lblTituloStatus.Size = new System.Drawing.Size(233, 25);
|
||||||
|
this.lblTituloStatus.TabIndex = 0;
|
||||||
|
this.lblTituloStatus.Text = "▌ Status rápido";
|
||||||
|
this.lblTituloStatus.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
//
|
||||||
|
// rowOperacaoLiberada
|
||||||
|
//
|
||||||
|
this.rowOperacaoLiberada.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.rowOperacaoLiberada.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.rowOperacaoLiberada.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rowOperacaoLiberada.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.rowOperacaoLiberada.Location = new System.Drawing.Point(0, 27);
|
||||||
|
this.rowOperacaoLiberada.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||||
|
this.rowOperacaoLiberada.MinimumSize = new System.Drawing.Size(120, 29);
|
||||||
|
this.rowOperacaoLiberada.Name = "rowOperacaoLiberada";
|
||||||
|
this.rowOperacaoLiberada.Size = new System.Drawing.Size(233, 29);
|
||||||
|
this.rowOperacaoLiberada.StatusColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(83)))), ((int)(((byte)(80)))));
|
||||||
|
this.rowOperacaoLiberada.TabIndex = 1;
|
||||||
|
this.rowOperacaoLiberada.Titulo = "Operação liberada";
|
||||||
|
this.rowOperacaoLiberada.Valor = "Não";
|
||||||
|
//
|
||||||
|
// rowMqtt
|
||||||
|
//
|
||||||
|
this.rowMqtt.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.rowMqtt.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.rowMqtt.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rowMqtt.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.rowMqtt.Location = new System.Drawing.Point(0, 60);
|
||||||
|
this.rowMqtt.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||||
|
this.rowMqtt.MinimumSize = new System.Drawing.Size(120, 29);
|
||||||
|
this.rowMqtt.Name = "rowMqtt";
|
||||||
|
this.rowMqtt.Size = new System.Drawing.Size(233, 29);
|
||||||
|
this.rowMqtt.StatusColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(83)))), ((int)(((byte)(80)))));
|
||||||
|
this.rowMqtt.TabIndex = 2;
|
||||||
|
this.rowMqtt.Titulo = "MQTT / Base";
|
||||||
|
this.rowMqtt.Valor = "Desconectado";
|
||||||
|
//
|
||||||
|
// rowIA
|
||||||
|
//
|
||||||
|
this.rowIA.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.rowIA.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.rowIA.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rowIA.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.rowIA.Location = new System.Drawing.Point(0, 93);
|
||||||
|
this.rowIA.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||||
|
this.rowIA.MinimumSize = new System.Drawing.Size(120, 29);
|
||||||
|
this.rowIA.Name = "rowIA";
|
||||||
|
this.rowIA.Size = new System.Drawing.Size(233, 29);
|
||||||
|
this.rowIA.StatusColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(83)))), ((int)(((byte)(80)))));
|
||||||
|
this.rowIA.TabIndex = 3;
|
||||||
|
this.rowIA.Titulo = "Inteligência artificial";
|
||||||
|
this.rowIA.Valor = "Desconectada";
|
||||||
|
//
|
||||||
|
// rowFalhas
|
||||||
|
//
|
||||||
|
this.rowFalhas.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.rowFalhas.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.rowFalhas.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.rowFalhas.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.rowFalhas.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.rowFalhas.Location = new System.Drawing.Point(0, 126);
|
||||||
|
this.rowFalhas.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||||
|
this.rowFalhas.MinimumSize = new System.Drawing.Size(120, 29);
|
||||||
|
this.rowFalhas.Name = "rowFalhas";
|
||||||
|
this.rowFalhas.Size = new System.Drawing.Size(233, 30);
|
||||||
|
this.rowFalhas.StatusColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.rowFalhas.TabIndex = 4;
|
||||||
|
this.rowFalhas.Titulo = "Falhas ativas";
|
||||||
|
this.rowFalhas.Valor = "Nenhuma";
|
||||||
|
//
|
||||||
|
// pnlAtalhos
|
||||||
|
//
|
||||||
|
this.pnlAtalhos.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.pnlAtalhos.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pnlAtalhos.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.pnlAtalhos.Controls.Add(this.atalhosLayout);
|
||||||
|
this.pnlAtalhos.CornerRadius = 11;
|
||||||
|
this.pnlAtalhos.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pnlAtalhos.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||||
|
this.pnlAtalhos.Location = new System.Drawing.Point(271, 5);
|
||||||
|
this.pnlAtalhos.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
|
||||||
|
this.pnlAtalhos.MinimumSize = new System.Drawing.Size(30, 30);
|
||||||
|
this.pnlAtalhos.Name = "pnlAtalhos";
|
||||||
|
this.pnlAtalhos.Padding = new System.Windows.Forms.Padding(10, 7, 10, 7);
|
||||||
|
this.pnlAtalhos.Size = new System.Drawing.Size(307, 172);
|
||||||
|
this.pnlAtalhos.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// atalhosLayout
|
||||||
|
//
|
||||||
|
this.atalhosLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.atalhosLayout.ColumnCount = 1;
|
||||||
|
this.atalhosLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.atalhosLayout.Controls.Add(this.lblTituloAtalhos, 0, 0);
|
||||||
|
this.atalhosLayout.Controls.Add(this.btnDebugMode, 0, 1);
|
||||||
|
this.atalhosLayout.Controls.Add(this.btnAjustarLeverArm, 0, 2);
|
||||||
|
this.atalhosLayout.Controls.Add(this.btnSincronizarArquivos, 0, 3);
|
||||||
|
this.atalhosLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.atalhosLayout.Location = new System.Drawing.Point(10, 7);
|
||||||
|
this.atalhosLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.atalhosLayout.Name = "atalhosLayout";
|
||||||
|
this.atalhosLayout.RowCount = 4;
|
||||||
|
this.atalhosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
|
||||||
|
this.atalhosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||||
|
this.atalhosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||||
|
this.atalhosLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
|
||||||
|
this.atalhosLayout.Size = new System.Drawing.Size(287, 158);
|
||||||
|
this.atalhosLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lblTituloAtalhos
|
||||||
|
//
|
||||||
|
this.lblTituloAtalhos.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblTituloAtalhos.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblTituloAtalhos.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblTituloAtalhos.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||||
|
this.lblTituloAtalhos.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.lblTituloAtalhos.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblTituloAtalhos.Name = "lblTituloAtalhos";
|
||||||
|
this.lblTituloAtalhos.Size = new System.Drawing.Size(287, 25);
|
||||||
|
this.lblTituloAtalhos.TabIndex = 0;
|
||||||
|
this.lblTituloAtalhos.Text = "▌ Atalhos de campo";
|
||||||
|
this.lblTituloAtalhos.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
//
|
||||||
|
// btnDebugMode
|
||||||
|
//
|
||||||
|
this.btnDebugMode.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.btnDebugMode.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.btnDebugMode.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.btnDebugMode.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btnDebugMode.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.btnDebugMode.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.btnDebugMode.IconText = "↪";
|
||||||
|
this.btnDebugMode.Location = new System.Drawing.Point(0, 28);
|
||||||
|
this.btnDebugMode.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||||
|
this.btnDebugMode.MinimumSize = new System.Drawing.Size(140, 34);
|
||||||
|
this.btnDebugMode.Name = "btnDebugMode";
|
||||||
|
this.btnDebugMode.Size = new System.Drawing.Size(287, 38);
|
||||||
|
this.btnDebugMode.TabIndex = 1;
|
||||||
|
this.btnDebugMode.Texto = "Ligar Debug Mode";
|
||||||
|
//
|
||||||
|
// btnAjustarLeverArm
|
||||||
|
//
|
||||||
|
this.btnAjustarLeverArm.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.btnAjustarLeverArm.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.btnAjustarLeverArm.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.btnAjustarLeverArm.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btnAjustarLeverArm.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.btnAjustarLeverArm.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.btnAjustarLeverArm.IconText = "↔";
|
||||||
|
this.btnAjustarLeverArm.Location = new System.Drawing.Point(0, 72);
|
||||||
|
this.btnAjustarLeverArm.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||||
|
this.btnAjustarLeverArm.MinimumSize = new System.Drawing.Size(140, 34);
|
||||||
|
this.btnAjustarLeverArm.Name = "btnAjustarLeverArm";
|
||||||
|
this.btnAjustarLeverArm.Size = new System.Drawing.Size(287, 38);
|
||||||
|
this.btnAjustarLeverArm.TabIndex = 2;
|
||||||
|
this.btnAjustarLeverArm.Texto = "Ajustar lever arm";
|
||||||
|
//
|
||||||
|
// btnSincronizarArquivos
|
||||||
|
//
|
||||||
|
this.btnSincronizarArquivos.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.btnSincronizarArquivos.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.btnSincronizarArquivos.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(51)))), ((int)(((byte)(57)))));
|
||||||
|
this.btnSincronizarArquivos.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.btnSincronizarArquivos.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.btnSincronizarArquivos.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(27)))), ((int)(((byte)(33)))), ((int)(((byte)(37)))));
|
||||||
|
this.btnSincronizarArquivos.IconText = "⇩";
|
||||||
|
this.btnSincronizarArquivos.Location = new System.Drawing.Point(0, 116);
|
||||||
|
this.btnSincronizarArquivos.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||||
|
this.btnSincronizarArquivos.MinimumSize = new System.Drawing.Size(140, 34);
|
||||||
|
this.btnSincronizarArquivos.Name = "btnSincronizarArquivos";
|
||||||
|
this.btnSincronizarArquivos.Size = new System.Drawing.Size(287, 39);
|
||||||
|
this.btnSincronizarArquivos.TabIndex = 3;
|
||||||
|
this.btnSincronizarArquivos.Texto = "Sincronizar arquivos";
|
||||||
|
//
|
||||||
|
// pnlAtualizacoes
|
||||||
|
//
|
||||||
|
this.pnlAtualizacoes.AccentColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(210)))), ((int)(((byte)(122)))));
|
||||||
|
this.pnlAtualizacoes.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.pnlAtualizacoes.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(53)))), ((int)(((byte)(63)))), ((int)(((byte)(69)))));
|
||||||
|
this.pnlAtualizacoes.Controls.Add(this.atualizacaoLayout);
|
||||||
|
this.pnlAtualizacoes.CornerRadius = 11;
|
||||||
|
this.pnlAtualizacoes.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.pnlAtualizacoes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pnlAtualizacoes.FillColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(29)))), ((int)(((byte)(33)))));
|
||||||
|
this.pnlAtualizacoes.Location = new System.Drawing.Point(590, 5);
|
||||||
|
this.pnlAtualizacoes.Margin = new System.Windows.Forms.Padding(6, 5, 6, 5);
|
||||||
|
this.pnlAtualizacoes.MinimumSize = new System.Drawing.Size(30, 30);
|
||||||
|
this.pnlAtualizacoes.Name = "pnlAtualizacoes";
|
||||||
|
this.pnlAtualizacoes.Padding = new System.Windows.Forms.Padding(10, 7, 10, 7);
|
||||||
|
this.pnlAtualizacoes.Size = new System.Drawing.Size(184, 172);
|
||||||
|
this.pnlAtualizacoes.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// atualizacaoLayout
|
||||||
|
//
|
||||||
|
this.atualizacaoLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.atualizacaoLayout.ColumnCount = 1;
|
||||||
|
this.atualizacaoLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.atualizacaoLayout.Controls.Add(this.lblTituloAtualizacoes, 0, 0);
|
||||||
|
this.atualizacaoLayout.Controls.Add(this.picWifi, 0, 1);
|
||||||
|
this.atualizacaoLayout.Controls.Add(this.lblAtualizacaoResumo, 0, 2);
|
||||||
|
this.atualizacaoLayout.Controls.Add(this.pgbAtualizacaoArquivos, 0, 3);
|
||||||
|
this.atualizacaoLayout.Controls.Add(this.lblProgressoAtualizacao, 0, 4);
|
||||||
|
this.atualizacaoLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.atualizacaoLayout.Location = new System.Drawing.Point(10, 7);
|
||||||
|
this.atualizacaoLayout.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.atualizacaoLayout.Name = "atualizacaoLayout";
|
||||||
|
this.atualizacaoLayout.RowCount = 5;
|
||||||
|
this.atualizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
|
||||||
|
this.atualizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||||
|
this.atualizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F));
|
||||||
|
this.atualizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 16F));
|
||||||
|
this.atualizacaoLayout.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22F));
|
||||||
|
this.atualizacaoLayout.Size = new System.Drawing.Size(164, 158);
|
||||||
|
this.atualizacaoLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lblTituloAtualizacoes
|
||||||
|
//
|
||||||
|
this.lblTituloAtualizacoes.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblTituloAtualizacoes.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblTituloAtualizacoes.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblTituloAtualizacoes.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(245)))), ((int)(((byte)(247)))));
|
||||||
|
this.lblTituloAtualizacoes.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.lblTituloAtualizacoes.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblTituloAtualizacoes.Name = "lblTituloAtualizacoes";
|
||||||
|
this.lblTituloAtualizacoes.Size = new System.Drawing.Size(164, 25);
|
||||||
|
this.lblTituloAtualizacoes.TabIndex = 0;
|
||||||
|
this.lblTituloAtualizacoes.Text = "▌ Atualizações";
|
||||||
|
this.lblTituloAtualizacoes.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
//
|
||||||
|
// picWifi
|
||||||
|
//
|
||||||
|
this.picWifi.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||||
|
this.picWifi.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.picWifi.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||||
|
this.picWifi.Image = global::AgroBase.Properties.Resources.wifi_off;
|
||||||
|
this.picWifi.Location = new System.Drawing.Point(55, 40);
|
||||||
|
this.picWifi.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.picWifi.Name = "picWifi";
|
||||||
|
this.picWifi.Size = new System.Drawing.Size(54, 41);
|
||||||
|
this.picWifi.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.picWifi.TabIndex = 1;
|
||||||
|
this.picWifi.TabStop = false;
|
||||||
|
//
|
||||||
|
// lblAtualizacaoResumo
|
||||||
|
//
|
||||||
|
this.lblAtualizacaoResumo.AutoEllipsis = true;
|
||||||
|
this.lblAtualizacaoResumo.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblAtualizacaoResumo.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblAtualizacaoResumo.Font = new System.Drawing.Font("Segoe UI", 8.5F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblAtualizacaoResumo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||||
|
this.lblAtualizacaoResumo.Location = new System.Drawing.Point(0, 96);
|
||||||
|
this.lblAtualizacaoResumo.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblAtualizacaoResumo.Name = "lblAtualizacaoResumo";
|
||||||
|
this.lblAtualizacaoResumo.Size = new System.Drawing.Size(164, 24);
|
||||||
|
this.lblAtualizacaoResumo.TabIndex = 2;
|
||||||
|
this.lblAtualizacaoResumo.Text = "Sem internet";
|
||||||
|
this.lblAtualizacaoResumo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// pgbAtualizacaoArquivos
|
||||||
|
//
|
||||||
|
this.pgbAtualizacaoArquivos.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pgbAtualizacaoArquivos.Location = new System.Drawing.Point(5, 123);
|
||||||
|
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
|
||||||
|
//
|
||||||
|
this.lblProgressoAtualizacao.AutoEllipsis = true;
|
||||||
|
this.lblProgressoAtualizacao.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblProgressoAtualizacao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblProgressoAtualizacao.Font = new System.Drawing.Font("Segoe UI", 7.25F);
|
||||||
|
this.lblProgressoAtualizacao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||||
|
this.lblProgressoAtualizacao.Location = new System.Drawing.Point(0, 136);
|
||||||
|
this.lblProgressoAtualizacao.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.lblProgressoAtualizacao.Name = "lblProgressoAtualizacao";
|
||||||
|
this.lblProgressoAtualizacao.Size = new System.Drawing.Size(164, 22);
|
||||||
|
this.lblProgressoAtualizacao.TabIndex = 4;
|
||||||
|
this.lblProgressoAtualizacao.Text = "Toque para sincronizar";
|
||||||
|
this.lblProgressoAtualizacao.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||||
|
//
|
||||||
|
// pnlFooter
|
||||||
|
//
|
||||||
|
this.pnlFooter.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(21)))), ((int)(((byte)(25)))));
|
||||||
|
this.pnlFooter.Controls.Add(this.footerLayout);
|
||||||
|
this.pnlFooter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.pnlFooter.Location = new System.Drawing.Point(10, 568);
|
||||||
|
this.pnlFooter.Margin = new System.Windows.Forms.Padding(0);
|
||||||
|
this.pnlFooter.Name = "pnlFooter";
|
||||||
|
this.pnlFooter.Size = new System.Drawing.Size(780, 25);
|
||||||
|
this.pnlFooter.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// footerLayout
|
||||||
|
//
|
||||||
|
this.footerLayout.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.footerLayout.ColumnCount = 2;
|
||||||
|
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.footerLayout.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||||
|
this.footerLayout.Controls.Add(this.lblVersao, 0, 0);
|
||||||
|
this.footerLayout.Controls.Add(this.lblConexaoFooter, 1, 0);
|
||||||
|
this.footerLayout.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.footerLayout.Location = new System.Drawing.Point(0, 0);
|
||||||
|
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));
|
||||||
|
this.footerLayout.Size = new System.Drawing.Size(780, 25);
|
||||||
|
this.footerLayout.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// lblVersao
|
||||||
|
//
|
||||||
|
this.lblVersao.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblVersao.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblVersao.Font = new System.Drawing.Font("Segoe UI", 8F);
|
||||||
|
this.lblVersao.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(174)))), ((int)(((byte)(181)))));
|
||||||
|
this.lblVersao.Location = new System.Drawing.Point(8, 0);
|
||||||
|
this.lblVersao.Margin = new System.Windows.Forms.Padding(8, 0, 0, 0);
|
||||||
|
this.lblVersao.Name = "lblVersao";
|
||||||
|
this.lblVersao.Size = new System.Drawing.Size(382, 25);
|
||||||
|
this.lblVersao.TabIndex = 0;
|
||||||
|
this.lblVersao.Text = "● IHM Rover • v 0.0.0.0";
|
||||||
|
this.lblVersao.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||||
|
//
|
||||||
|
// lblConexaoFooter
|
||||||
|
//
|
||||||
|
this.lblConexaoFooter.BackColor = System.Drawing.Color.Transparent;
|
||||||
|
this.lblConexaoFooter.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lblConexaoFooter.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Bold);
|
||||||
|
this.lblConexaoFooter.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(239)))), ((int)(((byte)(83)))), ((int)(((byte)(80)))));
|
||||||
|
this.lblConexaoFooter.Location = new System.Drawing.Point(390, 0);
|
||||||
|
this.lblConexaoFooter.Margin = new System.Windows.Forms.Padding(0, 0, 8, 0);
|
||||||
|
this.lblConexaoFooter.Name = "lblConexaoFooter";
|
||||||
|
this.lblConexaoFooter.Size = new System.Drawing.Size(382, 25);
|
||||||
|
this.lblConexaoFooter.TabIndex = 1;
|
||||||
|
this.lblConexaoFooter.Text = "▮▮▮ Base desconectada";
|
||||||
|
this.lblConexaoFooter.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||||
|
//
|
||||||
|
// frmMenu
|
||||||
|
//
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||||
|
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(17)))), ((int)(((byte)(20)))));
|
||||||
|
this.ClientSize = new System.Drawing.Size(800, 600);
|
||||||
|
this.Controls.Add(this.rootLayout);
|
||||||
|
this.DoubleBuffered = true;
|
||||||
|
this.Font = new System.Drawing.Font("Segoe UI", 9F);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.Name = "frmMenu";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Menu do Equipamento";
|
||||||
|
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmIHMMenu_FormClosed);
|
||||||
|
this.Load += new System.EventHandler(this.frmIHMMenu_Load);
|
||||||
|
this.rootLayout.ResumeLayout(false);
|
||||||
|
this.pnlHeader.ResumeLayout(false);
|
||||||
|
this.headerLayout.ResumeLayout(false);
|
||||||
|
this.headerTextLayout.ResumeLayout(false);
|
||||||
|
this.pnlRoverStatus.ResumeLayout(false);
|
||||||
|
this.roverStatusLayout.ResumeLayout(false);
|
||||||
|
this.gridAcoes.ResumeLayout(false);
|
||||||
|
this.gridInferior.ResumeLayout(false);
|
||||||
|
this.pnlStatusRapido.ResumeLayout(false);
|
||||||
|
this.statusLayout.ResumeLayout(false);
|
||||||
|
this.pnlAtalhos.ResumeLayout(false);
|
||||||
|
this.atalhosLayout.ResumeLayout(false);
|
||||||
|
this.pnlAtualizacoes.ResumeLayout(false);
|
||||||
|
this.atualizacaoLayout.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picWifi)).EndInit();
|
||||||
|
this.pnlFooter.ResumeLayout(false);
|
||||||
|
this.footerLayout.ResumeLayout(false);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.TableLayoutPanel rootLayout;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiRoundedPanel pnlHeader;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel headerLayout;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel headerTextLayout;
|
||||||
|
private System.Windows.Forms.Label lblTitulo;
|
||||||
|
public System.Windows.Forms.Label lblStatus;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiRoundedPanel pnlRoverStatus;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel roverStatusLayout;
|
||||||
|
private System.Windows.Forms.Label lblRoverDot;
|
||||||
|
private System.Windows.Forms.Label lblRoverNome;
|
||||||
|
private System.Windows.Forms.Label lblRoverProntidao;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel gridAcoes;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiMenuTile tileOperacao;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiMenuTile tileModoManual;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiMenuTile tileDiagnosticos;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiMenuTile tileAjustes;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiMenuTile tileTestes;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiMenuTile tileDesligar;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel gridInferior;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiRoundedPanel pnlStatusRapido;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel statusLayout;
|
||||||
|
private System.Windows.Forms.Label lblTituloStatus;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiStatusRow rowOperacaoLiberada;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiStatusRow rowMqtt;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiStatusRow rowIA;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiStatusRow rowFalhas;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiRoundedPanel pnlAtalhos;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel atalhosLayout;
|
||||||
|
private System.Windows.Forms.Label lblTituloAtalhos;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiShortcutButton btnDebugMode;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiShortcutButton btnAjustarLeverArm;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiShortcutButton btnSincronizarArquivos;
|
||||||
|
private AgroBase.Forms.IHM.Controls.HmiRoundedPanel pnlAtualizacoes;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel atualizacaoLayout;
|
||||||
|
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 System.Windows.Forms.Label lblProgressoAtualizacao;
|
||||||
|
private System.Windows.Forms.Panel pnlFooter;
|
||||||
|
private System.Windows.Forms.TableLayoutPanel footerLayout;
|
||||||
|
public System.Windows.Forms.Label lblVersao;
|
||||||
|
private System.Windows.Forms.Label lblConexaoFooter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,418 @@
|
||||||
|
using AgroBase.Forms.IHM.Controls;
|
||||||
|
using AgroBase.Models;
|
||||||
|
using AgroBase.Models.Components;
|
||||||
|
using AgroBase.Properties;
|
||||||
|
using AgroBase.Services;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using static AgroBase.Models.Enums;
|
||||||
|
|
||||||
|
namespace AgroBase.Forms.IHM
|
||||||
|
{
|
||||||
|
public partial class frmMenu : Form
|
||||||
|
{
|
||||||
|
private bool _sincronizando;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Estes eventos deixam os atalhos de campo prontos para receber
|
||||||
|
/// a implementação real sem precisar alterar o componente visual.
|
||||||
|
/// </summary>
|
||||||
|
public event EventHandler OperacaoSolicitada;
|
||||||
|
public event EventHandler AjustarLeverArmSolicitado;
|
||||||
|
|
||||||
|
public frmMenu()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
tileOperacao,
|
||||||
|
"Erro ao carregar operação!",
|
||||||
|
AbrirOperacaoAsync);
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
tileTestes,
|
||||||
|
"Erro ao processar testes!",
|
||||||
|
async delegate
|
||||||
|
{
|
||||||
|
using (var frm = new frmTestes())
|
||||||
|
{
|
||||||
|
frm.ShowDialog(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.CompletedTask;
|
||||||
|
});
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
tileAjustes,
|
||||||
|
"Erro ao realizar ajustes!",
|
||||||
|
async delegate
|
||||||
|
{
|
||||||
|
using (var frm = new frmAjustes())
|
||||||
|
{
|
||||||
|
frm.ShowDialog(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.CompletedTask;
|
||||||
|
});
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
tileModoManual,
|
||||||
|
"Erro ao carregar modo de controle manual!",
|
||||||
|
AbrirModoManualAsync);
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
tileDesligar,
|
||||||
|
"Erro ao desligar equipamento!",
|
||||||
|
DesligarEquipamentoAsync);
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
btnSincronizarArquivos,
|
||||||
|
"Erro ao procurar por atualizações!",
|
||||||
|
ProcurarAtualizacoesAsync);
|
||||||
|
|
||||||
|
VincularAcaoAsync(
|
||||||
|
pnlAtualizacoes,
|
||||||
|
"Erro ao procurar por atualizações!",
|
||||||
|
ProcurarAtualizacoesAsync);
|
||||||
|
|
||||||
|
VincularCliqueRecursivo(
|
||||||
|
pnlAtualizacoes,
|
||||||
|
async delegate
|
||||||
|
{
|
||||||
|
await ExecutarAcaoSeguraAsync(
|
||||||
|
"Erro ao procurar por atualizações!",
|
||||||
|
ProcurarAtualizacoesAsync);
|
||||||
|
});
|
||||||
|
|
||||||
|
btnDebugMode.Click += BtnDebugMode_Click;
|
||||||
|
btnAjustarLeverArm.Click += BtnAjustarLeverArm_Click;
|
||||||
|
rowFalhas.Click += LblCodigoFalha_Click;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void frmIHMMenu_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
lblVersao.Text = "● IHM Rover • v " + Variaveis.Versao;
|
||||||
|
|
||||||
|
AtualizarControlesUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void frmIHMMenu_FormClosed(object sender, FormClosedEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AtualizarControlesUI()
|
||||||
|
{
|
||||||
|
bool mqttConectado = Variaveis.MqttServiceLocal != null && Variaveis.MqttServiceLocal.StatusConexao();
|
||||||
|
bool iaConectada = VariaveisOperacao.Operadores != null && VariaveisOperacao.Operadores.Conectado;
|
||||||
|
var operacao = Variaveis.OperacaoEmAndamento;
|
||||||
|
bool operacaoLiberada = operacao?.Sensoriamento?.Operacao?.OperacaoLiberada == true;
|
||||||
|
string erroOperacao = operacao?.Sensoriamento?.Operacao?.ErroOperacaoLiberada;
|
||||||
|
|
||||||
|
bool existeFalha = !string.IsNullOrWhiteSpace(erroOperacao);
|
||||||
|
bool internetDisponivel = APIService.HasInternet;
|
||||||
|
|
||||||
|
bool baseConectada = VariaveisOperacao.PosicaoBase?.Inicializado ?? false;
|
||||||
|
|
||||||
|
btnDebugMode.Texto = Variaveis.DebugMode ? "Desligar Debug Mode" : "Ligar Debug Mode";
|
||||||
|
|
||||||
|
rowOperacaoLiberada.SetStatus(operacaoLiberada ? "Sim" : "Não", operacaoLiberada ? HmiTheme.Success : HmiTheme.Danger);
|
||||||
|
rowMqtt.SetStatus(mqttConectado ? "Conectado" : "Desconectado", mqttConectado ? HmiTheme.Success : HmiTheme.Danger);
|
||||||
|
rowIA.SetStatus(iaConectada ? "Conectada" : "Desconectada", iaConectada ? HmiTheme.Success : HmiTheme.Danger);
|
||||||
|
rowFalhas.SetStatus(existeFalha ? "Ver detalhes" : "Nenhuma", existeFalha ? HmiTheme.Warning : HmiTheme.Success);
|
||||||
|
tileOperacao.SetStatus(operacaoLiberada ? "Pronta para iniciar" : "Aguardando liberação", operacaoLiberada ? HmiTheme.Success : HmiTheme.Warning);
|
||||||
|
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;
|
||||||
|
|
||||||
|
lblRoverProntidao.Text = pronto ? "Pronto para operação" : "Aguardando condições";
|
||||||
|
lblRoverProntidao.ForeColor = pronto ? HmiTheme.Success : HmiTheme.Warning;
|
||||||
|
lblRoverDot.ForeColor = pronto ? HmiTheme.Success : HmiTheme.Warning;
|
||||||
|
lblConexaoFooter.Text = baseConectada ? "▮▮▮ Base conectada" : "▯▯▯ Base desconectada";
|
||||||
|
lblConexaoFooter.ForeColor = baseConectada ? HmiTheme.Success : HmiTheme.Danger;
|
||||||
|
picWifi.Image = internetDisponivel ? Resources.wifi_on : Resources.wifi_off;
|
||||||
|
|
||||||
|
lblStatus.Text = SerialService.LastUIMessage;
|
||||||
|
|
||||||
|
if (!_sincronizando)
|
||||||
|
{
|
||||||
|
lblAtualizacaoResumo.Text = internetDisponivel ? "Internet disponível" : "Sem internet";
|
||||||
|
lblAtualizacaoResumo.ForeColor = internetDisponivel ? HmiTheme.Success : HmiTheme.Danger;
|
||||||
|
if (pgbAtualizacaoArquivos.Value == 0)
|
||||||
|
{
|
||||||
|
lblProgressoAtualizacao.Text = internetDisponivel ? "Toque para sincronizar" : "Conecte o equipamento";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AtualizarProgressoSyncArquivos(string msg, double val)
|
||||||
|
{
|
||||||
|
BeginInvoke((MethodInvoker)(() =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
lblProgressoAtualizacao.Text = msg;
|
||||||
|
FuncoesGlobais.PreencheValorProgressBar(pgbAtualizacaoArquivos, val);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task AbrirOperacaoAsync()
|
||||||
|
{
|
||||||
|
if (OperacaoSolicitada != null)
|
||||||
|
{
|
||||||
|
OperacaoSolicitada(this, EventArgs.Empty);
|
||||||
|
await Task.CompletedTask;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
"Operação",
|
||||||
|
"A tela de operação será aberta automaticamente quando " +
|
||||||
|
"os parâmetros forem recebidos da base.",
|
||||||
|
MessageBoxIcon.Information,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task AbrirModoManualAsync()
|
||||||
|
{
|
||||||
|
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.Manual, CarregarModulos: true);
|
||||||
|
|
||||||
|
var op = Variaveis.OperacaoEmAndamento;
|
||||||
|
|
||||||
|
bool operacaoLiberada = op?.Sensoriamento?.Operacao?.OperacaoLiberada == true;
|
||||||
|
if (operacaoLiberada)
|
||||||
|
{
|
||||||
|
var frm = new frmDialogoMapa();
|
||||||
|
frm.Show();
|
||||||
|
frm.InicializarModoManual();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string erro = op?.Sensoriamento?.Operacao?.ErroOperacaoLiberada ?? "Não foi possível liberar a operação manual.";
|
||||||
|
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
"Iniciar Operação Manual",
|
||||||
|
erro ?? string.Empty,
|
||||||
|
MessageBoxIcon.Error,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task DesligarEquipamentoAsync()
|
||||||
|
{
|
||||||
|
if (Variaveis.UsarIHM)
|
||||||
|
{
|
||||||
|
var resultado = CustomDialog.ShowDialog(
|
||||||
|
"Desligar",
|
||||||
|
"Deseja desligar o equipamento?",
|
||||||
|
MessageBoxIcon.Question,
|
||||||
|
new Dictionary<(string, DialogResult?), Action>()
|
||||||
|
{
|
||||||
|
{ ("Sim", DialogResult.Yes), delegate { } },
|
||||||
|
{ ("Não", DialogResult.No), delegate { } }
|
||||||
|
});
|
||||||
|
|
||||||
|
if (resultado == DialogResult.Yes)
|
||||||
|
{
|
||||||
|
frmInstancial.frmIHM.Close();
|
||||||
|
|
||||||
|
if (Variaveis.Producao)
|
||||||
|
Process.Start("shutdown", "/s /t 0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
await Task.CompletedTask;
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task ProcurarAtualizacoesAsync()
|
||||||
|
{
|
||||||
|
if (_sincronizando)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (!APIService.HasInternet)
|
||||||
|
{
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
"Equipamento Desconectado",
|
||||||
|
"Impossível procurar por atualizações.",
|
||||||
|
MessageBoxIcon.Warning,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_sincronizando = true;
|
||||||
|
lblAtualizacaoResumo.Text = "Sincronizando...";
|
||||||
|
lblAtualizacaoResumo.ForeColor = HmiTheme.Info;
|
||||||
|
lblProgressoAtualizacao.Text = "Procurando arquivos...";
|
||||||
|
btnSincronizarArquivos.Enabled = false;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await VersionamentoService.AtualizarArquivoVersionamento(true);
|
||||||
|
|
||||||
|
var arquivosNaoEncontrados =
|
||||||
|
VersionamentoService.ArquivosNaoEncontrados.ToList();
|
||||||
|
|
||||||
|
bool sucesso = !arquivosNaoEncontrados.Any();
|
||||||
|
|
||||||
|
lblAtualizacaoResumo.Text =
|
||||||
|
sucesso
|
||||||
|
? "Sem pendências"
|
||||||
|
: "Atualização incompleta";
|
||||||
|
|
||||||
|
lblAtualizacaoResumo.ForeColor =
|
||||||
|
sucesso
|
||||||
|
? HmiTheme.Success
|
||||||
|
: HmiTheme.Warning;
|
||||||
|
|
||||||
|
lblProgressoAtualizacao.Text =
|
||||||
|
sucesso
|
||||||
|
? "Sincronização concluída"
|
||||||
|
: "Verifique os arquivos pendentes";
|
||||||
|
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
"Resultado",
|
||||||
|
"Atualização concluída com " +
|
||||||
|
(sucesso ? "sucesso" : "falha") +
|
||||||
|
"!\r\n\r\n" +
|
||||||
|
(!sucesso
|
||||||
|
? "Arquivos não encontrados:\r\n\r\n" +
|
||||||
|
string.Join("\r\n", arquivosNaoEncontrados)
|
||||||
|
: "Nenhum arquivo pendente!"),
|
||||||
|
sucesso
|
||||||
|
? MessageBoxIcon.Asterisk
|
||||||
|
: MessageBoxIcon.Error,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
_sincronizando = false;
|
||||||
|
btnSincronizarArquivos.Enabled = true;
|
||||||
|
AtualizarControlesUI();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnDebugMode_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Variaveis.DebugMode = !Variaveis.DebugMode;
|
||||||
|
btnDebugMode.Texto = Variaveis.DebugMode ? "Desligar Debug Mode" : "Ligar Debug Mode";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnAjustarLeverArm_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (AjustarLeverArmSolicitado != null)
|
||||||
|
{
|
||||||
|
AjustarLeverArmSolicitado(this, EventArgs.Empty);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ExibirAtalhoNaoVinculado(
|
||||||
|
"Ajustar Lever Arm",
|
||||||
|
"O layout já está pronto. Vincule a tela ou o diálogo no evento " +
|
||||||
|
"AjustarLeverArmSolicitado.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void LblCodigoFalha_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
var operacao = Variaveis.OperacaoEmAndamento;
|
||||||
|
|
||||||
|
string descricaoFalha = operacao?.Sensoriamento?.Operacao?.ErroOperacaoLiberada;
|
||||||
|
|
||||||
|
if (string.IsNullOrWhiteSpace(descricaoFalha))
|
||||||
|
descricaoFalha = "Nenhuma falha ativa.";
|
||||||
|
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
"Detalhes da Operação",
|
||||||
|
descricaoFalha,
|
||||||
|
MessageBoxIcon.Information,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ExibirAtalhoNaoVinculado(string titulo, string mensagem)
|
||||||
|
{
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
titulo,
|
||||||
|
mensagem,
|
||||||
|
MessageBoxIcon.Information,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VincularAcaoAsync(Control control, string mensagemErro, Func<Task> acao)
|
||||||
|
{
|
||||||
|
control.Click += async delegate
|
||||||
|
{
|
||||||
|
await ExecutarAcaoSeguraAsync(
|
||||||
|
mensagemErro,
|
||||||
|
acao);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task ExecutarAcaoSeguraAsync(string mensagemErro, Func<Task> acao)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await acao();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
CustomDialog.ShowDialog(
|
||||||
|
"Erro",
|
||||||
|
mensagemErro + "\r\n\r\n" + ex.Message,
|
||||||
|
MessageBoxIcon.Error,
|
||||||
|
new Dictionary<(string, dynamic), Action>()
|
||||||
|
{
|
||||||
|
{ ("OK", null), delegate { } }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void VincularCliqueRecursivo(Control control, Func<Task> acao)
|
||||||
|
{
|
||||||
|
foreach (Control filho in control.Controls)
|
||||||
|
{
|
||||||
|
filho.Cursor = Cursors.Hand;
|
||||||
|
filho.Click += async delegate
|
||||||
|
{
|
||||||
|
await acao();
|
||||||
|
};
|
||||||
|
|
||||||
|
if (filho.HasChildren)
|
||||||
|
VincularCliqueRecursivo(filho, acao);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -0,0 +1,459 @@
|
||||||
|
namespace AgroBase.Forms.IHM
|
||||||
|
{
|
||||||
|
partial class frmTestes
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmTestes));
|
||||||
|
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||||
|
this.tabPulverizador = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgPulverizador = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabMovimentacao = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgMovimentacao = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabDirecional = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgDirecional = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabSensoriamento = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgSensoriamento = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabComunicacao = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgComunicacao = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabCameras = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgCameras = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabSinaleiros = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgSinaleiros = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabResultados = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgResultados = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabFalhas = new System.Windows.Forms.TabPage();
|
||||||
|
this.tvwFalhas = new System.Windows.Forms.TreeView();
|
||||||
|
this.picCamera = new System.Windows.Forms.PictureBox();
|
||||||
|
this.picVoltar = new System.Windows.Forms.PictureBox();
|
||||||
|
this.picDiagnosticarTudo = new System.Windows.Forms.PictureBox();
|
||||||
|
this.picIniciarDiagnostico = new System.Windows.Forms.PictureBox();
|
||||||
|
this.picLoading = new System.Windows.Forms.PictureBox();
|
||||||
|
this.tabReles = new System.Windows.Forms.TabPage();
|
||||||
|
this.dgReles = new System.Windows.Forms.DataGridView();
|
||||||
|
this.tabControl1.SuspendLayout();
|
||||||
|
this.tabPulverizador.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).BeginInit();
|
||||||
|
this.tabMovimentacao.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).BeginInit();
|
||||||
|
this.tabDirecional.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).BeginInit();
|
||||||
|
this.tabSensoriamento.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).BeginInit();
|
||||||
|
this.tabComunicacao.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgComunicacao)).BeginInit();
|
||||||
|
this.tabCameras.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgCameras)).BeginInit();
|
||||||
|
this.tabSinaleiros.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgSinaleiros)).BeginInit();
|
||||||
|
this.tabResultados.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgResultados)).BeginInit();
|
||||||
|
this.tabFalhas.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picCamera)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picDiagnosticarTudo)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picIniciarDiagnostico)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picLoading)).BeginInit();
|
||||||
|
this.tabReles.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgReles)).BeginInit();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// tabControl1
|
||||||
|
//
|
||||||
|
this.tabControl1.Controls.Add(this.tabPulverizador);
|
||||||
|
this.tabControl1.Controls.Add(this.tabMovimentacao);
|
||||||
|
this.tabControl1.Controls.Add(this.tabDirecional);
|
||||||
|
this.tabControl1.Controls.Add(this.tabSensoriamento);
|
||||||
|
this.tabControl1.Controls.Add(this.tabComunicacao);
|
||||||
|
this.tabControl1.Controls.Add(this.tabCameras);
|
||||||
|
this.tabControl1.Controls.Add(this.tabSinaleiros);
|
||||||
|
this.tabControl1.Controls.Add(this.tabReles);
|
||||||
|
this.tabControl1.Controls.Add(this.tabResultados);
|
||||||
|
this.tabControl1.Controls.Add(this.tabFalhas);
|
||||||
|
this.tabControl1.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||||
|
this.tabControl1.Location = new System.Drawing.Point(100, 12);
|
||||||
|
this.tabControl1.Name = "tabControl1";
|
||||||
|
this.tabControl1.SelectedIndex = 0;
|
||||||
|
this.tabControl1.Size = new System.Drawing.Size(912, 576);
|
||||||
|
this.tabControl1.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// tabPulverizador
|
||||||
|
//
|
||||||
|
this.tabPulverizador.Controls.Add(this.dgPulverizador);
|
||||||
|
this.tabPulverizador.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabPulverizador.Name = "tabPulverizador";
|
||||||
|
this.tabPulverizador.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabPulverizador.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabPulverizador.TabIndex = 0;
|
||||||
|
this.tabPulverizador.Text = "Pulverizador";
|
||||||
|
this.tabPulverizador.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgPulverizador
|
||||||
|
//
|
||||||
|
this.dgPulverizador.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgPulverizador.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgPulverizador.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgPulverizador.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgPulverizador.Name = "dgPulverizador";
|
||||||
|
this.dgPulverizador.Size = new System.Drawing.Size(892, 520);
|
||||||
|
this.dgPulverizador.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// tabMovimentacao
|
||||||
|
//
|
||||||
|
this.tabMovimentacao.Controls.Add(this.dgMovimentacao);
|
||||||
|
this.tabMovimentacao.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabMovimentacao.Name = "tabMovimentacao";
|
||||||
|
this.tabMovimentacao.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabMovimentacao.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabMovimentacao.TabIndex = 1;
|
||||||
|
this.tabMovimentacao.Text = "Movimentação";
|
||||||
|
this.tabMovimentacao.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgMovimentacao
|
||||||
|
//
|
||||||
|
this.dgMovimentacao.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgMovimentacao.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgMovimentacao.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgMovimentacao.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgMovimentacao.Name = "dgMovimentacao";
|
||||||
|
this.dgMovimentacao.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgMovimentacao.TabIndex = 1;
|
||||||
|
//
|
||||||
|
// tabDirecional
|
||||||
|
//
|
||||||
|
this.tabDirecional.Controls.Add(this.dgDirecional);
|
||||||
|
this.tabDirecional.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabDirecional.Name = "tabDirecional";
|
||||||
|
this.tabDirecional.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabDirecional.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabDirecional.TabIndex = 2;
|
||||||
|
this.tabDirecional.Text = "Direcional";
|
||||||
|
this.tabDirecional.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgDirecional
|
||||||
|
//
|
||||||
|
this.dgDirecional.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgDirecional.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgDirecional.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgDirecional.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgDirecional.Name = "dgDirecional";
|
||||||
|
this.dgDirecional.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgDirecional.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// tabSensoriamento
|
||||||
|
//
|
||||||
|
this.tabSensoriamento.Controls.Add(this.dgSensoriamento);
|
||||||
|
this.tabSensoriamento.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabSensoriamento.Name = "tabSensoriamento";
|
||||||
|
this.tabSensoriamento.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabSensoriamento.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabSensoriamento.TabIndex = 3;
|
||||||
|
this.tabSensoriamento.Text = "Sensoriamento";
|
||||||
|
this.tabSensoriamento.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgSensoriamento
|
||||||
|
//
|
||||||
|
this.dgSensoriamento.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgSensoriamento.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgSensoriamento.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgSensoriamento.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgSensoriamento.Name = "dgSensoriamento";
|
||||||
|
this.dgSensoriamento.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgSensoriamento.TabIndex = 3;
|
||||||
|
//
|
||||||
|
// tabComunicacao
|
||||||
|
//
|
||||||
|
this.tabComunicacao.Controls.Add(this.dgComunicacao);
|
||||||
|
this.tabComunicacao.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabComunicacao.Name = "tabComunicacao";
|
||||||
|
this.tabComunicacao.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabComunicacao.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabComunicacao.TabIndex = 4;
|
||||||
|
this.tabComunicacao.Text = "Comunicação";
|
||||||
|
this.tabComunicacao.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgComunicacao
|
||||||
|
//
|
||||||
|
this.dgComunicacao.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgComunicacao.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgComunicacao.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgComunicacao.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgComunicacao.Name = "dgComunicacao";
|
||||||
|
this.dgComunicacao.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgComunicacao.TabIndex = 4;
|
||||||
|
//
|
||||||
|
// tabCameras
|
||||||
|
//
|
||||||
|
this.tabCameras.Controls.Add(this.dgCameras);
|
||||||
|
this.tabCameras.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabCameras.Name = "tabCameras";
|
||||||
|
this.tabCameras.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabCameras.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabCameras.TabIndex = 5;
|
||||||
|
this.tabCameras.Text = "Câmeras";
|
||||||
|
this.tabCameras.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgCameras
|
||||||
|
//
|
||||||
|
this.dgCameras.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgCameras.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgCameras.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgCameras.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgCameras.Name = "dgCameras";
|
||||||
|
this.dgCameras.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgCameras.TabIndex = 5;
|
||||||
|
//
|
||||||
|
// tabSinaleiros
|
||||||
|
//
|
||||||
|
this.tabSinaleiros.Controls.Add(this.dgSinaleiros);
|
||||||
|
this.tabSinaleiros.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabSinaleiros.Name = "tabSinaleiros";
|
||||||
|
this.tabSinaleiros.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabSinaleiros.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabSinaleiros.TabIndex = 6;
|
||||||
|
this.tabSinaleiros.Text = "Sinaleiros";
|
||||||
|
this.tabSinaleiros.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgSinaleiros
|
||||||
|
//
|
||||||
|
this.dgSinaleiros.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgSinaleiros.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgSinaleiros.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgSinaleiros.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgSinaleiros.Name = "dgSinaleiros";
|
||||||
|
this.dgSinaleiros.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgSinaleiros.TabIndex = 6;
|
||||||
|
//
|
||||||
|
// tabResultados
|
||||||
|
//
|
||||||
|
this.tabResultados.Controls.Add(this.dgResultados);
|
||||||
|
this.tabResultados.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabResultados.Name = "tabResultados";
|
||||||
|
this.tabResultados.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabResultados.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabResultados.TabIndex = 7;
|
||||||
|
this.tabResultados.Text = "Resultados";
|
||||||
|
this.tabResultados.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgResultados
|
||||||
|
//
|
||||||
|
this.dgResultados.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgResultados.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgResultados.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgResultados.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgResultados.Name = "dgResultados";
|
||||||
|
this.dgResultados.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgResultados.TabIndex = 7;
|
||||||
|
//
|
||||||
|
// tabFalhas
|
||||||
|
//
|
||||||
|
this.tabFalhas.Controls.Add(this.tvwFalhas);
|
||||||
|
this.tabFalhas.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabFalhas.Name = "tabFalhas";
|
||||||
|
this.tabFalhas.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabFalhas.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabFalhas.TabIndex = 8;
|
||||||
|
this.tabFalhas.Text = "Cód. Falhas";
|
||||||
|
this.tabFalhas.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// tvwFalhas
|
||||||
|
//
|
||||||
|
this.tvwFalhas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.tvwFalhas.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.tvwFalhas.Name = "tvwFalhas";
|
||||||
|
this.tvwFalhas.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.tvwFalhas.TabIndex = 0;
|
||||||
|
//
|
||||||
|
// picCamera
|
||||||
|
//
|
||||||
|
this.picCamera.Location = new System.Drawing.Point(12, 194);
|
||||||
|
this.picCamera.Name = "picCamera";
|
||||||
|
this.picCamera.Size = new System.Drawing.Size(65, 65);
|
||||||
|
this.picCamera.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.picCamera.TabIndex = 6;
|
||||||
|
this.picCamera.TabStop = false;
|
||||||
|
//
|
||||||
|
// picVoltar
|
||||||
|
//
|
||||||
|
this.picVoltar.Image = global::AgroBase.Properties.Resources.voltar;
|
||||||
|
this.picVoltar.Location = new System.Drawing.Point(12, 12);
|
||||||
|
this.picVoltar.Name = "picVoltar";
|
||||||
|
this.picVoltar.Size = new System.Drawing.Size(65, 65);
|
||||||
|
this.picVoltar.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.picVoltar.TabIndex = 12;
|
||||||
|
this.picVoltar.TabStop = false;
|
||||||
|
//
|
||||||
|
// picDiagnosticarTudo
|
||||||
|
//
|
||||||
|
this.picDiagnosticarTudo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.picDiagnosticarTudo.Image = global::AgroBase.Properties.Resources.diagnostico;
|
||||||
|
this.picDiagnosticarTudo.Location = new System.Drawing.Point(12, 519);
|
||||||
|
this.picDiagnosticarTudo.Name = "picDiagnosticarTudo";
|
||||||
|
this.picDiagnosticarTudo.Size = new System.Drawing.Size(65, 65);
|
||||||
|
this.picDiagnosticarTudo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.picDiagnosticarTudo.TabIndex = 13;
|
||||||
|
this.picDiagnosticarTudo.TabStop = false;
|
||||||
|
//
|
||||||
|
// picIniciarDiagnostico
|
||||||
|
//
|
||||||
|
this.picIniciarDiagnostico.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.picIniciarDiagnostico.Image = global::AgroBase.Properties.Resources.iniciar;
|
||||||
|
this.picIniciarDiagnostico.Location = new System.Drawing.Point(12, 425);
|
||||||
|
this.picIniciarDiagnostico.Name = "picIniciarDiagnostico";
|
||||||
|
this.picIniciarDiagnostico.Size = new System.Drawing.Size(65, 65);
|
||||||
|
this.picIniciarDiagnostico.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.picIniciarDiagnostico.TabIndex = 14;
|
||||||
|
this.picIniciarDiagnostico.TabStop = false;
|
||||||
|
//
|
||||||
|
// picLoading
|
||||||
|
//
|
||||||
|
this.picLoading.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||||
|
this.picLoading.Location = new System.Drawing.Point(12, 328);
|
||||||
|
this.picLoading.Name = "picLoading";
|
||||||
|
this.picLoading.Size = new System.Drawing.Size(65, 65);
|
||||||
|
this.picLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||||
|
this.picLoading.TabIndex = 15;
|
||||||
|
this.picLoading.TabStop = false;
|
||||||
|
//
|
||||||
|
// tabReles
|
||||||
|
//
|
||||||
|
this.tabReles.Controls.Add(this.dgReles);
|
||||||
|
this.tabReles.Location = new System.Drawing.Point(4, 38);
|
||||||
|
this.tabReles.Name = "tabReles";
|
||||||
|
this.tabReles.Padding = new System.Windows.Forms.Padding(3);
|
||||||
|
this.tabReles.Size = new System.Drawing.Size(904, 534);
|
||||||
|
this.tabReles.TabIndex = 9;
|
||||||
|
this.tabReles.Text = "Reles";
|
||||||
|
this.tabReles.UseVisualStyleBackColor = true;
|
||||||
|
//
|
||||||
|
// dgReles
|
||||||
|
//
|
||||||
|
this.dgReles.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.dgReles.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||||
|
this.dgReles.EditMode = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically;
|
||||||
|
this.dgReles.Location = new System.Drawing.Point(6, 6);
|
||||||
|
this.dgReles.Name = "dgReles";
|
||||||
|
this.dgReles.Size = new System.Drawing.Size(892, 522);
|
||||||
|
this.dgReles.TabIndex = 7;
|
||||||
|
//
|
||||||
|
// frmDiagnosticos
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(1024, 600);
|
||||||
|
this.Controls.Add(this.picCamera);
|
||||||
|
this.Controls.Add(this.picLoading);
|
||||||
|
this.Controls.Add(this.picIniciarDiagnostico);
|
||||||
|
this.Controls.Add(this.picDiagnosticarTudo);
|
||||||
|
this.Controls.Add(this.picVoltar);
|
||||||
|
this.Controls.Add(this.tabControl1);
|
||||||
|
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.Name = "frmDiagnosticos";
|
||||||
|
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||||
|
this.Text = "Diagnósticos";
|
||||||
|
this.TopMost = true;
|
||||||
|
this.Load += new System.EventHandler(this.frmDiagnosticos_Load);
|
||||||
|
this.tabControl1.ResumeLayout(false);
|
||||||
|
this.tabPulverizador.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgPulverizador)).EndInit();
|
||||||
|
this.tabMovimentacao.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgMovimentacao)).EndInit();
|
||||||
|
this.tabDirecional.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgDirecional)).EndInit();
|
||||||
|
this.tabSensoriamento.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgSensoriamento)).EndInit();
|
||||||
|
this.tabComunicacao.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgComunicacao)).EndInit();
|
||||||
|
this.tabCameras.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgCameras)).EndInit();
|
||||||
|
this.tabSinaleiros.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgSinaleiros)).EndInit();
|
||||||
|
this.tabResultados.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgResultados)).EndInit();
|
||||||
|
this.tabFalhas.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picCamera)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picVoltar)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picDiagnosticarTudo)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picIniciarDiagnostico)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.picLoading)).EndInit();
|
||||||
|
this.tabReles.ResumeLayout(false);
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.dgReles)).EndInit();
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.TabControl tabControl1;
|
||||||
|
private System.Windows.Forms.TabPage tabPulverizador;
|
||||||
|
private System.Windows.Forms.TabPage tabMovimentacao;
|
||||||
|
private System.Windows.Forms.TabPage tabDirecional;
|
||||||
|
private System.Windows.Forms.TabPage tabSensoriamento;
|
||||||
|
private System.Windows.Forms.TabPage tabComunicacao;
|
||||||
|
private System.Windows.Forms.TabPage tabCameras;
|
||||||
|
private System.Windows.Forms.TabPage tabSinaleiros;
|
||||||
|
private System.Windows.Forms.PictureBox picVoltar;
|
||||||
|
private System.Windows.Forms.TabPage tabResultados;
|
||||||
|
private System.Windows.Forms.PictureBox picDiagnosticarTudo;
|
||||||
|
private System.Windows.Forms.DataGridView dgPulverizador;
|
||||||
|
private System.Windows.Forms.PictureBox picIniciarDiagnostico;
|
||||||
|
private System.Windows.Forms.DataGridView dgMovimentacao;
|
||||||
|
private System.Windows.Forms.DataGridView dgDirecional;
|
||||||
|
private System.Windows.Forms.DataGridView dgSensoriamento;
|
||||||
|
private System.Windows.Forms.DataGridView dgComunicacao;
|
||||||
|
private System.Windows.Forms.DataGridView dgCameras;
|
||||||
|
private System.Windows.Forms.DataGridView dgSinaleiros;
|
||||||
|
private System.Windows.Forms.DataGridView dgResultados;
|
||||||
|
private System.Windows.Forms.PictureBox picCamera;
|
||||||
|
private System.Windows.Forms.PictureBox picLoading;
|
||||||
|
private System.Windows.Forms.TabPage tabFalhas;
|
||||||
|
private System.Windows.Forms.TreeView tvwFalhas;
|
||||||
|
private System.Windows.Forms.TabPage tabReles;
|
||||||
|
private System.Windows.Forms.DataGridView dgReles;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -18,7 +18,7 @@ namespace AgroBase.Forms
|
||||||
{
|
{
|
||||||
FormBorderStyle = FormBorderStyle.None,
|
FormBorderStyle = FormBorderStyle.None,
|
||||||
//WindowState = FormWindowState.Maximized,
|
//WindowState = FormWindowState.Maximized,
|
||||||
//TopMost = true
|
TopMost = true
|
||||||
};
|
};
|
||||||
|
|
||||||
private static readonly SemaphoreSlim _startupGate = new SemaphoreSlim(1, 1);
|
private static readonly SemaphoreSlim _startupGate = new SemaphoreSlim(1, 1);
|
||||||
|
|
@ -67,7 +67,14 @@ namespace AgroBase.Forms
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!Variaveis.Producao)
|
if (Variaveis.UsarIHM)
|
||||||
|
{
|
||||||
|
frmIHM.FormClosing -= frmPrincipal_FormClosing;
|
||||||
|
frmIHM.FormClosing += frmPrincipal_FormClosing;
|
||||||
|
|
||||||
|
frmIHM.Show();
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
frmIHM.FormClosing -= FrmIHM_FormClosing;
|
frmIHM.FormClosing -= FrmIHM_FormClosing;
|
||||||
frmPrincipal.FormClosing -= frmPrincipal_FormClosing;
|
frmPrincipal.FormClosing -= frmPrincipal_FormClosing;
|
||||||
|
|
@ -77,13 +84,6 @@ namespace AgroBase.Forms
|
||||||
|
|
||||||
frmPrincipal.Show();
|
frmPrincipal.Show();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
frmIHM.FormClosing -= frmPrincipal_FormClosing;
|
|
||||||
frmIHM.FormClosing += frmPrincipal_FormClosing;
|
|
||||||
|
|
||||||
frmIHM.Show();
|
|
||||||
}
|
|
||||||
|
|
||||||
Hide();
|
Hide();
|
||||||
}
|
}
|
||||||
|
|
@ -400,8 +400,8 @@ namespace AgroBase.Forms
|
||||||
* Em produção, o evento de fechamento da IHM é associado ao
|
* Em produção, o evento de fechamento da IHM é associado ao
|
||||||
* frmPrincipal_FormClosing e faz shutdown real.
|
* frmPrincipal_FormClosing e faz shutdown real.
|
||||||
*/
|
*/
|
||||||
e.Cancel = true;
|
//e.Cancel = true;
|
||||||
frmIHM.Hide();
|
//frmIHM.Hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,18 @@ namespace AgroBase
|
||||||
await VersionamentoService.AtualizarArquivoVersionamento(true);
|
await VersionamentoService.AtualizarArquivoVersionamento(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AtualizarProgressoSyncArquivos(string msg, double val)
|
||||||
|
{
|
||||||
|
BeginInvoke((MethodInvoker)(() =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
lblProgressoAtualizacao.Text = msg;
|
||||||
|
FuncoesGlobais.PreencheValorProgressBar(pgbAtualizacaoArquivos, val);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 319 KiB |
|
After Width: | Height: | Size: 350 KiB |
|
After Width: | Height: | Size: 289 KiB |
|
Before Width: | Height: | Size: 226 KiB After Width: | Height: | Size: 986 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 986 KiB |
|
After Width: | Height: | Size: 369 KiB |
|
After Width: | Height: | Size: 392 KiB |
|
After Width: | Height: | Size: 284 KiB |
|
After Width: | Height: | Size: 450 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 686 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 674 KiB |
|
|
@ -28,8 +28,9 @@ namespace AgroBase.Models
|
||||||
public class Variaveis
|
public class Variaveis
|
||||||
{
|
{
|
||||||
public static readonly bool IniciarWorkers = true;
|
public static readonly bool IniciarWorkers = true;
|
||||||
|
public static readonly bool UsarIHM = true;
|
||||||
public static readonly bool Producao = false;
|
public static readonly bool Producao = false;
|
||||||
public static bool DebugMode { get; set; } = true;
|
public static bool DebugMode { get; set; } = false;
|
||||||
public static bool Fechando { get; set; } = false;
|
public static bool Fechando { get; set; } = false;
|
||||||
|
|
||||||
public static string CaminhoSistema { get; set; } = AppDomain.CurrentDomain.BaseDirectory;
|
public static string CaminhoSistema { get; set; } = AppDomain.CurrentDomain.BaseDirectory;
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,16 @@ namespace AgroBase.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap _base {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("_base", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -90,6 +100,16 @@ namespace AgroBase.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap bateria {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("bateria", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -170,6 +190,16 @@ namespace AgroBase.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap gnss {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("gnss", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -250,6 +280,26 @@ namespace AgroBase.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap rede1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("rede1", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap reservatorio {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("reservatorio", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -300,6 +350,26 @@ namespace AgroBase.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap temperatura {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("temperatura", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap testes {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("testes", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -118,14 +118,14 @@
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="seta_voltar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="pasta" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\seta_voltar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\pasta.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="mcp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="mcp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\mcp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\mcp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cana" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="seta_voltar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\cana.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\seta_voltar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ajustes" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="ajustes" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\ajustes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\ajustes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
|
@ -133,8 +133,8 @@
|
||||||
<data name="transferidor" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="transferidor" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\transferidor.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\transferidor.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="esp32-s3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="diagnostico" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\esp32-s3.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\diagnostico.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="voltar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="voltar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\voltar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\voltar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
|
@ -145,9 +145,6 @@
|
||||||
<data name="rosa_dos_ventos" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="rosa_dos_ventos" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\rosa_dos_ventos.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\rosa_dos_ventos.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pasta" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Imagens\pasta.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="wifi_off" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="wifi_off" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\wifi_off.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\wifi_off.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
@ -163,8 +160,8 @@
|
||||||
<data name="wifi_on" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="wifi_on" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\wifi_on.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\wifi_on.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="diagnostico" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="roda_superior" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\diagnostico.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\roda_superior.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="salvar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="salvar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\salvar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\salvar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
|
@ -175,14 +172,17 @@
|
||||||
<data name="atualizar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="atualizar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\atualizar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\atualizar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="ads" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\ads.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="rede" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="rede" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\rede.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\rede.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="fechar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="fechar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\fechar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\fechar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="roda_superior" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="esp32-s3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\roda_superior.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\esp32-s3.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="localizacao" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="localizacao" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\localizacao.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\localizacao.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
|
@ -196,10 +196,31 @@
|
||||||
<data name="robo_superior" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="robo_superior" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\robo_superior.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\robo_superior.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="cana" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\cana.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="desligar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="desligar" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\desligar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\desligar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ads" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="testes" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Imagens\ads.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Imagens\testes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="bateria" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\bateria.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="gnss" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\gnss.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="rede1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\rede.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="reservatorio" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\reservatorio.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="temperatura" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\temperatura.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="_base" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Imagens\base.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|
@ -46,20 +46,11 @@ namespace AgroBase.Services
|
||||||
public static readonly string SplitConfig = "*";
|
public static readonly string SplitConfig = "*";
|
||||||
public static readonly string SplitSubParams = "~";
|
public static readonly string SplitSubParams = "~";
|
||||||
|
|
||||||
public static readonly List<T_Code> DispositivosMotores =
|
public static readonly List<T_Code> DispositivosMotores = new List<T_Code> { T_Code.Mov, T_Code.Dir };
|
||||||
new List<T_Code> { T_Code.Mov, T_Code.Dir };
|
public static readonly List<T_Code> DispositivosConexaoInicial = new List<T_Code> { T_Code.Mvd, T_Code.Atu, T_Code.Sen };
|
||||||
|
public static readonly List<T_Code> DispositivosProprios = new List<T_Code> { T_Code.Atu, T_Code.Sen };
|
||||||
public static readonly List<T_Code> DispositivosConexaoInicial =
|
public static readonly List<T_Code> DispositivosModbus = new List<T_Code> { T_Code.Pzm, T_Code.Wit, T_Code.A05 };
|
||||||
new List<T_Code> { T_Code.Mvd, T_Code.Atu, T_Code.Sen };
|
public static readonly List<T_Code> DispositivosCan = new List<T_Code>
|
||||||
|
|
||||||
public static readonly List<T_Code> DispositivosProprios =
|
|
||||||
new List<T_Code> { T_Code.Atu, T_Code.Sen };
|
|
||||||
|
|
||||||
public static readonly List<T_Code> DispositivosModbus =
|
|
||||||
new List<T_Code> { T_Code.Pzm, T_Code.Wit, T_Code.A05 };
|
|
||||||
|
|
||||||
public static readonly List<T_Code> DispositivosCan =
|
|
||||||
new List<T_Code>
|
|
||||||
{
|
{
|
||||||
T_Code.Mov,
|
T_Code.Mov,
|
||||||
T_Code.Oid,
|
T_Code.Oid,
|
||||||
|
|
@ -68,9 +59,7 @@ namespace AgroBase.Services
|
||||||
T_Code.Sen,
|
T_Code.Sen,
|
||||||
T_Code.Atu
|
T_Code.Atu
|
||||||
};
|
};
|
||||||
|
public static readonly List<T_Code> DispositivosMultiplos = new List<T_Code>
|
||||||
public static readonly List<T_Code> DispositivosMultiplos =
|
|
||||||
new List<T_Code>
|
|
||||||
{
|
{
|
||||||
T_Code.Bld,
|
T_Code.Bld,
|
||||||
T_Code.Mks,
|
T_Code.Mks,
|
||||||
|
|
@ -85,60 +74,26 @@ namespace AgroBase.Services
|
||||||
/// Código novo deve preferir GetDispositivosMapeadosSnapshot(),
|
/// Código novo deve preferir GetDispositivosMapeadosSnapshot(),
|
||||||
/// AdicionarOuAtualizarDispositivoMapeado() e RemoverDispositivoMapeado().
|
/// AdicionarOuAtualizarDispositivoMapeado() e RemoverDispositivoMapeado().
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static List<DispositivoDetalhesModel> DispositivosMapeados =
|
public static List<DispositivoDetalhesModel> DispositivosMapeados = CriarListaInicialDispositivos();
|
||||||
CriarListaInicialDispositivos();
|
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// SINCRONIZAÇÃO E CICLO DE VIDA
|
// SINCRONIZAÇÃO E CICLO DE VIDA
|
||||||
// ============================================================
|
// ============================================================
|
||||||
|
|
||||||
private static readonly SemaphoreSlim _scanGate =
|
private static readonly SemaphoreSlim _scanGate = new SemaphoreSlim(1, 1);
|
||||||
new SemaphoreSlim(1, 1);
|
private static readonly SemaphoreSlim _updateDevicesGate = new SemaphoreSlim(1, 1);
|
||||||
|
private static readonly SemaphoreSlim _versioningGate = new SemaphoreSlim(1, 1);
|
||||||
private static readonly SemaphoreSlim _updateDevicesGate =
|
private static readonly SemaphoreSlim _syncDataGate = new SemaphoreSlim(1, 1);
|
||||||
new SemaphoreSlim(1, 1);
|
private static readonly object _mappedDevicesLock = new object();
|
||||||
|
private static readonly object _connectedDevicesLock = new object();
|
||||||
private static readonly SemaphoreSlim _versioningGate =
|
private static readonly object _lifecycleLock = new object();
|
||||||
new SemaphoreSlim(1, 1);
|
private static readonly object _metricsTextLock = new object();
|
||||||
|
|
||||||
private static readonly SemaphoreSlim _syncDataGate =
|
|
||||||
new SemaphoreSlim(1, 1);
|
|
||||||
|
|
||||||
private static readonly object _mappedDevicesLock =
|
|
||||||
new object();
|
|
||||||
|
|
||||||
private static readonly object _connectedDevicesLock =
|
|
||||||
new object();
|
|
||||||
|
|
||||||
private static readonly object _lifecycleLock =
|
|
||||||
new object();
|
|
||||||
|
|
||||||
private static readonly object _metricsTextLock =
|
|
||||||
new object();
|
|
||||||
|
|
||||||
private static readonly ConcurrentDictionary<
|
|
||||||
string,
|
|
||||||
SemaphoreSlim> _portIoLocks =
|
|
||||||
new ConcurrentDictionary<
|
|
||||||
string,
|
|
||||||
SemaphoreSlim>(
|
|
||||||
StringComparer.OrdinalIgnoreCase
|
|
||||||
);
|
|
||||||
|
|
||||||
private static readonly ConcurrentDictionary<
|
|
||||||
string,
|
|
||||||
int> _missingPortConfirmations =
|
|
||||||
new ConcurrentDictionary<
|
|
||||||
string,
|
|
||||||
int>(
|
|
||||||
StringComparer.OrdinalIgnoreCase
|
|
||||||
);
|
|
||||||
|
|
||||||
|
private static readonly ConcurrentDictionary<string, SemaphoreSlim> _portIoLocks = new ConcurrentDictionary<string, SemaphoreSlim>(StringComparer.OrdinalIgnoreCase);
|
||||||
|
private static readonly ConcurrentDictionary<string, int> _missingPortConfirmations = new ConcurrentDictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||||
public static int ConfirmacoesPortaAusente { get; set; } = 2;
|
public static int ConfirmacoesPortaAusente { get; set; } = 2;
|
||||||
|
|
||||||
private static CancellationTokenSource _lifetimeCts =
|
private static CancellationTokenSource _lifetimeCts = new CancellationTokenSource();
|
||||||
new CancellationTokenSource();
|
|
||||||
|
|
||||||
private static CancellationTokenSource _currentScanCts;
|
private static CancellationTokenSource _currentScanCts;
|
||||||
|
|
||||||
private static long _scanGeneration;
|
private static long _scanGeneration;
|
||||||
|
|
@ -194,6 +149,7 @@ namespace AgroBase.Services
|
||||||
|
|
||||||
private static int _uiUpdateScheduled;
|
private static int _uiUpdateScheduled;
|
||||||
private static string _pendingUiMessage;
|
private static string _pendingUiMessage;
|
||||||
|
public static string LastUIMessage;
|
||||||
|
|
||||||
// ============================================================
|
// ============================================================
|
||||||
// ESCRITA SERIAL
|
// ESCRITA SERIAL
|
||||||
|
|
@ -1178,12 +1134,9 @@ namespace AgroBase.Services
|
||||||
).GetAwaiter().GetResult();
|
).GetAwaiter().GetResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task AtualizarDispositivosAsync(
|
private static async Task AtualizarDispositivosAsync(CancellationToken cancellationToken)
|
||||||
CancellationToken cancellationToken)
|
|
||||||
{
|
{
|
||||||
await _updateDevicesGate
|
await _updateDevicesGate.WaitAsync(cancellationToken).ConfigureAwait(false);
|
||||||
.WaitAsync(cancellationToken)
|
|
||||||
.ConfigureAwait(false);
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
@ -1191,52 +1144,27 @@ namespace AgroBase.Services
|
||||||
|
|
||||||
lock (_connectedDevicesLock)
|
lock (_connectedDevicesLock)
|
||||||
{
|
{
|
||||||
firstExecution =
|
firstExecution = !Variaveis.DispositivosConectados.Any();
|
||||||
!Variaveis.DispositivosConectados.Any();
|
|
||||||
|
|
||||||
foreach (T_Code code in
|
foreach (T_Code code in DispositivosConexaoInicial)
|
||||||
DispositivosConexaoInicial)
|
|
||||||
{
|
{
|
||||||
IDispositivosService service =
|
IDispositivosService service = Variaveis.DispositivosConectados.FirstOrDefault(x => x.Dispositivo == code);
|
||||||
Variaveis.DispositivosConectados
|
|
||||||
.FirstOrDefault(
|
|
||||||
x => x.Dispositivo == code
|
|
||||||
);
|
|
||||||
|
|
||||||
if (service != null)
|
if (service != null)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
List<string> moduleIds =
|
List<string> moduleIds =
|
||||||
GetDispositivosMapeadosSnapshot()
|
GetDispositivosMapeadosSnapshot()
|
||||||
.Where(
|
.Where(x => x.Dispositivo == code)
|
||||||
x => x.Dispositivo == code
|
|
||||||
)
|
|
||||||
.Select(x => x.Mod_ID)
|
.Select(x => x.Mod_ID)
|
||||||
.Where(
|
.Where(x => !string.IsNullOrWhiteSpace(x))
|
||||||
x => !string.IsNullOrWhiteSpace(x)
|
|
||||||
)
|
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
service =
|
service = DispositivosServiceFactory.CreateDispositivoService(code, "Nome: " + Enum.GetName(typeof(T_Code), code), "Descrição: " + string.Join(", ", moduleIds.ToArray()));
|
||||||
DispositivosServiceFactory
|
|
||||||
.CreateDispositivoService(
|
|
||||||
code,
|
|
||||||
"Nome: " +
|
|
||||||
Enum.GetName(
|
|
||||||
typeof(T_Code),
|
|
||||||
code
|
|
||||||
),
|
|
||||||
"Descrição: " +
|
|
||||||
string.Join(
|
|
||||||
", ",
|
|
||||||
moduleIds.ToArray()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
service.CarregarParametrosModulos();
|
service.CarregarParametrosModulos();
|
||||||
|
|
||||||
Variaveis.DispositivosConectados
|
Variaveis.DispositivosConectados.Add(service);
|
||||||
.Add(service);
|
|
||||||
|
|
||||||
service.Dados.IniciarRegistrador();
|
service.Dados.IniciarRegistrador();
|
||||||
}
|
}
|
||||||
|
|
@ -1256,34 +1184,35 @@ namespace AgroBase.Services
|
||||||
if (frmInstancial.frmPrincipal == null)
|
if (frmInstancial.frmPrincipal == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ComboBox combo =
|
ComboBox combo = frmInstancial.frmPrincipal.cmbModoOperacao;
|
||||||
frmInstancial.frmPrincipal
|
|
||||||
.cmbModoOperacao;
|
|
||||||
|
|
||||||
if (combo == null ||
|
if (combo == null || combo.IsDisposed || combo.Disposing)
|
||||||
combo.IsDisposed ||
|
|
||||||
combo.Disposing)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Action action = () =>
|
Action action = () =>
|
||||||
{
|
{
|
||||||
if (!combo.IsDisposed &&
|
if (!combo.IsDisposed && !combo.Disposing)
|
||||||
!combo.Disposing)
|
|
||||||
{
|
{
|
||||||
combo.SelectedIndex =
|
combo.SelectedIndex = (int)ModoOperacao.MapaGPS;
|
||||||
(int)ModoOperacao.MapaGPS;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
try
|
try
|
||||||
|
{
|
||||||
|
if (Variaveis.UsarIHM)
|
||||||
|
{
|
||||||
|
Variaveis.OperacaoEmAndamento = OperacaoModel.CarregarParametrosOperacaoPadrao(ModoOperacao.MapaGPS, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (combo.InvokeRequired)
|
if (combo.InvokeRequired)
|
||||||
combo.BeginInvoke(action);
|
combo.BeginInvoke(action);
|
||||||
else
|
else
|
||||||
action();
|
action();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
// A interface pode estar fechando.
|
// A interface pode estar fechando.
|
||||||
|
|
@ -1711,86 +1640,59 @@ namespace AgroBase.Services
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_pendingUiMessage = message;
|
_pendingUiMessage = message;
|
||||||
|
LastUIMessage = _pendingUiMessage;
|
||||||
|
|
||||||
if (Interlocked.Exchange(
|
if (Interlocked.Exchange(ref _uiUpdateScheduled, 1) == 1)
|
||||||
ref _uiUpdateScheduled,
|
|
||||||
1) == 1)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Form principal = frmInstancial.frmPrincipal;
|
//Form principal = frmInstancial.frmPrincipal;
|
||||||
|
//
|
||||||
if (principal == null ||
|
//if (principal == null || principal.IsDisposed || principal.Disposing || !principal.IsHandleCreated)
|
||||||
principal.IsDisposed ||
|
//{
|
||||||
principal.Disposing ||
|
// Interlocked.Exchange(ref _uiUpdateScheduled, 0);
|
||||||
!principal.IsHandleCreated)
|
// return;
|
||||||
{
|
//}
|
||||||
Interlocked.Exchange(
|
|
||||||
ref _uiUpdateScheduled,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
principal.BeginInvoke(
|
//principal.BeginInvoke(
|
||||||
(MethodInvoker)(() =>
|
// (MethodInvoker)(() =>
|
||||||
{
|
// {
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
string pending =
|
// string pending = _pendingUiMessage;
|
||||||
_pendingUiMessage;
|
//
|
||||||
|
// if (frmInstancial.frmPrincipal != null && !frmInstancial.frmPrincipal.IsDisposed)
|
||||||
if (frmInstancial.frmPrincipal != null &&
|
// {
|
||||||
!frmInstancial.frmPrincipal.IsDisposed)
|
// frmInstancial.frmPrincipal.lblStatusConexao.Text = pending;
|
||||||
{
|
// }
|
||||||
frmInstancial.frmPrincipal
|
//
|
||||||
.lblStatusConexao
|
// if (frmInstancial.frmIHM != null && frmInstancial.frmIHM.IsHandleCreated && !frmInstancial.frmIHM.IsDisposed)
|
||||||
.Text = pending;
|
// {
|
||||||
}
|
// frmInstancial.frmIHM.frmMenu.lblStatus.Text = pending;
|
||||||
|
// }
|
||||||
if (frmInstancial.frmIHM != null &&
|
// }
|
||||||
frmInstancial.frmIHM.IsHandleCreated &&
|
// finally
|
||||||
!frmInstancial.frmIHM.IsDisposed)
|
// {
|
||||||
{
|
// Interlocked.Exchange(ref _uiUpdateScheduled, 0);
|
||||||
frmInstancial.frmIHM
|
//
|
||||||
.lblStatus
|
// /*
|
||||||
.Text = pending;
|
// * Se outra mensagem chegou durante o callback,
|
||||||
}
|
// * agenda somente a mais recente.
|
||||||
}
|
// */
|
||||||
finally
|
// if (!string.Equals(_pendingUiMessage, message, StringComparison.Ordinal))
|
||||||
{
|
// {
|
||||||
Interlocked.Exchange(
|
// AtualizarConsole(_pendingUiMessage);
|
||||||
ref _uiUpdateScheduled,
|
// }
|
||||||
0
|
// }
|
||||||
);
|
// })
|
||||||
|
//);
|
||||||
/*
|
|
||||||
* Se outra mensagem chegou durante o callback,
|
|
||||||
* agenda somente a mais recente.
|
|
||||||
*/
|
|
||||||
if (!string.Equals(
|
|
||||||
_pendingUiMessage,
|
|
||||||
message,
|
|
||||||
StringComparison.Ordinal))
|
|
||||||
{
|
|
||||||
AtualizarConsole(
|
|
||||||
_pendingUiMessage
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
Interlocked.Exchange(
|
Interlocked.Exchange(ref _uiUpdateScheduled, 0);
|
||||||
ref _uiUpdateScheduled,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1165,54 +1165,26 @@ namespace AgroBase.Services
|
||||||
|
|
||||||
private static void AtualizarConsole(string msg, int val)
|
private static void AtualizarConsole(string msg, int val)
|
||||||
{
|
{
|
||||||
Console.WriteLine(msg);
|
Variaveis.MostrarLog("[VersionamentoService.AtualizarConsole] " + msg);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!Variaveis.IsAgroBase)
|
if (!Variaveis.IsAgroBase)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (frmInstancial.frmPrincipal == null || !frmInstancial.frmPrincipal.Created || frmInstancial.frmPrincipal.IsDisposed)
|
bool frmIhmIndisponivel = frmInstancial.frmIHM == null || !frmInstancial.frmIHM.Created || frmInstancial.frmIHM.IsDisposed;
|
||||||
{
|
bool frmPrincipalIndisponivel = frmInstancial.frmPrincipal == null || !frmInstancial.frmPrincipal.Created || frmInstancial.frmPrincipal.IsDisposed;
|
||||||
|
|
||||||
|
if (Variaveis.UsarIHM && frmIhmIndisponivel)
|
||||||
|
return;
|
||||||
|
else if (frmPrincipalIndisponivel)
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
frmInstancial.frmPrincipal.BeginInvoke(
|
if (!frmIhmIndisponivel)
|
||||||
(MethodInvoker)(() =>
|
frmInstancial.frmIHM?.frmMenu?.AtualizarProgressoSyncArquivos(msg, val);
|
||||||
{
|
if (!frmPrincipalIndisponivel)
|
||||||
try
|
frmInstancial.frmPrincipal?.AtualizarProgressoSyncArquivos(msg, val);
|
||||||
{
|
|
||||||
frmInstancial
|
|
||||||
.frmPrincipal
|
|
||||||
.lblProgressoAtualizacao
|
|
||||||
.Text = msg;
|
|
||||||
|
|
||||||
FuncoesGlobais.PreencheValorProgressBar(
|
|
||||||
frmInstancial
|
|
||||||
.frmPrincipal
|
|
||||||
.pgbAtualizacaoArquivos,
|
|
||||||
val
|
|
||||||
);
|
|
||||||
|
|
||||||
if (frmInstancial.frmIHM != null &&
|
|
||||||
!frmInstancial.frmIHM.IsDisposed)
|
|
||||||
{
|
|
||||||
frmInstancial
|
|
||||||
.frmIHM
|
|
||||||
.lblProgressoAtualizacao
|
|
||||||
.Text = msg;
|
|
||||||
|
|
||||||
FuncoesGlobais
|
|
||||||
.PreencheValorProgressBar(
|
|
||||||
frmInstancial
|
|
||||||
.frmIHM
|
|
||||||
.pgbAtualizacaoArquivos,
|
|
||||||
val
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch { }
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
@ -1238,9 +1210,7 @@ namespace AgroBase.Services
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Forget(
|
private static void Forget(Task task, string context)
|
||||||
Task task,
|
|
||||||
string context)
|
|
||||||
{
|
{
|
||||||
if (task == null)
|
if (task == null)
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||