Árvore de páginas

Versões comparadas

Chave

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

...

ProcedureParâmetrosDescriçãoExemplo/Utilização
pi-atualizaTreeview
Faz uma atualização/refresh do treeview.
RUN pi-atualizaTreeview.
pi-create-node

ParâmetrosTipoDescrição
IpcKeCharChave do node
IpcKeParCharPai do node
IpcLabelCharLabel do node
IpcIcoCharIcone do node
IpcOptnCharParâmetros do node



Cria um node no treeview.

O pcOptn é uma lista de parâmetros que sao separados por chr(1).

Valores válidos para o pcOtn:

ParâmetroDescrição
expendedInicia o node expendido
collapsedInicia o node fechado (não expandido) - opção default
selectedSeleciona o node ate o próximo refresh
refreshRealiza o refresh do treeview
AutoSort=yes/noLiga ou desliga a ordenação do treeview
font=nDefine uma fonte para o node
fgcolor=nDefine uma cor de frente para o node
bgcolor=nDefine uma cor de fundo para o node
tooltip=xxxDefine um help para o node
DO ON ERROR UNDO, LEAVE:
    RUN pi-create-node 
("n1","","node 1","","") NO-ERROR.
    RUN pi-create-node 
("n2","","node 2","","expanded") NO-ERROR.
END.
pi-update-node

ParâmetroTipoDescrição
IcChaveCharChave do node a mover
IcFieldNamesCharList de campos, exemplo: "lab,ico"
IcFieldValuesCharLista de valores separados por chr(1)
IcParamCharParâmetros do node

Atualiza o label, icone ou a lista de opcoes de um determinado node.

Para remover um item do pcOptn existente, coloque "!" na frente da opção, conforme o exemplo abaixo:

pcOptn="!font"

A opção acima removerá o fonte definido para o node.

ASSIGN cFgColor = "font=1".
RUN pi-update-node
(c-codigo-node, "", "", cFgColor) NO-ERROR.
tvNodeEvent

ParâmetroTipoDescrição
IpcEventCharEvento que aconteceu
IpcNodeKeyCharChave do node

Procedure auxiliar que é assinada no treeview, onde todos os eventos que ocorrerem no treeview chamarão esta procedure.

Voce não precisa chamar esta procedure diretamente, pois quem irá chamá-la é o treeview.

Nesta procedure serão alimentados as variáveis c-codigo-node e h-node com o pcNodeKey, que é a chave do node selecionado.


pi-ClickTreeview
Esta é uma procedure que é chamada pelo tvNodeEvent e deve ser criada no seu programa, pois neste ponto que você deverá utilizar o c-codigo-node e h-node, que é a chave do node, e fazer os seus procedimentos necessários para atualizar frames e utilizar o node selecionado.

...

Abaixo temos as principais procedures do TreeView:

ProcedureParâmetrosDescriçãoExemplo/Utilização
addNode *

ParâmetrosTipoDescrição
IpcKeCharChave do node
IpcKeParCharPai do node
IpcLabelCharLabel do node
IpcIcoCharIcone do node
IpcOptnCharParâmetros do node

Adiciona um node no treeview.

Se o node for adicionado a um

node pai, ele será o último filho.

DO ON ERROR UNDO, LEAVE:
  RUN addNode IN h-treeview ("n1","","
node 1
node1","","") NO-ERROR.
  RUN addNode IN h-treeview ("n2","","
node 2
node2","","expanded") NO-ERROR.
  RUN addNode IN h-treeview ("n21","n2","
node 21
node21","","") NO-ERROR.
  RUN addNode IN h-treeview ("n22","n2","
node 22
node22","
image/treeview/book02.bmp
","expanded").
  RUN addNode IN h-treeview ("n221","n22","
node 221
node221","image
/treeview
/book02.bmp","").
  RUN addNode IN h-treeview ("n222","n22","
node 222
node222","image/
treeview/
book02.bmp","").
  RUN addNode IN h-treeview ("n3","","
node 3
node3","
image/treeview/
present1.bmp","expanded").
  RUN addNode IN h-treeview ("n31","n3","
node 31
node31","image/
treeview/
$.bmp","").
  RUN addNode IN h-treeview ("n4","","
node 4
node4","image/
treeview/
smile56.bmp","").
END.
applyEntryPassar o parâmetro vazio ("")Faz um entry no treeview
RUN applyEntry IN h-treeview (INPUT "").
deleteNode

ParâmetroTipoDescrição
IpcKeCharChave do node
IpcOptnCharParâmetros do node
Elimina um node de uma chave especificada.
RUN deleteNode IN h-treeview (c-codigo-node, "refresh").
destroyObject
Elimina o treeview da memória.
IF VALID-HANDLE(h-treeview) THEN DO:
       RUN destroyObject IN h-treeview.
       DELETE PROCEDURE h-treeview NO-ERROR.
END.
emptyTree
Zera o conteúdo da treeview.
RUN emptyTree IN h-treeview NO-ERROR.
enableObject
Habilita o treeview
RUN enableObject IN h-treeview NO-ERROR.
expandBranch

ParâmetroTipoDescrição
IpcKeCharChave do node
Expande o node e todos os filhos dele
RUN expandBranch IN h-treeview (c-codigo-node) NO-ERROR.
getFrameTreeview

ParâmetroTipoDescrição
OhFrameHandleHandle da frame do treeview
Retorna o handle da frame do treeview
RUN getFrameTreeview IN h-treeview (OUTPUT hFrameTV).
getNodeDetails

ParâmetroTipoDescrição
IpcKeCharChave do node
Retorna detalhes de um node do treeview
RUN getNodeDetails IN h-treeview (c-codigo-node, OUTPUT hNdBf).
MESSAGE 
    "id:" hNdBf:BUFFER-FIELD("id"):BUFFER-VALUE SKIP
    "label:" hNdBf:BUFFER-FIELD("lab"):BUFFER-VALUE SKIP
    "ico:" hNdBf:BUFFER-FIELD("ico"):BUFFER-VALUE SKIP
    "level:" hNdBf:BUFFER-FIELD("level"):BUFFER-VALUE SKIP
    "param:" hNdBf:BUFFER-FIELD("par"):BUFFER-VALUE SKIP
    "prev-sibling:" hNdBf:BUFFER-FIELD("pre"):BUFFER-VALUE SKIP
    "next-sibling:" hNdBf:BUFFER-FIELD("nex"):BUFFER-VALUE SKIP
    "expanded:" hNdBf:BUFFER-FIELD("expanded"):BUFFER-VALUE SKIP
    "optn:" hNdBf:BUFFER-FIELD("optn"):BUFFER-VALUE
    VIEW-AS ALERT-BOX INFO BUTTONS OK.
DELETE OBJECT hNdBf.
initializeObject
Inicializa o treeview
RUN initializeObject IN h-treeview.
moveNode

ParâmetroTipoDescrição
IpcKeCharChave do node a mover
IpcToKeCharMover para o node
IpcModeCharModos possíveis: after, before, parent
IpcOptnCharOpção possível: refresh
Move um node origem como filho de outro node destino. Caso o pcMode = "parent" e o node destino seja em branco, ele jogara o node origem como o último node do nível 0.
RUN moveNode IN h-treeview 
(c-codigo-node, c-codigo-node-pai, "after", "refresh") NO-ERROR.

updateNode *



ParâmetroTipoDescrição
IpcKeCharChave do node a mover
IpcFieldNamesCharList de campos, exemplo: "lab,ico"
IpcFieldValuesCharLista de valores separados por chr(1)
IpcOptnCharParâmetros do node
Atualiza o label, icone ou a lista de opcoes de um determinado node.
RUN updateNode IN h-treeview 
(c-codigo-node, "", "", cFgColor) NO-ERROR.

* = Procedures chamadas pelo facilitador

...