/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ /* Title: Tabela de atributos Mostra a tabela de atributos de um tema com opções de seleção, estatística, gráficos e relatórios. O tema utilizado é o que estiver definido em i3GEO.temaAtivo Veja: Arquivo: i3geo/ferramentas/tabela/index.js.php 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; 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(i3GEOF) === 'undefined'){ i3GEOF = []; } /* Classe: i3GEOF.tabela */ i3GEOF.tabela = { /* Variavel: aguarde Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. */ aguarde: "", /* Variavel: tipoDeGrafico Guarda o tipo de grafico escolhido pelo usuário */ tipoDeGrafico: "", /* Variavel: tema Tema que será utilizado Type: {string} */ tema: i3GEO.temaAtivo, /* Variavel: registros Guarda os índices dos registros escolhidos na tabela Type: {array} */ registros: [], /* Variavel: parametros Parametros utilizados para o gráfico. É definido em função do tipo de gráfico escolhido Type: {string} */ parametros: "", /* Variable: nomeArquivoGr Nome do arquivo gerado com os dados para o gráfico */ nomeArquivoGr: "", /* Function: inicia Inicia a ferramenta. É chamado por criaJanelaFlutuante Parametro: iddiv {String} - id do div que receberá o conteudo HTML da ferramenta */ inicia: function(iddiv){ i3GEO.janela.comboCabecalhoTemas("i3GEOFtabelaComboCabeca","i3GEOFtabelaComboCabecaSel","tabela","ligadosComTabela"); if(i3GEO.temaAtivo === ""){ $i(iddiv).innerHTML = '

Escolha um tema da lista

'; return; } try{ $i(iddiv).innerHTML = i3GEOF.tabela.html(); i3GEO.guias.mostraGuiaFerramenta("i3GEOtabelaguia1","i3GEOtabelaguia"); //eventos das guias $i("i3GEOtabelaguia6").onclick = function() {i3GEO.guias.mostraGuiaFerramenta("i3GEOtabelaguia6","i3GEOtabelaguia");}; $i("i3GEOtabelaguia1").onclick = function() {i3GEO.guias.mostraGuiaFerramenta("i3GEOtabelaguia1","i3GEOtabelaguia");}; $i("i3GEOtabelaguia3").onclick = function(){ i3GEO.guias.mostraGuiaFerramenta("i3GEOtabelaguia3","i3GEOtabelaguia"); if(!$i("i3GEOtabelaComboItensGuia3")) {i3GEOF.tabela.comboItensEstat();} }; $i("i3GEOtabelaguia4").onclick = function(){ i3GEO.guias.mostraGuiaFerramenta("i3GEOtabelaguia4","i3GEOtabelaguia"); i3GEOF.tabela.t0(); }; $i("i3GEOtabelaguia5").onclick = function(){ i3GEO.guias.mostraGuiaFerramenta("i3GEOtabelaguia5","i3GEOtabelaguia"); i3GEO.util.checkItensEditaveis( i3GEOF.tabela.tema, function(retorno){ if (retorno.tipo === "dados") {$i("i3GEOtabelaitensrelatorio").innerHTML = retorno.dados;} }, "i3GEOtabelaitensrelatorio", 50, "" ); i3GEO.util.comboItens( "i3GEOtabelaagrupaItem", i3GEOF.tabela.tema, function(retorno){ var combo = retorno.dados; if(retorno.tipo === "erro"){ $i("i3GEOtabelaagrupamento").innerHTML = "

erro ao ler os itens do tema de origem

"; } else{ $i("i3GEOtabelaagrupamento").innerHTML = retorno.dados; } }, "i3GEOtabelaagrupamento", "" ); }; new YAHOO.widget.Button( "i3GEOtabelabotao2", {onclick:{fn: i3GEOF.tabela.ativaSelecao}} ); new YAHOO.widget.Button( "i3GEOtabelabotao3", {onclick:{fn: i3GEOF.tabela.limpaSelecao}} ); new YAHOO.widget.Button( "i3GEOtabelabotao6", {onclick:{fn: i3GEOF.tabela.criaNovoTema}} ); new YAHOO.widget.Button( "i3GEOtabelabotaoLista", {onclick:{fn: i3GEOF.tabela.pegaRegistros}} ); $i("i3GEOtabelabotao2-button").style.minHeight = "1em"; $i("i3GEOtabelabotao2-button").style.padding = "0px 15px"; $i("i3GEOtabelabotao3-button").style.minHeight = "1em"; $i("i3GEOtabelabotao3-button").style.padding = "0px 15px"; $i("i3GEOtabelabotao6-button").style.minHeight = "1em"; $i("i3GEOtabelabotao6-button").style.padding = "0px 15px"; $i("i3GEOtabelabotaoLista-button").style.minHeight = "1em"; $i("i3GEOtabelabotaoLista-button").style.padding = "0px 15px"; new YAHOO.widget.Button( "i3GEOtabelabotao4", {onclick:{fn: i3GEOF.tabela.estatistica}} ); new YAHOO.widget.Button( "i3GEOtabelabotao7", {onclick:{fn: i3GEOF.tabela.relatorioTabela}} ); new YAHOO.widget.Button( "i3GEOtabelabotao5", {onclick:{fn: i3GEOF.tabela.relatorioTexto}} ); //new YAHOO.widget.Button("i3GEOtabelabotao7"); i3GEO.util.mensagemAjuda("i3GEOtabelamen1",$i("i3GEOtabelamen1").innerHTML); if (i3GEO.parametros.r.toLowerCase() !== "sim") {$i("i3GEOtabelaguia4obj").innerHTML = "Opção não disponível";} i3GEOF.tabela.pegaRegistros(); } catch(erro){alert(erro);} }, /* Function: html Gera o código html para apresentação das opções da ferramenta Retorno: String com o código html */ html:function(){ var ins = '';//

ins += '

'; ins += ''; ins += '

'; ins += '
'; ins += '
'; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += ' '; ins += '
Considerar na listagem a região mostrada no mapa (se essa opção for desmarcada, será considerada a extensão geográfica do mapa inicial)
Atualiza a tabela após navegar no mapa
Mostrar na listagem apenas os selecionados
Mostrar coluna com a legenda da classe
'; ins += '
'; ins += '
'; ins += '
'; ins += '
'; ins += '

'; ins += ' '; ins += ' '; ins += '

'; ins += ' de '; ins += $inputText("","","i3GEOtabelainicio","",5,"1"); ins += ' até'; ins += $inputText("","","i3GEOtabelafim","",5,"20"); ins += ' '; ins += ' '; ins += '
'; ins += '
'; ins += '
'; ins += '
'; ins += ' '; ins += ' '; ins += ' '; return ins; }, /* Function: criaJanelaFlutuante Cria a janela flutuante para controle da ferramenta. */ criaJanelaFlutuante: function(){ var minimiza,cabecalho,janela,divid,temp,titulo; if($i("i3GEOF.tabela")){ i3GEOF.tabela.tema = i3GEO.temaAtivo; i3GEOF.tabela.inicia("i3GEOF.tabela_corpo"); return; } cabecalho = function(){ i3GEOF.tabela.ativaFoco(); }; minimiza = function(){ i3GEO.janela.minimiza("i3GEOF.tabela"); }; //cria a janela flutuante titulo = "
------
   Tabela    "; janela = i3GEO.janela.cria( "500px", "400px", "", "", "", titulo, "i3GEOF.tabela", false, "hd", cabecalho, minimiza ); divid = janela[2].id; $i("i3GEOF.tabela_corpo").style.backgroundColor = "white"; i3GEOF.tabela.aguarde = $i("i3GEOF.tabela_imagemCabecalho").style; i3GEOF.tabela.inicia(divid); temp = function(){ if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){ i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.tabela.pegaRegistros()"); } if(i3GEO.Interface.ATUAL === "googlemaps"){ google.maps.event.removeListener(tabelaDragend); google.maps.event.removeListener(tabelaZoomend); } if(i3GEO.Interface.ATUAL === "googleearth"){ google.earth.removeEventListener(tabelaDragend); } if(i3GEO.eventos.ATUALIZAARVORECAMADAS.toString().search('i3GEO.janela.comboCabecalhoTemas("i3GEOFtabelaComboCabeca","i3GEOFtabelaComboCabecaSel","tabela","ligadosComTabela")') > 0) {i3GEO.eventos.ATUALIZAARVORECAMADAS.remove('i3GEO.janela.comboCabecalhoTemas("i3GEOFtabelaComboCabeca","i3GEOFtabelaComboCabecaSel","tabela","ligadosComTabela")');} }; YAHOO.util.Event.addListener(janela[0].close, "click", temp); }, /* Function: ativaFoco Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado */ ativaFoco: function(){ if(i3GEOF.tabela.tema !== "" && i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.tema) === "") {alert("O tema ja nao existe mais no mapa");} var i = $i("i3GEOF.tabela_c").style; i3GEO.janela.ULTIMOZINDEX++; i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX; }, /* Function: ativaAutoAtualiza Ativa ou desativa a atualização automática da tabela quando o usuário navega no mapa */ ativaAutoAtualiza:function(obj){ if(obj.checked == true){ if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){ i3GEO.eventos.NAVEGAMAPA.push("i3GEOF.tabela.pegaRegistros()"); } if(i3GEO.Interface.ATUAL === "googlemaps"){ tabelaDragend = google.maps.event.addListener(i3GeoMap, "dragend", function() {i3GEOF.tabela.pegaRegistros();}); tabelaZoomend = google.maps.event.addListener(i3GeoMap, "zoomend", function() {i3GEOF.tebela.pegaRegistros();}); } if(i3GEO.Interface.ATUAL === "googleearth"){ tabelaDragend = google.earth.addEventListener(i3GeoMap.getView(), "viewchangeend", function() {i3GEOF.tabela.pegaRegistros();}); } } else{ if(i3GEO.Interface.ATUAL !== "googlemaps" && i3GEO.Interface.ATUAL !== "googleearth"){ i3GEO.eventos.NAVEGAMAPA.remove("i3GEOF.tabela.pegaRegistros()"); } if(i3GEO.Interface.ATUAL === "googlemaps"){ google.maps.event.removeListener(tabelaDragend); google.maps.event.removeListener(tabelaZoomend); } if(i3GEO.Interface.ATUAL === "googleearth"){ google.earth.removeEventListener(tabelaDragend); } } }, /* Function: pegaRegistros Pega os registros da tabela de atributos do tema Veja: */ pegaRegistros: function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; var tipolista = "tudo", tiporeg = "brasil", inicio = $i("i3GEOtabelainicio").value - 1, fim = $i("i3GEOtabelafim").value, p, dadosDaClasse = "nao", cp = new cpaint(); if ($i("i3GEOtabelatiporeg").checked) {tiporeg = "mapa";} if ($i("i3GEOtabelatipolista").checked) {tipolista = "selecionados";} if ($i("i3GEOtabelalegenda").checked) {dadosDaClasse = "sim";} p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listaregistros&inicio="+inicio+"&fim="+fim+"&tema="+i3GEOF.tabela.tema+"&tipo="+tiporeg+"&tipolista="+tipolista+"&ext="+i3GEO.parametros.mapexten+"&dadosDaClasse="+dadosDaClasse; cp.set_response_type("JSON"); cp.call(p,"listaRegistros",i3GEOF.tabela.montaTabela); }, /* Function: montaTabela Monta a visualização da tabela de atributos */ montaTabela: function(retorno){ if (retorno.data !== undefined) { var ins = [], i, vals, cor, j, n, stat, imagem, i3GEOtabelalegenda = $i("i3GEOtabelalegenda").checked; //cabecalho da tabela ins = ""; ins += ""; n = retorno.data[0].itens.length; for (i=0;i 
"+retorno.data[0].alias[i]+"";} ins += "
"; cor = "linha"; n = retorno.data[1].registros.length; for (i=0;i"; // ins += ""; ins += ""; stat = ""; if(retorno.data[1].registros[i].status === "CHECKED") {stat = "CHECKED";} if(i3GEOF.tabela.registros[retorno.data[1].registros[i].indice]){ if(i3GEOF.tabela.registros[retorno.data[1].registros[i].indice] === true) {stat = "CHECKED";} else {stat = "";} } ins += ""; if(i3GEOtabelalegenda == true){ imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]]; ins += ""; } else {ins += "";} if(stat === "CHECKED") {i3GEOF.tabela.registros[retorno.data[1].registros[i].indice] = true;} vals = retorno.data[1].registros[i].valores; for (j=0;j"+vals[j].valor+"";} if (cor === "linha"){cor = "linha1";} else{cor = "linha";} } $i("i3GEOtabelaregistros").innerHTML = ins; } i3GEOF.tabela.aguarde.visibility = "hidden"; }, /* Function: mais Avança o contador de registros para a listagem */ mais:function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} var i = $i("i3GEOtabelainicio").value * 1, f = $i("i3GEOtabelafim").value * 1, d = f - i; $i("i3GEOtabelainicio").value = f + 1; $i("i3GEOtabelafim").value = f + d + 1; i3GEOF.tabela.pegaRegistros(); }, /* Function: menos Retrocede o contador de registros para a listagem */ menos: function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} var i = $i("i3GEOtabelainicio").value * 1, f = $i("i3GEOtabelafim").value * 1, d = f - i; $i("i3GEOtabelainicio").value = i - d - 1; $i("i3GEOtabelafim").value = i - 1; if ($i("i3GEOtabelainicio").value < 1){ $i("i3GEOtabelainicio").value = 1; $i("i3GEOtabelafim").value = 1 + d; } i3GEOF.tabela.pegaRegistros(); }, /* Function: excluiColuna Exclui uma coluna da visualização da tabela */ excluiColuna: function(coluna,cid){ i3GEOF.tabela.aguarde.visibility = "visible"; try{ var tabela = $i("i3GEOtabelatabelai"), trs, i, t, nt, ni; trs = tabela.getElementsByTagName("tr"); nt = trs.length; for (t=0;t";} } $i("i3GEOtabelaregistros").innerHTML = ins+"
"; if(retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != ""){ ins += ""; } ins += "
"; i3GEOF.tabela.aguarde.visibility = "hidden"; } catch(e){i3GEOF.tabela.aguarde.visibility = "hidden";if(typeof(console) !== 'undefined'){console.error(e);}} }, excluiLinha: function(celula){ var p = celula.parentNode.parentNode; do{ p.removeChild(p.childNodes[0]); } while (p.childNodes.length > 0); p.parentNode.removeChild(p); }, zoomExt: function(ext){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; var funcao = function(){ i3GEOF.tabela.aguarde.visibility = "hidden"; i3GEOF.tabela.pegaRegistros(); i3GEO.atualiza(); }; i3GEO.php.mudaext(funcao,"nenhum",ext); }, //depreciado zoomLinha: function(celula){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; var p,reg,tempExt; p = celula.parentNode.parentNode; reg = p.getElementsByTagName("input")[0].name; tempExt = function(retorno){ i3GEOF.tabela.aguarde.visibility = "hidden"; var funcao = function(){ i3GEOF.tabela.pegaRegistros(); i3GEO.atualiza(); }; i3GEO.php.mudaext(funcao,"nenhum",retorno.data); }; i3GEO.php.extRegistros(tempExt,i3GEOF.tabela.tema,reg); }, registraLinha: function(linha){ i3GEOF.tabela.registros[linha.name] = linha.checked; }, /* Function: listaMarcados Retorna um array com os índices dos registros que estão marcados. */ listaMarcados: function(){ var lista = [], i, n = i3GEOF.tabela.registros.length; for (i=0;i */ ativaSelecao: function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; var lista = i3GEOF.tabela.listaMarcados(), p, cp, temp = function(retorno){ if(i3GEO.Interface.ATUAL === "padrao") {i3GEO.atualiza(retorno);} i3GEO.Interface.atualizaTema(retorno,i3GEOF.tabela.tema); i3GEOF.tabela.aguarde.visibility = "hidden"; }; p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=incluisel&tema="+i3GEOF.tabela.tema+"&ids="+lista.toString(); cp = new cpaint(); cp.set_response_type("JSON"); cp.call(p,"incluiSel",temp); }, /* Function: limpaSelecao Limpa a seleção do tema da tabela */ limpaSelecao: function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; i3GEO.tema.limpasel(i3GEOF.tabela.tema); i3GEOF.tabela.registros = []; var lista = $i("i3GEOtabelatabelai").getElementsByTagName("input"), n = lista.length, i; for(i=0;i"+valor+"

"; } } } else{ ins = retorno.data; } $i("i3GEOtabelaoperacoes").innerHTML = ins + "
"; i3GEOF.tabela.aguarde.visibility = "hidden"; }, exclui = "", cp = new cpaint(), p; if ($i("i3GEOtabelafiltro1").value !== "") {exclui = $i("i3GEOtabelafiltro1").value;} p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=estatistica&item="+$i("i3GEOtabelaComboItensGuia3").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+exclui+"&ext="+i3GEO.parametros.mapexten; cp.set_response_type("JSON"); cp.call(p,"estatDescritivas",monta); }catch(e){ i3GEOF.tabela.aguarde.visibility = "hidden"; $i("operacoes").innerHTML = "Ocorreu um erro: "+e; } }, tabelaTexto:function(){ }, t0: function(){ $i("i3GEOtabelaresultado").innerHTML = ""; var ins = ""; ins += "

A representação gráfica dos dados tabulares utiliza todos os elementos da tabela ou os selecionados, se estiverem ativos no mapa."; ins += "

Os gráficos são gerados com o software R, mas vc pode optar por usar a ferramenta de gráficos interativos que possuem outras opções e geram gráficos em Flash."; ins += "

"; ins += "

Se você optar por usar o R, nas telas seguintes defina o tipo e as opções do gráfico."; i3GEO.util.proximoAnterior("","i3GEOF.tabela.t1()",ins,"i3GEOFtabelat0","i3GEOtabelaresultado"); new YAHOO.widget.Button( "i3GEOtabelaGraficoI", {onclick:{fn: function(){ i3GEO.mapa.ativaTema(i3GEOF.tabela.tema); i3GEO.analise.dialogo.graficoInterativo(); } }} ); }, t1: function(){ var ins = "

Escolha o tipo de gráfico:

"; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; ins += "
 
"; i3GEO.util.proximoAnterior("i3GEOF.tabela.t0()","i3GEOF.tabela.validaT1()",ins,"i3GEOF.tabela.t1()","i3GEOtabelaresultado"); }, validaT1: function(){ if (i3GEOF.tabela.tipoDeGrafico === ""){ alert("Selecione um tipo de Grafico"); i3GEOF.tabela.t1(); } else{ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; i3GEO.util.comboItens( "i3GEOFtabelagi1", i3GEOF.tabela.tema, function(retorno){ i3GEOF.tabela.t2(retorno.dados,retorno.dados.replace("i3GEOFtabelagi1","i3GEOFtabelagi2")); } ); } }, t2:function(combo1,combo2){ i3GEOF.tabela.aguarde.visibility = "hidden"; var ins = "

Item com os valores ou eixo y:", c, combo, itens; ins += "

"+combo1; if ((i3GEOF.tabela.tipoDeGrafico !== "hist")) { ins += "

Item com as categorias ou eixo x:
"; ins += "

"+combo2; } if ((i3GEOF.tabela.tipoDeGrafico !== "hist") && (i3GEOF.tabela.tipoDeGrafico !== "scatter") && (i3GEOF.tabela.tipoDeGrafico !== "scatterbins")) { ins += "

Os valores serão agrupados pelas categorias por:"; ins += "

"; } ins += "

Excluir valores:"; ins += "

"; i3GEO.util.proximoAnterior("i3GEOF.tabela.t1()","i3GEOF.tabela.t3()",ins,"i3GEOF.tabela.t2()","i3GEOtabelaresultado"); }, t3: function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; var temp, i, t, n, tsl = []; if (i3GEOF.tabela.tipoDeGrafico === "pie") {i3GEOF.tabela.parametros = "radius,Tgrid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Trotulos,cex,font,Toutros,lty,bg,gw,gh,res,percentual";} if (i3GEOF.tabela.tipoDeGrafico === "barplot") {i3GEOF.tabela.parametros = "Tgrid,grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,Trotulos,font,las,cexaxis,Toutros,space,bg,gw,gh,res,percentual,setasdv";} if (i3GEOF.tabela.tipoDeGrafico === "hist") {i3GEOF.tabela.parametros = "Tgrid,grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,font,Toutros,corbarras,breaks,lwd,bg,gw,gh,res,densidade";} if (i3GEOF.tabela.tipoDeGrafico === "linhas") {i3GEOF.tabela.parametros = "Tgrid,grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,colaxis,Toutros,pch,spline,tpt,ppontos,lty,tck,lwd,bg,gw,gh,res";} if (i3GEOF.tabela.tipoDeGrafico === "scatter") {i3GEOF.tabela.parametros = "grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,colaxis,Toutros,pch,tpt,ppontos,lty,tck,lwd,bg,gw,gh,res,corlinha";} if (i3GEOF.tabela.tipoDeGrafico === "scatterbins") {i3GEOF.tabela.parametros = "grid,border,Bgrafico,margem,margemexterna,margeminterna,Ttitulo,main,fontmain,cexmain,colmain,Tsubtitulo,sub,fontsub,cexsub,Teixo,ylab,xlab,cexlab,collab,fontlab,las,Trotulos,cexaxis,colaxis,Toutros,pch,tpt,ppontos,lty,tck,lwd,bg,gw,gh,res,corlinha,nbins,plota3d";} ins = "

"; ins += ""; ins += "
"; ins += "

"; ins += "

"; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; ins += ""; temp = i3GEOF.tabela.parametros.split(","); n = temp.length; for(i=0;i < n;i++) {ins += i3GEOF.tabela.retornaPar(temp[i]);} ins += "
Tamanho da figura
Largura em pixels
Altura em pixels
Resolução em dpi
"; i3GEOF.tabela.aguarde.visibility = "hidden"; i3GEO.util.proximoAnterior("i3GEOF.tabela.t1()","",ins,"i3GEOF.tabela.t3()","i3GEOtabelaresultado"); new YAHOO.widget.Button( "i3GEOtabelabotao7", {onclick:{fn: function(){i3GEOF.tabela.geraGrafico(i3GEOF.tabela.mostraGrafico);}}} ); new YAHOO.widget.Button( "i3GEOtabelabotao8", {onclick:{fn: i3GEOF.tabela.fusaoGrafico}} ); new YAHOO.widget.Button( "i3GEOtabelabotao10", {onclick:{fn: function(){i3GEOF.tabela.geraGrafico(i3GEOF.tabela.mostraImagem);}}} ); }, /* Function: retornaPar Monta os parâmetros adicionais de cada tipo de gráfico */ retornaPar: function(id){ try{ var ins = "", t; if (id === "Tgrid") {ins += "Grade e bordas";} if (id === "Ttitulo") {ins += "Título";} if (id === "Tsubtitulo") {ins += "Sub-Título";} if (id === "Teixo") {ins += "Texto dos eixos";} if (id === "Trotulos") {ins += "Texto dos rótulos dos eixos";} if (id === "Toutros") {ins += "Outros";} if (id === "Bgrafico") {ins += "Margem do gráfico";} if (id === "corlinha"){ ins += "Cor da linha"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelacorlinha","1")+""; } if (id === "corbarras"){ ins += "Cor das barras"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelacorbarras","0")+""; } if (id === "plota3d"){ ins += "Plota em 3d?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelaplota3d","nao")+""; } if (id === "setasdv"){ ins += "Plota as marcas do desvio padrão?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelasetasdv","nao")+""; } if (id === "margem"){ ins += "Plota a margem?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelamargem","sim")+""; } if (id === "margemexterna"){ ins += "Margem externa"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelamargemexterna","0")+""; } if (id === "margeminterna"){ ins += "Margem interna"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelamargeminterna","0")+""; } if (id === "nbins"){ ins += "Número de divisões dos eixos"; ins += ""; } if (id === "breaks"){ ins += "Total de quebras"; ins += ""; } if (id === "space"){ ins += "Espaçamento entre as barras"; ins += ""; } if (id === "grid"){ ins += "Plota a grade?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelagrid","sim")+""; } if (id === "radius"){ ins += "Redução da figura (-1 a 1)"; ins += ""; } if (id === "percentual"){ ins += "Plota o percentual nos rótulos?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelapercentual","sim")+""; } if (id === "densidade"){ ins += "Utiliza densidade"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabeladensidade","nao")+""; } if (id === "ann"){ ins += "Plota os textos?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelaann","sim")+""; } if (id === "adj"){ ins += "Posicionamento dos textos"; ins += ""; } if (id === "font"){ ins += 'Estilo da fonte dos textos marginais'; ins += ''; ins += '"; ins += ''; } if (id === "cex"){ ins += "Fator de escala"; ins += ""; } if (id === "main"){ t = ""; if ($i("i3GEOtabelagi1")) {t = $i("i3GEOtabelagi1").value;} if ($i("i3GEOtabelagi2")) {t += " " + $i("i3GEOtabelagi2").value;} ins += "Título"; ins += ""; } if (id === "fontmain"){ ins += 'Estilo'; ins += ''; ins += '"; ins += ''; } if (id === "cexmain"){ ins += "Fator de escala"; ins += ""; } if (id === "colmain"){ ins += "Cor"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelacolmain","1")+""; } if (id === "sub"){ ins += "Sub-Título"; ins += ""; } if (id === "fontsub"){ ins += 'Estilo'; ins += ''; ins += '"; ins += ''; } if (id === "cexsub"){ ins += "Fator de escala"; ins += ""; } if (id === "colsub"){ ins += "Cor"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelacolsub","1")+""; } if (id === "ylab"){ if ($i("i3GEOFtabelagi1")) {t = $i("i3GEOFtabelagi1").value;} if (i3GEOF.tabela.tipoDeGrafico === "hist") {t = "quantidade";} ins += "Nome do eixo y"; ins += ""; } if (id === "xlab"){ if ($i("i3GEOFtabelagi2")) {t = $i("i3GEOFtabelagi2").value;} if (i3GEOF.tabela.tipoDeGrafico === "hist") {t = "ocorrencias";} ins += "Nome do eixo x"; ins += ""; } if (id === "cexaxis"){ ins += "Fator de escala"; ins += ""; } if (id === "cexlab"){ ins += "Fator de escala"; ins += ""; } if (id === "colaxis"){ ins += "Cor"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelacolaxis","1")+""; } if (id === "collab"){ ins += "Cor"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelacollab","1")+""; } if (id === "fontaxis"){ ins += 'Estilo'; ins += ''; ins += '"; ins += ''; } if (id === "fontlab"){ ins += 'Estilo'; ins += ''; ins += '"; ins += ''; } if (id === "las"){ ins += "Ângulo"; ins += ""; } if (id === "lty"){ ins += 'Estilo das linhas'; ins += ''; ins += '"; ins += ''; } if (id === "border") { ins += "Cor da borda dos elementos ou linhas"; ins += ""+i3GEOF.tabela.combocor("i3GEOtabelaborder","1")+""; } if (id === "lwd"){ ins += "Largura da linha"; ins += ""; } if (id === "tck"){ ins += "Tamanho dos tics"; ins += ""; } if (id === "horiz"){ ins += "Horizontal?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelahoriz","sim")+""; } if (id === "spline"){ ins += "Suaviza as linhas?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelaspline","nao")+""; } if (id === "ppontos"){ ins += "Plota os pontos?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelappontos","sim")+""; } if (id === "full"){ ins += "Círculo inteiro?"; ins += ""+i3GEO.util.comboSimNao("i3GEOtabelafull","sim")+""; } if (id === "pch"){ ins += "Símbolo dos pontos"; ins += ""; } if (id === "tpt"){ ins += "Tamanho dos pontos"; ins += ""; } return ins; } catch(e){alert("Erro ao capturar parametro. "+e);} }, /* Function: combocor Gera uma lista de cores no padrão do R */ combocor: function(id,def,s){ var combo = ""; return(combo); }, /* Function: geraGrafico Gera a imagem do gráfico */ geraGrafico: function(funcao){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; var par,p, cp = new cpaint(); par = i3GEOF.tabela.montapar(i3GEOF.tabela.parametros); if (i3GEOF.tabela.tipoDeGrafico==="pie"){ p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficopizza"+par; cp.set_response_type("JSON"); cp.call(p,"graficoPizza",funcao); } if (i3GEOF.tabela.tipoDeGrafico==="barplot"){ p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficobarras"+par; cp.set_response_type("JSON"); cp.call(p,"graficoBarras",funcao); } if (i3GEOF.tabela.tipoDeGrafico==="hist"){ p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficohist"+par; cp.set_response_type("JSON"); cp.call(p,"graficoHist",funcao); } if (i3GEOF.tabela.tipoDeGrafico==="linhas"){ p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficolinhas"+par; cp.set_response_type("JSON"); cp.call(p,"graficoLinhas",funcao); } if (i3GEOF.tabela.tipoDeGrafico==="scatter"){ p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoscatter"+par; cp.set_response_type("JSON"); cp.call(p,"graficoScatter",funcao); } if (i3GEOF.tabela.tipoDeGrafico==="scatterbins"){ p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=graficoscatterbins"+par; cp.set_response_type("JSON"); cp.call(p,"graficoScatterBins",funcao); } }, /* Function: mostraGrafico Mostra o gráfico gerado em uma nova janela do navegador */ mostraGrafico: function(retorno){ i3GEOF.tabela.aguarde.visibility = "hidden"; if (retorno.data !== "erro") { var r = retorno.data, l = r.split(","), w = window.open(""); w.document.write(""); w.document.write("


Arquivo com os valores"); w.document.close(); i3GEOF.tabela.imagemG = l[0]; i3GEOF.tabela.nomeArquivoGr = l[2]; } else {alert("Ocorreu algum erro. Verifique os tipos de dados.");} }, /* Function: mostraImagem Mostra o gráfico na janela flutuante do i3Geo */ mostraImagem: function(retorno){ i3GEOF.tabela.aguarde.visibility = "hidden"; if (retorno.data !== "erro"){ var r = retorno.data, l = r.split(","), i = $i("i3GEOtabelaimgG"); i.innerHTML = ""; i.style.display="block"; i3GEOF.tabela.imagemG = l[0]; i3GEOF.tabela.nomeArquivoGr = l[2]; } else {alert("Ocorreu algum erro. Verifique os tipos de dados.");} }, /* Function: fusaoGrafico Faz a fusão do mapa com o gráfico gerado */ fusaoGrafico: function(){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; if (i3GEOF.tabela.imagemG === ""){ alert("O gráfico ainda não foi gerado."); i3GEOF.tabela.aguarde.visibility = "hidden"; } else{ var cp = new cpaint(), i = i3GEO.gadgets.quadros.quadrosfilme[i3GEO.gadgets.quadros.quadroatual].imagem, p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=fusaografico&imagem="+i+"&grafico="+i3GEOF.tabela.imagemG, temp = function(retorno){ var img = retorno.data, i = $i("img"); i.src = ""; i.src = img; window.open(img); i3GEOF.tabela.aguarde.visibility = "hidden"; }; cp.set_response_type("JSON"); cp.call(p,"fusaoGrafico",temp); } }, /* Function: montaPar Monta os parâmetros para um determinado tipo de gráfico, que serão utilizados na chamada ajax de criação do gráfico */ montapar: function(parametros){ try{ var par = "&", i, v, tipo = i3GEOF.tabela.tipoDeGrafico, n; parametros = parametros.split(","); n = parametros.length; for(i=0;i < n;i++){ if ($i("i3GEOtabela"+parametros[i])){ v = $i("i3GEOtabela"+parametros[i]).value; par += "&"+parametros[i]+"="+v; } } if (i3GEOF.tabela.tipoDeGrafico === "estrela") {tipo = "estrela";} if (i3GEOF.tabela.tipoDeGrafico === "hist") {tipo = "hist";} if ((i3GEOF.tabela.tipoDeGrafico === "scatter") || (i3GEOF.tabela.tipoDeGrafico === "scatterbins")) {tipo = "scatter";} if ($i("i3GEOtabelaagrupar")) {tipo = $i("i3GEOtabelaagrupar").value;} if ((i3GEOF.tabela.tipoDeGrafico === "pie") || (i3GEOF.tabela.tipoDeGrafico === "barplot") || (i3GEOF.tabela.tipoDeGrafico === "scatter") || (i3GEOF.tabela.tipoDeGrafico === "scatterbins")) {par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&itemclasses="+$i("i3GEOFtabelagi2").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo="+tipo;} if (i3GEOF.tabela.tipoDeGrafico === "hist") {par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&itemclasses="+$i("i3GEOFtabelagi1").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo=nenhum";} if (i3GEOF.tabela.tipoDeGrafico === "linhas") {par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&itemclasses="+$i("i3GEOFtabelagi2").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo="+tipo;} if (i3GEOF.tabela.tipoDeGrafico === "estrela") {par += "&itemvalores="+$i("i3GEOFtabelagi1").value+"&tema="+i3GEOF.tabela.tema+"&exclui="+$i("i3GEOtabelagexcluir").value+"&tipo="+tipo+"&itemclasses="+itensEstrela;} par += "&nome="+i3GEOF.tabela.nomeArquivoGr; return(par); }catch(e){alert("Erro: "+e);i3GEOF.tabela.aguarde.visibility = "hidden";} }, /* Function: relatorioTabela Monta o relatório padrão em uma nova janela */ relatorioTabela: function(){ try{ $i("i3GEOtabelaarearelh").value = $i("i3GEOtabelacalculaarea").checked; $i("i3GEOtabelastatrelh").value = $i("i3GEOtabelacalculaestat").checked; $i("i3GEOtabelaexcluirvalorh").value = $i("i3GEOtabelaexcestat").value; $i("i3GEOtabelatemarelh").value=i3GEOF.tabela.tema; $i("i3GEOtabelag_sidh").value=i3GEO.configura.sid; $i("i3GEOtabelaitemagruparelh").value=$i("i3GEOtabelaagrupaItem").value; var inputs = $i("i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listanomes = [], nome, i, n = inputs.length; for (i=0;i