Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ApWizard
|
ARGUMENTO | TIPO | DESCRIÇÃO |
---|---|---|
oDlg | Objeto | Diálogo Principal |
oBmp | Objeto | Imagem utilizada no cabeçalho do Wizard |
oHPanel | Objeto | Painel do cabeçalho |
oMPanel | Objeto | Objeto do botão "Avançar" |
oNext | Objeto | Objeto do botão "Voltar" |
oBack | Objeto | Objeto do botão "Cancelar" |
oCancel | Objeto | Objeto do botão "Finalizar" |
oFinish | Objeto | Array contendo os blocos de código com as validações de cada passo do Wizard |
abValid | Array | Array contendo os textos dos cabeçalhos de cada passo do Wizard |
acHeader | Array | Array contendo os blocos de código com as execuções de cada passo |
abExecute | Array | Array contendo os blocos de código com as execuções |
chTitle | Caracter | Título do cabeçalho do passo ativo |
chMsg | Caracter | Mensagem do cabeçalho do passo ativo |
nPanel | Numérico | Número do painel ativo |
nTPanel | Numérico | Número total de painéis |
oMsgWelcome | Objeto | Objeto do título do painel de apresentação do Wizard |
oText | Objeto | Objeto de mensagem do painel de apresentação do Wizard |
oCHFont | Objeto | Objeto da fonte utilizada no título do cabeçalho |
oCMFont | Objeto | Objeto da fonte utilizada na mensagem do cabeçalho |
oHFont | Objeto | Objeto da fonte utilizada no título do painel de apresentação |
oMFont | Objeto | Objeto da fonte utilizada na mensagem do painel de apresentação do Wizard |
Métodos
New()
Método construtor da classe Wizard.
ApWizard():New ( < chTitle > , < chMsg > , < cTitle > , < cText > , < bNext > , < bFinish > , < lPanel > , < cResHead > , < bExecute > , < lNoFirst > , < aCoord > ) --> NIL
argumento | tipo | descrição |
---|---|---|
chTitle | Caracter | Titulo do cabeçalho |
chMsg | Caracter | Mensagem do cabeçalho |
cTitle | Caracter | Título do painel de apresentação |
cText | Caracter | Texto do painel de apresentação |
bNext | Code-Block | Bloco de código a ser executado para validar o botão "Avançar" |
bFinish | Code-Block | Bloco de código a ser executado para validar o botão "Finalizar" |
lPanel | Lógico | |
cResHead | Caracter | Nome da imagem usada no cabeçalho, essa tem que fazer parte do repositório |
bExecute | Code-Block | Bloco de código contendo a ação a ser executada no clique dos botões "Avançar" e "Voltar" |
lNoFirst | Lógico | Se .T. não exibe o painel de apresentação |
aCoord | Array | Array contendo as coordenadas da tela |
Activate()
Exibe o diálogo do Wizard.
oObj:Activate ( < lCenter > , < bValid > , < bInit > , < bWhen > ) --> NIL
argumento | tipo | descrição |
---|---|---|
lCenter | Lógico | Determina se o diálogo será centralizado na tela |
bValid | Code-Block | Bloco de código a ser executado no encerramento do diálogo |
bInit | Code-Block | Bloco de código a ser executado na inicialização do diálogo |
bWhen | Code-Block | Bloco de código para habilitar a execução do diálogo |
NewPanel()
Cria novo painel no Wizard.
oObj:NewPanel ( < cTitle > , < cMsg > , < bBack > , < bNext > , < bFinish > , < lPanel > , < bExecute > ) --> NIL
argumento | tipo | descrição |
---|---|---|
cTitle | Caracter | Título do painel |
cMsg | Caracter | Mensagem posicionada no cabeçalho do painel |
bBack | Code-Block | Bloco de código utilizado para validar o botão "Voltar" |
bNext | Code-Block | Bloco de código utilizado para validar o botão "Avançar" |
bFinish | Code-Block | Bloco de código utilizado para validar o botão "Finalizar" |
lPanel | Lógico | Se .T. será criado um painel, se .F. será criado um scrollbox |
bExecute | Code-Block | Bloco de código a ser executado quando o painel for selecionado |
GetPanel()
Retorna o objeto painel desejado.
oObj:GetPanel ( < nPanel > ) --> NIL
argumento | tipo | descrição |
---|---|---|
nPanel | Numérico | Número do painel a ser retornado |
SetFinish()
Exibe o botão "Finalizar" para encerrar o assistente.
oObj:SetFinish ( ) --> NIL
SetPanel()
Seleciona o objeto painel desejado.
oObj:SetPanel ( < nPanel > ) --> NIL
argumento | tipo | descrição |
---|---|---|
nPanel | Numérico | Número do painel a ser retornado |
RefreshButtons()
Disponibiliza os botões do assistente de acordo com o painel corrente.
oObj:RefreshButtons ( ) --> NIL
DisableButtons()
Desabilita os botões do assistente.
oObj:DisableButtons ( ) --> NIL
EnableButtons()
Habilita os botões do assistente.
oObj:EnableButtons ( ) --> NIL
SetHeader()
Substitui o título do painel desejado.
oObj:SetHeader ( < cHeader > , < nPanel > , < lChange > ) --> NIL
argumento | tipo | descrição |
---|---|---|
cHeader | Caracter | Texto do título |
nPanel | Numérico | Número do painel |
lChange | Lógico | Se .T. substitui o título padrão do painel |
SetHeader()
Substitui a mensagem do painel desejado.
oObj:SetMessage ( < cMsg > , < nPanel > , < lChange > ) --> NIL
argumento | tipo | descrição |
---|---|---|
cMsg | Caracter | Texto da mensagem |
nPanel | Numérico | Número do painel |
lChange | Lógico | Se .T. substitui a mensagem padrão do painel |
#include "protheus.ch"#include "apwizard.ch"User Function ExWizard()Local oNo := LoadBitmap( GetResources(), "LBNO" )Local oOk := LoadBitmap( GetResources(), "LBTIK" )Local oWizardLocal oGet1, oGet2, oGet3Local cGet1 := 0Local cGet2 := 0Local cGet3 := 0Local nPanelLocal aWiz := {{.F., ""}}Local oLbxWizLocal oChkTWizLocal oChkIWiz Local lChkTWiz := .F. Local lChkIWiz := .F.Local lWiz := .F.DEFINE WIZARD oWizard TITLE "Wizard" HEADER "Wizard de Configuração" MESSAGE " "; TEXT "Esta é a tela de apresentação do wizard que pode ser suprimida através de parâmetros" PANEL;NEXT {|| .T.} FINISH {|| .T.}// PANEL 2//cria um novo passo (janela) para o wizardCREATE PANEL oWizard HEADER "Painel 2" MESSAGE "Painel2" PANEL;BACK {|| .T.} NEXT {|| If(Empty(cGet1) .Or. cGet1 == 0, (MsgStop("Informe o conteúdo para o Get1"), .F.), If(Empty(cGet2) .Or. cGet2 == 0, (msgStop("Informe o conteúdo para o Get2"), .F.), .T.))} FINISH {|| .T.} EXEC {|| .T.} @ 010, 010 TO 125,280 OF oWizard:oMPanel[2] PIXEL @ 20, 15 SAY oSay1 VAR "Get1: " OF oWizard:oMPanel[2] PIXEL @ 20, 35 GET oGet1 VAR cGet1 PICTURE "9999" OF oWizard:oMPanel[2] SIZE 40,009 PIXEL @ 40, 15 SAY oSay2 VAR "Get2: " OF oWizard:oMPanel[2] PIXEL @ 40, 35 GET oGet2 VAR cGet2 PICTURE "9999" OF oWizard:oMPanel[2] SIZE 40,009 PIXEL // PANEL 3//cria um novo passo (janela) para o wizardCREATE PANEL oWizard HEADER "Painel 3" MESSAGE "Painel3" PANEL;BACK {|| oWizard:nPanel := 3, .T.} NEXT {|| If(Ascan(aWiz,{|x| x[1] == .T.}) == 0, (MsgStop('Por favor selecione pelo menos um registro no listbox.'), .F.), .T. )} EXEC {||lChkTWiz:=.F., .T.} @ 010, 010 TO 125,280 OF oWizard:oMPanel[3] PIXEL @ 018, 020 LISTBOX oLbxWiz FIELDS HEADER "","Owner" SIZE 171, 88 ON DBLCLICK (aWiz[oLbxWiz:nAt,1] := !aWiz[oLbxWiz:nAt,1],If(!aWiz[oLbxWiz:nAt,1],lChkTWiz := .F., ),oLbxWiz:Refresh(.f.),ApSxVerChk(@lChkTWiz,@aWiz,@oLbxWiz,@oChkTWiz)) OF oWizard:oMPanel[3] PIXEL oLbxWiz:SetArray(aWiz) oLbxWiz:bLine := {|| {If(aWiz[oLbxWiz:nAt,1],oOK,oNO),aWiz[oLbxWiz:nAt,2]}} oLbxWiz:bRClicked := { || AEVAL(aWiz,{|x|x[1]:=!x[1]}),oLbxWiz:Refresh(.F.) } @ 111, 20 CHECKBOX oChkTWiz VAR lChkTWiz PROMPT "Marcar Todos" SIZE 62, 10 OF oWizard:oMPanel[3] PIXEL oChkTWiz:blClicked := {|| AEval( aWiz,{|x,y| x[1] := lChkTWiz , If(lChkTWiz, (lChkIWiz := .F.,oChkIWiz:Refresh()), )})} @ 111, 100 CHECKBOX oChkIWiz VAR lChkIWiz PROMPT "Inverter Marca" SIZE 62, 10 OF oWizard:oMPanel[3] PIXEL oChkIWiz:blClicked := {|| AEval( aWiz,{|x,y| x[1] := !x[1]}), lChkTWiz := (Ascan(aWiz,{|x|!x[1]}) == 0), oChkTWiz:Refresh()} // PANEL 4//cria um novo passo (janela) para o wizardCREATE PANEL oWizard HEADER "Configurações" MESSAGE "Selecione as configurações para a geração do arquivo." PANEL;BACK {|| oWizard:nPanel := 4, .T.} NEXT {|| .T.} FINISH {|| If(Empty(cGet3) .Or. cGet3 == 0, (MsgStop('Informe o conteúdo para o Get3'), .F.), (lWiz := .T., .T.)) } EXEC {|| .T.} @ 010, 010 TO 125,280 OF oWizard:oMPanel[4] PIXEL @ 20, 15 SAY oSay3 VAR "Get3: " OF oWizard:oMPanel[4] PIXEL @ 20, 35 GET oGet3 VAR cGet3 PICTURE "9999" OF oWizard:oMPanel[4] SIZE 40,009 PIXEL oWizard:oDlg:lEscClose := .F.ACTIVATE WIZARD oWizard CENTERED VALID {|| .T. } If lWiz MsgAlert("Executa a rotina de processamento após a seleção dos dados no Wizard")EndIfReturnStatic Function ApSxVerChk(lChkTudo,aAlias,oLbx,oChk)Local nI Local nCount := 0 Local nSizenSize := len(aAlias)For nI := 1 to nSize If !aAlias[nI,1] nCount++ EndIfNext If nCount > 0 lChkTudo := .F.Else lChkTudo := .T.EndIfoLbx:Refresh()oChk:Refresh() Return lChkTudo