FWWizardControl

Oops, it seems that you need to place a table or a macro generating a table within the Pivot Table macro.

The table is being loaded. Please wait for a bit ...

Compatível Países:

Todos

Sistemas Operacionais:

Todos

Compatível às Bases de Dados:

Todos

Nível de Acesso:

Nível 1 (Acesso Clientes)

Idiomas:

Português, Inglês, Espanhol

Versão

1.0

Atenção

Esta melhoria só estará disponível a partir da release 12.1.6

 

 

Descrição

Classe para construção do Wizard

Utiliza as classes:
- FWWizardStep (contém todas as definições do Wizard)
- FWUISteps (indicador de página localizado na parte superior do Wizard. O uso deste recurso é limitado pelo espaço disponível para sua exibição.) 

 

New

Sintaxe

FWWIZARDCONTROL():New(<oOwner: >, <aDlgSize: >)-> NIL

 

Descrição

Metodo para instanciar a classe

 

Parâmetros

 

Nome

Tipo

Descrição

Default

Obrigatório

Referência

oOwner:

Objeto

Define o owner para o wizard, se não for definido será criada uma dialog com o tamanho especificado

 

 

 

aDlgSize:

Array

Tamanho do owner do wizard, esse parâmetro deverá ser um array com duas posições {HEIGHT, WIDTH}

{600,600}

 

 

 

 

SetSize

Sintaxe

FWWIZARDCONTROL():SetSize(<aDlgSize: >)-> NIL

 

Descrição

Define o tamanho do owner do wizard.

 

Parâmetros

 

Nome

Tipo

Descrição

Default

Obrigatório

Referência

aDlgSize

Array

Tamanho do owner do wizard, esse parâmetro deverá ser um array com duas posições {HEIGHT, WIDTH}

 

X

 

 

 

AddStep

Sintaxe

FWWIZARDCONTROL():AddStep(<cID: >, <bConstruct: >)-> FWWizardStep

 

Descrição

Adiciona um novo Step ao wizard

Retorno

Esta classe retorna uma instância da classe FWWizardStep.

 

Parâmetros

 

Nome

Tipo

Descrição

Default

Obrigatório

Referência

cID

Caracteres

ID para o step

 

X

 

bConstruct

Bloco de Código

Bloco de construção da tela

 

X

 

 

 

Activate

Sintaxe

FWWIZARDCONTROL():Activate()-> NIL

 

Descrição

Faz a ativação do wizard, criando o owner (caso não definido) e instanciando
todos os UserPanels 

 

 

ActiveUISteps

Sintaxe

FWWIZARDCONTROL():ActiveUISteps()-> NIL

 

Descrição

Define se deverá ser exibida a classe de FWUISteps 

 

 

Exemplo
User function teste_stepwiz()
Local oPanel
Local oNewPag
Local cNome   := ""
Local cFornec := ""
Local cCombo1 := ""
Local oStepWiz := nil
Local oDlg := nil
Local oPanelBkg
DEFINE DIALOG oDlg TITLE 'aaaaa' PIXEL 
oDlg:nWidth := 1100 
oDlg:nHeight := 800 
oPanelBkg:= tPanel():New(20,70,"",oDlg,,,,,,300,300)
oStepWiz:= FWWizardControl():New(oPanelBkg)//Instancia a classe FWWizard
oStepWiz:ActiveUISteps()

//----------------------
// Pagina 1
//----------------------
oNewPag := oStepWiz:AddStep("1")
//Altera a descrição do step
oNewPag:SetStepDescription("Primeiro passo")
//Define o bloco de construção
oNewPag:SetConstruction({|Panel|cria_pg1(Panel, @cNome, @cFornec)})
//Define o bloco ao clicar no botão Próximo
oNewPag:SetNextAction({||valida_pg1(@cNome, @cFornec)})
//Define o bloco ao clicar no botão Cancelar
oNewPag:SetCancelAction({||Alert("Cancelou na pagina 1"), .T.})

//----------------------
// Pagina 2
//----------------------
oNewPag := oStepWiz:AddStep("2", {|Panel|cria_pg2(Panel, @cCombo1)})
oNewPag:SetStepDescription("Segundo passo")
oNewPag:SetNextAction({||valida_pg2(@cCombo1)})
//Define o bloco ao clicar no botão Voltar
oNewPag:SetCancelAction({||Alert("Cancelou na pagina 2"), .T.})
oNewPag:SetPrevAction({||Alert("Ops, voce não pode voltar a partir daqui"), .F.})
oNewPag:SetPrevTitle("Voltar(ou não)")

//----------------------
// Pagina 3
//----------------------
oNewPag := oStepWiz:AddStep("3", {|Panel|cria_pn3(Panel)})
oNewPag:SetStepDescription("Terceiro passo")
oNewPag:SetNextAction({||Alert("Fim"), .T.})
oNewPag:SetCancelAction({||Alert("Cancelou na pagina 3"), .T.})
oNewPag:SetCancelWhen({||.F.})
oStepWiz:Activate()
ACTIVATE DIALOG oDlg CENTER 
oStepWiz:Destroy()
Return

//--------------------------
// Construção da página 1
//--------------------------
Static Function cria_pg1(oPanel, cNome, cFornec)
Local oTGet1
Local oTGet2
oSay1:= TSay():New(10,10,{||'Cliente'},oPanel,,,,,,.T.,,,200,20) 
cNome := Space(30)
oTGet1 := TGet():New( 20,10,{|u| if( PCount() > 0, cNome := u, cNome ) } ,oPanel,096,009,"@!",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cNome,,,, )
oSay2:= TSay():New(40,10,{||'Fornecedor'},oPanel,,,,,,.T.,,,200,20) 
cFornec := Space(30)
oTGet2 := TGet():New( 50,10,{|u| if( PCount() > 0, cFornec := u, cFornec ) },oPanel,096,009,"@!",,0,,,.F.,,.T.,,.F.,,.F.,.F.,,.F.,.F.,,cFornec,,,, )
Return
 

//----------------------------------------
// Validação do botão Próximo da página 1
//----------------------------------------
Static Function valida_pg1(cNome, cFornec)
MsgInfo("Cliente: " + cNome + chr(13)+chr(10) + "Fornecedor: " + cFornec)
Return .T.

//--------------------------
// Construção da página 2
//--------------------------
Static Function cria_pg2(oPanel, cCombo1)
Local aItems := {'Item1','Item2','Item3'}
Local oCombo1
cCombo1:= aItems[1]    
oCombo1 := TComboBox():New(20,20,{|u|if(PCount()>0,cCombo1:=u,cCombo1)},aItems,100,20,oPanel,,{|| },,,,.T.,,,,,,,,,'cCombo1')
Return
 

//----------------------------------------
// Validação do botão Próximo da página 2
//----------------------------------------
Static Function valida_pg2(cCombo1)
Local lRet := .F.
If cCombo1 == 'Item3'
	lRet := .T.
Else
	Alert("Você selecionou: " + cCombo1 + " para prossegir selecione Item3")
EndIf
Return lRet

//--------------------------
// Construção da página 3
//--------------------------
Static Function cria_pn3(oPanel)
Local oBtnPanel := TPanel():New(0,0,"",oPanel,,,,,,40,40)
oBtnPanel:Align := CONTROL_ALIGN_TOP
oTButton1 := TButton():New( 010, 010, "Botão 01",oBtnPanel,{||alert("Botão 01")}, 80,20,,,.F.,.T.,.F.,,.F.,,,.F. )
oTButton2 := TButton():New( 010, 0200, "Botão 02",oBtnPanel,{||alert("Botão 02")}, 80,20,,,.F.,.T.,.F.,,.F.,,,.F. )
Return
Wizard gerado com o fonte de exemplo

  • Sem rótulos