i3geo/classesjs/classe_arvoredecamadas.js
GPL2
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.@gmai l.com moretti
Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation;
Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUACÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
Árvore de camadas | i3geo/classesjs/classe_arvoredecamadas.js |
i3GEO. | Monta a árvore com os temas existentes no mapa atual. |
Propriedades | |
TEMPLATELEGENDA | Nome do template HTML que sera usado para compor a legenda. |
BARRAPROGRESSO | Mostra uma barra com o progresso do desenho das camadas do mapa |
MOSTRALISTAKML | Mostra na árvore a lista de endereços de arquivos KML cadastrados no sistema de administração |
FILTRO | Filtro que será aplicado para restringir os tipos de camadas mostradas na árvore |
VERIFICAABRANGENCIATEMAS | Verifica ou não se um tema da árvore está dentro da abrangência do mapa atual |
finaliza | Nome de uma função que será executada após a árvore ter sido montada |
EXPANDESOLEGENDA | Ao expandir um tema mostra apenas a legenda, sem as outras opções |
PERMITEEXPANDIRTEMAS | Permite que as opções abaixo dos nós referentes acada tema sejam mostradas |
ARRASTARORDEM | Ativa a opção de arrastar um tema para alterar a ordem de desenho das camadas |
REFRESH | Mostra ou não a opção que permite atualizar a árvore |
ARRASTARLIXEIRA | Ativa a opção de arrastar um tema para a lixeria quando se quer removê-lo do mapa. |
ALTERAOPACIDADE | Mostra ou não a opção que permite alterar a transparência das camadas existentes no mapa |
ANIMAMAPA | Mostra ou não a opção que permite gerar uma animação do mapa, ligando e desligando camadas |
LIGARDESLIGARTODOS | Mostra os ícones de desligar/ligar todos os temas. |
FILTRAR | Mostra o ícone para filtrar as camadas. |
ABRELEGENDA | Mostra o ícone para abrir a legenda do mapa. |
EXPANDIDA | Indica se a árvore será montada de forma expandida ou não. |
LEGENDAEXPANDIDA | Indica se a legenda da árvore será montada de forma expandida ou não. |
OPCOESICONES | Inclui ou não os ícones de opções em cada tema (farol, zoom para o tema, etc) |
OPCOESTEMAS | Inclui ou não o nó com as opções de manipulação de cada tema. |
OPCOESLEGENDA | Inclui ou não o nó para mostrar a legenda do tema. |
AGUARDALEGENDA | Ativa a opção de aguarde para mostrar a legenda de um tema quando o usuário estaciona o mouse sobre o nome de um tema. |
ICONETEMA | Mostra ou não o ícone do tema caso exista. |
FUNCOES | Indicação de quais funções serão incluídas em cada tema mostrado na árvore quando o usuário aciona o item “opções” |
Variaveis | |
CAMADAS | Objeto com a lista de camadas existentes no mapa. |
CAMADASINICIAIS | O mesmo que CAMADAS mas guarda de forma permanente as camadas que iniciaram no mapa |
ARVORE | Objeto com a árvore criada com YAHOO.widget.TreeView |
IDHTML | Armazena o ID do elemento DOM onde a árvore foi inserida. |
SID | Código da seção aberta no servidor pelo i3Geo |
LOCAPLIC | Endereço da aplicação i3geo. |
ATIVATEMA | Nome da função que será incluída no evento onclick do elemento checkbox adicionado no início do nome de um tema. |
Functions | |
cria | Cria a árvore com as opções de manipulação das camadas existentes no mapa |
atualiza | Atualiza a árvore de camadas. |
montaOpcoesArvore | Monta os ícones de opções gerais da árvore, como a lixira, ligar todos, etc. |
ligaDesligaTemas | Marca ou desmarca os checkbox da árvore de uma lista de temas |
ativaDragDrop | Ativa a funcionalidade de arrastar um tema para mudar sua ordem de desenho ou excluir do mapa |
montaOpcoes | Abre o segundo nível da árvore de temas, mostrando as opções disponíveis para cada tema. |
mostraOpcoes | Monta os nós filhos do nó “opções” |
adicionaOpcaoTema | Adiciona uma nova opção no nó de opções de um tema |
mostraLegenda | Monta os nós filhos do nó “legenda” |
atualizaLegenda | Atualiza a legenda de um tema. |
escolheCorClasse | Abre uma janela para escolher uma nova cor para o símbolo da classe. |
inverteStatusClasse | Liga ou desliga uma classe da legenda. |
montaTextoTema | Monta o texto com o título do tema. |
atualizaFarol | Atualiza o farol de cada tema. |
aplicaTemas | Refaz o mapa ligando e desligando os temas conforme consta na árvore de camadas ou ligando/desligando todos |
listaLigadosDesligados | Lista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore. |
capturaCheckBox | Retorna o objeto input (check box) que corresponde a uma determinada camada na árvore. |
comparaTemas | Compara se dois objetos com as camadas são iguais |
pegaTema | Procura um tema no objeto CAMADAS. |
filtraCamadas | Busca temas na variável i3GEO.arvoreDeCamadas.CAMADAS aplicando um filtro |
alteraPropCamadas | Altera o valor de uma propriedade de um tema do objeto i3GEO.arvoreDeCamadas.CAMADAS |
verificaAbrangenciaTemas | Verifica se um tema está ou não na abrangência espacial do mapa atual modificando a cor com que o nome é mostrado na árvore |
verificaAplicaExtensao | Verifica se algum tema está marcado com o metadado Aplicaextensao. |
i3GEO. | Abre as telas de diálogo das opções de manipulação da árvore |
Functions | |
abreFiltro | Abre a janela de diálogo para o usuário escolher ou alterar o filtro aplicado à árvore |
excluir | Abre a janela de diálogo para o usuário escolher os temas que serão excluídos da árvore |
Monta a árvore com os temas existentes no mapa atual. A árvore contém as opções de ligar e desligar temas.
Permite controlar quais as opções que serão mostradas na árvore.
Para alterar as opções da árvore, modifique as propriedades
i3GEO.arvoreDeCamadas.OPCOESTEMAS = false;
Propriedades | |
TEMPLATELEGENDA | Nome do template HTML que sera usado para compor a legenda. |
BARRAPROGRESSO | Mostra uma barra com o progresso do desenho das camadas do mapa |
MOSTRALISTAKML | Mostra na árvore a lista de endereços de arquivos KML cadastrados no sistema de administração |
FILTRO | Filtro que será aplicado para restringir os tipos de camadas mostradas na árvore |
VERIFICAABRANGENCIATEMAS | Verifica ou não se um tema da árvore está dentro da abrangência do mapa atual |
finaliza | Nome de uma função que será executada após a árvore ter sido montada |
EXPANDESOLEGENDA | Ao expandir um tema mostra apenas a legenda, sem as outras opções |
PERMITEEXPANDIRTEMAS | Permite que as opções abaixo dos nós referentes acada tema sejam mostradas |
ARRASTARORDEM | Ativa a opção de arrastar um tema para alterar a ordem de desenho das camadas |
REFRESH | Mostra ou não a opção que permite atualizar a árvore |
ARRASTARLIXEIRA | Ativa a opção de arrastar um tema para a lixeria quando se quer removê-lo do mapa. |
ALTERAOPACIDADE | Mostra ou não a opção que permite alterar a transparência das camadas existentes no mapa |
ANIMAMAPA | Mostra ou não a opção que permite gerar uma animação do mapa, ligando e desligando camadas |
LIGARDESLIGARTODOS | Mostra os ícones de desligar/ligar todos os temas. |
FILTRAR | Mostra o ícone para filtrar as camadas. |
ABRELEGENDA | Mostra o ícone para abrir a legenda do mapa. |
EXPANDIDA | Indica se a árvore será montada de forma expandida ou não. |
LEGENDAEXPANDIDA | Indica se a legenda da árvore será montada de forma expandida ou não. |
OPCOESICONES | Inclui ou não os ícones de opções em cada tema (farol, zoom para o tema, etc) |
OPCOESTEMAS | Inclui ou não o nó com as opções de manipulação de cada tema. |
OPCOESLEGENDA | Inclui ou não o nó para mostrar a legenda do tema. |
AGUARDALEGENDA | Ativa a opção de aguarde para mostrar a legenda de um tema quando o usuário estaciona o mouse sobre o nome de um tema. |
ICONETEMA | Mostra ou não o ícone do tema caso exista. |
FUNCOES | Indicação de quais funções serão incluídas em cada tema mostrado na árvore quando o usuário aciona o item “opções” |
Variaveis | |
CAMADAS | Objeto com a lista de camadas existentes no mapa. |
CAMADASINICIAIS | O mesmo que CAMADAS mas guarda de forma permanente as camadas que iniciaram no mapa |
ARVORE | Objeto com a árvore criada com YAHOO.widget.TreeView |
IDHTML | Armazena o ID do elemento DOM onde a árvore foi inserida. |
SID | Código da seção aberta no servidor pelo i3Geo |
LOCAPLIC | Endereço da aplicação i3geo. |
ATIVATEMA | Nome da função que será incluída no evento onclick do elemento checkbox adicionado no início do nome de um tema. |
Functions | |
cria | Cria a árvore com as opções de manipulação das camadas existentes no mapa |
atualiza | Atualiza a árvore de camadas. |
montaOpcoesArvore | Monta os ícones de opções gerais da árvore, como a lixira, ligar todos, etc. |
ligaDesligaTemas | Marca ou desmarca os checkbox da árvore de uma lista de temas |
ativaDragDrop | Ativa a funcionalidade de arrastar um tema para mudar sua ordem de desenho ou excluir do mapa |
montaOpcoes | Abre o segundo nível da árvore de temas, mostrando as opções disponíveis para cada tema. |
mostraOpcoes | Monta os nós filhos do nó “opções” |
adicionaOpcaoTema | Adiciona uma nova opção no nó de opções de um tema |
mostraLegenda | Monta os nós filhos do nó “legenda” |
atualizaLegenda | Atualiza a legenda de um tema. |
escolheCorClasse | Abre uma janela para escolher uma nova cor para o símbolo da classe. |
inverteStatusClasse | Liga ou desliga uma classe da legenda. |
montaTextoTema | Monta o texto com o título do tema. |
atualizaFarol | Atualiza o farol de cada tema. |
aplicaTemas | Refaz o mapa ligando e desligando os temas conforme consta na árvore de camadas ou ligando/desligando todos |
listaLigadosDesligados | Lista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore. |
capturaCheckBox | Retorna o objeto input (check box) que corresponde a uma determinada camada na árvore. |
comparaTemas | Compara se dois objetos com as camadas são iguais |
pegaTema | Procura um tema no objeto CAMADAS. |
filtraCamadas | Busca temas na variável i3GEO.arvoreDeCamadas.CAMADAS aplicando um filtro |
alteraPropCamadas | Altera o valor de uma propriedade de um tema do objeto i3GEO.arvoreDeCamadas.CAMADAS |
verificaAbrangenciaTemas | Verifica se um tema está ou não na abrangência espacial do mapa atual modificando a cor com que o nome é mostrado na árvore |
verificaAplicaExtensao | Verifica se algum tema está marcado com o metadado Aplicaextensao. |
Indicação de quais funções serão incluídas em cada tema mostrado na árvore quando o usuário aciona o item “opções”
Além de definir o item como false ou true, algumas funções apenas são mostradas em conformidade com o tipo de camada. No sistema de administração, pode-se também controlar algumas das funções, como por exemplo “sql”, “wms” e “temporizador”
Exemplo de como alterar um valor diretamente no javascript da interface do mapa i3GEO.arvoreDeCamadas.FUNCOES.excluir = false
Objeto com a lista de camadas existentes no mapa. É definido na inicialização ou no redesenho do mapa.
Este objeto é construído nas operações em PHP de inicialização ou redesenho do mapa e lista todos os layers existentes no mapfile temporário em uso.
”CAMADAS”:[
{
”name”:”estadosl”, //código do layer
”status”:2, //ver constante MS_STATUS do Mapserver
”tema”:”Limite Estadual”,
”transparency”:100,
”type”:1, //ver constante MS_TYPE do Mapserver
”sel”:”nao”,
”escala”:”250000”,
”download”:””,
”features”:”nao”,
”connectiontype”:1, //ver constante MS_CONNECTIONTYPE do Mapserver
”zoomtema”:”sim”,
”contextoescala”:”nao”,
”etiquetas”:””,
”editorsql”:”sim”,
”iconetema”:””,
”permitecomentario”:””,
”exttema”:””,
”nomeoriginal”:”” } ]
{OBJETO}
Endereço da aplicação i3geo. Utilizado para definir o caminho para a chamada em AJAX.
Exemplo: ‘http://localhost/i3geo’
{String}
cria: function( onde, temas, g_sid, g_locaplic, funcaoTema )
Cria a árvore com as opções de manipulação das camadas existentes no mapa
onde {String} | ID do elemento DOM onde a árvore será inserida. Se for definido como “” o id será buscado da variável IDHTML. |
temas {JSON} | Objeto JSON com as camadas e propriedades. Se não for definido ou for vazio, será utilizado i3GEO.arvoreDeCamadas.CAMADAS |
g_sid {String} | Código da seção PHP criada ao abrir o i3Geo |
funcaoTema {String} | (opcional) Nome da função que será incluida no evento disparado quando o usuário clicar no checkbox de um tema |
atualiza: function( temas, forca )
Atualiza a árvore de camadas.
Antes de executar a atualização, essa função verifica se é necessário fazê-lo. O objeto CAMADAS é comparado com o parâmetro “temas” para verificar se existem diferenças que justifiquem a atualização.
temas {JSON} | Objeto com a lista de camadas e propriedades (veja CAMADAS). Se não existir, a árvore é redesenhada |
forca {boolean} | força a atualização da árvore, sem verificar automaticamente se a atualização deve ou não ser feita |
adicionaOpcaoTema:function( dica, titulo, onclick, node )
Adiciona uma nova opção no nó de opções de um tema
dica {String} | dica que será mostrada na janela de mensagens do mapa quando o usuário sobrepoem o mouse |
titulo {String} | título que será mostrado no nó |
onclick {String} | string que define o evento onclick sobre o título da opção |
node {String} | objeto node da árvore (YUI) que receberá o novo nó |
listaLigadosDesligados: function( tipo )
Lista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore.
Esse método é mais demorado pois varre a árvore toda. Porém, obtém o status verdadeiro do tema.
tipo {String} | mantem|marca|desmarca marca, desmarca ou mantém o checkbox após identificar seu status atual |
{Array} | array de arrays com os códigos dos temas [0]=ligados [1]=desligados [2]=todos na ordem encontrada |
filtraCamadas: function( propriedade, valor, operador, camadas )
Busca temas na variável i3GEO.arvoreDeCamadas.CAMADAS aplicando um filtro
propriedade {string} | propriedade de CAMADAS que será filtrado |
valor | valor do filtro |
operador {string} | operador entre propriedade e valor igual|diferente|menor |
camadas {array} | array do tipo i3GEO.arvoreDeCamadas.CAMADAS |
{Array}
Abre as telas de diálogo das opções de manipulação da árvore
Functions | |
abreFiltro | Abre a janela de diálogo para o usuário escolher ou alterar o filtro aplicado à árvore |
excluir | Abre a janela de diálogo para o usuário escolher os temas que serão excluídos da árvore |
Cria a árvore com as opções de manipulação das camadas existentes no mapa
cria: function( onde, temas, g_sid, g_locaplic, funcaoTema )
Atualiza a árvore de camadas.
atualiza: function( temas, forca )
Monta os ícones de opções gerais da árvore, como a lixira, ligar todos, etc.
montaOpcoesArvore: function()
Marca ou desmarca os checkbox da árvore de uma lista de temas
ligaDesligaTemas: function( lista, status )
Ativa a funcionalidade de arrastar um tema para mudar sua ordem de desenho ou excluir do mapa
ativaDragDrop: function()
Abre o segundo nível da árvore de temas, mostrando as opções disponíveis para cada tema.
montaOpcoes: function( node )
Monta os nós filhos do nó “opções”
mostraOpcoes: function( node )
Adiciona uma nova opção no nó de opções de um tema
adicionaOpcaoTema:function( dica, titulo, onclick, node )
Monta os nós filhos do nó “legenda”
mostraLegenda: function( node )
Atualiza a legenda de um tema.
atualizaLegenda: function( idtema )
Abre uma janela para escolher uma nova cor para o símbolo da classe.
escolheCorClasse: function ( leg )
Liga ou desliga uma classe da legenda.
inverteStatusClasse: function ( leg )
Monta o texto com o título do tema.
montaTextoTema: function( tema )
Atualiza o farol de cada tema.
atualizaFarol: function( mapscale )
Refaz o mapa ligando e desligando os temas conforme consta na árvore de camadas ou ligando/desligando todos
aplicaTemas: function( tipo )
Lista os temas que estão ligados e os que estão desligados tendo como fonte de busca os checkbox existentes na árvore.
listaLigadosDesligados: function( tipo )
Retorna o objeto input (check box) que corresponde a uma determinada camada na árvore.
capturaCheckBox: function( tema )
Compara se dois objetos com as camadas são iguais
comparaTemas: function( novo, atual )
Procura um tema no objeto CAMADAS.
pegaTema: function( idtema, camadas )
Busca temas na variável i3GEO.arvoreDeCamadas.CAMADAS aplicando um filtro
filtraCamadas: function( propriedade, valor, operador, camadas )
Altera o valor de uma propriedade de um tema do objeto i3GEO.arvoreDeCamadas.CAMADAS
alteraPropCamadas: function( propriedade, valor, camada )
Verifica se um tema está ou não na abrangência espacial do mapa atual modificando a cor com que o nome é mostrado na árvore
verificaAbrangenciaTemas: function()
Verifica se algum tema está marcado com o metadado Aplicaextensao.
verificaAplicaExtensao: function()
Abre a janela de diálogo para o usuário escolher os temas que serão excluídos da árvore
excluir: function()