Histórico da Página
...
01. VISÃO GERAL
Este componente TreeView4glTreeView, feito em progress, tem como objetivo substituir o componente TreeView fornecido pela Microsoft (mscomctrl.ocx), pois este OCX não possui compatibilidade com o OpenEdge 64Bits.
...
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 treeviewTreeView. O pcOptn é uma lista de parâmetros que são separados por chrCHR(1). Valores válidos para o pcOtnpcOptn:
| 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 do TreeviewTreeView. Ela será chamada pelo tvNodeEvent em dois momentos: 1) Criação do 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 que devem ser apresentados no Popup. A lista deve utilizar o separador "chr(1)" e deve ser composta por Label e Valor de cada item. Ex: "LabelItem1" + chr(1) + "valoritem1" + chr(1) + "LabelItem2" + chr(1) + "valoritem2". É possível acrescentar uma regra entre os itens, para isto, basta incluir um item com o Label "RULE" e o valor igual a branco. xxxxProcedure que será chamada pelo tvNodeEvent sempre que ocorrer um evento de "select" (click em um node) no TreeView. xxxxCaso queria capturar este evento, esta Procedure deve ser definida no seu programa. xxxxxA variável c-codigo-node irá conter a chave do node selecionado. | |||||||||||||||||||||||||||||||||||||||
pi-GenericEventTreeview |
| xxxxProcedure que será chamada pelo tvNodeEvent sempre que ocorrer um evento de "select" (click em um node) no TreeView. xxxxCaso queria capturar este evento, esta Procedure deve ser definida no seu programa. xxxA variável c-codigo-node irá conter a chave do node selecionado. |
...
03. PROCEDURES E FUNÇÕES DO COMPONENTE
O componente 4GLTreeView 4glTreeView possui um código altamente documentado que pode ser utilizado.
...
Procedure | Parâmetros | Descrição | Exemplo/Utilização | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
addNode * |
| Adiciona um node no treeviewTreeView. 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 especificada. | 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 treeviewTreeView | RUN enableObject IN h-4gltreeview. | |||||||||||||||||||
initializeObject | Inicializa o treeviewTreeView | RUN initializeObject IN h-4gltreeview. | |||||||||||||||||||
destroyObject | Elimina o treeview 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 treeviewTreeView. | RUN getFrameTreeview IN h-4gltreeview | ||||||||||||||||||
emptyTree | Zera o conteúdo da treeviewTreeView. | RUN emptyTree IN h-4gltreeview. | |||||||||||||||||||
applyEntry | Passar o parâmetro vazio ("") | Faz um entry no treeviewTreeView. | 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 node do treeviewTreeView. | RUN getNodeDetails IN h-4gltreeview MESSAGE DELETE OBJECT hNdBf. | ||||||||||||||||||
hasNodes |
| Retorna Verdadeiro ou False se o TreeView possui nodes. | IF DYNAMIC-FUNCTION('hasNodes' IN h-4gltreeview) THEN DO: | ||||||||||||||||||
getTreeCount |
| Retorna a quantidade de nodes da 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 = |
...
Estamos disponibilizando um exemplo de um programa com thin-templates que utiliza esse componente de treeviewTreeView.
View file name wmainten.w height 250
...