Classe TUiDmxScroller_Buttons

Unit

Declaração

type TUiDmxScroller_Buttons = class(TUiMethods)

Descrição

A classe TUiDmxScroller_Buttons tem como objetivo registrar os dados necessários para criar os botões de navegação e edição de uma tabela quando TDataSource for <> nil.

Hierarquia

Visão Geral

Campos

Public UiDmxScroller: TUiDmxScroller;
Public Var OkCmmNewRecord: boolean;
Public Var OkCmmDbLocaliza: boolean;
Public Var OkCmmZeroizeRecord: boolean;
Public nested const Max_List_Buttons = sizeof(Longint)*8;
Public Commands_Buttons: Array[0..Max_List_Buttons] of TRCommand;

Métodos

Public constructor Create(aOwner:TComponent); Override;
Public Function Set_Commands_Buttons_Mb(Const aMb_Bits:Longint):Longint;
Public Procedure Create_RCommand(Const aStrCommand:tString; Const aName,aParam :AnsiString; Const aKeyCode:Word; Const aAHelpCtx:Word; Const aFlag : Byte; Const aMb_Bits : Longint; Const aFlags_Buttons : Byte; var RCommand_Temp : TRCommand );
Protected Function Create_RCommands_Buttons(aCmNovoStr:AnsiString;aCmAlteracaoStr:AnsiString;aCmExclusaoStr:AnsiString;ACmLocalizaStr:AnsiString):Word; overload; Virtual;
Protected function Add_RCommands_Buttons(aStrCommand: tString; aName: AnsiString; aParam: tString; aKeyCode: Word; aAHelpCtx: Word; aState: Byte; aFlags_Buttons: Byte): Longint;
Protected Function Length_Button_Name_Actives:Smallint;
Public Function Get_Commands_Mb_i(Const aMb_Bits:Longint):Longint;
Public Function Get_Commands_Mb_StrCommand(Const aMb_Bits:Longint):AnsiString;

Propriedades

Public property Commands_Buttons_High : Byte Read _Commands_Buttons_High;
Public property Commands_Buttons_Mb : Longint read _Commands_Buttons_Mb;

Descrição

Campos

Public UiDmxScroller: TUiDmxScroller;

O atributo UiDmxScroller deve ser passado em constructor create

Public Var OkCmmNewRecord: boolean;

O atributo OkCmmNewRecord indica se o registro pode ser incluído ou não, ou seja: é o estado inicial da ação incluir informada pelo usuário.

  • NOTA

    • True : O registro pode ser incluído. Obs: DataSet.Append pode ser executado.

    • False: O registro não pode ser incluído. Obs: DataSet.Append não pode ser executado.

    • Esse atributo é usado nos seguintes métodos:

      • Create_RCommands_Edit

      • No método DoOnNewRecord

      • Action Novo

  • EXEMPLO

    // Tirado do código: Function TRecord.Create_RCommands_Edit
    
    OkCmmNewRecord := Application.FileOptions_CommandEnabled(Module,aCmNovo);
    if aCmNovo<=255 then
      if OkCmmNewRecord
      then Application.EnableCommands([aCmNovo])
      Else Application.DisableCommands([aCmNovo]);

Public Var OkCmmDbLocaliza: boolean;

O atributo OkCmmDbLocaliza indica se o registro pode ser localizado ou não, ou seja: é o estado inicial da ação pesquisar informada pelo usuário.

  • NOTA

    • True : O registro pode ser pesquisado. DataSet.Locate pode ser executado.

    • False: O registro não pode ser pesquisado. DataSet.Locate não pode ser executado.

    • Esse atributo é usado nos seguintes métodos:

      • Create_RCommands_Edit

      • No método DoOnNewRecord

      • Action Pesquisa

  • EXEMPLO

    // Tirado do código: Function TRecord.Create_RCommands_Edit
    
    if OkCmmNewRecord or OkCmmEvaluateRecord or OkCmmZeroizeRecord
    then begin
           self.OkCmmDbLocaliza := true;
           self.Locked := false;
         end
    else begin
            self.OkCmmDbLocaliza := Application.FileOptions_CommandEnabled(Module,ACmLocaliza);
            self.Locked := True;
          end;

Public Var OkCmmZeroizeRecord: boolean;

O atributo OkCmmZeroizeRecord indica se o registro pode ser excluído ou não, ou seja: é o estado inicial da ação excluir informada pelo usuário.

  • NOTA

    • True : O registro pode ser deletado.

    • False: O registro não pode ser deletado.

    • Esse atributo é usado nos seguintes métodos:

      • Create_RCommands_Edit

      • Nos métodos DeleteRec

      • Action Delete

  • EXEMPLO

    // Tirado do código: Function TRecord.Create_RCommands_Edit
    
    OkCmmZeroizeRecord  := Application.FileOptions_CommandEnabled(Module,ACmExclusao);
    if ACmExclusao<=255 then
      if OkCmmZeroizeRecord
      then Application.EnableCommands([ACmExclusao])
      Else Application.DisableCommands([ACmExclusao]);

Public nested const Max_List_Buttons = sizeof(Longint)*8;

A constante Max_List_Buttons contém o número máximo de comandos da matriz Commands_Buttons

Public Commands_Buttons: Array[0..Max_List_Buttons] of TRCommand;

O atributo Commands_Buttons contém os dados necessários para criar os botões de ações da classe de acesso a arquivos.

  • EXEMPLO DE USO DESTA MATRIZ

    Commands_Buttons[1] := Create_RCommand(CmOk,'Ok'  ,'',KbEnter,AHelpCtx,Flag)ˆ;
    Commands_Buttons[2] := Create_RCommand(CmOk,'Next','',Kbno   ,AHelpCtx,Flag)^;

Métodos

Public constructor Create(aOwner:TComponent); Override;

O construtor Create é usado para iniciar o atributo _UiDmxScroller com o cast (aOwner as TUiDmxScroller)

Public Function Set_Commands_Buttons_Mb(Const aMb_Bits:Longint):Longint;

O Método Set_Commands_Buttons_Mb seta _Commands_Buttons_Mb e retorna o mapa de bits Commands_Buttons_Mb anterior.

EXEMPLO DE USO


//*** Seta as propriedades do fornecedor ***
With ArqFornecedor do
Begin
  Alias := sgc('Parâmetros para pesquisa de duplicatas');
  SetExpandable(False); //Não permite Inclusões
  SetLocked(False); //false = Não travado porque a janela filha pode ser alterada e expandida
  SetOkWriteRec(False);  //Desabilita a alteração.
  Set_Commands_Buttons_Mb(Mb_Cm_Bof_Prev_Next_Eof);
end;

Public Procedure Create_RCommand(Const aStrCommand:tString; Const aName,aParam :AnsiString; Const aKeyCode:Word; Const aAHelpCtx:Word; Const aFlag : Byte; Const aMb_Bits : Longint; Const aFlags_Buttons : Byte; var RCommand_Temp : TRCommand );

O método Create_RCommand é usado para iniciar os elementos da matriz Commands_Buttons

  • EXEMPLO E USO

    
    Function Create_RCommands_Buttons(Var aCommands : Array of TRCommand):SmallWord;
    Begin
      If High(aCommands) < 2
      Then Raise TException.Create(self,'Create_RCommands_Buttons()',ParametroInvalido);
    
      Create_RCommand('CmGoBof'  ,CmGoBof   ,'&Inicio'   ,'',kbNoKey,0,0,Mb_Cm_Bof   ,bfNormal ,aCommands[1]);
      Create_RCommand('CmPrevRecord',CmPrevRecord ,'&Anterior' ,'',kbNoKey,0,0,Mb_Cm_Prev  ,bfNormal ,aCommands[2]);
    
    end;

Protected Function Create_RCommands_Buttons(aCmNovoStr:AnsiString;aCmAlteracaoStr:AnsiString;aCmExclusaoStr:AnsiString;ACmLocalizaStr:AnsiString):Word; overload; Virtual;

O método Create_RCommands_Buttons retorna em aCommands a matriz aberta de TRCommand e em result retorna o número de elementos adicionados em aCommands.

  • EXEMPLO E USO

    
     Var
       Commands_Buttons_High : Byte; //Numero de comandos de Commands
       Commands_Buttons      : Array[0..Max_List_Buttons] of TRCommand;
    Begin
      Commands_Buttons_High := Create_RCommands_Buttons(Commands_Buttons);
    end;

Protected function Add_RCommands_Buttons(aStrCommand: tString; aName: AnsiString; aParam: tString; aKeyCode: Word; aAHelpCtx: Word; aState: Byte; aFlags_Buttons: Byte): Longint;

O método Add_RCommands_Buttons adiciona um botão na posição Commands_Buttons[Commands_Buttons_High+1].

Protected Function Length_Button_Name_Actives:Smallint;

O método Length_Button_Name_Actives retorna a soma do número de caracteres do campo TRCommand.name dos botões ativos

Public Function Get_Commands_Mb_i(Const aMb_Bits:Longint):Longint;

O método Get_Commands_Mb_i retorna a posição na matriz Commands_Buttons do mapa de bit passado por aMb_Bits.

  • Nota

    • A posição deve ser a mesma do Mapa: _Commands_Buttons_Mb

Public Function Get_Commands_Mb_StrCommand(Const aMb_Bits:Longint):AnsiString;

Retorna o nome do comando passado per aMb_Bits.

Propriedades

Public property Commands_Buttons_High : Byte Read _Commands_Buttons_High;

A propriedade Commands_Buttons_High contém o número de linhas inicializadas da matriz Commands_Buttons, ou seja: é igual o número de linhas criadas em: Create_RCommands_Buttons.

Public property Commands_Buttons_Mb : Longint read _Commands_Buttons_Mb;

O atributo Commands_Buttons_Mb contém o mapa de bits dos botões que serão criados no formulário.

  • NOTA

    • O mapa de bits é do tipo longint (4 bytes) por isso pode conter no máximo (4x8=32) botões.


Gerado por PasDoc 0.16.0.