Páginas filhas
  • LGX - LMENUBAR

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LMENUBAR
LGX - LMENUBAR
Componente visual para criação de menu para as aplicações. O menu é exibido sempre na parte superior da janela de aplicação e agrupa todas as funcionalidades da aplicação através de botões.


Hierarquia



Métodos GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente:


Expandir
titleGET CONFIRM_BUTTON_REFERENCE

Método GET: CONFIRM_BUTTON_REFERENCE

Referência do botão de confirmação.

Sintaxe



Bloco de código
_ADVPL_get_property(l_menubar_reference,"CONFIRM_BUTTON_REFERENCE") ==> Referência

Retorno



TipoDescrição
CHAR
  • Retorna a referência do botão (LMenuButton) do botão de confirmação.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_confirm_button_reference = _ADVPL_get_property(l_menubar_reference,"CONFIRM_BUTTON_REFERENCE")





Expandir
titleGET CONFIRM_BUTTON_REFERENCE

Método GET: CONFIRM_BUTTON_REFERENCE

Referência do botão de confirmação.

Sintaxe



Bloco de código
_ADVPL_get_property(l_menubar_reference,"CONFIRM_BUTTON_REFERENCE") ==> Referência

Retorno



TipoDescrição
CHAR
  • Retorna a referência do botão (LMenuButton) do botão de confirmação.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_confirm_button_reference = _ADVPL_get_property(l_menubar_reference,"CONFIRM_BUTTON_REFERENCE")



Expandir
titleGET CURRENT_OPERATION

Método GET: CURRENT_OPERATION

Operação corrente (em execução).

Sintaxe



Bloco de código
_ADVPL_get_property(l_menubar_reference,"CURRENT_OPERATION") ==> Operação

Retorno



TipoDescrição
CHAR

Nome da operação que está em execução.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_current_operation = _ADVPL_get_property(l_menu_bar_reference,"CURRENT_OPERATION")



Expandir
titleGET DO_CANCEL

Método GET: DO_CANCEL

Executa o cancelamento da operação em execução.

Sintaxe



Bloco de código
_ADVPL_get_property(l_menubar_reference,"DO_CANCEL") ==>  Cancelou com sucesso?

Retorno



TipoDescrição
BOOLEAN

Retorna se a operação pode ser cancelada, se não houve nenhum erro ao cancelar a operação em execução.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_do_cancel = _ADVPL_get_property(l_menubar_reference,"DO_CANCEL")



Expandir
titleGET DO_CONFIRM

Método GET: DO_CONFIRM

Executa a confirmação da operação em execução.

Sintaxe



Bloco de código
_ADVPL_get_property(l_menubar_reference,"DO_CONFIRM") ==> Confirmou com sucesso?

Retorno



TipoDescrição
BOOLEAN

Retorna se a operação pode ser confirmada, se não houve nenhum erro ao confirmar a operação em execução.


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
LET l_do_confirm = _ADVPL_get_property(l_menubar_reference,"DO_CONFIRM")




Métodos SET


utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Expandir
titleSET AFTER_EDIT_EVENT

Método SET: AFTER_EDIT_EVENT

Função executada após finalizar a edição da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"AFTER_EDIT_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?
FunçãoCHARFunção que será executada após finalizar a edição da coluna.Sim




Expandir
titleSET BEFORE_EDIT_EVENT

Método SET: BEFORE_EDIT_EVENT

Função executada antes de iniciar a edição da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"BEFORE_EDIT_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?
 Função CHARFunção a ser executada antes de iniciar a edição da coluna.Sim

(informação) Importante: esta função deverá retornar um identificador lógico que define se será permitida ou não a edição da coluna.




Expandir
titleSET BLANK

Método SET: BLANK

Define se a coluna, caso não for informado, fique com o valor em branco ao invés de nulo.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"BLANK",<  Permite valor em branco? >)

Parâmetros



NomeTipoDescriçãoObrigatório?
 Permite valor em branco?BOOLEANIdentificador lógico que define que, caso a coluna não seja informado, a coluna receberá o valor em branco ao invés de nulo.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"BLANK",TRUE)





Expandir
titleSET CLEAR_EDIT_PROPERTY

Método SET: CLEAR_EDIT_PROPERTY

Limpa todas as propriedades definidas para o componente de edição.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"CLEAR_EDIT_PROPERTY")

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"CLEAR_EDIT_PROPERTY")





Expandir
titleSET COLUMN_WIDTH

Método SET: COLUMN_WIDTH

Largura da coluna em pixels.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"COLUMN_WIDTH",< Largura >)

Parâmetros



NomeTipoDescriçãoObrigatório?
LarguraINTEGERLargura da coluna em pixels.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",50)





Expandir
titleSET EDIT_COMPONENT

Método SET: EDIT_COMPONENT

Componente freeform de edição da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"EDIT_COMPONENT",< Componente >)

Parâmetros



NomeTipoDescriçãoObrigatório?
ComponenteCHARComponente freeform que será utilizado para editar o valor da coluna.Sim

(informação) Se este método não for executado, não será possível efetuar a edição do componente.

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"EDIT_COMPONENT","LTEXTFIELD")





Expandir
titleSET PICTURE

Método SET: PICTURE

Propriedade do componente de edição.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"PICTURE",< Propriedade/Método >, < Valores>)

Parâmetros



NomeTipoDescriçãoObrigatório?
Propriedade/MétodoCHARNome da propriedade que será definida para o componente de edição.Sim
ValoresQUALQUERValores da propriedade que será definida para o componente de edição.Sim

(informação) As propriedades do componente de edição podem ser encontradas na documentação do componente freeform definida no método EDIT_COMPONENT.

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"EDIT_PROPERTY","PICTURE","@!")





Expandir
titleSET HEADER

Método SET: HEADER

Cabeçalho da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"HEADER",< Cabeçalho >)

Parâmetros



NomeTipoDescriçãoObrigatório?
CabeçalhoCHARTexto de cabeçalho da coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"HEADER","Component")





Expandir
titleSET HEADER_CLICK_EVENT

Método SET: HEADER_CLICK_EVENT 

Função executada ao clicar no cabeçalho da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"HEADER_CLICK_EVENT",< Função >)

Parâmetros



NomeTipoDescriçãoObrigatório?
FunçãoCHARFunção a ser executada ao clicar no cabeçalho da coluna.Sim




Expandir
titleSET IMAGE

Método SET: IMAGE

Define uma ou várias imagens a serem exibidas na coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"IMAGE",< Imagem >)

Parâmetros



NomeTipoDescriçãoObrigatório?
ImagemCHARNome da imagem ou um texto com as condições para que a imagem seja exibida na coluna.Sim

(informação) Para este método, pode-se informar o nome das imagens de duas formas:

  • Fixo: informa o nome de apenas uma imagem que será exibida para todas as linhas da coluna (apenas para colunas que não possuem valor);
    • Ex.: CHECKED
  • Variável:informa no formato de parâmetro, o valor e o nome da imagem que a coluna deverá exibir caso a mesma estiver com o valor definido;
    • Ex.: {'S','CHECKED'}{'N','UNCHECKED'}

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"IMAGE","{'S','CHECKED'}{'N','UNCHECKED'}")





Expandir
titleSET IMAGE_COLUMN

Método SET: IMAGE_COLUMN

Assume o valor da coluna como o nome da imagem a ser exibida.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"IMAGE_COLUMN",< Assume valor como nome da imagem? >)

Parâmetros



NomeTipoDescriçãoObrigatório?
Assume valor como nome da imagem?BOOLEANIndicador lógico que define se o valor da coluna será ou não considerado como o nome da imagem que deverá ser exibida.Sim

(informação) Este método é útil quando deseja-se exibir várias imagens na grade, diferente para cada linha, basta ativar este método e atribuir no valor da coluna o nome da imagem do RPO que deseja exibir.

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"IMAGE_COLUMN",TRUE)





Expandir
titleSET IMAGE_HEADER

Método SET: IMAGE_HEADER

Imagem de cabeçalho da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"IMAGE_HEADER",< Imagem >)

Parâmetros



NomeTipoDescriçãoObrigatório?
ImagemCHARNome da imagem no RPO que será utilizada no cabeçalho da coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"IMAGE_HEADER","CHECKED")





Expandir
titleSET NO_VARIABLE

Método SET: NO_VARIABLE

Assume que a coluna não possui variável, é apenas para exibição de imagem ou texto fixo, sem valor.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"NO_VARIABLE")

(informação) Este método é muito utilizado quando deseja-se que a coluna exiba uma imagem ou texto fixo, sem variável por linha. Quando este método está ligado, não é necessário incluir na variável ARRAY OF RECORD definida para a grade, um atributo para a coluna em questão.

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"NO_VARIABLE")





Expandir
titleSET ORDER

Método SET: ORDER

Habilita/desabilita a ordenação dos valores da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"ORDER",< Permite ordenar os valores da coluna? >)

Parâmetros



NomeTipoDescriçãoObrigatório?
Permite ordenar os valores da coluna?BOOLEANIndicador lógico que define se será ou não permitido a ordenação dos valores da coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"ORDER",TRUE)





Expandir
titleSET ORDER_BY_COLUMN

Método SET: ORDER_BY_COLUMN

Ordena os valores da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"ORDER_BY_COLUMN",< Ordenação >)

Parâmetros



NomeTipoDescriçãoObrigatório?
OrdenaçãoCHARTipo de ordenação que será realizada na coluna, sendo:


  • ASC: ordenação em forma crescente.
  • DESC ordenação de forma decrescente.
Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"ORDER_BY_COLUMN","ASC")





Expandir
titleSET TEXT

Método SET: TEXT

Define um ou vários textos a serem exibidos na coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"TEXT",< Texto >)

Parâmetros



NomeTipoDescriçãoObrigatório?
TextoCHARTexto fixo ou de condições para exibição do mesmo na coluna.Sim

(informação)  Para este método, pode-se informar o texto de duas formas:

  • Fixo: informa o texto que será exibido para todas as linhas da coluna (apenas para colunas que não possuem valor);
    • Ex.: Item
  • Variável: informa no formato de parâmetro, o valor e o texto que a coluna deverá exibir caso a mesma estiver com o valor definido;
    • Ex.: {'I','Item'}{'C','Componente'}

Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"TEXT","{'I','Item'}{'C','Componente'}")





Expandir
titleSET VALUE

Método SET: VALUE

Valor da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"VALUE",< Linha>, < Valor>)

Parâmetros



NomeTipoDescriçãoObrigatório?
LinhaINTEGERNúmero da linha da qual será atribuído o valor para a coluna.Sim
ValorQUALQUERValor a ser atribuído para a coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"VALUE",5,"50")





Expandir
titleSET VARIABLE

Método SET: VARIABLE

Variável (atributo) do ARRAY OF RECORD definido para a grade, que irá controlar o valor da coluna.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_table_reference >,"VARIABLE",<  Variável (nome da coluna)>)

Parâmetros



NomeTipoDescriçãoObrigatório?
 Variável (nome da coluna)CHARVariável (atributo) do ARRAY OF RECORD definido para a grade, que irá controlar o valor da coluna.Sim


Exemplo



Bloco de código
CALL _ADVPL_set_property(l_column_reference,"VARIABLE","cod_empresa")






Exemplo



Expandir
titleExemplo de utilização

(informação) Importante: Este componente só poderá ser criado tendo um componente LTableEx ou LBrowseEx como componente pai.

Bloco de código
languageruby
themeConfluence
linenumberstrue
 DEFINE ma_variable ARRAY[100] OF
                    RECORD
                        componente CHAR(50),
                        metodo     ARRAY[100] OF CHAR(50)
                    END
 RECORD
#--------------------#
 FUNCTION LBrowseEx()
#--------------------#
     DEFINE l_value            CHAR(50)
     DEFINE l_variable         CHAR(50)
     DEFINE l_row              SMALLINT
     DEFINE l_column           SMALLINT
     DEFINE l_table_width      SMALLINT
     DEFINE l_dialog_reference VARCHAR(10)
     DEFINE l_table_reference  VARCHAR(10)
     DEFINE l_column_reference VARCHAR(10)

     # Neste exemplo será construída uma grade onde o número de colunas
     # pode ser indefinido.
     LET l_table_width = 0
     INITIALIZE ma_variable TO NULL

     LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
     CALL _ADVPL_set_property(l_dialog_reference,"SIZE",650,250)
     CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Ex.: LBROWSEEX")

     LET l_table_reference = _ADVPL_create_component(NULL,"LBROWSEEX",l_dialog_reference)
     CALL _ADVPL_set_property(l_table_reference,"ENABLE",TRUE)
     CALL _ADVPL_set_property(l_table_reference,"EDITABLE",TRUE)
     CALL _ADVPL_set_property(l_table_reference,"ALIGN","CENTER")

     LET l_column_reference = _ADVPL_create_component(NULL,"LTABLECOLUMNEX",l_table_reference)
     CALL _ADVPL_set_property(l_column_reference,"ALIGN","LEFT")
     CALL _ADVPL_set_property(l_column_reference,"EDITABLE",FALSE)
     CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",100)
     CALL _ADVPL_set_property(l_column_reference,"HEADER","Componente")
     CALL _ADVPL_set_property(l_column_reference,"VARIABLE","componente")

     LET l_table_width = l_table_width + 100
     # Cria as linhas e colunas
     FOR l_row = 1 TO 10
         LET l_value = "componente ",l_row USING "<<&&&"
         LET ma_variable[l_row].componente = l_value
         FOR l_column = 1 TO 4
             LET l_value = "metodo ",l_row USING "<<&&&",":",l_column USING "<<&&&" 
            LET ma_variable[l_row].metodo[l_column] = l_value
             IF  l_row = 1 THEN
                 # Na varíavel, a primeira posição é o valor e a segunda é o
                 # cabeçalho.
                 LET l_value    = "Método ",l_column USING "<<&&&"
                 LET l_variable = "metodo[",l_column USING "<<<<<","]"
                 LET l_column_reference = _ADVPL_create_component(NULL,"LTABLECOLUMNEX",l_table_reference)
                 CALL _ADVPL_set_property(l_column_reference,"ALIGN","LEFT")
                 CALL _ADVPL_set_property(l_column_reference,"EDITABLE",TRUE)
                 CALL _ADVPL_set_property(l_column_reference,"COLUMN_WIDTH",50)
                 CALL _ADVPL_set_property(l_column_reference,"HEADER",l_value)
                 CALL _ADVPL_set_property(l_column_reference,"VARIABLE",l_variable)
                 CALL _ADVPL_set_property(l_column_reference,"EDIT_COMPONENT","LTEXTFIELD")
                 CALL _ADVPL_set_property(l_column_reference,"EDIT_PROPERTY","LENGTH",20)
                 CALL _ADVPL_set_property(l_column_reference,"EDIT_PROPERTY","PICTURE","@&")
                 # Efetua a soma das colunas somente na primeira linha.
                 LET l_table_width = l_table_width + 50
             END IF
         END FOR
     END FOR
     # Atualiza a grade com os tamanhos de colunas corretos, linhas e variável.
     CALL _ADVPL_set_property(l_table_reference,"SIZE",l_table_width,250)
     CALL _ADVPL_set_property(l_table_reference,"ADJUST_COLUMNS_WIDTH")
     CALL _ADVPL_set_property(l_table_reference,"SET_ROWS",ma_variable,(l_row - 1))
     CALL _ADVPL_set_property(l_table_reference,"REFRESH")
     CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)
     CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE) END FUNCTION


Visualização