LevelOS-Core/UI/Dashboards/Cadastros/ConfigImpressaoCadastroPanel.cs
levelcode365 ae72c2768e 25/04/2026 - implementa formulários de cadastro para o ecossistema LevelOS
- Adicionado ContratoEquipamentosCadastroPanel
- Adicionado ConfigBoletosCadastroPanel (Gestão de convênios)
- Adicionado ConfigCartoesCadastroPanel (Taxas e operadoras)
- Adicionado ConfigImpressaoCadastroPanel (Coordenadas X/Y)
- Adicionado DespesasCadastroPanel e DespFixaCadastroPanel
- Adicionado ConfigEcfCadastroPanel (Hardware Fiscal)
- Adicionado EmpresaCadastroPanel (Emitente e Web3/Crypto)
- Adicionado EquipamentosCadastroPanel (Ativos e Garantia)
- Adicionado EsquemasTecnicosCadastroPanel (Biblioteca de Manuais)
- Adicionado FluxoCaixaCadastroPanel (Tesouraria)
- Adicionado FornecedorItemVinculoPanel (Logística de Suprimentos)

Padronização de interface utilizando FormularioModelo e LV_TEXTBOX1."
2026-04-25 17:48:04 -03:00

95 lines
3.4 KiB
C#

using CPM;
using MLL;
using System;
using System.Drawing;
using System.Windows.Forms;
using UI;
namespace UI
{
public partial class ConfigImpressaoCadastroPanel : FormularioModelo
{
private ModeloCoordImpres _coord = new ModeloCoordImpres();
// Controles - Identificação do Modelo e Campo
private LV_TEXTBOX1 txtId, txtCodigo, txtCodModelo, txtNomeCampo, txtCodCampo, txtTipo;
// Controles - Posicionamento (Coordenadas)
private LV_TEXTBOX1 txtCX, txtCY, txtComp;
private CheckBox chkAtivo;
public ConfigImpressaoCadastroPanel()
{
this.Titulo = "Configuração de Coordenadas de Impressão";
MontarInterface();
}
private void MontarInterface()
{
// --- SEÇÃO 1: Identificação do Campo ---
content.Controls.Add(CreateSectionHeader("DEFINIÇÃO DO CAMPO NO RELATÓRIO", 20));
txtId = AddInput(content, "ID", 20, 50, 70, 30, true);
txtCodigo = AddInput(content, "CÓD. INTERNO", 100, 50, 100, 30);
txtCodModelo = AddInput(content, "CÓD. MODELO (DOC)", 210, 50, 150, 30);
txtNomeCampo = AddInput(content, "NOME EXIBIÇÃO (Ex: Razão Social)", 20, 105, 350, 30);
txtCodCampo = AddInput(content, "TAG/VARIÁVEL (Ex: {NOME_CLI})", 380, 105, 250, 30);
txtTipo = AddInput(content, "TIPO (Texto/Valor)", 640, 105, 150, 30);
// --- SEÇÃO 2: Posicionamento e Dimensões ---
content.Controls.Add(CreateSectionHeader("COORDENADAS ESPACIAIS (X, Y)", 175));
// X e Y lado a lado para facilitar a percepção de plano cartesiano
txtCX = AddInput(content, "COORDENADA X (Horizontal)", 20, 205, 180, 30);
txtCY = AddInput(content, "COORDENADA Y (Vertical)", 210, 205, 180, 30);
txtComp = AddInput(content, "COMPRIMENTO/LARGURA", 400, 205, 180, 30);
chkAtivo = CreateCheckBox("CAMPO ATIVO NA IMPRESSÃO", 600, 223);
content.Controls.Add(chkAtivo);
content.Height = 350;
}
private void PreencherModel()
{
_coord.CODIGO = txtCodigo.Text;
_coord.COD_MODELO = txtCodModelo.Text;
_coord.NOME_CAMPO = txtNomeCampo.Text;
_coord.COD_CAMPO = txtCodCampo.Text;
_coord.TIPO = txtTipo.Text;
_coord.CX = txtCX.Text;
_coord.CY = txtCY.Text;
_coord.COMP = txtComp.Text;
// Seguindo o padrão de string para Ativo na sua model
_coord.ATIVO = chkAtivo.Checked ? "S" : "N";
}
protected override void OnNovo()
{
_coord = new ModeloCoordImpres();
txtCodModelo.Focus();
}
protected override void OnSalvar()
{
try
{
PreencherModel();
// BLL.Salvar(_coord);
MessageBox.Show("Coordenada de impressão configurada!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Erro ao salvar: " + ex.Message);
}
}
protected override void OnAlterar() { }
protected override void OnExcluir() { }
protected override void OnLocalizar() { }
protected override void OnCancelar() { OnNovo(); }
}
}