Páginas filhas
  • LGX - LLAYOUTMANAGER

Versões comparadas

Chave

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

Pagetitle
LGX - LLAYOUTMANAGER
LGX - LLAYOUTMANAGER
Gerencia a distribuição dos componentes da tela, de forma alinha e organizada em colunas.

Gerencia a distribuição dos componentes da tela, de forma alinha e organizada em colunas.
Sua utilização dispensa a necessidade de definir o posicionamento absoluto dos componentes em tela, o ajuste é feito conforme o tamanho de seus componentes filhos.

A distribuição dos componentes visuais na tela é realizada através de linhas e colunas, definida no método COLUMNS_COUNT.
Se o leiaute foi definido com duas colunas, por exemplo, significa que em cada linha da tela poderá ter dois componentes, um ao lado do outro.

Nota

Uma vez definida a quantidade de colunas para o leiaute, não será mais possível alterá-la.


Sintaxe



Bloco de código
LET l_layout_reference = _ADVPL_create_component( NULL, "LLAYOUTMANGER", < cReference > )


Métodos SET



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


Expandir
titleGET ADD_EMPTY_COLUMN

Método SET: ADD_EMPTY_COLUMN

Adiciona uma coluna vazia no leiaute, pulando uma coluna na distribuição dos componentes.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"ADD_EMPTY_COLUMN", < nWidth > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
nWidth INTEGERLargura da coluna que será adicionadaNão

20

Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "ADD_EMPTY_COLUMN", 15)



Expandir
titleGET ADD_EMPTY_ROW

Método SET: ADD_EMPTY_ROW

Adiciona uma linha vazia no leiaute, pulando uma linha na distribuição dos componentes.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"ADD_EMPTY_ROW", < nHeight > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
nHeight INTEGERAltura da linha que será adicionadaNão

20


Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "ADD_EMPTY_ROW", 10)



Expandir
titleGET APPLY_LAYOUT

Método SET: APPLY_LAYOUT

Aplica o leiaute, redimensionando e posicionando os componentes em tela.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"APPLY_LAYOUT", < nRecursive > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
nRecursive INTEGERIndicador que define se a aplicação do leiaute ser recursiva, sendo:
TRUE: a aplicação será recursiva, atualizando inclusive os leiautes criados anteriormente na janela
FALSE: a aplicação não será recursiva, atualizando apenas o leiaute atual
Não

FALSE


Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "APPLY_LAYOUT", TRUE)



Expandir
titleGET MARGIN

Método SET: MARGIN

Define uma margem entre o componente pai e os componentes do leiaute.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"MARGIN", < nMargin > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
nMargin INTEGERIndicador que define uma margem entre o componente pai e os componente do leiaute, sendo:
TRUE: será criada a margem entre o componente pai e os componentes do leiaute
FALSE: não será criada a margem entre o componente pai e os componentes do leiaute
Sim



Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MARGIN", TRUE)



Expandir
titleGET COLUMNS_COUNT

Método SET: COLUMNS_COUNT

Define a quantidade de colunas para cada linha do leiaute, esta quantidade define quantos componentes serão posicionados em uma mesma linha.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"COLUMNS_COUNT", < nColumns > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
nColumns INTEGERQuantidade de colunas colunas do leiauteSim



Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "COLUMNS_COUNT", 2)



Expandir
titleGET CELL_SPACE

Método SET: CELL_SPACE

Define uma margem entre as colunas do leiaute.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"CELL_SPACE", < nListDir > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
nListDir INTEGERIndicador que define uma margem entre as colunas do leiaute, sendo:
TRUE: será criada a margem entre as colunas do leiaute
FALSE: não será criada a margem entre as colunas do leiaute 
Sim


Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "CELL_SPACE", < nMargin >TRUE )



Expandir
titleGET ROW_SPACE

Método SET:

FTP 

ROW_SPACE

Define uma margem entre as linhas do leiaute.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LISTROW_SPACE", < nListDirnMargin > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
cDirnMargin CHARDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim

Observações

INTEGERIndicador que define uma margem entre as linhas do leiaute, sendo:
TRUE: será criada a margem entre as linhas do leiaute
FALSE: não será criada a margem entre as linhas do leiaute 
Sim



Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
Expandir
titleGET

Método SET: FTP 

Sintaxe

code
CALL _ADVPL_set_property( < cReference >, "FTP_LOAD_FILE_LISTROW_SPACE", < nListDirTRUE > )
Parâmetros



Observações

Exemplo

Expandir
NomeTipoDescriçãoObrigatório?Padrão
cDirCHARDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim
titleGET MAX_SIZE

Método SET: MAX_SIZE

Define o tamanho máximo para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
Expandir
titleGET
Método SET: FTP 

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LISTMAX_SIZE",  < nListDirnWidth >, < nHeight > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
cDirnWidth CHARDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim
Observações
INTEGERLargura máxima para redimensionamento do componente paiSim


nHeight INTEGERAltura máxima para redimensionamento do componente paiSim


Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAX_SIZE", 30, 20)



Expandir
titleGET GET MAX_WIDTH

Método SET: MAX_WIDTH

Define a largura máxima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Método SET: FTP 

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LISTMAX_WIDTH", < nListDirnWidth > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
cDirnWidth CHARDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim
Observações
INTEGERLargura máxima para redimensionamento do componente paiSim


Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAX_WIDTH", 20 )



Expandir
titleGET GET MAX_HEIGHT

Método SET: MAX_HEIGHT

Define a altura máxima para redimensionamento do componente pai.
Durante o redimensionamento e reposicionamento dos componentes na tela, o leiaute irá  considerar o tamanho definido neste método.

Método SET: FTP 

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LISTMAX_HEIGHT", < nListDirnHeight > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
cDirnHeight CHARDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim
Observações
INTEGERAltura máxima para redimensionamento do componente paiSim


Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "MAX_HEIGHT", 27)



Expandir
titleGET EXPANSIBLE

Método SET

: FTP 

: EXPANSIBLE

Indica se o próximo componente a ser adicionado no leiaute será expansível, redimensionando-o conforme o tamanho da tela.

Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LISTEXPANSIBLE", < nListDirnExpansible > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
cDirnExpansible CHARINTEGERIndicador que define se o próximo componente como expansível, sendo:
TRUE: o próximo componente que será criado no leiaute será expansível
FALSE: o próximo componente que será criado no leiaute não será expansível
Diretório do servidor FTP do qual deseja-se carregar a lista de arquivos.
Sim


Observações


Para correto funcionamento, o componente adicionado após a execução deste método deve ter alinhamento centralizado.

Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue
CALL _ADVPL_set_property( < cReference >, "EXPANSIBLE", TRUE)



Expandir
titleGET

Método SET: FTP 


Sintaxe




Bloco de código
CALL _ADVPL_set_property(< cReference >,"FTP_LOAD_FILE_LIST", < nListDir > )

Parâmetros




NomeTipoDescriçãoObrigatório?Padrão
cDirCHARINTEGERDiretório do servidor FTP do qual deseja-se carregar a lista de arquivos.Sim


Observações



Exemplo




Bloco de código
languageruby
themeConfluence
titleExemplo
linenumberstrue




Exemplo


Expandir
titleExemplo de aplicação
Bloco de código
languageruby
themeConfluence
titleExemplo LQUERY
linenumberstrue
#--------------------# 
 FUNCTION TesteLFTP()
#--------------------#     
   DEFINE l_ind           SMALLINT,            
          l_count         SMALLINT,            
          l_status        SMALLINT     
   DEFINE l_file_name     CHAR(050)     
   DEFINE l_ftp_reference VARCHAR(10)     
   
   # Cria o componente para conexão FTP.     
   LET l_ftp_reference = _ADVPL_create_component(NULL,"LFTP")   
   
   # Conecta o componente ao servidor FTP.     
   LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_CONNECT","est1",21,"lg991933","********")     
   
   IF  NOT l_status THEN         
       CALL log0030_mensagem("Não foi possível conectar-se ao servidor FTP.","excl")         
       RETURN     
   END IF     
   
   # Carrega a lista dos arquivos de um diretório FTP.     
   CALL _ADVPL_set_property(l_ftp_reference,"FTP_LOAD_FILE_LIST","/home/lg991933/","*.*",TRUE)
   
   # Recupera a quantidade de arquivos encontrados no diretório.     
   LET l_count = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_COUNT")     
   
   IF  l_count = 0 THEN         
       CALL log0030_mensagem("Nenhum arquivo encontrado no diretório '/home/lg991933/' do servidor FTP.","excl")         
       RETURN     
   END IF     
   
   FOR l_ind = 1 TO l_count         
       # Exibe no console todos os arquivos encontrados no diretório.         
       LET l_file_name = _ADVPL_get_property(l_ftp_reference,"FTP_GET_FILE_LIST_INDEX",l_ind)         
       CALL conout(l_file_name CLIPPED)     
   END FOR     
   
   # Efetua o upload de um arquivo da máquina local para o servidor FTP.     
   LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_UPLOAD_FILE","C:\\ftp\\ftp_upload.txt","\\home\\lg991933\\")          
   
   # Efetua o download de um arquivo do servidor FTP para a maquina local.     
   LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_DOWNLOAD_FILE","\\home\\lg991933\\ftp_download.txt","C:\\ftp\\")
   
   # Renomeia um arquivo do servidor FTP.     
   LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_RENAME_FILE","\\home\\lg991933\\ftp_download.txt","teste.txt")          
   
   # Exclui um arquivo do servidor FTP.     
   LET l_status = _ADVPL_get_property(l_ftp_reference,"FTP_REMOVE_FILE","\\home\\lg991933\\teste.txt")     
   
   # Disconecta do servidor FTP.     
   CALL _ADVPL_set_property(l_ftp_reference,"FTP_DISCONNECT") 
 END FUNCTION