From a9a05941503925d598c12ed08a5ff15e5da5f7de Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Fri, 25 Sep 2009 01:34:02 +0000 Subject: [PATCH] Reformulação para funcionamento com scripttag --- ferramentas/inseregrafico/index.htm | 77 ----------------------------------------------------------------------------- ferramentas/inseregrafico/index.js | 130 ---------------------------------------------------------------------------------------------------------------------------------- ferramentas/inseregrafico/index.js.php | 325 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 325 insertions(+), 207 deletions(-) delete mode 100644 ferramentas/inseregrafico/index.htm delete mode 100644 ferramentas/inseregrafico/index.js create mode 100644 ferramentas/inseregrafico/index.js.php diff --git a/ferramentas/inseregrafico/index.htm b/ferramentas/inseregrafico/index.htm deleted file mode 100644 index bf2c303..0000000 --- a/ferramentas/inseregrafico/index.htm +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - -
- -
-
-
-
- Escolha o tema com os dados: -
-
-
Escolha o tema para ver a lista de itens
-

-
- -
-
-
Marque os itens para compor as partes do gráfico: Edite os valores de cor (R,G,B) conforme o desejado. Após escolher os itens, clique no elemento do mapa para inserir o gráfico.
-
- - - -
- - - - - - - \ No newline at end of file diff --git a/ferramentas/inseregrafico/index.js b/ferramentas/inseregrafico/index.js deleted file mode 100644 index d56d277..0000000 --- a/ferramentas/inseregrafico/index.js +++ /dev/null @@ -1,130 +0,0 @@ -/* -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. -*/ -//inicializa -parametrosURL() -aguarde("block") -ativaGuias("") -mostraGuia("guia1") -comboi = "" -//eventos das guias -$i("guia1").onclick = function() -{mostraGuia("guia1")} -$i("guia2").onclick = function() -{mostraGuia("guia2")} -$i("guia3").onclick = function() -{mostraGuia("guia3")} -mensagemAjuda("men1",$i("men1").innerHTML) -comboTemasLigados("temasLigados",function(retorno) -{ - $i("temasi").innerHTML = retorno.dados - aguarde("none") - if ($i("temasLigados")) - { - $i("temasLigados").onchange = function() - { - aguarde("block") - var tema = $i("temasLigados").value - $i("men1").style.display = "block" - var cp = new cpaint(); - //cp.set_debug(2) - cp.set_response_type("JSON"); - cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listaitens&tema="+tema,"listaItens",listaitensComPar); - } - } -},"temasi") -YAHOO.example.init = function () -{ - function onPushButtonsMarkupReady() - { - new YAHOO.widget.Button("botao1"); - } - YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); -}() -//monta a lista de itens com opções de cores -function listaitensComPar(retorno) -{ - aguarde("none") - if (retorno.data != undefined) - { - var ins = new Array() - ins.push("") - for (i=0;i") - ins.push("") - ins.push("") - ins.push("") - } - ins.push("
"+retorno.data.valores[i].item+"
") - $i("listai").innerHTML = ins.join("") - } - else - {$i("listai").innerHTML = "

Ocorreu um erro
"} -} -//abre a paleta de cores -function corj(obj) -{window.parent.i3GEO.util.abreCor("wdocai",obj)} -//abre alegenda no mapa -function legenda() -{ - pegaitens() - var par = $i("listadeitens").value - try - { - var temp = par.split("*"); - var par = ""; - var i = temp.length-1; - if(i >= 0) - { - do - { - var t = temp[i]; - var t = t.split(","); - par += ""; - } - while(i--) - } - par += "
  "+t[0]+"
"; - var w = window.parent.i3GEO.janela.cria(200,200,"","center","center","Legenda","FlegendaGr"); - var w = w[2].id - window.parent.document.getElementById(w).innerHTML = par; - window.parent.i3GEO.janela.ANTESFECHA = new Array(); - } - catch(e){alert("Ocorreu um erro. legendaGrafico"+e);} -} -//pega os itens -function pegaitens() -{ - var listadeitens = new Array(); - var g = document.getElementById("listai") - var iguias = g.getElementsByTagName("input") - for (i=0;i +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ +/* +Title: Ferramenta Insere gráfico interativo + +File: i3geo/ferramentas/inseregrafico/index.js.php + +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(i3GEOF) === 'undefined'){ + i3GEOF = []; +} +/* +Class: i3GEOF.insereGrafico + +Inclui gráficos em cada elemento de um tema tendo como fonte a tabela de atributos. + +Abre uma janela com várias opções e lista de itens para os gráficos. + +O tema que será utilizado é o que estiver armazenado na variável global i3GEO.temaAtivo +*/ +i3GEOF.insereGrafico = { + /* + Function: inicia + + Inicia a ferramenta. É chamado por criaJanelaFlutuante + + Parametro: + + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta + */ + inicia: function(iddiv){ + try{ + $i(iddiv).innerHTML += i3GEOF.insereGrafico.html(); + i3GEO.guias.mostraGuiaFerramenta("i3GEOinseregraficoguia1","i3GEOinseregraficoguia"); + //eventos das guias + $i("i3GEOinseregraficoguia1").onclick = function() + {i3GEO.guias.mostraGuiaFerramenta("i3GEOinseregraficoguia1","i3GEOinseregraficoguia");}; + $i("i3GEOinseregraficoguia2").onclick = function() + {i3GEO.guias.mostraGuiaFerramenta("i3GEOinseregraficoguia2","i3GEOinseregraficoguia");}; + new YAHOO.widget.Button( + "i3GEOinseregraficobotao1", + {onclick:{fn: i3GEOF.insereGrafico.legenda}} + ); + i3GEO.util.mensagemAjuda("i3GEOinseregraficomen1",$i("i3GEOinseregraficomen1").innerHTML); + //i3GEO.php.listaItensTema(i3GEOF.graficoTema.montaListaItens,i3GEO.temaAtivo); + i3GEOF.insereGrafico.ativaFoco(); + } + 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 += '
'; + return ins; + }, + /* + Function: criaJanelaFlutuante + + Cria a janela flutuante para controle da ferramenta. + */ + criaJanelaFlutuante: function(){ + var minimiza,cabecalho,janela,divid,temp,titulo; + //funcao que sera executada ao ser clicado no cabeçalho da janela + cabecalho = function(){ + i3GEOF.insereGrafico.ativaFoco(); + }; + minimiza = function(){ + var temp = $i("i3GEOF.insereGrafico_corpo"); + if(temp){ + if(temp.style.display === "block") + {temp.style.display = "none";} + else + {temp.style.display = "block";} + } + }; + //cria a janela flutuante + titulo = "Insere grafico    "; + janela = i3GEO.janela.cria( + "400px", + "300px", + "", + "", + "", + titulo, + "i3GEOF.insereGrafico", + false, + "hd", + cabecalho, + minimiza + ); + divid = janela[2].id; + + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEOF.insereGrafico.insere()") < 0) + {i3GEO.eventos.MOUSECLIQUE.push("i3GEOF.insereGrafico.insere()");} + temp = function(){ + i3GEO.eventos.MOUSECLIQUE.remove("i3GEOF.insereGrafico.insere()"); + }; + YAHOO.util.Event.addListener(janela[0].close, "click", temp); + i3GEOF.insereGrafico.inicia(divid); + }, + /* + Function: ativaFoco + + Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado + */ + ativaFoco: function(){ + if(g_tipoacao !== 'inseregrafico'){ + i3GEO.barraDeBotoes.ativaIcone("inseregrafico"); + g_tipoacao='inseregrafico'; + g_operacao='inseregrafico'; + temp = Math.random() + "a"; + temp = temp.split("."); + g_nomepin = "pin"+temp[1]; + i3GEOF.insereGrafico.comboTemas(); + $i("i3GEOinseregraficolistai").innerHTML = ""; + } + }, + /* + Function: insere + + Insere um grafico no mapa na posição clicada + + O ponto é obtidos do objeto objposicaocursor e os demais parâmetros da janela interna aberta no iframe "wdocai" + */ + insere: function(){ + if (g_tipoacao === "inseregrafico"){ + var tema = $i("i3GEOinseregraficotemasLigados").value, + width = $i("i3GEOinseregraficow").value, + inclinacao = $i("i3GEOinseregraficoinclinacao").value, + shadow_height = $i("i3GEOinseregraficosombra").value, + itens; + if (tema === ""){alert("Nenhum tema definido para pegar os dados");} + else{ + itens = i3GEOF.insereGrafico.pegaItensMarcados(); + if (itens === "") + {alert("Nenhum item foi escolhido");} + else{ + i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); + i3GEO.contadorAtualiza++; + i3GEO.php.insereSHPgrafico(i3GEO.atualiza,tema,objposicaocursor.ddx,objposicaocursor.ddy,itens,shadow_height,width,inclinacao); + } + } + } + }, + /* + Function: comboTemas + + Cria o combo com os temas disponíveis (temas ligados) para adição dos gráficos. + */ + comboTemas: function(){ + i3GEO.util.comboTemasLigados( + "i3GEOinseregraficotemasLigados", + function(retorno){ + $i("i3GEOinseregraficotemasi").innerHTML = retorno.dados; + if ($i("i3GEOinseregraficotemasLigados")){ + $i("i3GEOinseregraficotemasLigados").onchange = function(){ + $i("i3GEOinseregraficolistai").innerHTML = "

Aguarde...
"; + i3GEO.php.listaItensTema(i3GEOF.insereGrafico.listaItens,$i("i3GEOinseregraficotemasLigados").value); + i3GEO.temaAtivo = $i("i3GEOinseregraficotemasLigados").value; + }; + } + if(i3GEO.temaAtivo !== ""){ + $i("i3GEOinseregraficotemasLigados").value = i3GEO.temaAtivo; + $i("i3GEOinseregraficotemasLigados").onchange.call(); + } + }, + "i3GEOinseregraficotemasi" + ); + }, + /* + Function: listaItens + + Monta a listagem de itens de um tema com a opção de seleção de cor + + Parametro: + + retorno {JSON} + */ + listaItens: function(retorno){ + try{ + var i, + n, + ins = []; + n = retorno.data.valores.length; + ins.push(""); + for (i=0;i"); + ins.push(""); + ins.push(""); + ins.push(""); + } + ins.push("
 "+retorno.data.valores[i].item+"  
"); + $i("i3GEOinseregraficolistai").innerHTML = ins.join(""); + } + catch(e) + {$i("i3GEOinseregraficolistai").innerHTML = "

Ocorreu um erro "+e+"
";} + }, + /* + Function: corj + + Abre a janela para o usuário selecionar uma cor interativamente + */ + corj: function(obj) + {i3GEO.util.abreCor("",obj);}, + /* + Function: pegaItensMarcados + + Recupera os itens que foram marcados e monta uma lista para enviar como parâmetro para a função de geração dos gráficos + */ + pegaItensMarcados: function(){ + var listadeitens = [], + inputs = $i("i3GEOinseregraficolistai").getElementsByTagName("input"), + i, + it, + c, + n; + n = inputs.length; + for (i=0;i= 0) + { + do + { + t = temp[i]; + t = t.split(","); + par += "  "+t[0]+""; + } + while(i--); + } + par += ""; + w = i3GEO.janela.cria(200,200,"","center","center","Legenda","FlegendaGr"); + w = w[2].id; + $i(w).innerHTML = par; + } + catch(e){alert("Ocorreu um erro. legendaGrafico"+e);} + } +}; + \ No newline at end of file -- libgit2 0.21.2