Páginas filhas
  • LGX - LWEBDIALOG

Versões comparadas

Chave

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

Pagetitle
LGX - LWEBDIALOG
LGX - LWEBDIALOG
Componente do tipo janela de diálogo não modal (não permite que outras janelas sejam controladas enquanto uma estiver ativa), permitindo movimentação dentro da área de trabalho do usuário e executando em modo maximizado ou normal.


Nota
iconfalse

(aviso) Válido apenas a partir do build HARPIA. Para build 32 bits, usando smartclient Lobo Guará, algumas propriedades podem não estar disponíveis. (aviso)

Componente disponível a partir do pacote LOGIX 12.1.2503 ou Framework Fix 12.1.2411.FIX01. 


Hierarquia




Sintaxe


Bloco de código
LET m_dialogwebdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG")


Métodos SET


Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Expandir
titleSET SIZEINIT_URL

Método SET:

SIZE

INIT_URL

Iniciar a exibição e permitir navegação de uma página WEB para o endereço URL informadoTamanho (largura e altura) em pixels do componente.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_dialogwebdialog_reference >,"SIZEINIT_URL",< Largura >, < Altural_url_address >)

Parâmetros



 ldialogAltura em pixels do componente
NomeTipoDescriçãoObrigatório?
l_webdialog_reference CHARReferência do componente.Sim
Largura 
INTEGER
Largura em pixels do componente.Sim
l_url_address
CHAR
Endereço WEB a ser apresentado para navegaçãoAlturaINTEGER.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
     CALL _ADVPL_set_property(l_dialogwebdialog_reference,"SIZE",640,480INIT_URL","https://www.totvs.com")




Expandir
titleSET TITLEINIT_APP

Método SET:

TITLE

 INIT_APP

Iniciar a execução de uma aplicação desenvolvida com padrões Web Logix utilizando interface com componentes PO-UI.

Para correto funcionamento da aplicação, utilizando este componente e propriedade, o código do programa principal que aciona a tela com interface WEB em PO-UI é desenvolvida utilizando um fonte 4GL, que precisa ser desenvolvido com uma determinada estrutura padrão que é apresentada num código de exemplo abaixoTítulo do componente.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_dialogwebdialog_reference >,"TITLEINIT_APP",< l_appweb_titlelogix >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_dialogwebdialog_referenceCHARReferência do componente.Sim
l_appweb_titlelogix
CHAR
Título que será definido para a janelaNome da fonte 4gl que possui a função principal que aciona a aplicação WEB Logix.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
###---------------------------------------------------------------------------------------------------------------------------------###
### A aplicação WEB LOGIX sempre deverá ter uma função onde o prefixo é _getRelativePath() para determinar o caminho relativo da 
### pasta onde está localizada a pasta de mesmo nome da aplicação que conterá os artefatos para execução da tela WEB.
### Exemplo:
###       Aplicação: exemploweb
###       Fonte 4GL: exemploweb.4gl
###       Funções desenvolvidas neste código fonte 4GL:
###           - Function exemploweb()
###           - Function exemploweb_getRelativePath()
###---------------------------------------------------------------------------------------------------------------------------------###
DATABASE logix

DEFINE m_container_reference        VARCHAR(10)
DEFINE m_webdialog_reference        VARCHAR(10)

#------------------------------------------------------------------#
 FUNCTION exemploweb()
#------------------------------------------------------------------#
    RETURN exemploweb_runInContainer(NULL)
 END FUNCTION

#------------------------------------------------------------------#
 FUNCTION exemploweb_runInContainer(l_container_refer)
#------------------------------------------------------------------#
#OBJETIVO: função para acionamento de programa a partir de uma tela COCKPIT,
#          onde deverá passar a referencia do painel lateral do cockpit, onde
#          o formulário deverá ser renderizado, como parâmetro.
    DEFINE l_container_refer  VARCHAR(10)

    INITIALIZE m_webdialog_reference TO NULL

    IF LOG_initApp("PADRAO") = 0 THEN
        IF m_container_reference <> " " THEN
            LET m_container_reference = _ADVPL_create_component(NULL,"LSCROLLPANEL",m_container_reference)
            CALL _ADVPL_set_property(lm_dialogcontainer_reference,"ALIGN","TITLE","Teste de Título")CENTER")
        END IF
        LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG",m_container_reference)

        ### Neste caso imaginemos que no meu appserver está configurado assim:
        ### ROOTPATH: c:\totvs\logix
        ### Ambiente web:
        ### -------------------------------------------------
        ### [<HOST_OR_IP>:<HTTP_OR_HTTPS_PORT>/apps]
        ### ENVIRONMENT=<Environment_name>
		### RESPONSEJOB=JOBWEB
		### DEFAULTPAGE=index.html
		### PATH=c:\totvs\logix\web\apps
		### SOURCEPATH=c:\totvs\logix\web\apps
		### CACHE-CONTROL=no-store
		### PRAGMA=no-cache
        ### 
        ### a aplicação exemploweb terá seus artefatos web armazenados na pasta c:\totvs\logix\web\apps\exemplos\exemploweb\
        ### Onde a pasta "/exemplos/" é a pasta relativa localizada a partir da pasta principal indicada para o ambiente web no appserver.
        ### e a pasta "exemploweb" é a pasta com o nome da aplicação que armazena todos artefatos web para execução da tela.
        CALL _ADVPL_set_property(m_webdialog_reference,"INIT_APP","exemploweb")
    END IF
 END FUNCTION

#------------------------------------------------------------------#
FUNCTION exemploweb_getRelativePath()
#------------------------------------------------------------------#
   ### Retorna o caminho do PATH relativo a pasta raiz configurada a partir da pasta indicada como ROOTPATH no Appserver 
   ### onde ficam armazenados os artefatos desta aplicação WEB (imagens, html, json, artefatos angular, etc).
   RETURN "/exemplos/"
END FUNCTION




Expandir
titleSET MAXIMIZED

Método SET: MAXIMIZED

Define se a janela abrirá maximizada.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_dialog_reference >,"MAXIMIZED",< situação >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_dialog_reference CHARReferência do componente.Sim
alinhamento
BOOLEAN
Indicador que define se a janela abrirá maximizada.Sim

Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)  




Expandir
titleSET ENABLE_ESC_CLOSE

Método SET: ENABLE_ESC_CLOSE

Define se habilita o encerramento da janela com a tecla ESC.

Sintaxe



Bloco de código
_ADVPL_set_property(< l_dialog_reference >,"ENABLE_ESC_CLOSE",< situação >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_dialog_reference CHARReferência do componente.Sim
situação
BOOLEAN
Indicador que define se a janela poderá ser encerrada com a tecla ESC.Sim


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_dialog_reference,"ENABLE_ESC_CLOSE",FALSE)    




Expandir
titleExemplo completo

Exemplo




Bloco de código
linenumberstrue
#------------------------------------------------------------------------------#
FUNCTION LDIALOG_test()
#------------------------------------------------------------------------------#
    DEFINE l_dialog_reference VARCHAR(10)

    LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
    CALL _ADVPL_set_property(l_dialog_reference,"SIZE",640,480)
    CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Exemplo de componente LDIALOG")
    CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)
    CALL _ADVPL_set_property(l_dialog_reference,"ENABLE_ESC_CLOSE",FALSE)
    
    CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE)
END FUNCTION

Visualização