MP FWFormView 010714 1639 188

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 78

FWFormView

Classe: FWFormView
Compatvel Pases:

Todos

Sistemas Operacionais:

Todos

Compatvel s Bases de Dados:

Todos

Nvel de Acesso:

Nvel 1 (Acesso Clientes)

Idiomas:

Portugus, Ingls, Espanhol

Verso

P10 R1.4 <br>

Descrio:
Fornece uma interface grfica para um model
(FWFormModel/MPFormModel).
A classe fornece as opes grficas abaixo:
- Criao de formulrio do tipo FormField, no qual
possvel que o usurio edite um registro por vez.
- Criao de formulrio do tipo FormGrid, no qual possvel
que o usurio edite N registros por vez.
- Criao de botes.
- Diviso da tela em diversos painis.
- Criao de Folder.
Exemplo:
Static Function ViewDef()
Local oView
Local oStructSA1
//------------------------------------------------------------------//Busca o Model da SA1
//------------------------------------------------------------------Local oModel := FWLoadModel("MATA010_MVC") //Busca o

Model da SA1
//------------------------------------------------------------------//Instancia o objeto
//------------------------------------------------------------------oView := FWFormView():New()
//------------------------------------------------------------------//Faz a carga dos campos do SA1 do dicionario (Apenas
Protheus)
//------------------------------------------------------------------oStructSA1 := FWFormStruct(2,"SA1")
//------------------------------------------------------------------// Set o Model que esse view ira ultilizar
//------------------------------------------------------------------oView:SetModel(oModel)
//------------------------------------------------------------------//Adiciona um Field(antiga Enchoice)
//------------------------------------------------------------------oView:AddField( "MATA010_SA1" , oStructSA1)
//------------------------------------------------------------------//Cria um box Horizontal de 100% do Owner
//------------------------------------------------------------------oView:CreateHorizontalBox("CABEC",100)
//------------------------------------------------------------------//Mapeia a Field("MATA010_SA1") criada no Box("CABEC"
criado
//-------------------------------------------------------------------

oView:SetOwnerView( "MATA010_SA1","CABEC")
//------------------------------------------------------------------//HAbilita o ControlBar(Antiga EnchoiceBar)
//------------------------------------------------------------------oView:EnableControlBar(.T.)
Return oView
Observaes:
Quando utilizamos o FWBrowse na rotina, no necessrio
implementar a passagem de Owner, pois feita pelo
FWBrowse. Caso contrrio, necessrio passar o Owner
atravs do mtodo SetOwner.
Veja tambm:
FWFormModel
MPFormModel
New
Sintaxe:
FWFORMVIEW():New([ oViewOwner ])-> NIL
Descrio:
Mtodo construtor da classe.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

oViewOwner

Objeto

Objeto do
tipo
FWFormView
que ser o
pai da view.
Quando
uma view
possui uma
view pai, ela
no realiza a
gravao dos
dados
quando o
boto OK
acionado. O
model
preenchido,
todavia a
gravao dos
dados fica
como
responsabilid
ade da view
pai.

NIL

setUseCursor
Sintaxe:
FWFORMVIEW():setUseCursor(< lValue >)-> NIL
Descrio:
Define se ser habilitado o uso do cursor (navegao em
registros).
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

lValue

Lgico

Se for falso,
desabilita o
uso. O
padro da
view
manter
o curso
habilitado.

Observaes:

Se o fonte chama o mvc atravs do browse esse mtodo


no tem efeito e o cursor ser sempre habilitado.
SetModel
Sintaxe:
FWFORMVIEW():SetModel(< oObj >)-> NIL
Descrio:
Seta o relacionamento da View com o Model. Esse mtodo
deve ser usado obrigatoriamente, pois uma view sempre
precisa de um model.
Parmetros:

AddField

Nome

Tipo

Descrio

oObj

Objeto

Objeto do
tipo
FWFormMod
el/MPFormM
odel a se
associar a
view.

Default

Obrigatrio
X

Referncia

Sintaxe:
FWFORMVIEW():AddField(< cViewID >, < oStruct >, [
cSubModelID ])-> NIL
Descrio:
Adiciona ao view um formulrio do tipo FormFields (antiga
enchoice).
Nesse formulrio o usurio poder editar um registro por
vez.
Parmetros:
Nome

Tipo

Descrio

cViewID

Caracteres

ID do
formulrio.
Esse ID ser
utilizado em
diversos
momentos na
criao da
view.

oStruct

Objeto

Objeto do
tipo
FWFormView
Struct a ser
usado no
formulrio.

cSubModelID

Caracteres

ID do
submodelo
do tipo
FormField do
model ao
qual o
formulrio se
relaciona.

Observaes:

Default

""

Obrigatrio

Referncia

Pode-se usar o mesmo ID do submodelo para o formulrio.


Quando isso feito, no necessrio passar o terceiro
parmetro.
Exemplo:
Static Function ModelDef()
Local oModel := MPFormModel():New("MODEL")
Local oStruZA1:= FWFormStruct(1,'ZA1')
oModel:addFields('ZA1MASTER',,oStruZA1)
Return
Static Function ViewDef()
Local oModel := ModelDef()
Local oView := FWFormView():New()
Local oStruZA1:= FWFormStruct(2,'ZA1')
oView:SetModel(oModel)
oView:addField('ZA1MASTER',oStruZA1)
Return

Veja tambm:
FWFormViewStruct
Funo FWFormStruct
AddGrid
Sintaxe:
FWFORMVIEW():AddGrid(< cViewID >, < oStruct >, [
cSubModelID ], < uParam4 >, [ bGotFocus ])-> NIL
Descrio:

Adiciona ao view um formulrio do tipo FWFormGrid.


Nesse formulrio o usurio poder editar N registros por
vez.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cViewID

Caracteres

ID do
formulrio.
Esse ID ser
utilizado em
diversos
momentos na
criao da
view.

oStruct

Objeto

Objeto do
tipo
FWFormView
Struct a ser
usado no
formulrio.

cSubModelID

Caracteres

ID do
submodelo
do tipo
FormField do
model ao
qual o
formulrio se
relaciona.

uParam4

Qualquer

Compatibilida
de.

bGotFocus

Bloco de
Cdigo

Bloco de
cdigo
invocado no
momento
que o grid
ganha o foco.
O bloco no
recebe
parmetro
nem precisa
retornar
algum valor.

""

X
NIL

Referncia

Observaes:
Pode-se usar o mesmo ID do submodelo para o formulrio.
Quando isso feito, no necessrio passar o terceiro
parmetro.
Exemplo:
Static Function ModelDef()
Local oModel := MPFormModel():New("MODEL")
Local oStruZA1:= FWFormStruct(1,'ZA1')
Local oStruZA2:= FWFormStruct(1,'ZA2')
oModel:addFields('ZA1MASTER',,oStruZA1)
oModel:addGrid('ZA2DETAIL',,oStruZA2)
Return
Static Function ViewDef()
Local oModel := ModelDef()
Local oView := FWFormView():New()
Local oStruZA1:= FWFormStruct(2,'ZA1')
Local oStruZA2:= FWFormStruct(2,'ZA2')
oView:SetModel(oModel)
oView:addField('ZA1MASTER',oStruZA1)
oView:addGrid('ZA2DETAIL',oStruZA2)
Return
Veja tambm:
FWFormViewStruct
Funo FWFormStruct
AddTreeGrid

Sintaxe:
FWFORMVIEW():AddTreeGrid(< cID >, < aInfos >, <
cIdDetail >)-> NIL
Descrio:
Adiciona um formulrio do tipo Tree baseado em
submodelos do tipo FormGrid que estejam no
model, transformando o grid em tree.
Parmetros:
Nome

Tipo

Descrio

cID

Caracteres

ID do tree.
Esse ID ser
utilizado em
diversos
momentos na
criao da
view.

Default

Obrigatrio
X

Referncia

aInfos

Array

Array com as
informaes
dos
submodelos
que devem
aparecer no
tree, no
formato
abaixo:
[n] array
[n][1] ExpC :
ID do
SubModelo
[n][2] ExpA:
Array
unidimension
al com os IDs
dos campos
que devem
aparecer no
tree.
[n][3] ExpO:
Objeto do
tipo
FWFormView
Struct com a
Estrutura de
Dados.

cIdDetail

Caracteres

ID do
formulrio de
detalhes dos
itens do
Tree.

Exemplo:

Static Function ViewDef()


Local aTreeInfo:={}
// Cria a estrutura a ser usada na View
Local oStruZA3 := FWFormStruct( 2, 'ZA3' )
Local oStruZA4 := FWFormStruct( 2, 'ZA4' )
Local oStruZA5 := FWFormStruct( 2, 'ZA5' )
// Cria um objeto de Modelo de Dados baseado no

ModelDef do fonte informado


Local oModel := FWLoadModel( 'COMP023_MVC' )
Local oView
// Remove campos da estrutura
oStruZA4:RemoveField( 'ZA4_ALBUM' )
oStruZA5:RemoveField( 'ZA5_ALBUM' )
oStruZA5:RemoveField( 'ZA5_MUSICA' )
// Cria o objeto de View
oView := FWFormView():New()
// Define qual o Modelo de dados ser utilizado
oView:SetModel( oModel )
//Adiciona no nosso View um controle do tipo FormFields
oView:AddField( 'VIEW_ZA3', oStruZA3, 'ZA3MASTER' )
// Cria a estrutura das grids em formato de rvore
aAdd( aTreeInfo, { "ZA4DETAIL", { "ZA4_MUSICA",
"ZA4_TITULO" }, oStruZA4 } )
aAdd( aTreeInfo, { "ZA5DETAIL", { "ZA5_INTER" } ,
oStruZA5 } )
oView:AddTreeGrid( "TREE", aTreeInfo, "DETAIL_TREE" )
// Criar "box" horizontal para receber algum elemento da
view
oView:CreateHorizontalBox( 'EMCIMA' , 20 )
oView:CreateHorizontalBox( 'EMBAIXO', 80 )
// Criar "box" vertical para receber algum elemento da view

oView:CreateVerticalBox( 'EMBAIXOESQ', 30, 'EMBAIXO' )


oView:CreateVerticalBox( 'EMBAIXODIR', 70, 'EMBAIXO' )
// Relaciona o ID da View com o "box" para exibicao
oView:SetOwnerView( 'VIEW_ZA3' , 'EMCIMA' )
oView:SetOwnerView( 'TREE' , 'EMBAIXOESQ' )
oView:SetOwnerView( 'DETAIL_TREE', 'EMBAIXODIR' )
Return oView
Veja tambm:
FWFormViewStruct
Funo FWFormStruct
GetListFields
Sintaxe:
FWFORMVIEW():GetListFields()-> aRetorno
Descrio:
Retorna a lista de campos que esto presentes no View.
Retorno:
aRetorno Array na seguinte estrutura:
[n]
[n][1] ExpC: Id do formulrio
[n][2] ExpC: Id do campo
[n][3] ExpC: Picture
[n][4] ExpA: Array com as opes de ComboBox
[n][5] ExpL :Visual
SetOwnerView

Sintaxe:
FWFORMVIEW():SetOwnerView(< cViewID >, [ cIDBox ])->
NIL
Descrio:
Relaciona um formulrio ou uma pasta a um box visual.
Parmetros:
Nome

Tipo

Descrio

cViewID

Caracteres

ID do
formulrio
(definido pelo
mtodo
addField/add
Grid/AddTree
Grid).

cIDBox

Caracteres

ID do Box
que em que
ser
encaixado o
componente
(definido pelo
mtodo
CreateHorizo
ntalBox/Creat
eVerticalBox)
.

Default

Obrigatrio
X

ClassName
Sintaxe:
FWFORMVIEW():ClassName()-> cClassName
Descrio:

Referncia

Retorna o nome da classe (FWFORMVIEW).


Retorno:
cClassName Nome da classe.
CreateFolder
Sintaxe:
FWFORMVIEW():CreateFolder(< cIDFolder >, < cIDOwner
>)-> NIL
Descrio:
Cria uma pasta dentro de um box. Esse mtodo cria
somente o espao em que ser possvel criar as abas da
pasta. Ele no cria as abas, para cri-las veja o mtodo
AddSheet.
criada uma Folder em um Box especfico ou adicionada
uma folder a um FormField existente.
Parmetros:
Nome

Tipo

Descrio

cIDFolder

Caracteres

ID da Folder
a ser criada

Default

Obrigatrio
X

Referncia

cIDOwner

Caracteres

Id do Owner.
Pode ser um
box ou um
formulrio do
tipo
FormField
que j
contenha
folders (via
estrutura. Ex.
Dic). No
segundo
caso, no
ser criada
outra pasta,
as abas
adicionadas
pasta sero
colocadas
dentro do
FormField,
ao lado
das abas j
existentes da
estrutura de
dados.

""

addSheet
Sintaxe:
FWFORMVIEW():addSheet(< cIDFolder >, < cIDSheet >, <
cTitulo >, < bAction >)-> NIL
Descrio:
Adiciona uma aba dentro de uma folder.
Parmetros:
Nome

Tipo

Descrio

cIDFolder

Caracteres

ID do folder.

Default

Obrigatrio
X

Referncia

cIDSheet

Caracteres

ID para a
Aba.

cTitulo

Caracteres

Titulo da
Aba.

bAction

Bloco de
Cdigo

Bloco de
cdigo
acionado
quando a
Aba for
selecionada.
No recebe
nenhum
parmetro
nem deve
retornar
valor.

Exemplo:
Static Function ViewDef()
Local oModel := ModelDef()
Local oView
Local oStr1:= FWFormStruct(2, 'ZA1')
Local oStr2:= FWFormStruct(2, 'ZA2')
oView := FWFormView():New()
oView:SetModel( oModel )
oView:AddField('ZA1MASTER' , oStr1)
oView:AddGrid('ZA2DETAIL' , oStr2)
oView:CreateHorizontalBox( 'BOX6', 100)
oView:CreateFolder( 'FOLDER7', 'BOX6')
oView:AddSheet('FOLDER7','SHEET9','SHEET9')
oView:CreateHorizontalBox( 'BOXFORM2', 100, , ,
'FOLDER7', 'SHEET9')

oView:AddSheet('FOLDER7','SHEET8','SHEET8')
oView:CreateHorizontalBox( 'BOXFORM4', 100, , ,
'FOLDER7', 'SHEET8')
oView:SetOwnerView('ZA1MASTER','BOXFORM2')
oView:SetOwnerView('ZA2DETAIL','BOXFORM4')
Return
SetOwner
Sintaxe:
FWFORMVIEW():SetOwner(< oOwner >, [ lCloseOnOK ])->
NIL
Descrio:
Seta o Owner (Dialog principal) em que a view deve ser
criada.
Parmetros:
Nome

Tipo

Descrio

oOwner

Objeto

Objeto do
tipo Dialog
(tDialog,
tWindow,
tPanel) que
ser pai dos
objetos
grficos.

Default

Obrigatrio
X

Referncia

lCloseOnOK

Lgico

Se
verdadeiro,
determina
que ao clicar
em OK na
ControlBar
(se ela for
usada)
fechar o
Owner.

.F.

Observaes:
Quando utilizamos o FWBrowse na rotina, no
necessrio implementar a passagem de Owner, pois esta
feita pelo FWBrowse.
GetValue
Sintaxe:
FWFORMVIEW():GetValue(< cIDSubModel >, < cFieldID >, <
nLine >)-> xValue
Descrio:
Retorna o valor de um determinado campo.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cIDSubModel

Caracteres

ID do
submodelo
ou ento do
formulrio
(somente se
os dois forem
iguais).

cFieldID

Caracteres

ID do campo.

Referncia

nLine

Numrico

Nmero da
Linha (caso o
submodelo
seja um
Grid).

Retorno:

xValue Valor do Campo em questo.


CanSetValue
Sintaxe:
FWFORMVIEW():CanSetValue(< cIDSubModel >, < cIdField
>)-> lRet
Descrio:
Retorna se um determinado campo pode ter seu valor
alterado.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cIDSubModel

Caracteres

ID do
submodelo
ou ento do
formulrio
(somente se
os dois forem
iguais).

cIdField

Caracteres

ID do campo.

Retorno:

lRet Set verdadeiro o campo pode ser alterado.


Activate

Referncia

Sintaxe:
FWFORMVIEW():Activate()-> NIL
Descrio:
Inicializa o View. Chama em cascata todos os Activates
dos formulrios, containers e model que estiverem nele.
Esse mtodo deve ser usado quando o componente de
view j est inteiramente configurado e o
model relacionado no est ativo.
Observaes:
Cuidado ao us-lo, pois em loop pode ocorrer perda de
performance.
DeActivate
Sintaxe:
FWFORMVIEW():DeActivate()-> NIL
Descrio:
Desativa os formulrios, containers e model, limpando
todos os dados dos formulrios grficos e dos
submodelos e tambm matando todos os componentes
grficos.
setOperation
Sintaxe:
FWFORMVIEW():setOperation(< nOpe >)-> NIL
Descrio:
Informa qual o modo de operao para o View.

Parmetros:
Nome

Tipo

Descrio

nOpe

Numrico

Nmero da
operao,
podendo ser:
1Visualizao
3 - Insero
4Atualizao
5 - Excluso
9 - Cpia

Default

Obrigatrio

Referncia

Observaes:
O setOperation vale para todos os Views. No possvel
setar cada Field/Grid em uma operao diferente.
EnableControlBar
Sintaxe:
FWFORMVIEW():EnableControlBar(< lSet >)-> NIL
Descrio:
Habilita o uso do ControlBar(Antiga EnchoiceBar).
Parmetros:
Nome

Tipo

Descrio

lSet

Lgico

Se
verdadeiro
habilita o
controlBar.

Default

Obrigatrio
X

Referncia

ButtonOkAction
Sintaxe:
FWFORMVIEW():ButtonOkAction(< lIsOwnerDlg >)-> NIL
Descrio:
Executa a ao que estiver programada para o boto OK.
Parmetros:
Nome

Tipo

Descrio

lIsOwnerDlg

Lgico

Se
verdadeiro,
diz que a o
owner do
view uma
Dialog.

Default

Obrigatrio

Referncia

ButtonCancelAction
Sintaxe:
FWFORMVIEW():ButtonCancelAction()-> NIL
Descrio:
Executa a ao programada para o boto cancelar.
createHorizontalBox
Sintaxe:
FWFORMVIEW():createHorizontalBox(< cID >, <
nPercHeight >, < cIdOwner >, < lFixPixel >, < cIDFolder >, <

cIDSheet >)-> NIL


Descrio:
Cria um box horizontal dentro do container do view. Ele
necessrio para dividir a tela em diversas partes.
Um box horizontal somente pode ser criado dentro de um
box vertical ou ento no painel principal da view.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cID

Caracteres

ID do Box a
ser utilizado.

nPercHeight

Numrico

Valor da
Altura do box
(caso o
lFixPixel seja
verdadeiro
a quantidade
de pixel
exato).

cIdOwner

Caracteres

ID do Box
Vertical pai.
Podemos
fazer
diversas
criaes uma
dentro da
outra.

lFixPixel

Lgico

Determina
que o valor
passado no
parmetro
nPercHeight
corresponde
quantidade
de pixel a ser
usada.

Referncia

cIDFolder

Caracteres

ID da folder
em que
queremos
criar o box.
Esse
parmetro
deve ser
passado
sempre que
o box for
criado
dentro de
uma sheet e,
se passado
esse valor,
necessrio
informar o
parmetro
cIDSheet.

cIDSheet

Caracteres

ID da Sheet
em que
queremos
criar o box.
Esse
parmetro
deve ser
passado
sempre que
o box for
criado
dentro de
uma sheet.

NIL

createVerticalBox
Sintaxe:
FWFORMVIEW():createVerticalBox(< cID >, < nPercHeight
>, < cIdOwner >, < lFixPixel >, < cIDFolder >, < cIDSheet
>)-> NIL
Descrio:
Cria um box vertical dentro do container do view. Ele
necessrio para dividir a tela em diversas partes.

Um box vertical somente pode ser criado dentro de um


box horizontal.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cID

Caracteres

ID do Box a
ser utilizado.

nPercHeight

Numrico

Valor da
Altura do box
(caso o
lFixPixel seja
verdadeiro,
a quantidade
de pixel
exato).

cIdOwner

Caracteres

ID do Box
Horizontal
pai.
Podemos
fazer
diversas
criaes,
uma dentro
da outra.

lFixPixel

Lgico

Determina
que o valor
passado no
parmetro
nPercHeight
corresponde
quantidade
de pixel a ser
usada.

Referncia

cIDFolder

Caracteres

ID da folder
em que
queremos
criar o box.
Esse
parmetro
deve ser
passado
sempre que
o box for
criado
dentro de
uma sheet e,
se passado
esse valor,
necessrio
informar o
parmetro
cIDSheet.

cIDSheet

Caracteres

ID da Sheet
em que
queremos
criar o box.
Esse
parmetro
deve ser
passado
sempre que
o box for
criado
dentro de
uma sheet.

NIL

addIncrementField
Sintaxe:
FWFORMVIEW():addIncrementField(< cIDView >, < cField
>)-> NIL
Descrio:
Adiciona um campo para ser AutoIncremental em um
FormGrid.

Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cIDView

Caracteres

Id do
formulrio
em que o
campo est.
necessrio
ser um
FormGrid.

cField

Caracteres

Id do Campo
que ser
autoincremen
tal.

Referncia

GetViewStruct
Sintaxe:
FWFORMVIEW():GetViewStruct(< cID >)->
oFormViewStruct
Descrio:
Recupera o objeto com a estrutura de dados de um
formulrio.
Parmetros:
Nome

Tipo

Descrio

cID

Caracteres

ID do
formulrio
que se
deseja
recuperar a
estrutura.

Default

Obrigatrio
X

Referncia

Retorno:

oFormViewStruct Objeto com a estrutura de dados.


GetModel
Sintaxe:
FWFORMVIEW():GetModel([ cIDSubModel ])-> oRetorno
Descrio:
Fornece um objeto de submodelo do Model.
Parmetros:
Nome

Tipo

Descrio

cIDSubModel

Caracteres

ID do
submodelo
ou ento do
formulrio
(somente se
os dois forem
iguais).

Default

Obrigatrio

Referncia

Retorno:
oRetorno Objeto do tipo FWFormFieldsModel ou
FWFormGridModel.
SetDescription
Sintaxe:
FWFORMVIEW():SetDescription(< cDescription >)-> NIL
Descrio:
Atribui um texto explicativo sobre o objetivo da view.
O objetivo mostrado em diversos operaes, tais como

web services, relatrios e schemas (xsd).


Parmetros:
Nome

Tipo

Descrio

cDescription

Caracteres

Descrio do
objetivo da
view.

Default

Obrigatrio

Referncia

GetDescription
Sintaxe:
FWFORMVIEW():GetDescription()-> cDescription
Descrio:
Fornece um texto com a descrio do objetivo do View.
Retorno:
cDescription Descrio do objetivo do view.
SetNoInsertLine
Sintaxe:
FWFORMVIEW():SetNoInsertLine(< cIDView >)-> NIL
Descrio:
Especifica que o formulrio do tipo grid no pode receber
insero de linha.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

cIDView

Caracteres

ID do
formulrio
(grid)

SetNoUpdateLine
Sintaxe:
FWFORMVIEW():SetNoUpdateLine(< cIDView >)-> NIL
Descrio:
Especifica que o formulrio do tipo grid no pode receber
alterao na linha.
Parmetros:
Nome

Tipo

Descrio

cIDView

Caracteres

ID do
formulrio
(grid)

Default

Obrigatrio

Referncia

SetNoDeleteLine
Sintaxe:
FWFORMVIEW():SetNoDeleteLine(< cIDView >)-> NIL
Descrio:
Especifica que o formulrio do tipo grid no pode receber
excluso de linha.
Parmetros:

Nome

Tipo

Descrio

cIDView

Caracteres

ID do
formulrio
(grid)

Default

Obrigatrio

Referncia

CanInsertLine
Sintaxe:
FWFORMVIEW():CanInsertLine(< cIDView >)-> lInsertLine
Descrio:
Informa se o grid aceita a insero de novas linhas.
Parmetros:
Nome

Tipo

Descrio

cIDView

Caracteres

ID do
formulrio
(grid)

Default

Obrigatrio

Referncia

Retorno:
lInsertLine Se verdadeiro, a incluso de linhas permitida.
CanUpdateLine
Sintaxe:
FWFORMVIEW():CanUpdateLine(< cIDView >)->
lUpdateLine
Descrio:
Informa se o grid aceita a manuteno nas linhas.

Parmetros:
Nome

Tipo

Descrio

cIDView

Caracteres

ID do
formulrio
(grid)

Default

Obrigatrio

Referncia

Retorno:

lUpdateLine Se verdadeiro a manuteno permitida.


CanDeleteLine
Sintaxe:
FWFORMVIEW():CanDeleteLine(< cIDView >)-> lDeleteLine
Descrio:
Informa se o grid aceita excluso nas linhas.
Parmetros:
Nome

Tipo

Descrio

cIDView

Caracteres

ID do
formulrio
(grid)

Default

Obrigatrio

Referncia

Retorno:

lDeleteLine Se verdadeiro a excluso permitida.


getWhenFields
Sintaxe:
FWFORMVIEW():getWhenFields(< cIDSubModel >)->
aFields

Descrio:
Retorna os campos que precisam ser avaliados no When.
Esse mtodo somente pode ser usado para analisar
submodelos do tipo formField.
Parmetros:
Nome

Tipo

Descrio

cIDSubModel

Caracteres

ID do
submodelo
ou ento do
formulrio
(somente se
os dois forem
iguais).

Default

Obrigatrio

Referncia

Retorno:
aFields Array unidimensional com o ID dos campos.
addUserButton
Sintaxe:
FWFORMVIEW():addUserButton(< cTitle >, < cResource >,
< bBloco >, [ cToolTip ], [ nShortCut ], [ aOptions ])-> NIL
Descrio:
Adiciona botes do desenvolvedor na barra de
ferramentas do formulrio.
Parmetros:
Nome

Tipo

Descrio

cTitle

Caracteres

Ttulo do
Boto

Default

Obrigatrio
X

Referncia

cResource

Caracteres

Nome do
resource
compilado no
RPO que
ser a
imagem do
boto.

bBloco

Bloco de
Cdigo

Bloco de
cdigo que
ser
executado.
Esse bloco
recebe o
objeto
oView(FWFo
rmView)
como
parmetro.

cToolTip

Caracteres

Comentrio
do boto.

nShortCut

Numrico

Cdigo da
Tecla para
criao de
Tecla de
Atalho.

aOptions

Array

Array
unidimension
al com as
operaes
(MODEL_OP
ERATION_VI
EW,MODEL_
OPERATION
_INSERT
,MODEL_OP
ERATION_U
PDATE,MOD
EL_OPERAT
ION_DELET
E)
em que o
boto ser
mostrado. Se
o parmetro
no for
informado,
mostrar em
todos.

CTITLE

{MODEL_OP
ERATION_VI
EW,MODEL_
OPERATION
_INSERT
,MODEL_OP
ERATION_U
PDATE,MOD
EL_OPERAT
ION_DELET
E}

Exemplo:

oView := FWFormView()
bBlocoMagic := {|oView| Myfunction(oView)}
oView:AddUserBotton("Texto abaixo do
boto","MAGIC_BMP",bBlocoMagic,"Comentrio do
boto")
Refresh
Sintaxe:
FWFORMVIEW():Refresh([ cViewID ])-> NIL
Descrio:
Executa o refresh dos componentes Visuais.
Parmetros:
Nome

Tipo

Descrio

Default

cViewID

Caracteres

ID do
formulrio.
Se o
parmetro
no for
passado, o re
fresh
ser
executado
em todos os
componentes
da view.

''

Obrigatrio

Referncia

GetUseControlBar
Sintaxe:
FWFORMVIEW():GetUseControlBar()-> lUseControlBar

Descrio:
Verifica se o uso do ControlBar (Antiga EnchoiceBar) est
habilitado.
Retorno:
lUseControlBar Se verdadeiro o uso est habilitado.
SetCloseOnOk
Sintaxe:
FWFORMVIEW():SetCloseOnOk(< bBlock >)-> NIL
Descrio:
Mtodo que seta um bloco de cdigo para verificar se a
janela deve ou no ser fechada aps a execuo do boto
OK. Se o view estiver vlido, o bloco de cdigo invocado
e recebe como parmetro o View. O bloco deve retornar
verdadeiro para Fechar a janela ou falso para mant-la
aberta.
Parmetros:
Nome

Tipo

Descrio

bBlock

Bloco de
Cdigo

Bloco de
Cdigo a ser
executado.

Default

Obrigatrio

Referncia

SetAfterOkButton
Sintaxe:
FWFORMVIEW():SetAfterOkButton(< bBlock >)-> NIL

Descrio:
Mtodo que seta um bloco de cdigo que ser chamado
no final da execuo do boto OK. O bloco recebe como
parmetro o objeto de View e no precisa retornar nenhum
valor.
Parmetros:
Nome

Tipo

Descrio

bBlock

Bloco de
Cdigo

Bloco de
Cdigo a ser
executado.

Default

Obrigatrio

Referncia

SetViewCanActivate
Sintaxe:
FWFORMVIEW():SetViewCanActivate(< bBlock >)-> NIL
Descrio:
Mtodo que seta um Code-block para ser avaliado antes
de se ativar o View, caso seja necessrio avaliar ou
questionar o usurio sobre algo.
No momento de chamada desse bloco o Model e o View
no esto ativos, portanto no possvel recuperar dados.
O bloco recebe como parmetro o objeto oView e deve
retornar verdadeiro para permitir a ativao. Se retornar
falso, a janela ser fechada.
Parmetros:

Nome

Tipo

Descrio

bBlock

Bloco de
Cdigo

Bloco de
Cdigo a ser
executado.

Default

Obrigatrio

Referncia

ShowLastError
Sintaxe:
FWFORMVIEW():ShowLastError()-> NIL
Descrio:
Mostra o ltimo erro ocorrido.
GetMaxLines
Sintaxe:
FWFORMVIEW():GetMaxLines(< cIDView >)-> nMax
Descrio:
Retorna quantas linhas o um formulrio do tipo grid aceita.
Parmetros:
Nome

Tipo

Descrio

cIDView

Caracteres

Id do
formulrio a
ser
analisado.

Default

Obrigatrio
X

Retorno:
nMax Quantidade mxima de linhas permitidas.

Referncia

SetVldActivate
Sintaxe:
FWFORMVIEW():SetVldActivate()-> NIL
Obsoleto:

Mtodo em desuso. Use o mtodo SetViewCanActivate.


SetAfterViewActivate
Sintaxe:
FWFORMVIEW():SetAfterViewActivate(< bBloco >)-> NIL
Descrio:
Seta um bloco de cdigo que ser chamado depois do
Activate do View. Esse bloco ser apenas executado, o
retorno dele no ser observado.
O bloco de cdigo recebe como parmetro o objeto View.
Parmetros:

Nome

Tipo

Descrio

bBloco

Bloco de
Cdigo

Bloco de
cdigo a ser
chamado.

Default

Exemplo:
bBloco := {|oView| MinhaFunc(oView)}
oView:SetAfterViewActivate(bBloco)

Obrigatrio
X

Referncia

GetbuttonWasPressed
Sintaxe:
FWFORMVIEW():GetbuttonWasPressed()-> nButton
Descrio:
Retorna qual boto causou o fechamento do View (o OK
ou o Cancelar).
Retorno:
nButton Retorna 0 se o botao foi o OK ou 1 se foi o
Cancelar.
HasError
Sintaxe:
FWFORMVIEW():HasError()-> Se
Descrio:
Retorna se o view possui algum erro.
Retorno:
Se verdadeiro, o view possui algum erro pendente.
AddOtherObject
Sintaxe:
FWFORMVIEW():AddOtherObject(< cViewID >, [ bActivate
], [ bDeActivate ], < bRefresh >)-> NIL
Descrio:
Adiciona um painel em que possvel adicionar
componentes que no sejam MVC.

Parmetros:
Nome

Tipo

Descrio

cViewID

Caracteres

ID do painel
otherObject.

bActivate

Bloco de
Cdigo

Bloco
chamado no
Activate do
painel. Deve
ser usado
para criar os
componentes
do painel.
O bloco
recebe como
parmetro o
painel em
que sero
criados os
componentes
.

bDeActivate

Bloco de
Cdigo

Bloco
chamado no
DeActivate
do painel.
Deve ser
usado para
matar os
objetos
criados no
painel. O
bloco recebe
como
parmetro o
painel em
que sero
criados os
componentes
.

Default

Obrigatrio
X

Referncia

bRefresh

Bloco de
Cdigo

Bloco
chamado no
Refresh do
painel. O
bloco recebe
como
parmetro o
painel em
que esto os
componentes
.

Exemplo:

Static Function ViewDef()


// Cria a estrutura a ser usada na View
Local oStruZA1 := FWFormStruct( 2, 'ZA1' )
Local oModel := FWLoadModel( 'COMP021G_MVC' )
Local oView
Local oGrafPizza
Local oGrafBar
oView := FWFormView():New()
oView:SetModel( oModel )
oView:AddField( 'VIEW_ZA1', oStruZA1, 'ZA1MASTER' )
oView:AddOtherObject("OTHER_PIZZA", {|oPanel|
GrafPizza(oPanel)})
oView:CreateHorizontalBox( 'SUPERIOR', 53 )
oView:CreateHorizontalBox( 'INFERIOR', 47)
oView:SetOwnerView( 'VIEW_ZA1', 'SUPERIOR' )

oView:SetOwnerView("OTHER_PIZZA",'INFERIOR')
Return oView
GetOperation
Sintaxe:
FWFORMVIEW():GetOperation()-> nOperation
Descrio:
Retorna a operao que est definida no model.
Retorno:
nOperation Indica a operao, sendo:
1 - View
3 - Insert
4 - Update
5 - Delete
6 - Only Update
EnableTitleView
Sintaxe:
FWFORMVIEW():EnableTitleView(< cViewID >, [ cTitle ])->
NIL
Descrio:
Cria um ttulo para um formulrio. (Pode ser usado
somente para grid e field).
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

cViewID

Caracteres

ID do
formulrio.

cTitle

Caracteres

Ttulo para o
formulrio.

X
OMODEL:GE
TDESCRIPTI
ON()

SetViewProperty
Sintaxe:
FWFORMVIEW():SetViewProperty(< cViewID >, < cAction >,
< aParam >)-> NIL
Descrio:
Seta uma propriedade especfica para um formulrio do
tipo Grid ou Field.
Parmetros:
Nome

Tipo

Descrio

cViewID

Caracteres

ID do
formulrio.
Caso seja
passado um
*, a
propriedade
ser alterada
em todos os
formulrios.
Verifique as
observaes
para saber
quais
propriedades
aceitam essa
opo.

Default

Obrigatrio
X

Referncia

cAction

Caracteres

ID da
propriedade.
Verifique as
observaes
para
visualizar
todas
as opes
disponveis.

aParam

Array

Array com os
parmetros a
serem
passados
para a
propriedade.
Verifique as
observaes
para detalhes
sobre os
parmetros
em cada
item.

Observaes:
Lista de propriedades disponveis:
-------------------------------------------------------|
| SETLAYOUT
| Tipo de formulrio: FormField
| Descrio: Define o layout da FormField
| aParam : Deve ser passado um array com a
estrutura abaixo:
|
[1] ExpN: Tipo de Layout. Use o
FWEditPanel.CH e passe
|
uma das opes abaixo:
|
FF_LAYOUT_VERT_DESCR_TOP - Vertical
com descrio acima do get

|
LAYOUT_VERT_DESCR_LEFT - Vertical
com descrio esquerda
|
FF_LAYOUT_HORZ_DESCR_TOP Horizontal com descrio acima do get
|
FF_LAYOUT_HORZ_DESCR_LEFT Horizontal com descrio esquerda
|
[2] ExpN: Quantidade de colunas
|
[3] ExpN: Largura da coluna
| Exemplo: oView:SetViewProperty( "ZA1MASTER",
"SETLAYOUT", { FF_LAYOUT_HORZ_DESCR_TOP , 5 } )
|
-------------------------------------------------------|
| ENABLEDGRIDDETAIL
| Tipo de formulrio: FormGrid
| Descrio: Divide o box do formGrid, criando abaixo
dele
|
um formulrio do tipo formField baseado no
grid.
| aParam : Deve ser passado um array com a
estrutura abaixo.
|
Se o array no for passado o percentual
padro 50%:
|
[1] ExpN: Percentual que o detail vai ocupar do
box do grid.
| Exemplo: oView:SetViewProperty( 'VIEW_ZA2',
"ENABLEDGRIDDETAIL", { 20 } )
|
-------------------------------------------------------|
| CHANGELINE
| Tipo de formulrio: FormGrid

| Descrio: Define um bloco de cdigo que ser


executado na troca de linha do grid.
| aParam : Deve ser passado um array com a
estrutura abaixo:
|
[1] ExpB: O bloco recebe como parmetro a
View e o ID do formulrio.
| Exemplo: oView:SetViewProperty( 'VIEW_ZA2',
"CHANGELINE", {{ |oView, cViewID| ChangeLine(oView,
cViewID) }} )
|
-------------------------------------------------------|
| SETCOLUMNSEPARATOR
| Tipo de formulrio: FormField
| Descrio: Define a distncia entre as colunas.
| aParam : Deve ser passado um array com a
estrutura abaixo:
|
[1] ExpN: Tamanho da distncia em pixel
| Exemplo: oView:SetProperty("ZA1MASTER",
"SETCOLUMNSEPARATOR", {40})
|
-------------------------------------------------------|
| ONLYVIEW
| Tipo de formulrio: FormGrid e FormField
| Aceita o uso de * no ID.
| Descrio: Define que os campos do formulrio
no permitem edio de dados, so somente para
visualizao.
| aParam : No possui, no precisa ser passado.
| Exemplo: oView:SetProperty("ZA1MASTER",
"ONLYVIEW")

|
-------------------------------------------------------|
| DISABLELOOKUP
| Tipo de formulrio: FormGrid e FormField
| Aceita o uso de * no ID.
| Descrio: Define que a consulta padro dos
campos do formulrio ser desabilitada.
| aParam : No possui, no precisa ser passado.
| Exemplo: oView:SetProperty("ZA1MASTER",
"DISABLELOOKUP")
|
-------------------------------------------------------|
| ENABLENEWGRID
| Tipo de formulrio: FormGrid
| Aceita o uso de * no ID.
| Descrio: Define que o grid deve usar o
browse como interface visual (FWBrowse)
| aParam : No possui, no precisa ser passado.
| Exemplo: oView:SetProperty("VIEW_ZA2",
"ENABLENEWGRID")
|
-------------------------------------------------------|
| SIZEMEMO
| Tipo de formulrio: FormField
| Descrio: Define um novo tamanho para um
campo MEMO
| aParam : Deve ser passado um array com a
estrutura abaixo:
|
[1] ExpN: Nome do Campo

|
[2] Array com tamanho da linha e coluna
|
[2][1] ExpN: Tamanho da linha
|
[2][2] ExpN: Tamanho da coluna
| Exemplo: oView:SetViewProperty("ZA1MASTER",
"SIZEMEMO", {SA1_MEMO , {9, 300}})
|
-------------------------------------------------------|
| GRIDFILTER
| Tipo de formulrio: FormGrid habitado com o
ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrio: Define se ser exibida ou no a opo
de filtro no grid.
| aParam : Deve ser passado um array com a
estrutura abaixo.
|
Se o array no for passado, o default exibir
|
o filtro no grid:
|
[1] ExpL: Se Verdadeiro habilita, Se falso
desabilita
| Exemplo: oView:SetProperty("VIEW_ZA2",
"GRIDFILTER", {.T.})
|
-------------------------------------------------------|
| GRIDSEEK
| Tipo de formulrio: FormGrid habitado com o
ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrio: Define se ser ou no exibida a opo
de pesquisa no grid.
| aParam : Deve ser passado um array com a

estrutura abaixo.
|
Se o array no for passado, o default exibir
|
a pesquisa no grid:
|
[1] ExpL: Se Verdadeiro habilita, Se falso
desabilita
| Exemplo: oView:SetProperty("VIEW_ZA2",
"GRIDSEEK", {.T.})
|
-------------------------------------------------------|
| GRIDROWHEIGHT
| Tipo de formulrio: FormGrid habitado com o
ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrio: Define a altura da linha do grid.
| aParam : Deve ser passado um array com a
estrutura abaixo:
|
[1] ExpN: Altura da linha
| Exemplo: oView:SetProperty("VIEW_ZA2",
"GRIDROWHEIGHT", {40})
|
-------------------------------------------------------|
| GRIDVSCROLL
| Tipo de formulrio: FormGrid habitado com o
ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrio: Define se ser exibida ou nao o scroll
vertical do grid
| aParam : Deve ser passado um array com a
estrutura abaixo.
|
Se o array no for passado, o default exibir

|
o scroll no grid:
|
[1] ExpL: Se Verdadeiro exibe, Se falso no
exibe
| Exemplo: oView:SetProperty("VIEW_ZA2",
"GRIDVSCROLL", {.F.})
|
-------------------------------------------------------|
| GRIDCANGOTFOCUS
| Tipo de formulrio: FormGrid habitado com o
ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrio: Define se grid pode receber foco.
| aParam : Deve ser passado um array com a
estrutura abaixo.
|
Se o array no for passado, o default
permitir
|
o foco no grid:
|
[1] ExpL: Se Verdadeiro habilita, Se falso
desabilita
| Exemplo: oView:SetProperty("VIEW_ZA2",
"GRIDCANGOTFOCUS", {.F.})
|
-------------------------------------------------------|
| SETCSS
| Tipo de formulrio: FormGrid habitado com o
ENABLENEWGRID
| Aceita o uso de * no ID.
| Descrio: Define um CSS para o grid.
| aParam : Deve ser passado um array com a
estrutura abaixo:

|
[1] ExpC: CSS para o componente
| Exemplo: oView:SetProperty("VIEW_ZA2",
"SETCSS", {cCSS})
|
-------------------------------------------------------SetFieldProperty
Sintaxe:
FWFORMVIEW():SetFieldProperty(< cViewID >, < cFieldID
>, < cAction >, < aparam >)-> NIL
Descrio:
Seta uma propriedade especfica em um campo do
formulrio, em tempo de execuo.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cViewID

Caracteres

ID do
formulrio.

cFieldID

Caracteres

ID do campo
a se alterar.

cAction

Caracteres

ID da
propriedade.
Verifique as
observaes
para maiores
detalhes.

Referncia

aparam

Array

Com os
parmetros a
serem
passados
para a
propriedade.
Verifique as
observaes
para detalhes
sobre os
parmetros
em cada
item.

Observaes:
Lista de propriedades disponveis:
-------------------------------------------------------|
| COMBOVALUES
| Descrio: Altera as opes de combo do campo.
| aParam : Deve ser passado um array
unidimensional com os novos valores.
| Exemplo:
oView:SetFieldProperty("ZA1MASTER","BUTTON_0","CO
MBOVALUES",{aValues})
|
-------------------------------------------------------SetOnlyView
Sintaxe:
FWFORMVIEW():SetOnlyView(< cIDView >)-> NIL
Descrio:
Define que o formulrio e o submodelo no podem ter

alterao nos campos.


Esse mtodo difere do setviewproperty "ONLYVIEW", pois
o setviewproperty realiza a alterao apenas no
formulrio, deixando o submodelo editvel.
Parmetros:
Nome

Tipo

Descrio

cIDView

Caracteres

ID do
formulrio

Default

Obrigatrio

Referncia

LineShift
Sintaxe:
FWFORMVIEW():LineShift(< cIDView >, [ nLineFrom ], [
nLineTo ])-> NIL
Descrio:
Realiza uma troca de dados entre duas linhas. Os dados
da linha origem sero movidos para a linha destino e os
dados da linha destino sero movidos para a linha origem.
Se a linha atualmente posicionada a origem ou o destino,
o nmero da linha posicionada ser mudado para o
nmero da origem ou do destino, porque os dados so
trocados porm a linha ainda precisa
ser validada.
O mtodo somente pode ser usado para formulrios do
tipo grid.
Parmetros:

Nome

Tipo

Descrio

Default

cIDView

Caracteres

ID do
formulrio do
grid.

nLineFrom

Numrico

Nmero da
linha de
origem.

::GETLINE(C
IDVIEW)

nLineTo

Numrico

Nmero da
linha de
destino.

::GETLINE(C
IDVIEW)

IsActive
Sintaxe:
FWFORMVIEW():IsActive()-> lActivate
Descrio:
Retorna se o view est ativo.
Retorno:
lActivate Se verdadeiro est ativo.
GetBrowseOpc
Sintaxe:
FWFORMVIEW():GetBrowseOpc()-> nOpc
Descrio:
Retorna a opo selecionada via Browse.
Retorno:
nOpc Nmero da opo.
SetViewAction
Sintaxe:

Obrigatrio

Referncia

FWFORMVIEW():SetViewAction(< cActionlID >, < bAction


>)-> NIL
Descrio:
Define uma ao a ser executada em determinados pontos
da View.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

cActionlID

Caracteres

ID do ponto
da ao a ser
executada,
que pode
ser:
REFRESH Executa a
ao no
Refresh da
View.
BUTTONOK
- Executa a
ao no
acionamento
do boto
confirmar da
View.
BUTTONCA
NCEL Executa a
ao no
acionamento
do boto
cancelar da
View.
DELETELIN
E - Executa a
ao na
deleo da
linha da grid.
UNDELETEL
INE Executa a
ao na
restaurao
da linha da
grid.

bAction

Bloco de
Cdigo

Bloco com a
ao a ser
executada.
Recebe
como
parmetro:
REFRESH Recebe
como parm
etro o objeto
de View.
BUTTONOK
- Recebe
como parm
etro o objeto
de View.
BUTTONCA
NCEL Recebe
como parm
etro o objeto
de View.
DELETELIN
E - Recebe
como parm
etro o objeto
de View, Id
do
Submodelo e
Nmero da
linha.
UNDELETEL
INE - Recebe
como parm
etro o objeto
de View, Id
do
Submodelo e
Nmero da
linha.

Exemplo:
oView:SetViewAction( 'BUTTONOK' , { |oView| SuaFuncao(
oView ) } )
oView:SetViewAction( 'BUTTONCANCEL', { |oView|
OutraFuncao( oView ) } )

oView:SetViewAction( 'DELETELINE', {
|oView,cIdView,nNumLine| OutraFuncao(
oView,cIdView,nNumLine ) } )
SetFieldAction
Sintaxe:
FWFORMVIEW():SetFieldAction(< cIDField >, < bAction
>)-> NIL
Descrio:
Define uma ao a ser executada aps a validao do
campo.
Como o formulrio no passado, se existir mais de um
formulrio com o mesmo campo, o campo verificado ser
o primeiro que for encontrado.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cIDField

Caracteres

ID campo,
pode ser um
campo de
qualquer
formulrio da
view.

bAction

Bloco de
Cdigo

Bloco com a
ao a ser
executada.
Recebe
como
parmetro o
objeto de
View,
o ID do
formulrio, o
ID do campo
e o contedo
do campo.

Referncia

Exemplo:
oView:SetFieldAction( 'A1_COD', { |oView, cIDView, cField,
xValue| SuaFuncao( oView, cIDView, cField, xValue ) } )
HasField
Sintaxe:
FWFORMVIEW():HasField(< cIDView >, < cIdField >)-> Se
Descrio:
Informa se um determinado campo existe na estrutura de
dados de um formulrio.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

cIDView

Caracteres

Id do
formulrio

cIdField

Caracteres

Id do campo

Referncia

Retorno:
Se verdadeiro, o campo existe na estrutura de dados.
Exemplo:
If oView:HasField( "VIEW_SA1", "A1_COD" )
...
EndIf
GetCurrentSelect
Sintaxe:

FWFORMVIEW():GetCurrentSelect()-> Array
Descrio:
Obtem o ID do ltimo campo que obteve foco na view.
Retorno:
Array com a estrutura abaixo:
[1] ExpC: ID do formulrio
[2] ExpC: ID do campo
ShowHelpInView
Sintaxe:
FWFORMVIEW():ShowHelpInView()-> NIL
Descrio:
Uso interno.
GetFolderActive
Sintaxe:
FWFORMVIEW():GetFolderActive(< cID >, < nType >)->
aInfo
Descrio:
Obtm o Nmero e o Ttulo da aba selecionada em uma
Pasta.
No View existem dois tipos de pastas: as criadas
atravs do mtodo createFolder e as provenientes da
estrutura de dados que h dentro de um formulrio do tipo
FormField.
O mtodo analisa os dois tipos de pastas, de acordo com
o valor informado no segundo parmetro.
Parmetros:

Nome

Tipo

Descrio

Default

cID

Caracteres

ID do
formulrio do
tipo
FormField ou
ID da Folder

nType

Numrico

Tipo de
Folder [ 1 Estrutura de
Dados(Form
Field) | 2 View(Mtodo
CreateFolder
)]

Retorno:

aInfo Array com a estrutura abaixo:


[1] ExpN: Nmero da aba
[2] ExpC: Ttulo da aba
Exemplo:
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')

Obrigatrio

Referncia

oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , ,
'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , ,
'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:AddUserButton( 'Select Folder Estrutura de Dados',
'TESTE FOLDER', {|oView| Folder1(oView) } )
oView:AddUserButton( 'Select Folder View' , 'TESTE
FOLDER', {|oView| Folder2(oView) } )
oView:AddUserButton( 'Get Folders Active', 'TESTE
FOLDER', {|oView| Folder3(oView) } )
Return oView
Static Function Folder1(oView)
oView:SelectFolder("FORM1",4,1)
Return

Static Function Folder2(oView)


oView:SelectFolder("FOLDER","Aba 1",2)
Return
Static Function Folder3(oView)
Local aInfo
aInfo := oView:GetFolderActive("FORM1", 1)
Alert( "FORM1 - Aba Ativa: " + aInfo[2] )
aInfo := oView:GetFolderActive("FOLDER", 2)
Alert( "FOLDER - Aba Ativa: " + aInfo[2] )
Return
Veja tambm:
SelectFolder
SelectFolder
Sintaxe:
FWFORMVIEW():SelectFolder(< cID >, < xFolder >, < nType
>)-> NIL
Descrio:
Seleciona e exibe a aba de uma pasta. Pode ser usado
tanto para as pastas provenientes da estrutura de dados
que h dentro de um formulrio do tipo FormField, quanto
para as pastas criadas no view
por meio do mtodo CreateFolder.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

cID

Caracteres

ID do
formulrio do
tipo
FormField ou
ID da Folder.

xFolder

Qualquer

Nmero da
Aba ou Ttulo
dela.

nType

Numrico

Tipo de
Folder [ 1 Estrutura de
Dados(Form
Field) | 2 View(Mtodo
CreateFolder
)]

Exemplo:
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })

oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , ,
'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , ,
'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:AddUserButton( 'Select Folder Estrutura de Dados',
'TESTE FOLDER', {|oView| Folder1(oView) } )
oView:AddUserButton( 'Select Folder View' , 'TESTE
FOLDER', {|oView| Folder2(oView) } )
oView:AddUserButton( 'Get Folders Active', 'TESTE
FOLDER', {|oView| Folder3(oView) } )
Return oView
Static Function Folder1(oView)
oView:SelectFolder("FORM1",4,1)
Return
Static Function Folder2(oView)
oView:SelectFolder("FOLDER","Aba 1",2)
Return

Static Function Folder3(oView)


Local aInfo
aInfo := oView:GetFolderActive("FORM1", 1)
Alert( "FORM1 - Aba Ativa: " + aInfo[2] )
aInfo := oView:GetFolderActive("FOLDER", 2)
Alert( "FOLDER - Aba Ativa: " + aInfo[2] )
Return
Veja tambm:
GetFolderActive
HideFolder
Sintaxe:
FWFORMVIEW():HideFolder(< cID >, < xFolder >, < nType
>)-> NIL
Descrio:
Oculta uma aba de uma pasta. Pode ser usado tanto para
as pastas provenientes da estrutura de dados que h
dentro de um formulrio do tipo FormField quanto para as
pastas criadas no view
por meio do mtodo CreateFolder.
Parmetros:
Nome

Tipo

Descrio

cID

Caracteres

ID do
formulrio do
tipo
FormField ou
ID da Folder

Default

Obrigatrio
X

Referncia

xFolder

Qualquer

Nmero da
Aba ou Ttulo
dela.

nType

Numrico

Tipo de
Folder [ 1 Estrutura de
Dados(Form
Field) | 2 View(Mtodo
CreateFolder
)]

Exemplo:

Static Function ModelDef()


Local oModel
Local oStr1:= FWFormStruct(1,'SA1')
oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)

oView:CreateFolder( 'FOLDER', 'BOX3')


oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , ,
'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , ,
'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:AddUserButton( 'Hide Folder', 'TESTE FOLDER',
{|oView| HideFolder(oView) } )
Return oView
Static Function HideFolder(oView)
oView:HideFolder("FOLDER","Aba 1",2)
oView:HideFolder("FORM1",1,1)
Return
DisableGoBackFolders
Sintaxe:
FWFORMVIEW():DisableGoBackFolders()-> NIL
Descrio:
Desabilita o retorno dos folders do view para a primeira
aba aps a incluso de registros.
SetProgressBar

Sintaxe:
FWFORMVIEW():SetProgressBar(< lValue >)-> NIL
Descrio:
Ativa ou desativa o uso da MsgRun na carga do
formulrio. Utilize em rotina em que a carga pode demorar
muito.
Parmetros:
Nome

Tipo

Descrio

lValue

Lgico

Se
verdadeiro,
habilita o
uso.

Default

Obrigatrio

Referncia

GetProgressBar
Sintaxe:
FWFORMVIEW():GetProgressBar()-> lValue
Descrio:
Informa se o view est configurado para usar a MsgRun na
carga dos dados dos formulrios.
Retorno:
lValue Se verdadeiro, o uso est habilitado.
SetTimer
Sintaxe:
FWFORMVIEW():SetTimer(< nInterval >, < bAction >)-> NIL

Descrio:
Define um timer para a janela do view.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

nInterval

Numrico

Indica o
intervalo, em
milissegundo
s, para
disparar o
bloco de
cdigo do
Timer.

bAction

Bloco de
Cdigo

Indica o
bloco de
cdigo que
ser
executado a
cada
intervalo
definido.

Referncia

GetXMLLayout
Sintaxe:
FWFORMVIEW():GetXMLLayout([ lHtm ], < lEmbeded >, [
lDocType ], [ cInitJs ], [ cDirCss ], [ cDirJs ], [
lImgEmbedded ], [ lLoad ], [ lLookUp ])-> aRet
Descrio:
Retorna uma string no formato XSLT com base nas
caracteristicas da view.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

lHtm

Lgico

Indica se o la
yout deve ser
gerado como
HTML.

.F.

lEmbeded

Lgico

Indica se o
javascript e
css sero
embutidos no
layout.

lDocType

Lgico

Indica se
gera o HTML
com a tag
DOCTYPE
(enviar falso
para o ECM).

.T.

cInitJs

Caracteres

Javascript
que deve ser
executado no
load do
HTML.

""

cDirCss

Caracteres

Indica o
diretrio do
css para
inserir no
HTML.

""

cDirJs

Caracteres

Indica o
diretrio do
javascript
para inserir
no HTML.

""

lImgEmbedd
ed

Lgico

Indica se as
imagens do
css sero
embutidas.

.T.

lLoad

Lgico

Indica se cria
os inputs
com os
valores do
model.

.F.

lLookUp

Lgico

Indica se cria
opo de
lookup.

.F.

Retorno:

aRet Array com o(s) arquivo(s) do layout (html, js e css

dependendo dos parmetros)


GetModelsIds
Sintaxe:
FWFORMVIEW():GetModelsIds()-> aRetorno
Descrio:
Retorna a lista de submodelos relacionados no view.
Retorno:
aRetorno Array unidimensional com os IDs dos
submodelos.
Destroy
Sintaxe:
FWFORMVIEW():Destroy()-> NIL
Descrio:
Remove todas referncias circulares dos objetos criados
na view.
O mtodo somente pode ser chamado depois do
deactivate.
S necessrio o uso desse mtodo se o view foi
instanciado mo, se o view usado com FWExecView ou
ento com o browse, o mtodo destroy chamado
internamente.
SetVldFolder
Sintaxe:
FWFORMVIEW():SetVldFolder(< bVldFolder >)-> NIL

Descrio:
Executa ao quando uma aba selecionada em qualquer
folder da View.
Parmetros:
Nome

Tipo

Descrio

Default

Obrigatrio

Referncia

bVldFolder

Bloco de
Cdigo

Bloco a ser
executado
quando uma
aba
selecionada.
Deve
retornar um
booleano.
Caso o bloco
retorne falso,
no ser
alterada a
aba que est
selecionada.
O bloco ir
receber 3
parmetros:
cFolderID:
ID do folder
(quando for
criado pelo
desenvolved
or atravs do
mtodo
AddFolder)
ou ID
formulrio do
tipo Formfield
(quando a
pasta for
proveniente
da estrutura
de dados).
nOldSheet:
Sheet que
estava
selecionada.
nSelSheet:
Sheet em
que o usurio
clicou.

Exemplo:
Static Function ModelDef()
Local oModel
Local oStr1:= FWFormStruct(1,'SA1')

oModel := MPFormModel():New('MODEL')
oModel:SetDescription('teste')
oModel:addFields('FIELD1',,oStr1)
Return oModel
Static Function ViewDef()
Local oView
Local oModel := ModelDef()
Local oStr1:= FWFormStruct(2, 'SA1')
oView := FWFormView():New()
oView:SetModel(oModel)
oView:AddField('FORM1' , oStr1,'FIELD1' )
oView:AddOtherObject('FORM8',{|| },{|| })
oView:AddOtherObject('FORM10',{|| },{|| })
oView:CreateHorizontalBox( 'BOXFORM1', 50)
oView:CreateHorizontalBox( 'BOX3', 50)
oView:CreateFolder( 'FOLDER', 'BOX3')
oView:AddSheet('FOLDER','ABA1','Aba 1')
oView:AddSheet('FOLDER','ABA2','Aba 2')
oView:CreateHorizontalBox( 'BOXFORM10', 100, , ,
'FOLDER', 'ABA2')
oView:CreateHorizontalBox( 'BOXFORM8', 100, , ,
'FOLDER', 'ABA1')
oView:SetOwnerView('FORM1','BOXFORM1')
oView:SetOwnerView('FORM8','BOXFORM8')
oView:SetOwnerView('FORM10','BOXFORM10')
oView:SetVldFolder({|cFolderID, nOldSheet, nSelSheet|
VldFolder(cFolderID, nOldSheet, nSelSheet)})

Return oView
Static Function VldFolder(cFolderID, nOldSheet,
nSelSheet)
Local lRet := .T.
If nOldSheet == 1 .And. nSelSheet == 2
Help( ,, 'Help',, 'No permitido selecionar a aba 2 se
voc estiver na aba 1.', 1, 0 )
lRet := .F.
EndIf
Return lRet

Você também pode gostar