/* Title: Temas File: i3geo/classesjs/classe_tema.js About: Licença 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 = new Array(); } /* Class: i3GEO.tema Funções de diálogo e processamento de propriedades de um tema existente no mapa Em i3GEO.tema.dialogo estão as funções de abertura dos diálogos para alteração das propriedades do tema, */ i3GEO.tema = { /* Function: exclui Exclui um tema do mapa Parameters: tema - código do tema */ exclui: function(tema){ g_operacao = "excluitema"; //remove o tema do DOM e seus filhos var p = document.getElementById("idx"+tema).parentNode.parentNode.parentNode; do {p.removeChild(p.childNodes[0]);} while (p.childNodes.length > 0); p.parentNode.removeChild(p); i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.excluitema(i3GEO.atualiza,tema); i3GEO.temaAtivo = ""; }, /* Function: fonte Abre os metadados registrados para o tema Parameters: tema - código do tema */ fonte: function(tema){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); var temp = function(retorno){ i3GEO.janela.fechaAguarde(); if(retorno.data != "erro") {window.open(retorno.data);} else {alert("Não existe fonte registrada para esse tema");} }; i3GEO.php.fontetema(temp,tema); }, /* Function: sobe Sobe um tema na ordem de desenho Parameters: tema - código do tema */ sobe: function(tema){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.sobetema(i3GEO.atualiza,tema); }, /* Function: desce Desce um tema na ordem de desenho Parameters: tema - código do tema */ desce: function(tema){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.descetema(i3GEO.atualiza,tema); }, /* Function: zoom Zoom para o tema Parameters: tema - código do tema */ zoom: function(tema){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.zoomtema(i3GEO.atualiza,tema); }, /* Function: zoomsel Zoom para os elementos selecionados de um tema Parameters: tema - código do tema */ zoomsel: function(tema){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.zoomsel(i3GEO.atualiza,tema); }, /* Function: limpasel Limpa a selecao do tema Parameters: tema - ID (name) do tema clicado */ limpasel: function(tema){ g_operacao = "limpasel"; i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.limpasel(i3GEO.atualiza,tema); }, /* Function: mudatransp Muda a transparencia de um tema Parameters: idtema - código do tema */ mudatransp: function(idtema){ g_operacao = "transparencia"; //o campo input com o valor possui o prefixo 'tr' seguido pelo código do tema if ($i("tr"+idtema)) {var valor = $i("tr"+idtema).value;} else {alert("Ocorreu um erro");} if (valor != ""){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.mudatransp(i3GEO.atualiza,idtema,valor); } else {alert("Valor não definido.");} }, /* Function: mudanome Muda o nome de um tema Parameters: idtema - código do tema */ mudanome: function(idtema){ g_operacao = "mudanome"; if($i("nn"+idtema)) {var valor = $i("nn"+idtema).value;} else {alert("Ocorreu um erro");} if (valor != ""){ i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); i3GEO.php.mudanome(i3GEO.atualiza,idtema,valor); } else {alert("Nome não definido");} }, /* Function: mostralegendajanela Mostra a legenda de um tema em uma janela flutuante específica Na configuração padrão, essa função é disparada quando o usuário estaciona o ouse sobre o nome de um tema na árvore de camadas O uso normal seria nas opções onmouseover e onmouseout Exemplo: onmouseover = i3GEO.tema.mostralegendajanela(idtema,nome,"ativatimer") onmouseout = i3GEO.tema.mostralegendajanela(idtema,nome,"desaativatimer") onclick = i3GEO.tema.mostralegendajanela(idtema,nome,"abrejanela") Parameters: idtema {String} - código do tema nome {String} - nome completo do tema que será mostrado no cabeçalho da janela tipoOperacao {String} {ativatimer|desativatimer|abrejanela} - tipo de operação que será executada */ mostralegendajanela: function(idtema,nome,tipoOperacao){ //alert(idtema+" "+status) if(tipoOperacao == "ativatimer"){ mostralegendajanelaTimer = setTimeout("i3GEO.tema.mostralegendajanela('"+idtema+"','"+nome+"','abrejanela')",4000); } if(tipoOperacao == "abrejanela"){ try{clearTimeout(mostralegendajanelaTimer);} catch(e){}; var retorna = function(retorno){ $i("janelaLegenda"+idtema+"_corpo").innerHTML = retorno.data.legenda; }; if(!$i("janelaLegenda"+idtema)){ var janela = i3GEO.janela.cria("250px","","","","",nome,"janelaLegenda"+idtema,false); janela[2].style.textAlign="left"; janela[2].style.background="white"; janela[2].innerHTML = $trad("o1"); } i3GEO.php.criaLegendaHTML(retorna,idtema,"legenda3.htm"); } if(tipoOperacao == "desativatimer"){ clearTimeout(mostralegendajanelaTimer); } }, /* Class: i3GEO.tema.dialogo Abre as telas de diálogo das opções de manipulação de um tema Return: i3GEO.janela.cria */ dialogo:{ /* Function: abreKml Abre a janela para mostrar o link de acesso a um tema via kml. O tema em questão é um dos que constam na árvore de temas Parameters: tema - código do tema escolhido */ abreKml: function(tema){ if(tema == "mapfile"){ if(i3GEO.parametros.mapfile == "") {alert("Essa opcao nao pode ser ativada. Consulte o administrador do sistema. Mapfile nao esta exposto.");return;} return(i3GEO.janela.cria("450px","250px",i3GEO.configura.locaplic+'/ferramentas/convertekml/index.htm?tema='+i3GEO.parametros.mapfile,"","","Kml")); } else {return(i3GEO.janela.cria("450px","250px",i3GEO.configura.locaplic+'/ferramentas/convertekml/index.htm?tema='+tema,"","","Kml"));} }, /* Function: graficotema Adiciona gráficos automaticamente nos elementos de um tema Parameters: idtema - código do tema */ graficotema: function(idtema) {return(i3GEO.janela.cria("350px","340px",i3GEO.configura.locaplic+"/ferramentas/graficotema/index.htm?tema="+idtema,"","","Gráfico    "));}, /* Function: toponimia Opções de toponímia de um tema. Parameters: idtema - código do tema */ toponimia: function(idtema) {i3GEO.janela.cria("350px","340px",i3GEO.configura.locaplic+"/ferramentas/toponimia/index.htm?tema="+idtema,"","","Toponímia    ");}, /* Function: filtro Opções de filtragem de um tema. Parameters: idtema - código do tema */ filtro: function(idtema) {i3GEO.janela.cria("480px","250px",i3GEO.configura.locaplic+"/ferramentas/filtro/index.htm?tema="+idtema,"","","Filtro    ");}, /* Function: procuraratrib Abre a janela com a opção de procurar elementos baseados nos atributos da tabela do tema Parameters: idtema - id que identifica o tema conforme definido no map file */ procuraratrib: function(idtema) {i3GEO.janela.cria("280px","320px",i3GEO.configura.locaplic+"/ferramentas/busca/index.htm?tema="+idtema,"","","Procurar    ","janela_busca");}, /* Function: tabela Abre a tabela com os atributos de um tema. Parameters: idtema - id que identifica o tema conforme definido no map file */ tabela: function(idtema) {i3GEO.janela.cria("500px","400px",i3GEO.configura.locaplic+"/ferramentas/tabela/index.htm?tema="+idtema,"","","Tabela    ");}, /* Function: etiquetas Abre a janela de configuração das etiquetas Parameters: idtema - id que identifica o tema conforme definido no map file */ etiquetas: function(idtema) {i3GEO.janela.cria("400px","250px",i3GEO.configura.locaplic+"/ferramentas/etiqueta/index.htm?tema="+idtema,"","","Etiquetas    ");}, /* Function: editaLegenda Abre a janela do editor de legenda de um tema Parameters: idtema - id que identifica o tema conforme definido no map file */ editaLegenda: function(idtema) {i3GEO.janela.cria("490px","340px",i3GEO.configura.locaplic+"/ferramentas/legenda/index.htm?tema="+idtema,"","","Legenda    ");}, /* Function: download Abre a janela que faz o download de um tema Parameters: idtema - id ue identifica o tema no map file. */ download: function(idtema) {i3GEO.janela.cria("300px","150px",i3GEO.configura.locaplic+"/ferramentas/download/index.htm?tema="+idtema,"","","Download");} } }; //YAHOO.log("carregou classe tema", "Classes i3geo");