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(); } } }