Histórico da Página
...
Variável | Tipo | Descrição |
---|---|---|
h-4gltreeview | Handle | Contem o handle da instância do TreeView |
c-codigo-node | Char | Contem o pcKe (chave) do node selecionado |
cImage | Char | Contem a imagem que será apresentada no node |
cFgColor | Char | Contem a cor de frente do node |
cFont | Char | Contem o código da fonte utilizada no node |
cExpClp | Char | Expande ou fecha o node |
Procedure | Parâmetros | Descrição | Exemplo/Utilização | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pi-create-node |
| Cria um node no TreeView. O pcOptn é uma lista de parâmetros que são separados por chr(1). Valores válidos para o pcOptn:
| DO ON ERROR UNDO, LEAVE: RUN pi-create-node RUN pi-create-node END. | ||||||||||||||||||||||||||||||||||||||
pi-update-node |
| Atualiza o label, ícone ou a lista de opções 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". | ||||||||||||||||||||||||||||||||||||||
pi-node-is-expanded |
| Retorno "YES" ou "NO" indicando se o node está expandido. | RUN pi-node-is-expanded | ||||||||||||||||||||||||||||||||||||||
pi-atualizaTreeview | Faz uma atualização/refresh do TreeView. | RUN pi-atualizaTreeview. | |||||||||||||||||||||||||||||||||||||||
tvNodeEvent |
| Procedure auxiliar que é assinada no TreeView, onde todos os eventos que ocorrerem no TreeView chamarão esta procedure. Você não precisa chamar esta procedure diretamente, pois quem irá chamá-la é o TreeView. Nesta procedure será alimentada a variável c-codigo-node com a chave do node selecionado. | |||||||||||||||||||||||||||||||||||||||
pi-ClickTreeview | Procedure que será chamada pelo tvNodeEvent sempre que ocorrer um evento de "select" (click em um node) no TreeView. Caso queria capturar este evento, esta Procedure deve ser definida no seu programa. A variável c-codigo-node irá conter a chave do node selecionado. | PROCEDURE pi-ClickTreeView: | |||||||||||||||||||||||||||||||||||||||
pi-CtrlPopupTreeview |
| Procedure utilizada para criar e controlar o Popup Menu do TreeView. Caso queria definir um Popup Menu para a TreeView, esta Procedure deve ser definida no seu programa. Ela será chamada pelo tvNodeEvent em dois momentos: 1) Criação do Popup Menu Executada na momento em que o componente é criado. Passando como parâmetro o Ação "build". Neste momento a Procedure deverá retornar uma String com a lista dos itens a serem apresentados no Popup. A lista deve utilizar o separador "chr(1)" e ser composta por Label e Valor de cada item. Exemplo: "Label Item1" + chr(1) + "valoritem1" + chr(1) + "Label ItemN" + chr(1) + "valoritemN". É possível acrescentar uma régua entre os itens, para isto, basta incluir um item com o Label "RULE" e o valor igual a branco. Obs: O parâmetro pcNodeKey irá conter a chave do node selecionado, caso queira criar um Popup Menu personalizado para cada node. 2) Clique no Item do Popup Menu Executada no momento em que algum item do Popup é clicado. Passando como parâmetro a Ação "choose" e o valor do item clicado no parâmetro pcEvent. | PROCEDURE pi-CtrlPopupTreeview: // Criação do Popup Menu IF pcAction = "build" THEN DO: END. IF pcAction = "choose" THEN DO: RETURN. END PROCEDURE. | ||||||||||||||||||||||||||||||||||||||
pi-GenericEventTreeview |
|
Procedure que será chamada pelo tvNodeEvent |
para todos os eventos do TreeView que não sejam o evento de "select" ( |
tratado pela PI pi-ClickTreeview) e os eventos de Popup Menu (tratados pela PI pi-CtrlPopupTreeview). Caso queria capturar algum evento específico do TreeView |
, esta Procedure deve ser definida no seu programa. |
xxxA variável c-codigo-node irá conter a chave do node selecionado.
Card documentos | ||||
---|---|---|---|---|
|
O parâmetro pcEvent irá conter o evento que ocorreu, por exemplo "expand", que ocorre quando o node é expandido. | PROCEDURE pi-GenericEventTreeview: |
Card documentos | ||||
---|---|---|---|---|
|
...
Procedure | Parâmetros | Descrição | Exemplo/Utilização | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
addNode * |
| Adiciona um node no TreeView. Se o node for adicionado a um node pai, ele será o último filho. | DO ON ERROR UNDO, LEAVE: | ||||||||||||||||||
updateNode * |
| Atualiza o label, ícone ou a lista de opções de um determinado node. | RUN updateNode IN h-4gltreeview | ||||||||||||||||||
deleteNode |
| Elimina um node de uma chave especificadao node informado. | RUN deleteNode IN h-4gltreeview | ||||||||||||||||||
moveNode |
| 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-4gltreeview | ||||||||||||||||||
enableObject | Habilita o TreeView. | RUN enableObject IN h-4gltreeview. | |||||||||||||||||||
initializeObject | Inicializa o TreeView. | RUN initializeObject IN h-4gltreeview. | |||||||||||||||||||
destroyObject | Elimina o TreeView da memória. | IF VALID-HANDLE(h-4gltreeview) THEN DO: RUN destroyObject IN h-4gltreeview. DELETE PROCEDURE h-4gltreeview. END. | |||||||||||||||||||
getFrameTreeview |
| Retorna o handle da frame do TreeView. | RUN getFrameTreeview IN h-4gltreeview | ||||||||||||||||||
emptyTree | Zera o conteúdo da TreeView. | RUN emptyTree IN h-4gltreeview. | |||||||||||||||||||
applyEntry | Passar o parâmetro vazio ("") | Faz um entry no TreeView. | RUN applyEntry IN h-4gltreeview | ||||||||||||||||||
expandBranch |
| Expande o node e todos os seus filhos. Obs: Caso queria expandir apenas o node (e não os filhos), use a função "expandNode". | RUN expandBranch IN h-4gltreeview | ||||||||||||||||||
getNodeDetails |
| Retorna detalhes de um do node do TreeViewinformado. | RUN getNodeDetails IN h-4gltreeview MESSAGE DELETE OBJECT hNdBf. | ||||||||||||||||||
hasNodes |
| Retorna Verdadeiro ou False se o TreeView possui possuir nodes. | IF DYNAMIC-FUNCTION('hasNodes' IN h-4gltreeview) THEN DO: | ||||||||||||||||||
getTreeCount |
| Retorna a quantidade de nodes da do TreeView. | ASSIGN iTreeCount = DYNAMIC-FUNCTION('getTreeCount' IN h-4gltreeview). | ||||||||||||||||||
getNodeParentKey |
| Retorna a chave do node Pai do node informado. | ASSIGN cParentKey = DYNAMIC-FUNCTION('getNodeParentKey' IN h-4gltreeview, | ||||||||||||||||||
selectNode |
| Seleciona o node informado. | ASSIGN lOk = | ||||||||||||||||||
collapseNode |
| Contrai o node informado. | ASSIGN lOk = | ||||||||||||||||||
expandNode |
| Expande o node informado. Obs: Os filhos não serão expandidos. Para isto, utilize a procedure "expandBranch". | ASSIGN lOk = | ||||||||||||||||||
setNodeTag |
| Atualiza a TAG do node. A TAG é um campo "coringa", onde pode ser gravada qualquer informação para recuperar depois. | ASSIGN lOk = | ||||||||||||||||||
getNodeTag |
| Retornar a TAG gravada no node. | ASSIGN cNodeTag = |
* = Procedures chamadas pelo facilitador
04. EXEMPLO DE UTILIZAÇÃO
Estamos disponibilizando Segue abaixo um exemplo de um programa com programa exemplo, construído em thin-templates, que utiliza esse componente de TreeViewo componente 4glTreeView, utilizando grande parte das procedures e funções existentes nestas documentação.
View file name wmainten.w height 250
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// definition do treeview {utp/ut-4gltreeview.i} // carregando o componente treeview PROCEDURE afterDisplayFields : IF NOT VALID-HANDLE(h-4gltreeview) THEN DO: // instancia o treeview RUN utp/ut-4gltreeview.w PERSISTENT SET h-4gltreeview. // Indica a Frame "Pai" do componente RUN setParentFrame IN h-4gltreeview (INPUT FRAME fPage0:HANDLE). // inicializa o treeview RUN initializeObject IN h-4gltreeview. // faz a subscricao dodos evento de click dentro eventos do treeview SUBSCRIBE TO "tvNodeEvent" IN h-4gltreeview. // reposiciona o treeview RUN repositionObject IN h-4gltreeview (6.35 , 2.00). // ajusta o tamanho do treeview RUN resizeObject IN h-4gltreeview (10.70 , 28.00). END. // carrega os itens do treeview RUN pi-loadNodes. // faz o refresh do treeview RUN pi-atualizaTreeview. // coloca o cursor no treeview RUN applyEntry IN h-4gltreeview (INPUT ""). END PROCEDURE. // esta procedure sera executada toda vez que ocorrer um evento de click em um determinado nó PROCEDURE pi-ClickTreeView : MESSAGE c-codigo-node VIEW_AS ALERT-BOX. END PROCEDURE. // retira o treeview da memoria PROCEDURE beforeDestroyInterface : IF VALID-HANDLE(h-4gltreeview) THEN DO: RUN destroyObject IN h-4gltreeview. DELETE PROCEDURE h-4gltreeview. END. RETURN "OK":U. END PROCEDURE. |
...