/*jslint white:false,undef: false, rhino: true, onevar: true, evil: false */ /* Title: Árvore de temas Arquivo: i3geo/classesjs/classe_arvodetemas.js Licenca: GPL2 I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br 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; tanto a versão 2 da Licença. Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃ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. */ if(typeof(i3GEO) == 'undefined'){ i3GEO = []; } /* Classe: i3GEO.arvoreDeTemas Monta a árvore com os temas disponíveis para ser adicionados ao mapa. */ i3GEO.arvoreDeTemas = { /* Propriedade: OPCOESADICIONAIS Objeto com a definição das propriedades que serão utilizadas na inclusão dos ícones adicionais de adição de temas e no item de descrição de cada tema. Example: var obj = { idonde: "", incluiArvore: true, uploaddbf: true, uploadlocal: true, downloadbase: true, conectarwms: true, conectarwmst: true, conectargeorss: true, nuvemTags: true, navegacaoDir: false, incluibusca: true, kml: true, qrcode: true, mini: true, estrelas:true, refresh: true } Tipo: {Object} */ OPCOESADICIONAIS: { idonde: "", incluiArvore: true, uploaddbf: true, uploadlocal: true, downloadbase: true, conectarwms: true, conectarwmst: true, conectargeorss: true, nuvemTags: true, navegacaoDir: false, incluibusca: true, kml: true, qrcode: true, mini: true, estrelas: true, refresh: true }, /* Propriedade: FATORESTRELA Valor que será utilizado para dividir o valor bruto do número de acessos de cada tema. A divisão é utilizada para definir quantas estrelas serão mostradas na árvore de opções adicionais. Tipo: {Numeric} */ FATORESTRELA: "1", /* Propriedade: INCLUISISTEMAS Inclui na árvore a lista de sistemas adicionais definidos no i3geo? Tipo: {Boolean} */ INCLUISISTEMAS: true, /* Propriedade: INCLUIWMS Inclui na árvore a lista de Web Services WMS? Tipo: {Boolean} */ INCLUIWMS: true, /* Propriedade: FILTRADOWNLOAD Não mostra na árvore os nós que não possuem temas para download Tipo: {Boolean} */ FILTRADOWNLOAD: false, /* Propriedade: FILTRAOGC Não mostra na árvore os nós que não permitem a geração de WMS Tipo: {Boolean} */ FILTRAOGC: false, /* Propriedade: ATIVATEMA Nome da função que será incluída no evento onclick do elemento checkbox adicionado no início do nome de um tema. Tipo: {String} */ ATIVATEMA: "", /* Propriedade: IDSMENUS Array com a lista de ids que serão considerados na montagem da árvore. Por default é vazio, o que significa que todos os menus serão considerados. Tipo: {Array} */ IDSMENUS: [], /* Propriedade: RETORNAGUIA Guia que será ativada após uma operação de adição de temas ter sido concluída. Se for vazia, a guia atual será mantida. A string corresponde ao nome da guia que deve estar definida em i3GEO.guias.CONFIGURA, por exemplo i3GEO.arvoreDeTemas.RETORNAGUIA = "temas" Tipo: {String} Default: "" */ RETORNAGUIA: "", /* Variavel: IDHTML Armazena o ID do elemento HTML onde a árvore será incluida Tipo: {String} */ IDHTML: null, /* Variavel: LOCAPLIC Endereço da aplicação i3geo. Utilizado para definir o caminho para a chamada em AJAX. Tipo: {String} */ LOCAPLIC: null, /* Variavel: SID Código da seção aberta no servidor pelo i3Geo Tipo: {String} */ SID: null, /* Variavel: ARVORE Objeto com a árvore criada com YAHOO.widget.TreeView Tipo: {YAHOO.widget.TreeView} */ ARVORE: null, /* Variavel: DRIVES Objeto JSON com a lista de drives no servidor que podem ser abertos na opção de navegação pelos diretórios Tipo: {JSON} */ DRIVES: null, /* Variavel: SISTEMAS Objeto JSON com a lista de sistemas existentes Tipo: {JSON} */ SISTEMAS: null, /* Variavel: MENUS Armazena o objeto JSON com a lista de menus resultante da função listaMenus Tipo: {JSON} */ MENUS: null, /* Variavel: GRUPOS Armazena o objeto JSON com a última lista de grupos obtida Tipo: {JSON} */ GRUPOS: null, /* Variavel: SUBGRUPOS Armazena o objeto JSON com a última lista de sub-grupos obtida Tipo: {JSON} */ SUBGRUPOS: null, /* Variavel: TEMAS Armazena o objeto JSON com a última lista de temas obtida Tipo: {JSON} */ TEMAS: null, /* Function: listaWMS Lista os WMS cadastrados preenchendo o nó OGC-WMS */ listaWMS: function(){ var monta = function(retorno){ var node,raiz,nraiz,cor,i,html,tempNode; node = i3GEO.arvoreDeTemas.ARVORE.getNodeByProperty("idwms","raiz"); raiz = retorno.data.canais; nraiz = raiz.length; cor = "rgb(51, 102, 102)"; for (i=0;i "+raiz[i].title; if(raiz[i].nacessos > 0){ html += " ("+((raiz[i].nacessosok * 100) / (raiz[i].nacessos*1))+"%)"; } else {html += " (% de acessos não definido)";} html += "
"; tempNode = new YAHOO.widget.HTMLNode( {html:html,id_ws:raiz[i].id_ws,url:raiz[i].link,nivel:0}, node, false, true ); tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.listaLayersWMS, 1); tempNode.enableHighlight = false; if(cor == "rgb(51, 102, 102)") {cor = "rgb(47, 70, 50)";} else{cor = "rgb(51, 102, 102)";} } node.loadComplete(); }; i3GEO.php.listaRSSwsARRAY(monta,"WMS"); }, /* Function: listaLayersWMS Lista os layers de um WMS e preenche o nó OGC-WMS */ listaLayersWMS: function(node){ //node = no; var monta = function(retorno){ var n,cor,i,cabeca,tempNode,ns,j,tempNodeS; n = 0; try{n = retorno.data.length;} catch(m){node.loadComplete();return;} cor = "rgb(51, 102, 102)"; html = ""; for(i=0;i"+cabeca, url:node.data.url, nivel:(node.data.nivel*1 + 1), id_ws:"", layer:retorno.data[i].nome }, node, false, true ); tempNode.enableHighlight = false; if(!retorno.data[i].estilos) {tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.listaLayersWMS, 1);} if(retorno.data[i].estilos){ ns = retorno.data[i].estilos.length; for (j=0;j"; html += layer+" - "+titulo; html += ""; return(html); }, /* Function: listaMenus Lista os menus disponíveis. Pesquisa no banco de dados administrativo ou na variável de configuração (veja ms_configura.php) a lista de menus disponíveis. O resultado é incluído em i3GEO.arvoreDeTemas.MENUS. A propriedade i3GEO.arvoreDetemas.IDSMENUS pode ser utilizada para filtrar alista de menus que será utilizada. Parametros: g_sid - {String} Código da seção PHP criada ao abrir o i3Geo g_locaplic - {String} Endereço da aplicação (i3geo) onde fica o diretório classesphp funcao - {String} nome da função que será executada quando a lista for recebida. Se for "", não é chamada. */ listaMenus: function(g_sid,g_locaplic,funcao) { var retorno = function(retorno) { var c,m,i,k,jj,j; if(i3GEO.arvoreDeTemas.IDSMENUS.length === 0) {i3GEO.arvoreDeTemas.MENUS = retorno.data;} else{ i3GEO.arvoreDeTemas.MENUS = []; c = retorno.data.length; m = i3GEO.arvoreDeTemas.IDSMENUS.length; for (i=0, j=c; i   "; insp += ""; insp += ""; insp += " "; tempNode = new YAHOO.widget.HTMLNode( {html:insp}, root, false, false ); tempNode.enableHighlight = false; } //icones com as outras opções //conforme definido em i3GEO.arvoreDeTemas.OPCOESADICIONAIS outrasOpcoes = i3GEO.arvoreDeTemas.outrasOpcoesHTML(); if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.idonde !== "") {document.getElementById(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.idonde).innerHTML = outrasOpcoes;} if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.incluiArvore === true){ tempNode = new YAHOO.widget.HTMLNode( {html:outrasOpcoes+" 
"}, root, false, true ); tempNode.enableHighlight = false; tempNode.isLeaf = true; if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir === true){ retorno = function(){ var drives,iglt,ig,drive; tempNode = new YAHOO.widget.HTMLNode( { html:" "+$trad("a6")+"    " }, root, false, true ); tempNode.enableHighlight = false; drives = i3GEO.arvoreDeTemas.DRIVES; iglt = drives.length; ig=0; do{ drive = new YAHOO.widget.HTMLNode( {html:drives[ig].nome,caminho:drives[ig].caminho}, tempNode, false, true ); drive.enableHighlight = false; drive.setDynamicLoad(i3GEO.arvoreDeTemas.montaDir, 1); ig++; } while(igSistema de administração", idmenu:"" }, root, false, true ); tempNode.enableHighlight = false; tempNode = new YAHOO.widget.HTMLNode( { html:"Editor de menus", idmenu:"" }, root, false, true ); tempNode.enableHighlight = false; } // //wms // if(i3GEO.arvoreDeTemas.INCLUIWMS === true){ tempNode = new YAHOO.widget.HTMLNode( { html:" OGC-WMS"+"    ", idwms:"raiz" }, root, false, true ); tempNode.enableHighlight = false; tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.listaWMS, 1); } // //adiciona na árvore a raiz de cada menu // dados = i3GEO.arvoreDeTemas.MENUS; c = dados.length; for (i=0, j=c; i"+dados[i].nomemenu+"";} else {conteudo = " "+dados[i].nomemenu+"";} tempNode = new YAHOO.widget.HTMLNode( {html:conteudo,idmenu:dados[i].idmenu}, root, false, true ); tempNode.enableHighlight = false; tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaGrupos, currentIconMode); if(dados[i].status == "aberto") {tempNode.expand();} } if(i3GEO.arvoreDeTemas.INCLUISISTEMAS){ retorno = function(){ var sis,iglt,tempNode,ig,nomeSis,sisNode,funcoes,tempf,ig2,abre,nomeFunc,funcNode; try{ sis = i3GEO.arvoreDeTemas.SISTEMAS; iglt = sis.length; tempNode = new YAHOO.widget.HTMLNode( { html:"Sistemas"+"    " }, root, false, true ); tempNode.enableHighlight = false; }catch(e){i3GEO.arvoreDeTemas.ARVORE.draw();return;} ig=0; do{ nomeSis = sis[ig].NOME; if(sis[ig].PUBLICADO){ if(sis[ig].PUBLICADO == "NAO" || sis[ig].PUBLICADO == "nao") {nomeSis = ""+sis[ig].NOME+"";} } sisNode = new YAHOO.widget.HTMLNode( {html:nomeSis}, tempNode, false, true ); sisNode.enableHighlight = false; funcoes = sis[ig].FUNCOES; tempf = funcoes.length; for (ig2=0;ig2"+funcoes[ig2].NOME+""; funcNode = new YAHOO.widget.HTMLNode( {html:nomeFunc}, sisNode, false, true ); funcNode.enableHighlight = false; funcNode.isLeaf = true; } ig++; } while(ig"; } } d = {html:grupos[i].nome,idmenu:node.data.idmenu,idgrupo:i}; if(grupos[i].id_n1) {d = {html:grupos[i].nome,idmenu:node.data.idmenu,idgrupo:grupos[i].id_n1};} tempNode = new YAHOO.widget.HTMLNode(d, node, false,true); tempNode.enableHighlight = false; tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaSubGrupos, 1); tempNode.isLeaf = false; } } node.loadComplete(); }; i3GEO.arvoreDeTemas.listaGrupos(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,node.data.idmenu,temp); }, /* Function: montaSubGrupos Monta a lista de sub-grupos de um nó do tipo grupo. A opção de carga dinâmica dos nós filhos é definida para a montagem dos temas. */ montaSubGrupos: function(node){ var temp=function(){ var i,c,mostra,d,html,tempNode,nraiz,subgrupos,raiz; subgrupos = i3GEO.arvoreDeTemas.SUBGRUPOS.subgrupo; c = subgrupos.length; raiz = i3GEO.arvoreDeTemas.SUBGRUPOS.temasgrupo; nraiz = raiz.length; for (i=0;i"; } } d = {html:subgrupos[i].nome,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:i}; if(subgrupos[i].id_n2) {d = {html:subgrupos[i].nome,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:subgrupos[i].id_n2};} tempNode = new YAHOO.widget.HTMLNode(d, node, false,true); tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaTemas, 1); tempNode.isLeaf = false; tempNode.enableHighlight = false; } } node.loadComplete(); }; i3GEO.arvoreDeTemas.listaSubGrupos(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,node.data.idmenu,node.data.idgrupo,temp); }, /* Function: montaTemas Monta a lista de temas de um nó. */ montaTemas: function(node){ var temp=function(){ var i,cor,temas,c,mostra,tempNode; temas = i3GEO.arvoreDeTemas.TEMAS.temas; c = temas.length; cor = "rgb(51, 102, 102)"; for (i=0;i"; } } tempNode = new YAHOO.widget.HTMLNode( { nacessos:temas[i].nacessos, html:i3GEO.arvoreDeTemas.montaTextoTema(cor,temas[i]), idtema:temas[i].tid, fonte:temas[i].link, ogc:temas[i].ogc, kmz:temas[i].kmz }, node, false, true ); //tempNode.nowrap = true; tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.propTemas, 1); tempNode.isLeaf = false; tempNode.enableHighlight = false; if(cor == "rgb(51, 102, 102)") {cor = "rgb(47, 70, 50)";} else{cor = "rgb(51, 102, 102)";} } } node.loadComplete(); }; i3GEO.arvoreDeTemas.listaTemas(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,node.data.idmenu,node.data.idgrupo,node.data.idsubgrupo,temp); }, /* Function: montaDir Incluí na árvore o navegador de diretórios Parametro: node {node} - nó onde será criada a lista */ montaDir: function(node){ var montaLista = function(retorno) { var ig,d,conteudo,dirs,tempNode,arquivos,nodeSHP; dirs = retorno.data.diretorios; for (ig=0;ig 1 || conteudo.search(".tif") > 1 || conteudo.search(".TIF") > 1 || conteudo.search(".shp") > 1 || conteudo.search(".SHP") > 1) { conteudo = ""+conteudo+""; nodeSHP = new YAHOO.widget.HTMLNode( {html:conteudo,caminho:node.data.caminho+"/"+conteudo}, node, false, true ); nodeSHP.enableHighlight = false; nodeSHP.isLeaf = true; } } node.loadComplete(); }; i3GEO.php.listaarquivos(montaLista,node.data.caminho); }, /* Function: montaTextoTema Monta o texto com o título do tema. Parametros: cor - {String} - cor que será utilizada no estilo "color" tema - {Object} - objeto JSON com as propriedades do tema Return: {String} - texto formatado */ montaTextoTema: function(cor,tema){ var html = ""; html += tema.nome; html += ""; return(html); }, /* Function: propTemas Monta o nó com informações adicionais sobre o tema. Parametro: node - {Object} - objeto com o nó que foi clicado */ propTemas: function(node){ var d,tempNode,html,lkmini,lkmini1,lkgrcode,lkgrcode1,n,ogc; if(node.data.fonte !== "" && node.data.fonte != " "){ tempNode = new YAHOO.widget.HTMLNode( {html:"Fonte"}, node, false, true ); tempNode.enableHighlight = false; tempNode.isLeaf = true; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.mini === true){ lkmini = i3GEO.arvoreDeTemas.LOCAPLIC+"/testamapfile.php?map="+node.data.idtema+".map&tipo=mini"; lkmini1 = i3GEO.arvoreDeTemas.LOCAPLIC+"/testamapfile.php?map="+node.data.idtema+".map&tipo=grande"; tempNode = new YAHOO.widget.HTMLNode( {html:"Miniatura"}, node, false, true ); tempNode.enableHighlight = false; tempNode.isLeaf = true; } if (node.data.ogc != "nao"){ if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.kml === true){ html = "Kml"; if (node.data.kmz == "sim") {html = "Kml";} tempNode = new YAHOO.widget.HTMLNode( {html:html}, node, false, true ); tempNode.enableHighlight = false; tempNode.isLeaf = true; } ogc = i3GEO.arvoreDeTemas.LOCAPLIC+"/ogc.php?tema="+node.data.idtema+"&service=wms&request=getcapabilities"; tempNode = new YAHOO.widget.HTMLNode( {html:"WMS - OGC"}, node, false, true ); tempNode.enableHighlight = false; tempNode.isLeaf = true; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.qrcode === true){ lkgrcode = i3GEO.arvoreDeTemas.LOCAPLIC+"/pacotes/qrcode/php/qr_html.php?d="+i3GEO.arvoreDeTemas.LOCAPLIC+"/mobile/index.php?temasa="+node.data.idtema; lkgrcode1 = i3GEO.arvoreDeTemas.LOCAPLIC+"/pacotes/qrcode/php/qr_img.php?d="+i3GEO.arvoreDeTemas.LOCAPLIC+"/mobile/index.php?temasa="+node.data.idtema; tempNode = new YAHOO.widget.HTMLNode( {html:"Qrcode"}, node, false, true ); tempNode.enableHighlight = false; tempNode.isLeaf = true; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.estrelas === true){ n = parseInt(node.data.nacessos / (i3GEO.arvoreDeTemas.FATORESTRELA*1),10); if(n >= 5){n = 5;} if(n > 0) {html = "";} else {html = "";} tempNode = new YAHOO.widget.HTMLNode({html:html}, node, false,true); tempNode.enableHighlight = false; tempNode.isLeaf = true; } node.loadComplete(); }, /* Function: outrasOpcoesHTML Constrói o HTML com as opções adicionais de inclusão de temas (upload de shp, etc.). Return: {String} - html gerado */ outrasOpcoesHTML: function(){ var ins = "",t = 0; if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.refresh === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.uploaddbf === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.uploadlocal === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.downloadbase === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.conectarwms === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.conectarwmst === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.conectargeorss === true){ ins += ""; t += 20; } if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.nuvemTags === true){ ins += ""; t += 20; } return(""+ins+"
"); }, /* Function: desativaCheckbox Desmarca todos os checkbox dos temas marcados na árvore. */ desativaCheckbox: function(){ var o,inputs,n,i; o = document.getElementById(i3GEO.arvoreDeTemas.ARVORE.id); inputs = o.getElementsByTagName("input"); n = inputs.length; i=0; do{ inputs[i].checked = false; i++; } while(i= 0){ do{ ngSgrupo = retorno[ig].subgrupos; tempn = ngSgrupo.length; for (sg=0;sg fonte";} d += " ("+(ngSgrupo[sg].subgrupo)+") "+lk+""; tempNode = new YAHOO.widget.HTMLNode(d, nodePalavra, false,true); tempNode.isLeaf = true; tempNode.enableHighlight = false; } conta++; } } } while(ig--); } else{ d = "Nada encontrado

"; tempNode = new YAHOO.widget.HTMLNode(d, nodePalavra, false,true); tempNode.isLeaf = true; tempNode.enableHighlight = false; } } } nodePalavra.loadComplete(); }; // //funcao que será executada para buscar os temas // busca = function(){ i3GEO.php.procurartemas(resultadoProcurar,i3GEO.util.removeAcentos(palavra)); }; // //recolhe todos os nós e acrescenta um novo // i3GEO.arvoreDeTemas.ARVORE.collapseAll(); root = i3GEO.arvoreDeTemas.ARVORE.getRoot(); if(!i3GEO.arvoreDeTemas.ARVORE.getNodeByProperty("id","temasEncontrados")){ tempNode = new YAHOO.widget.HTMLNode( {html:"Temas encontrados",id:"temasEncontrados"}, root, false, true ); tempNode.enableHighlight = false; } else {tempNode = i3GEO.arvoreDeTemas.ARVORE.getNodeByProperty("id","temasEncontrados");} nodePalavra = new YAHOO.widget.HTMLNode({html:palavra}, tempNode, false,true); nodePalavra.enableHighlight = false; i3GEO.arvoreDeTemas.ARVORE.draw(); tempNode.expand(); nodePalavra.setDynamicLoad(busca, 1); nodePalavra.expand(); }, /* Function: adicionaTemas Adiciona ao mapa os temas selecionados na árvore */ adicionaTemas: function(){ var tsl,temp; // //zera o contador de tempo // clearTimeout(tempoBotaoAplicar); tempoBotaoAplicar = ""; i3GEO.temaAtivo = ""; // //pega os temas ativados na árvore de menus // tsl = i3GEO.arvoreDeTemas.listaTemasAtivos(); i3GEO.arvoreDeTemas.desativaCheckbox(); // //se forem encontrados temas ativos na árvore de menus, o mapa é redesenhado com a adição de novos temas // if(tsl.length > 0){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); temp = function(retorno){ i3GEO.janela.fechaAguarde("i3GEO.atualiza"); if(retorno.data.erro){ alert(retorno.data.erro); return; } i3GEO.atualiza(); // //verifica se deve ser ativada uma outra guia que não a atual // if(i3GEO.arvoreDeTemas.RETORNAGUIA !== ""){ if(i3GEO.arvoreDeTemas.RETORNAGUIA != i3GEO.guias.ATUAL){ i3GEO.guias.mostra(i3GEO.arvoreDeTemas.RETORNAGUIA); } } // //verifica se a janela a ferramenta identifica está ativa para atualizar a lista de temas // try{ if($i("i3GEOidentificalistaTemas")){ i3GEOF.identifica.listaTemas(); g_tipoacao = "identifica"; } } catch(r){} }; i3GEO.php.adtema(temp,tsl.toString()); } }, /* Function: comboMenus Busca a lista de menus existentes no i3geo e monta um combo com o resultado. Ao escolher uma opção do combo, a função de retorno receberá como parâmetro o id do menu. Parametros: locaplic {String} - endereço do i3geo funcaoOnchange {String} - nome da funcao que será executada quando o usuário escolhe um grupo idDestino {String} - id do elemento HTML que receberá o combo idCombo {String} - id do combo que será criado largura {Numeric} - largura em pixels do combo altura {Numeric} - altura do combo em linhas */ comboMenus: function(locaplic,funcaoOnchange,idDestino,idCombo,largura,altura){ i3GEO.configura.locaplic = locaplic; var combo = function (retorno){ var ob,ins,ig; ob = retorno.data; ins = ""; }; i3GEO.php.pegalistademenus(combo); }, /* Function: comboGruposMenu Busca a lista de grupos existentes no menu de temas do i3geo e monta um combo com o resultado. Ao escolher uma opção do combo, a função de retorno receberá como parâmetro o id do grupo. Parametros: locaplic {String} - endereço do i3geo funcaoOnchange {String} - nome da funcao que será executada quando o usuário escolhe um grupo idDestino {String} - id do elemento HTML que receberá o combo idCombo {String} - id do combo que será criado largura {Numeric} - largura em pixels do combo altura {Numeric} - altura do combo em linhas id_menu {Numeric} - id do menu que será utilizado para obter os dados */ comboGruposMenu: function(locaplic,funcaoOnchange,idDestino,idCombo,largura,altura,id_menu){ i3GEO.configura.locaplic = locaplic; var combo = function (retorno){ var obGrupos,ins,ig; obGrupos = retorno.data; ins = ""; }; i3GEO.php.pegalistadegrupos(combo,id_menu,"nao"); }, /* Function: comboSubGruposMenu Monta um combo com a lista de subgrupos de um grupo do menu de temas do i3geo. Ao escolher um subgrupo, a função de retorno receberá o id do grupo e o id do subgrupo. Parametros: locaplic {String} - endereço do i3geo funcaoOnchange {String} - nome da funcao que será executada quando o usuário escolhe um grupo idDestino {String} - id do elemento HTML que receberá o combo idCombo {String} - id do combo que será criado idGrupo {String} - identificador do grupo que será pesquisado largura {Numeric} - largura em pixels do combo altura {Numeric} - altura do combo em linhas */ comboSubGruposMenu: function(locaplic,funcaoOnchange,idDestino,idCombo,idGrupo,largura,altura){ if(idGrupo !== ""){ var combo = function(retorno){ var ins,sg,ig; ins = ""; }; i3GEO.php.pegalistadeSubgrupos(combo,"",idGrupo); } }, /* Function: comboTemasMenu Monta um combo com a lista de subgrupos de um grupo do menu de temas do i3geo. Ao escolher um subgrupo, a função de retorno receberá o id do grupo e o id do subgrupo. Parametros: locaplic {String} - endereço do i3geo funcaoOnchange - nome da funcao que será executada quando o usuário escolhe um grupo idDestino - id do elemento HTML que receberá o combo idCombo - id do combo que será criado idGrupo - identificador do grupo que será pesquisado idSubGrupo - id do subgrupo largura - largura em pixels do combo altura - altura do combo em linhas id_menu - id do menu escolhido */ comboTemasMenu: function(locaplic,funcaoOnchange,idDestino,idCombo,idGrupo,idSubGrupo,largura,altura,id_menu){ var combo = function(retorno){ var ins,sg,ig; ins = ""; }; i3GEO.php.pegalistadetemas(combo,id_menu,idGrupo,idSubGrupo); }, /* Classe: dialogo Abre as janelas de diálogo com as opções adicionais que permitem acrescentar temas ao mapa Por exemplo, para abrir a janela de upload de arquivos dbf, utilize i3GEO.arvoreDeTemas.dialogo.uploaddbf() */ dialogo:{ /* Function: nuvemTags Mostra a nuvem de tags para escolha de temas baseado nos tags registrados nos menus de temas */ nuvemTags: function() {i3GEO.janela.cria("350px","350px",i3GEO.configura.locaplic+"/ferramentas/nuvemtags/index.htm","","","Nuvem de tags    ");}, /* Function: navegacaoDir Abre a janela para adicionar temas navegando pelos diretórios do servidor */ navegacaoDir: function() {i3GEO.janela.cria("550px","350px",i3GEO.configura.locaplic+"/ferramentas/navegacaodir/index.htm","","","Diretórios");}, /* Function: conectarwms Abre a janela para adicionar temas tendo como fonte um web service do tipo wms */ conectarwms: function() {i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+"/ferramentas/conectarwms/index.htm","","","Conexão WMS    ");}, /* Function: conectarwmst Abre a janela para adicionar temas tendo como fonte um web service do tipo wms-t (time) */ conectarwmst: function(){ var l,a; if(i3GEO.parametros.w) {l = i3GEO.parametros.w + 150;} else {l = 400;} if(i3GEO.parametros.h) {a = i3GEO.parametros.h + 200;} else {a = 350;} i3GEO.janela.cria(l/2 + "px",a/2 + "px",i3GEO.configura.locaplic+"/ferramentas/wmstime/index.htm","","","Conexão WMS-T    "); }, /* Function: conectarwfs Abre a janela para adicionar temas tendo como fonte um web service do tipo wfs */ conectarwfs: function() {i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+"/ferramentas/conectarwfs/index.htm","","","WFS");}, /* Function: conectargeorss Abre a janela para adicionar temas tendo como fonte um georss */ conectargeorss: function() {i3GEO.janela.cria("400px","300px",i3GEO.configura.locaplic+"/ferramentas/conectargeorss/index.htm","","","Conexão GeoRSS    ");}, /* Function: upload Abre a janela para o upload de shape file */ upload: function() {i3GEO.janela.cria("300px","230px",i3GEO.configura.locaplic+"/ferramentas/upload/index.htm","","","Upload de shapefile    ");}, /* Function: uploaddbf Abre a janela para o upload de um arquivo dbf */ uploaddbf: function() {i3GEO.janela.cria("300px","280px",i3GEO.configura.locaplic+"/ferramentas/uploaddbf/index.htm","","","Upload DBF    ");}, /* Function: downloadbase Abre o aplicativo datadownload */ downloadbase: function() {window.open(i3GEO.configura.locaplic+"/datadownload.htm");} } }; //YAHOO.log("carregou classe arvoredetemas", "Classes i3geo");