From 18f4e2bbcdfbd1d440bab0b18e3b257705f5b1bd Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Sat, 26 Sep 2009 03:45:27 +0000 Subject: [PATCH] Ticket 157. Reformulação dos códigos para uso de script tag --- ferramentas/gradepontos/index.js | 111 --------------------------------------------------------------------------------------------------------------- ferramentas/gradepontos/index.js.php | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+), 111 deletions(-) delete mode 100644 ferramentas/gradepontos/index.js create mode 100644 ferramentas/gradepontos/index.js.php diff --git a/ferramentas/gradepontos/index.js b/ferramentas/gradepontos/index.js deleted file mode 100644 index ffb3700..0000000 --- a/ferramentas/gradepontos/index.js +++ /dev/null @@ -1,111 +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() -ins = "" -t0() - -function t0() -{ - ins = "

A grade é formada por pontos espaçados conforme os parâmetros de x e y." - ins += "

A grade criada é adicionada como um novo tema no mapa, podendo ser utilizada em operações como o cruzamento entre pontos e polígonos." - ins += "

O ponto inicial da grade deve ser definido pelo usuário e o ponto final (inferior direito) é definido em função da abranência do mapa ou da quantidade de pontos." - mostraOpcao("","t1()",ins,"t0") -} -function t1() -{ - ins = "Espaçamento da grade" - ins += "

em X: " - ins += "Grau" - ins += "Minuto" - ins += "Segundo" - ins += "

em Y: " - ins += "Grau" - ins += "Minuto" - ins += "Segundo" - mostraOpcao("t0()","t2()",ins,"t1") -} -function t2() -{ - ins = "Coordenadas do ponto inicial superior esquerdo (utilize o sinal negativo no grau quando ao sul do equador e a oeste). Você pode clicar no mapa para pegar o ponto." - ins += "

em X: " - ins += "Grau" - ins += "Minuto" - ins += "Segundo" - ins += "

em Y: " - ins += "Grau" - ins += "Minuto" - ins += "Segundo" - window.parent.g_tipoacao = "capturaponto" - mostraOpcao("t1()","t3()",ins,"t2") -} -function t3() -{ - window.parent.mudaiconf("pan") - ins = "Número de pontos. Máximo de 10.000" - ins += "

em X: " - ins += "" - ins += "

em Y: " - ins += "" - mostraOpcao("t2()","t4()",ins,"t3") -} -function t4() -{ - ins = "A grade será acrescentada como um novo tema no mapa" - ins += "

" - mostraOpcao("t3()","",ins,"t4") - YAHOO.example.init = function () - { - function onPushButtonsMarkupReady() - {new YAHOO.widget.Button("botao1");} - YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); - }() -} -function criargrade() -{ - var dx = convdmsddf("xg","xm","xs") - var dy = convdmsddf("yg","ym","ys") - var ix = convdmsddf("ixg","ixm","ixs") - var iy = convdmsddf("iyg","iym","iys") - var nptx = $i("nptx").value - var npty = $i("npty").value - if ((dx == 0) || (dy == 0)) - {alert("Distância entre os pontos não pode ser 0");return;} - if ((nptx == 0) || (npty == 0)) - {alert("Número de pontos não pode ser 0");return;} - if (nptx * npty > 10000) - {alert("Número de pontos não pode ser maior que 10.000");return;} - var fim = function(retorno) - { - aguarde("none"); - if (retorno.data==undefined ) - {$i("fim").innerHTML = "Erro. A operação demorou muito.";} - else - {window.parent.i3GEO.atualiza("");} - } - aguarde("block") - var p = g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=gradedepontos&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty - var cp = new cpaint(); - //cp.set_debug(2) - cp.set_response_type("JSON"); - cp.call(p,"gradeDePontos",fim); -} \ No newline at end of file diff --git a/ferramentas/gradepontos/index.js.php b/ferramentas/gradepontos/index.js.php new file mode 100644 index 0000000..fbd80fe --- /dev/null +++ b/ferramentas/gradepontos/index.js.php @@ -0,0 +1,184 @@ + +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ + +/* +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.gradeDePontos + +cria e adiciona um novo tema ao mapa contendo uma grade de pontos com espaçamento regular. +*/ +i3GEOF.gradeDePontos = { + /* + 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.gradeDePontos.html(); + i3GEOF.gradeDePontos.t0(); + } + 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 += '
'; + return ins; + }, + /* + Function: criaJanelaFlutuante + + Cria a janela flutuante para controle da ferramenta. + */ + criaJanelaFlutuante: function(){ + var minimiza,cabecalho,janela,divid,temp,titulo; + //cria a janela flutuante + titulo = "Grade de pontos    "; + cabecalho = function(){}; + minimiza = function(){ + var temp = $i("i3GEOF.gradeDePontos_corpo"); + if(temp){ + if(temp.style.display === "block") + {temp.style.display = "none";} + else + {temp.style.display = "block";} + } + }; + janela = i3GEO.janela.cria( + "400px", + "250px", + "", + "", + "", + titulo, + "i3GEOF.gradeDePontos", + false, + "hd", + cabecalho, + minimiza + ); + divid = janela[2].id; + i3GEOF.gradeDePontos.inicia(divid); + }, + t0: function() + { + var ins = "

A grade é formada por pontos espaçados conforme os parâmetros de x e y."; + ins += "

A grade criada é adicionada como um novo tema no mapa, podendo ser utilizada em operações como o cruzamento entre pontos e polígonos."; + ins += "

O ponto inicial da grade deve ser definido pelo usuário e o ponto final (inferior direito) é definido em função da abranência do mapa ou da quantidade de pontos."; + i3GEO.util.proximoAnterior("","i3GEOF.gradeDePontos.t1()",ins,"i3GEOFgradeDePontost0","i3GEOgradedepontosresultado"); + }, + t1: function(){ + var ins = "

Espaçamento da grade"; + ins += "

em X: "; + ins += "Grau"; + ins += "Minuto"; + ins += "Segundo"; + ins += "

em Y: "; + ins += "Grau"; + ins += "Minuto"; + ins += "Segundo"; + i3GEO.util.proximoAnterior("i3GEOF.gradeDePontos.t0()","i3GEOF.gradeDePontos.t2()",ins,"i3GEOF.gradeDePontos.t1","i3GEOgradedepontosresultado"); + }, + t2: function(){ + var ins = "

Coordenadas do ponto inicial superior esquerdo (utilize o sinal negativo no grau quando ao sul do equador e a oeste). Você pode clicar no mapa para pegar o ponto."; + ins += "

em X: "; + ins += "Grau"; + ins += "Minuto"; + ins += "Segundo"; + ins += "

em Y: "; + ins += "Grau"; + ins += "Minuto"; + ins += "Segundo"; + g_tipoacao = "capturaponto"; + i3GEO.util.proximoAnterior("i3GEOF.gradeDePontos.t1()","i3GEOF.gradeDePontos.t3()",ins,"i3GEOF.gradeDePontos.t2","i3GEOgradedepontosresultado"); + }, + t3: function(){ + var ins = "

Número de pontos. Total máximo de 10.000"; + ins += "

em X: "; + ins += ""; + ins += "

em Y: "; + ins += ""; + i3GEO.util.proximoAnterior("i3GEOF.gradeDePontos.t2()","i3GEOF.gradeDePontos.t4()",ins,"i3GEOF.gradeDePontos.t3","i3GEOgradedepontosresultado"); + }, + t4: function(){ + var ins = "

A grade será acrescentada como um novo tema no mapa"; + ins += "

"; + i3GEO.util.proximoAnterior("i3GEOF.gradeDePontos.t3()","",ins,"i3GEOF.gradeDePontos.t4","i3GEOgradedepontosresultado"); + new YAHOO.widget.Button( + "i3GEOgradedepontosbotao1", + {onclick:{fn: i3GEOF.gradeDePontos.criaGrade}} + ); + }, + criaGrade: function(){ + try{ + var dx,dy,ix,iy,nptx,npty,fim,p,cp; + dx = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosxg").value,$i("i3GEOgradedepontosxm").value,$i("i3GEOgradedepontosxs").value); + dy = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosyg").value,$i("i3GEOgradedepontosym").value,$i("i3GEOgradedepontosys").value); + ix = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosixg").value,$i("i3GEOgradedepontosixm").value,$i("i3GEOgradedepontosixs").value); + iy = i3GEO.calculo.dms2dd($i("i3GEOgradedepontosiyg").value,$i("i3GEOgradedepontosiym").value,$i("i3GEOgradedepontosiys").value); + nptx = $i("i3GEOgradedepontosnptx").value; + npty = $i("i3GEOgradedepontosnpty").value; + if ((dx == 0) || (dy == 0)) + {alert("Distância entre os pontos não pode ser 0");return;} + if ((nptx == 0) || (npty == 0)) + {alert("Número de pontos não pode ser 0");return;} + if (nptx * npty > 10000) + {alert("Número de pontos não pode ser maior que 10.000");return;} + fim = function(retorno) + { + i3GEO.janela.fechaAguarde("gradeDePontos"); + if (retorno.data == undefined ) + {$i("i3GEOgradedepontosfim").innerHTML = "

Erro. A operação demorou muito(?).";} + else + {i3GEO.atualiza("");} + } + i3GEO.janela.abreAguarde("gradeDePontos","Criando a grade..."); + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=gradedepontos&xdd="+dx+"&ydd="+dy+"&px="+ix+"&py="+iy+"&nptx="+nptx+"&npty="+npty; + cp = new cpaint(); + cp.set_response_type("JSON"); + cp.call(p,"gradeDePontos",fim); + } + catch(e){$i("i3GEOgradedepontosfim").innerHTML = "

Erro. "+e;i3GEO.janela.fechaAguarde();} + } +}; + -- libgit2 0.21.2