예제 #1
0
        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());
        }
예제 #2
0
        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;
        }
예제 #3
0
        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();
                };
            }
        }