public static ResultadoDialogo Exibir(ModoEdicao modo, Registro registro, string titulo, int width, int height) { var botoes = modo == ModoEdicao.Gravacao ? new Button[] { new Button("Gravar", false) { Id = CmdGravar }, new Button("Cancelar", true) { Id = CmdCancelar }, } : new Button[] { new Button("Fechar", true) { Id = CmdCancelar } }; var janela = new EditorRegistro(ustring.Make(titulo), width, height, botoes); janela.Renderizar(modo, registro); janela._txtNome.FocusFirst(); Application.Run(janela); return(janela.GerarResultado()); }
private void Renderizar(ModoEdicao modo, Registro registro) { this._modo = modo; this._modificado = false; this._original = registro; this._txtEmail.Text = registro.Email?.Address; this._txtNome.Text = registro.Nome ?? string.Empty; this._txtTelefone.Text = registro.Telefone ?? string.Empty; }
private EditorRegistro(ustring title, int width, int height, params Button[] buttons) : base(title, width, height, buttons) { _original = null; _atual = null; _modo = ModoEdicao.Leitura; _modificado = false; InicializarControles(); foreach (var button in buttons) { var id = button.Id; button.Clicked = () => { _cmdEncerramento = id; ProcessarComando(); }; } }