Histórico da Página
CONTEÚDO
- Visão Geral
- Procedures do Include ut-4gltreeview.i (facilitador)
- Procedures e Funções do Componente
- Exemplo de Utilização
- Dicas de Conversão do OCX para o utl4gltreeview
- Telas do TreeView
- Documentação Complementar do Componente
01. VISÃO GERAL Âncoravisao_geral visao_geral
visao_geral | |
visao_geral |
...
- Performático, onde testamos mais de 5000 nós e não houve perda de performance.
- Temos um include ut-4gltreeview.i que possui algumas procedures "facilitadoras" para manipulação do TreeView.
- Feito totalmente em progress.
- Possuímos o código fonte, onde podemos customizá-lo de acordo com as nossas necessidades.
02. PROCEDURES DO INCLUDE ut-4gltreeview.i (facilitador) Âncora include_4gltreeview include_4gltreeview
include_4gltreeview | |
include_4gltreeview |
Foi disponibilizado o include ut-4gltreeview.i para facilitar a utilização do TreeView, que possui as seguintes variáveis e procedures:
...
Card documentos | ||||
---|---|---|---|---|
|
03. PROCEDURES E FUNÇÕES DO COMPONENTE Âncora procedures_funcoes procedures_funcoes
procedures_funcoes | |
procedures_funcoes |
O componente 4glTreeView possui um código altamente documentado que pode ser utilizado.
...
* = Procedures chamadas pelo facilitador
04. EXEMPLO DE UTILIZAÇÃO Âncora exemplo exemplo
exemplo | |
exemplo |
Segue abaixo um programa exemplo, construído em thin-templates, que utiliza o componente 4glTreeView, utilizando grande parte das procedures e funções existentes nestas documentação.
...
$/EMS2/Fontes_Doc/Sustentacao/V11/V11/progress/src/wmp/wm0510.w
05. DICAS DE CONVERSÃO DO OCX PARA O 4GLTREEVIEW Âncora dicas dicas
dicas | |
dicas |
Segue abaixo uma tabela com algumas dicas para facilitar o processo de conversão dos programas que atualmente utilizar o TreeView OCX.
Processo | OCX | 4glTreeView |
---|---|---|
Definição de Variáveis | define variable chTreeView as com-handle no-undo. DEFINE VARIABLE CtrlFrame AS WIDGET-HANDLE NO-UNDO. | // Definições Treeview {utp/ut-4gltreeview.i} |
Carregar o Treeview | PROCEDURE control_load : | RUN carregaTreeView. |
Posicionar a Treeview na tela | CREATE CONTROL-FRAME CtrlFrame ASSIGN FRAME = FRAME fpage0:HANDLE ROW = 2.46 COLUMN = 1 HEIGHT = 13.5 WIDTH = 31 HIDDEN = no SENSITIVE = yes. | RUN repositionObject IN h-4gltreeview (2.46, 1.00). RUN resizeObject IN h-4gltreeview ( 13.5, 31.00). |
Menu Popup | define variable pop-menu as widget-handle no-undo. create menu pop-menu CtrlFrame:popup-menu = pop-menu | PROCEDURE pi-CtrlPopupTreeview : .... END PROCEDURE. |
Jogar o foco para o TreeView | APPLY "Entry":U TO CtrlFrame. | |
Apagar os nós do TreeView | ChTreeView:Nodes:Clear(). | RUN emptyTree IN h-4gltreeview. |
Expandir o nós e filhos | do i-cont = 1 to chTreeView:Nodes:Count: assign chTreeView:Nodes(i-cont):Expanded = l-expande. end. | RUN expandBranch IN h-4gltreeview (c-codigo-node). RUN pi-atualizaTreeview. |
Seleciontar um nó | assign chTreeView:SelectedItem = chTreeView:Nodes(1). if not error-status:error then | |
Verificar se existem nós | IF chTreeView:Nodes:COUNT > 0 THEN DO: RUN piExcel IN THIS-PROCEDURE. END. | IF DYNAMIC-FUNCTION('hasNodes' IN h-4gltreeview) THEN DO: RUN piExcel IN THIS-PROCEDURE. END. APPLY "ENTRY":U TO btExcel IN FRAME fPage0. |
Verificar se o nó está expandido | assign exp-con:label = if chTreeView:SelectedItem:Expanded = false then cExpande | |
Pegar a chave do nó selecionado | c-tag-tree = chTreeView:SelectedItem:key(). | assign rRow = to-rowid(c-codigo-node). |
Monitorar o evento de click | PROCEDURE CtrlFrame.TreeView.NodeClick : ... END PROCEDURE. | PROCEDURE pi-ClickTreeView : .... END PROCEDURE. |
Incluir um nó | chTreeView:Nodes:Add (,, "i" + string(i-cont), string(ttDados.cod-oficial) + " - " + ttDados.desc-dimensao, i-img) . | RUN pi-create-node (cNodeId, cNodeIdPai, string(ttDados.cod-oficial) + " - " + ttDados.desc-dimensao, cImage, "") NO-ERROR. |
Gravar e recuperar a TAG | assign chTreeView:Nodes:Item ("i" + string(i-cont)):Tag = string(rowid(ttDados)) + ",1," + string(ttDados.r-rowid). assign rRowid = to-rowid(entry(1,chTreeView:SelectedItem:Tag)). | DYNAMIC-FUNCTION('setNodeTag' IN h-4gltreeview, cNodeId, ttDados.p-image). assign rRow = to-rowid(entry(1,DYNAMIC-FUNCTION('getNodeTag' IN h-4gltreeview, c-codigo-node))). |
Criar um relacionamento entre a TreeView e a TempTable de Negócio | assign rRow = to-rowid(entry(1,chTreeView:SelectedItem:Tag)) | assign rRow = to-rowid(c-codigo-node). |
Definir a imagem do nó |
06. TELAS DO TREEVIEW Âncora telas telas
telas | |
telas |
07. DOCUMENTAÇÃO COMPLEMENTAR DO COMPONENTE Âncora documentacao documentacao
documentacao | |
documentacao |
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
...