Classe TKernelPesquisa

DescriçãoHierarquiaCamposMétodosProperties

Unit

Declaração

type TKernelPesquisa = class(TObject)

Descrição

Implementação da entidade de pesquisas

Hierarquia

Visão Geral

Campos

Private clsClasseEntidadePesquisa: TEntidadeClasse;
Private objEntidadePesquisa: TdtmKernelComum;
Private objEntidadePai: TdtmKernelComum;
Private objBotaoEditar: TSpeedButton;
Private objBotaoNovo: TSpeedButton;
Private FEventoAposConfirmarPesquisa: TEventoAposConfirmarPesquisa;
Private FEventoAntesDeConfirmarPesquisa: TEventoAntesDeConfirmarPesquisa;
Private FEventoFiltroCallback: TEventoFiltroCallback;
Private lstRetorno: TList;
Private objMestre: TKernelPesquisa;
Private bolSomenteLeitura: boolean;

Métodos

Private procedure DefinirBotaoEditar(const objBotao : TSpeedButton);
Private procedure DefinirBotaoNovo(const objBotao : TSpeedButton);
Private procedure BotaoNovoAoClicar(Sender : TObject);
Private procedure BotaoEditarAoClicar(Sender : TObject);
Private procedure NovoManutencao;
Private procedure AbrirManutencao;
Private procedure AtualizarBotaoEditar;
Private procedure AtualizarBotaoNovo;
Private function ObterFiltroFiltro: string;
Private procedure DefinirObjetoMestre(const Value: TKernelPesquisa);
Private procedure AposAtualizarPesquisa;
Private procedure DefinirSomenteLeitura(const Value: boolean);
Private function ObterSomenteLeitura: boolean;
Protected procedure InstanciarPesquisa; virtual;
Protected procedure AposInstanciarEntidadePesquisa; virtual;
Protected procedure DefinirClassePesquisa(const clsEntidade : TEntidadeClasse); virtual;
Protected procedure AtualizarValores;
Protected procedure AtualizarValoresInterno; virtual; abstract;
Protected function ObterCodigo : string; virtual; abstract;
Protected function ObterNome : string; virtual; abstract;
Protected function VerificarSomenteLeitura : boolean; virtual;
Protected procedure AtualizarPesquisaInterno; virtual;
Protected procedure AtualizarSomenteLeituraInterno; virtual;
Public constructor Create(const EntidadePai : TdtmKernelComum); virtual;
Public destructor Destroy; override;
Public procedure AtualizarPesquisa;
Public procedure NovoRetorno(const objCaixa : TCustomEdit; const strNomeCampoRetorno : string; const strNomeCampoDestino : string = '');
Public procedure AtualizarSomenteLeitura;

Properties

Public property ClasseEntidade : TEntidadeClasse write DefinirClassePesquisa;
Public property BotaoNovo : TSpeedButton write DefinirBotaoNovo;
Public property BotaoEditar : TSpeedButton write DefinirBotaoEditar;
Public property EventoAposConfirmarPesquisa : TEventoAposConfirmarPesquisa read FEventoAposConfirmarPesquisa write FEventoAposConfirmarPesquisa;
Public property EventoAntesDeConfirmarPesquisa : TEventoAntesDeConfirmarPesquisa read FEventoAntesDeConfirmarPesquisa write FEventoAntesDeConfirmarPesquisa;
Public property FiltroCallback : TEventoFiltroCallback read FEventoFiltroCallback write FEventoFiltroCallback;
Public property Filtro : string read ObterFiltroFiltro;
Public property ObjetoMestre : TKernelPesquisa write DefinirObjetoMestre;
Public property EntidadePesquisa : TEntidade read objEntidadePesquisa;
Public property SomenteLeitura : boolean read ObterSomenteLeitura write DefinirSomenteLeitura;

Descrição

Campos

Private clsClasseEntidadePesquisa: TEntidadeClasse;

Classe da Entidade a pesquisar

Private objEntidadePesquisa: TdtmKernelComum;

Objeto da Entidade de Pesquisa

Private objEntidadePai: TdtmKernelComum;

Objeto da Entidade Pai

Private objBotaoEditar: TSpeedButton;

Botão para controle da manutenção do registro selecionado

Private objBotaoNovo: TSpeedButton;

Botão para criar um novo registro na entidade

Private FEventoAposConfirmarPesquisa: TEventoAposConfirmarPesquisa;

Evento disparado após pesquisar

Private FEventoAntesDeConfirmarPesquisa: TEventoAntesDeConfirmarPesquisa;

Evento chamado antes de confirmar a pesquisa, permite validar se pode ou não continuar e definir os valores

Private FEventoFiltroCallback: TEventoFiltroCallback;

Evento de Callback para retornar um filtro para a pesquisa

Private lstRetorno: TList;

Lista para controlar os controles extras de lookup

Private objMestre: TKernelPesquisa;

Permite definir um objeto mestre de pesquisa para criar pesquisas em forma mestre-detalhe (é necessário que as entidades que fazem parte da pesquisa também sejam um mestre-detalhe)

Private bolSomenteLeitura: boolean;

Determina se o controlador está em modo somente leitura

Métodos

Private procedure DefinirBotaoEditar(const objBotao : TSpeedButton);

Evento disparado antes de confirmar a pesquisa Definição do Botão de Edição do registro selecionado

Private procedure DefinirBotaoNovo(const objBotao : TSpeedButton);

Definição do Botão para criar um novo registro na entidade selecionada

Private procedure BotaoNovoAoClicar(Sender : TObject);

Ação a ser executada ao clicar no botão de Novo

Private procedure BotaoEditarAoClicar(Sender : TObject);

Ação a ser executada ao clicar no botão de editar

Private procedure NovoManutencao;

Método executado ao clicar no botão para inserir um novo registro na entidade

Private procedure AbrirManutencao;

Método executado ao clicar no botão para editar o registro na entidade

Private procedure AtualizarBotaoEditar;

Atualiza as configurações do botão editar

Private procedure AtualizarBotaoNovo;

Atualiza as configurações do botão novo

Private function ObterFiltroFiltro: string;

Obtém o Filtro da funçào de callback

Private procedure DefinirObjetoMestre(const Value: TKernelPesquisa);

Define o objeto mestre da pesquisa

Parâmetros
Value
Objeto Mestre a ser definido
Private procedure AposAtualizarPesquisa;

Evento após a atualização da pesquisa

Private procedure DefinirSomenteLeitura(const Value: boolean);

Define a pesquisa como somente leirura

Parâmetros
Value
Definir sim ou não leitura
Private function ObterSomenteLeitura: boolean;

Retorna verdadeiro caso seja somente leitura

Protected procedure InstanciarPesquisa; virtual;

Instancia a Classe a ser pesquisada

Protected procedure AposInstanciarEntidadePesquisa; virtual;

Evendo Disparado após instanciar a entidade de pesquisa

Protected procedure DefinirClassePesquisa(const clsEntidade : TEntidadeClasse); virtual;

Definição da Classe de Pesquisa

Protected procedure AtualizarValores;

Atualiza os valores das caixas de pesquisa

Protected procedure AtualizarValoresInterno; virtual; abstract;

Atualiza os valores das caixas de pesquisa

Protected function ObterCodigo : string; virtual; abstract;

Retorna o código a para abrir a manutenção Para pesquisa na entidade, retorna o código da caixa de texto Para pesquisa em combobox, retorna o ID atual

Protected function ObterNome : string; virtual; abstract;

Retorna o código a para abrir a manutenção Para pesquisa na entidade, retorna o nome da caixa de texto Para pesquisa em combobox, retorna o nome atual

Protected function VerificarSomenteLeitura : boolean; virtual;

Verifica se a entidade inicializa ou não como somente leitura

Protected procedure AtualizarPesquisaInterno; virtual;

Atualiza os controladores da pesquisa

Protected procedure AtualizarSomenteLeituraInterno; virtual;

Atualiza as propriedades dos componentes somente leitura

Public constructor Create(const EntidadePai : TdtmKernelComum); virtual;

Construtor da Classe

Public destructor Destroy; override;

Destrutor

Public procedure AtualizarPesquisa;

Atualiza os controladores da pesquisa

Public procedure NovoRetorno(const objCaixa : TCustomEdit; const strNomeCampoRetorno : string; const strNomeCampoDestino : string = '');

Cria um novo controlador de campo interno para retornar um valor extra da entidade pesquisada

Public procedure AtualizarSomenteLeitura;

Atualiza a posição de somente leitura, dos campos, edits, etc

Properties

Public property ClasseEntidade : TEntidadeClasse write DefinirClassePesquisa;

Propriedade de acesso à Classe a Pesquisar

Public property BotaoNovo : TSpeedButton write DefinirBotaoNovo;

Propriedade de acesso ao Botão de Novo

Public property BotaoEditar : TSpeedButton write DefinirBotaoEditar;

Propriedade de acesso ao Botão de Editar

Public property EventoAposConfirmarPesquisa : TEventoAposConfirmarPesquisa read FEventoAposConfirmarPesquisa write FEventoAposConfirmarPesquisa;

Evento disparado após confirmar os valores da pesquisa

Public property EventoAntesDeConfirmarPesquisa : TEventoAntesDeConfirmarPesquisa read FEventoAntesDeConfirmarPesquisa write FEventoAntesDeConfirmarPesquisa;

Evento disparado antes de confirmar os valores da pesquisa, para efetuar a validação

Public property FiltroCallback : TEventoFiltroCallback read FEventoFiltroCallback write FEventoFiltroCallback;

Evento de Callback para Obter o Filtro para a pesquisa

Public property Filtro : string read ObterFiltroFiltro;

Determina um filtro a ser utilizado na consulta

Public property ObjetoMestre : TKernelPesquisa write DefinirObjetoMestre;

Objeto mestre a pesquisa

Public property EntidadePesquisa : TEntidade read objEntidadePesquisa;

Entidad de pesquisa

Public property SomenteLeitura : boolean read ObterSomenteLeitura write DefinirSomenteLeitura;

Define/Verifica se a pesquisa está somente definida como leitura

Autor

Criada

Data: 15 de outubro de 2005