- Criado por Usuário desconhecido (rubens.santos), última alteração por Ieda Ferreira Alves Flock em 16 fev, 2023
Componente disponível a partir da versão 12.1.16 do Logix.
Métodos GET
Métodos acessíveis utilizando a função _ADVPL_get_property,
que permite recuperar e manipular os valores do componente:
Método GET: WIZARD_CONTAINER_REFERENCE
Retorna a referência do componente onde devem ser criadas as as etapas do Wizard.
Sintaxe
_ADVPL_get_property(< l_reference >,"WIZARD_CONTAINER_REFERENCE") => CHAR
Retorno
Tipo | Descrição |
---|---|
CHAR | Referência do componente FREEFORM onde devem ser criadas as etapas do Wizard. |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_getWIZARDCONTAINERREFERENCE() #------------------------------------------------------------------------------# DEFINE l_wiz_container VARCHAR(10) DEFINE l_pnl_reference VARCHAR(10) # Recupera a referência do painél onde será criado o painél da etapa atual. LET l_wiz_container = _ADVPL_get_property(m_wiz_reference,"WIZARD_CONTAINER_REFERENCE") LET l_pnl_reference = _ADVPL_create_component(NULL,"LPANEL",l_wiz_container) CALL _ADVPL_set_property(l_pnl_reference,"ALIGN","CENTER") RETURN l_pnl_reference END FUNCTION
Métodos SET
Métodos acessíveis utilizando a função _ADVPL_set_property
que permite alterar e manipular os valores do componente.
Método SET: TITLE
Define o título do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"TITLE", < l_title >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_title | CHAR | Título do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setTITLE() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"TITLE","Wizard de Configuração Logix") END FUNCTION
Método SET: MAXIMIZED
Maximiza a janela do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"MAXIMIZED", < l_maximized >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_maximized | SMALLINT | Verdadeiro para maximizar a janela do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setMAXIMIZED() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"MAXIMIZED",TRUE) END FUNCTION
Método SET: CANCEL_EVENT
Define um evento de cancelamento do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"CANCEL_EVENT", < l_event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_event | CHAR | Função 4GL disparada ao tentar cancelar o Wizard. * | Sim |
* A função de cancelamento do Wizard dever retornar TRUE
ou FALSE
, ao retornar FALSE
o cancelamento será interrompido.
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setCANCELEVENT() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"CANCEL_EVENT","LWIZARD_cancel") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_cancel() #------------------------------------------------------------------------------# RETURN LOG_question("Confirma o cancelamento do Wizard?") END FUNCTION
Método SET: ADD_ACTION
Adiciona uma nova ação no botão "Outras ações" do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ADD_ACTION", < l_title >, < l_event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_title | CHAR | Título da ação. | Sim | |
l_event | CHAR | Função 4GL disparada ao selecionar a ação. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setADDACTION() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ADD_ACTION","Ação 1","LWIZARD_action1") CALL _ADVPL_set_property(m_wiz_reference,"ADD_ACTION","Ação 2","LWIZARD_action2") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_action1() #------------------------------------------------------------------------------# CALL log0030_processa_mensagem("Clicou na ação 1","exclamation",0) END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_action2() #------------------------------------------------------------------------------# CALL log0030_processa_mensagem("Clicou na ação 2","exclamation",0) END FUNCTION
Método SET: ADD_STEP
Adiciona uma nova etapa no Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ADD_STEP", < l_code >, < l_title >, [ l_desc ], < l_function >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_code | CHAR | Código identificador da etapa. | Sim | |
l_title | CHAR | Título da etapa. | Sim | |
l_desc | CHAR | Breve descrição do objetivo da etapa. | Não | |
l_function | CHAR | Função de criação da etapa. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setADDSTEP() #------------------------------------------------------------------------------# # Etapa de boas vindas. CALL _ADVPL_set_property(m_wiz_reference,"ADD_STEP","WELCOME","Bem vindo!","Wizard de configuração Logix.","LWIZARD_stepWelcome") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepWelcome() #------------------------------------------------------------------------------# DEFINE l_wiz_container VARCHAR(10) DEFINE l_pnl_reference VARCHAR(10) DEFINE l_ltm_reference VARCHAR(10) DEFINE l_lbl_reference VARCHAR(10) DEFINE l_cmp_reference VARCHAR(10) # Recupera a referência do painél onde será criado o painél da etapa atual. LET l_wiz_container = _ADVPL_get_property(m_wiz_reference,"WIZARD_CONTAINER_REFERENCE") LET l_pnl_reference = _ADVPL_create_component(NULL,"LPANEL",l_wiz_container) CALL _ADVPL_set_property(l_pnl_reference,"ALIGN","CENTER") LET l_ltm_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_pnl_reference) CALL _ADVPL_set_property(l_ltm_reference,"MARGIN",TRUE) CALL _ADVPL_set_property(l_ltm_reference,"COLUMNS_COUNT",1) LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","Leia atentamente os termos de uso abaixo:") # Indica que o próximo componente será expansível. CALL _ADVPL_set_property(l_ltm_reference,"EXPANSIBLE",TRUE) LET l_cmp_reference = _ADVPL_create_component(NULL,"LTEXTAREA",l_ltm_reference) CALL _ADVPL_set_property(l_cmp_reference,"ALIGN","CENTER") CALL _ADVPL_set_property(l_cmp_reference,"ENABLE",TRUE) CALL _ADVPL_set_property(l_cmp_reference,"EDITABLE",FALSE) CALL _ADVPL_set_property(l_cmp_reference,"VARIABLE",mr_wizard,"terms") LET l_cmp_reference = _ADVPL_create_component(NULL,"LCHECKBOX",l_ltm_reference) CALL _ADVPL_set_property(l_cmp_reference,"TEXT","Eu li e concordo com os termos de uso") CALL _ADVPL_set_property(l_cmp_reference,"VALUE_CHECKED","S") CALL _ADVPL_set_property(l_cmp_reference,"VALUE_NCHECKED","N") CALL _ADVPL_set_property(l_cmp_reference,"ENABLE",TRUE) CALL _ADVPL_set_property(l_cmp_reference,"VARIABLE",mr_wizard,"agree") # Aplica o leiaute. CALL _ADVPL_set_property(l_ltm_reference,"APPLY_LAYOUT") RETURN l_pnl_reference END FUNCTION
Observações
- A função de criação da etapa deverá sempre criar um componente
LPANEL
de alinhamentoCENTER
para agrupar todos os componentes visuais desta etapa e, ao final da criação dos componentes visuais, a referência do componente agrupador deverá ser retornada.
Método SET: STEP_EVENT
Define um evento para uma determinada etapa do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"STEP_EVENT", < l_step >, < l_event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_step | CHAR | Código da etapa. | Sim | |
l_event | CHAR | Função 4GL disparada na execução da etapa. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setSTEPEVENT() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"STEP_EVENT","WELCOME","LWIZARD_stepWelcomeEvent") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepWelcomeEvent() #------------------------------------------------------------------------------# IF mr_wizard.terms IS NULL THEN LET mr_wizard.terms = "Lorem ipsum dolor sit amet, id odio suscipit mel. ", "Alii nominati cu eos, dolor congue postulant sed in. ", "Qui primis voluptaria in. Option timeam conceptam et mea. ", "Sit cu quas facilis, partem cotidieque nam ut, te sea commune antiopam.\n\n", "Minim veritus an eos, vim ad viris persius consulatu. ", "Vis eruditi concludaturque ex, fuisset mentitum expetenda eum in. ", "Pro quas ridens no, ea iudico veritus consetetur usu, dicit suscipit elaboraret at per. ", "Per ad rebum appellantur, pro ne graeco consequuntur, cu vim viris persequeris eloquentiam.\n\n", "Quis audire aliquam ad nam, virtute dolorum pri in, liber tempor sea ne. ", "Sit ei saepe petentium, et pro tempor reprimique mediocritatem, eirmod nostrud scriptorem vix id. ", "Ex nec lorem fugit, sea et integre platonem, ei sit putant utamur. ", "Duo prompta feugait menandri eu, ex nonumy ignota usu, et cum mazim affert utinam." END IF IF mr_wizard.agree IS NULL THEN LET mr_wizard.agree = "N" END IF END FUNCTION
Método SET: STEP_VALID
Define um evento de validação para uma determinada etapa do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"STEP_VALID", < l_step >, < l_event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_step | CHAR | Código da etapa. | Sim | |
l_event | CHAR | Função 4GL disparada ao tentar avançar a etapa. * | Sim |
* A função de validação deve retornar TRUE
ou FALSE
, ao retornar FALSE
não será possível avançar para a próxima etapa.
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setSTEPVALID() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"STEP_VALID","WELCOME","LWIZARD_stepWelcomeValid") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepWelcomeValid() #------------------------------------------------------------------------------# IF mr_wizard.agree = "N" THEN CALL log0030_processa_mensagem("Para continuar é preciso que você leia e aceite os termos de uso.","exclamation",0) RETURN FALSE END IF RETURN TRUE END FUNCTION
Método SET: STEP_BACK
Define um evento de retrocesso para uma determinada etapa do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"STEP_BACK", < l_step >, < l_event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_step | CHAR | Código da etapa. | Sim | |
l_event | CHAR | Função 4GL disparada ao tentar retroceder a etapa. * | Sim |
* A função de retrocesso deve retornar o código da etapa para o qual o Wizard será retornado, caso NULO irá retroceder para a etapa anterior.
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setSTEPBACK() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"STEP_BACK","FINISH","LWIZARD_stepFinishBack") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepFinishBack() #------------------------------------------------------------------------------# RETURN "WELCOME" END FUNCTION
Método SET: STEP_NEXT
Define um evento de avanço para uma determinada etapa do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"STEP_NEXT", < l_step >, < l_event >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_step | CHAR | Código da etapa. | Sim | |
l_event | CHAR | Função 4GL disparada ao tentar avançar a etapa. * | Sim |
* A função de avanço deve retornar o código da etapa para o qual o Wizard será avançado, caso NULO irá avançar para a etapa posterior.
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setSTEPNEXT() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"STEP_BACK","SELECT","LWIZARD_stepSelectNext") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepSelectNext() #------------------------------------------------------------------------------# RETURN mr_wizard.steps END FUNCTION
Método SET: ACTIVATE
Ativa a visualização do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ACTIVATE", < l_activate >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_activate | SMALLINT | Verdadeiro para ativar a visualização do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setACTIVATE() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ACTIVATE",TRUE) END FUNCTION
Método SET: SHOW_STEP
Força a visualização de uma determinada etapa do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"SHOW_STEP", < l_step >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_step | CHAR | Código da etapa. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setSHOWSTEP() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"SHOW_STEP","PROCESS") END FUNCTION
Método SET: ENABLE_ALL_BUTTONS
Habilita/desabilita todos os botões de ações do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ENABLE_ALL_BUTTONS", < l_enable >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_enable | SMALLINT | Verdadeiro para habilitar todos os botões de ações do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setENABLEALLBUTTONS() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_ALL_BUTTONS",FALSE) END FUNCTION
Método SET: ENABLE_CANCEL_BUTTON
Habilita/desabilita o botão de cancelamento do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ENABLE_CANCEL_BUTTON", < l_enable >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_enable | SMALLINT | Verdadeiro para habilitar o botão de cancelamento do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setENABLECANCELBUTTON() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_CANCEL_BUTTON",FALSE) END FUNCTION
Método SET: ENABLE_ACTIONS_BUTTON
Habilita/desabilita o botão de outras ações do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ENABLE_ACTIONS_BUTTON", < l_enable >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_enable | SMALLINT | Verdadeiro para habilitar o botão de outras ações do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setENABLEACTIONSBUTTON() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_ACTIONS_BUTTON",FALSE) END FUNCTION
Método SET: ENABLE_BACK_BUTTON
Habilita/desabilita o botão de retroceder etapas do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ENABLE_BACK_BUTTON", < l_enable >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_enable | SMALLINT | Verdadeiro para habilitar o botão de retroceder etapas do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setENABLEBACKBUTTON() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_BACK_BUTTON",FALSE) END FUNCTION
Método SET: ENABLE_NEXT_BUTTON
Habilita/desabilita o botão de avançar etapas do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"ENABLE_NEXT_BUTTON", < l_enable >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_enable | SMALLINT | Verdadeiro para habilitar o botão de avançar etapas do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setENABLENEXTBUTTON() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_NEXT_BUTTON",FALSE) END FUNCTION
Método SET: SIZE
Define o tamanho da janela do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"SIZE", < l_width >, < l_height >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_width | SMALLINT | Largura da janela. | Sim | |
l_height | SMALLINT | Altura da janela. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setSIZE() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"SIZE",800,600) END FUNCTION
Método SET: WIDTH
Tamanho da largura da janela do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"WIDTH", < l_width >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_width | SMALLINT | Define o tamnaho da largura da janela do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setWIDTH() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"WIDTH",800) END FUNCTION
Método SET: HEIGHT
Tamanho da altura da janela do Wizard.
Sintaxe
CALL _ADVPL_set_property(< l_reference >,"HEIGHT", < l_height >)
Parâmetros
Nome | Tipo | Descrição | Obrigatório? | Padrão |
---|---|---|---|---|
l_height | SMALLINT | Altura da janela do Wizard. | Sim |
Exemplo
#------------------------------------------------------------------------------# FUNCTION LWIZARD_setHEIGHT() #------------------------------------------------------------------------------# CALL _ADVPL_set_property(m_wiz_reference,"HEIGHT",600) END FUNCTION
Exemplos
Sintaxe
LET m_wiz_reference = _ADVPL_create_component(NULL,"LWIZARD")
Exemplo
DEFINE mr_wizard RECORD terms CHAR(999), agree CHAR(001), steps CHAR(050) END RECORD DEFINE m_wiz_reference VARCHAR(10) DEFINE m_prg_reference VARCHAR(10) #------------------------------------------------------------------------------# FUNCTION LWIZARD() #------------------------------------------------------------------------------# INITIALIZE mr_wizard.* TO NULL LET m_wiz_reference = _ADVPL_create_component(NULL,"LWIZARD") CALL _ADVPL_set_property(m_wiz_reference,"TITLE","Wizard de Exemplo") CALL _ADVPL_set_property(m_wiz_reference,"CANCEL_EVENT","LWIZARD_cancel") CALL _ADVPL_set_property(m_wiz_reference,"ADD_ACTION","Ação 1","LWIZARD_action1") CALL _ADVPL_set_property(m_wiz_reference,"ADD_ACTION","Ação 2","LWIZARD_action2") # Etapa de boas vindas. CALL _ADVPL_set_property(m_wiz_reference,"ADD_STEP","WELCOME","Componente LWIZARD","Este é um exemplo de uso do componente para criação de Wizards.","LWIZARD_stepWelcome") CALL _ADVPL_set_property(m_wiz_reference,"STEP_EVENT","WELCOME","LWIZARD_stepWelcomeEvent") CALL _ADVPL_set_property(m_wiz_reference,"STEP_VALID","WELCOME","LWIZARD_stepWelcomeValid") # Etapa de seleção. CALL _ADVPL_set_property(m_wiz_reference,"ADD_STEP","SELECT","Selecionar Etapa","O componente permite que você alterne entre as etapas existentes.","LWIZARD_stepSelect") CALL _ADVPL_set_property(m_wiz_reference,"STEP_NEXT","SELECT","LWIZARD_stepSelectNext") # Etapa de processamento. CALL _ADVPL_set_property(m_wiz_reference,"ADD_STEP","PROCESS","Processando","Etapa em processamento, não permite interações até que a etapa seja finalizada.","LWIZARD_stepProcess") CALL _ADVPL_set_property(m_wiz_reference,"STEP_EVENT","PROCESS","LWIZARD_stepProcessEvent") # Etapa de finalização. CALL _ADVPL_set_property(m_wiz_reference,"ADD_STEP","FINISH","Sucesso","Processo finalizado com sucesso.","LWIZARD_stepFinish") CALL _ADVPL_set_property(m_wiz_reference,"STEP_BACK","FINISH","LWIZARD_stepFinishBack") CALL _ADVPL_set_property(m_wiz_reference,"ACTIVATE",TRUE) END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_cancel() #------------------------------------------------------------------------------# RETURN LOG_question("Confirma o cancelamento do Wizard?") END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_action1() #------------------------------------------------------------------------------# CALL log0030_processa_mensagem("Clicou na ação 1","exclamation",0) END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_action2() #------------------------------------------------------------------------------# CALL log0030_processa_mensagem("Clicou na ação 2","exclamation",0) END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepWelcome() #------------------------------------------------------------------------------# DEFINE l_wiz_container VARCHAR(10) DEFINE l_pnl_reference VARCHAR(10) DEFINE l_ltm_reference VARCHAR(10) DEFINE l_lbl_reference VARCHAR(10) DEFINE l_cmp_reference VARCHAR(10) # Recupera a referência do painél onde será criado o painél da etapa atual. LET l_wiz_container = _ADVPL_get_property(m_wiz_reference,"WIZARD_CONTAINER_REFERENCE") LET l_pnl_reference = _ADVPL_create_component(NULL,"LPANEL",l_wiz_container) CALL _ADVPL_set_property(l_pnl_reference,"ALIGN","CENTER") LET l_ltm_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_pnl_reference) CALL _ADVPL_set_property(l_ltm_reference,"MARGIN",TRUE) CALL _ADVPL_set_property(l_ltm_reference,"COLUMNS_COUNT",1) LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","Leia atentamente os termos de uso abaixo:") # Indica que o próximo componente será expansível. CALL _ADVPL_set_property(l_ltm_reference,"EXPANSIBLE",TRUE) LET l_cmp_reference = _ADVPL_create_component(NULL,"LTEXTAREA",l_ltm_reference) CALL _ADVPL_set_property(l_cmp_reference,"ALIGN","CENTER") CALL _ADVPL_set_property(l_cmp_reference,"ENABLE",TRUE) CALL _ADVPL_set_property(l_cmp_reference,"EDITABLE",FALSE) CALL _ADVPL_set_property(l_cmp_reference,"VARIABLE",mr_wizard,"terms") LET l_cmp_reference = _ADVPL_create_component(NULL,"LCHECKBOX",l_ltm_reference) CALL _ADVPL_set_property(l_cmp_reference,"TEXT","Eu li e concordo com os termos de uso") CALL _ADVPL_set_property(l_cmp_reference,"VALUE_CHECKED","S") CALL _ADVPL_set_property(l_cmp_reference,"VALUE_NCHECKED","N") CALL _ADVPL_set_property(l_cmp_reference,"ENABLE",TRUE) CALL _ADVPL_set_property(l_cmp_reference,"VARIABLE",mr_wizard,"agree") # Aplica o leiaute. CALL _ADVPL_set_property(l_ltm_reference,"APPLY_LAYOUT") RETURN l_pnl_reference END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepWelcomeEvent() #------------------------------------------------------------------------------# IF mr_wizard.terms IS NULL THEN LET mr_wizard.terms = "Lorem ipsum dolor sit amet, id odio suscipit mel. ", "Alii nominati cu eos, dolor congue postulant sed in. ", "Qui primis voluptaria in. Option timeam conceptam et mea. ", "Sit cu quas facilis, partem cotidieque nam ut, te sea commune antiopam.\n\n", "Minim veritus an eos, vim ad viris persius consulatu. ", "Vis eruditi concludaturque ex, fuisset mentitum expetenda eum in. ", "Pro quas ridens no, ea iudico veritus consetetur usu, dicit suscipit elaboraret at per. ", "Per ad rebum appellantur, pro ne graeco consequuntur, cu vim viris persequeris eloquentiam.\n\n", "Quis audire aliquam ad nam, virtute dolorum pri in, liber tempor sea ne. ", "Sit ei saepe petentium, et pro tempor reprimique mediocritatem, eirmod nostrud scriptorem vix id. ", "Ex nec lorem fugit, sea et integre platonem, ei sit putant utamur. ", "Duo prompta feugait menandri eu, ex nonumy ignota usu, et cum mazim affert utinam." END IF IF mr_wizard.agree IS NULL THEN LET mr_wizard.agree = "N" END IF END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepWelcomeValid() #------------------------------------------------------------------------------# IF mr_wizard.agree = "N" THEN CALL log0030_processa_mensagem("Para continuar é preciso que você leia e aceite os termos de uso.","exclamation",0) RETURN FALSE END IF RETURN TRUE END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepSelect() #------------------------------------------------------------------------------# DEFINE l_wiz_container VARCHAR(10) DEFINE l_pnl_reference VARCHAR(10) DEFINE l_ltm_reference VARCHAR(10) DEFINE l_lbl_reference VARCHAR(10) DEFINE l_cmp_reference VARCHAR(10) # Recupera a referência do painél onde será criado o painél da etapa atual. LET l_wiz_container = _ADVPL_get_property(m_wiz_reference,"WIZARD_CONTAINER_REFERENCE") LET l_pnl_reference = _ADVPL_create_component(NULL,"LPANEL",l_wiz_container) CALL _ADVPL_set_property(l_pnl_reference,"ALIGN","CENTER") LET l_ltm_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_pnl_reference) CALL _ADVPL_set_property(l_ltm_reference,"MARGIN",TRUE) CALL _ADVPL_set_property(l_ltm_reference,"COLUMNS_COUNT",1) LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","Selecione a próxima etapa:") LET l_cmp_reference = _ADVPL_create_component(NULL,"LRADIOGROUP",l_ltm_reference) CALL _ADVPL_set_property(l_cmp_reference,"ADD_ITEM","PROCESS","Etapa de Processamento") CALL _ADVPL_set_property(l_cmp_reference,"ADD_ITEM","FINISH","Etapa de Finalização") CALL _ADVPL_set_property(l_cmp_reference,"ENABLE",TRUE) CALL _ADVPL_set_property(l_cmp_reference,"VARIABLE",mr_wizard,"steps") # Aplica o leiaute. CALL _ADVPL_set_property(l_ltm_reference,"APPLY_LAYOUT") RETURN l_pnl_reference END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepSelectNext() #------------------------------------------------------------------------------# RETURN mr_wizard.steps END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepProcess() #------------------------------------------------------------------------------# DEFINE l_wiz_container VARCHAR(10) DEFINE l_pnl_reference VARCHAR(10) DEFINE l_ltm_reference VARCHAR(10) DEFINE l_lbl_reference VARCHAR(10) DEFINE l_cmp_reference VARCHAR(10) # Recupera a referência do painél onde será criado o painél da etapa atual. LET l_wiz_container = _ADVPL_get_property(m_wiz_reference,"WIZARD_CONTAINER_REFERENCE") LET l_pnl_reference = _ADVPL_create_component(NULL,"LPANEL",l_wiz_container) CALL _ADVPL_set_property(l_pnl_reference,"ALIGN","CENTER") LET l_ltm_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_pnl_reference) CALL _ADVPL_set_property(l_ltm_reference,"MARGIN",TRUE) CALL _ADVPL_set_property(l_ltm_reference,"COLUMNS_COUNT",1) LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","Processando, por favor aguarde.") # Indica que o próximo componente será expansível. CALL _ADVPL_set_property(l_ltm_reference,"EXPANSIBLE",TRUE) LET l_cmp_reference = _ADVPL_create_component(NULL,"LPANEL",l_ltm_reference) CALL _ADVPL_set_property(l_cmp_reference,"ALIGN","CENTER") LET m_prg_reference = _ADVPL_create_component(NULL,"LPROGRESSBAR",l_cmp_reference) CALL _ADVPL_set_property(m_prg_reference,"ALIGN","TOP") CALL _ADVPL_set_property(m_prg_reference,"HEIGHT",40) CALL _ADVPL_set_property(m_prg_reference,"MAX_VALUE",3) # Aplica o leiaute. CALL _ADVPL_set_property(l_ltm_reference,"APPLY_LAYOUT") RETURN l_pnl_reference END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepProcessEvent() #------------------------------------------------------------------------------# DEFINE l_ind SMALLINT CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_ALL_BUTTONS",FALSE) # Reinicializa a barra de progresso. CALL _ADVPL_set_property(m_prg_reference,"VALUE",0) FOR l_ind = 1 TO 3 SLEEP 2 CALL _ADVPL_set_property(m_prg_reference,"VALUE",l_ind) CALL _ADVPL_LOG_refreshDisplay() END FOR CALL _ADVPL_set_property(m_wiz_reference,"ENABLE_ALL_BUTTONS",TRUE) END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepFinish() #------------------------------------------------------------------------------# DEFINE l_wiz_container VARCHAR(10) DEFINE l_pnl_reference VARCHAR(10) DEFINE l_ltm_reference VARCHAR(10) DEFINE l_lbl_reference VARCHAR(10) # Recupera a referência do painél onde será criado o painél da etapa atual. LET l_wiz_container = _ADVPL_get_property(m_wiz_reference,"WIZARD_CONTAINER_REFERENCE") LET l_pnl_reference = _ADVPL_create_component(NULL,"LPANEL",l_wiz_container) CALL _ADVPL_set_property(l_pnl_reference,"ALIGN","CENTER") LET l_ltm_reference = _ADVPL_create_component(NULL,"LLAYOUTMANAGER",l_pnl_reference) CALL _ADVPL_set_property(l_ltm_reference,"MARGIN",TRUE) CALL _ADVPL_set_property(l_ltm_reference,"COLUMNS_COUNT",1) LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","Mais informações sobre este componente você encontra na TDN em:") LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","http://tdn.totvs.com.br/display/FRAMJOI/LGX+-+LWIZARD") CALL _ADVPL_set_property(l_lbl_reference,"CLICK_EVENT","LWIZARD_openTDN") CALL _ADVPL_set_property(l_ltm_reference,"ADD_EMPTY_ROW") LET l_lbl_reference = _ADVPL_create_component(NULL,"LLABEL",l_ltm_reference) CALL _ADVPL_set_property(l_lbl_reference,"TEXT","Obs.: você poderá clicar em ""Voltar"" para recomeçar o processamento.") # Aplica o leiaute. CALL _ADVPL_set_property(l_ltm_reference,"APPLY_LAYOUT") RETURN l_pnl_reference END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_stepFinishBack() #------------------------------------------------------------------------------# RETURN "WELCOME" END FUNCTION #------------------------------------------------------------------------------# FUNCTION LWIZARD_openTDN() #------------------------------------------------------------------------------# CALL LOG_previewInBrowser("http://tdn.totvs.com.br/display/FRAMJOI/LGX+-+LWIZARD") END FUNCTION
Exemplos do componente LWizard |
|
---|---|