Commit a9a05941503925d598c12ed08a5ff15e5da5f7de
1 parent
8369c971
Exists in
master
and in
7 other branches
Reformulação para funcionamento com scripttag
Showing
3 changed files
with
325 additions
and
207 deletions
Show diff stats
ferramentas/inseregrafico/index.htm
| @@ -1,77 +0,0 @@ | @@ -1,77 +0,0 @@ | ||
| 1 | -<html> | ||
| 2 | -<head> | ||
| 3 | -<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> | ||
| 4 | -<link rel="stylesheet" type="text/css" href="../../css/i3geo_ferramentas.css"> | ||
| 5 | -<title></title> | ||
| 6 | -<style type="text/css" >button{background:url(../../imagens/tic.png) 98% 50% no-repeat;}</style> | ||
| 7 | -<link rel="stylesheet" type="text/css" href="../../pacotes/yui270/build/button/assets/skins/sam/button.css"/> | ||
| 8 | -<style type="text/css"> | ||
| 9 | -body { | ||
| 10 | - margin:0; | ||
| 11 | - padding:0;border:0px; | ||
| 12 | -} | ||
| 13 | -</style> | ||
| 14 | -</head> | ||
| 15 | -<body name="ancora" class="yui-skin-sam" > | ||
| 16 | - <div id=guiasYUI class="yui-navset" style="top:0px;cursor:pointer;left:0px;"> | ||
| 17 | - <ul class="yui-nav" style="border-width:0pt 0pt 0px;border-color:rgb(240,240,240);border-bottom-color:white;"> | ||
| 18 | - <li><a href="#ancora"><em><div id="guia1" style="text-align:center;font-size:10px;left:0px;" >Fonte dos dados</div></em></a></li> | ||
| 19 | - <li><a href="#ancora"><em><div id="guia2" style="text-align:center;font-size:10px;left:0px;" >Propriedades</div></em></a></li> | ||
| 20 | - <li><a href="#ancora"><em><div id="guia3" style="text-align:center;font-size:10px;left:0px;" >?</div></em></a></li> | ||
| 21 | - </ul> | ||
| 22 | - </div> | ||
| 23 | - <div id=geral style="left:0px;top:0px;"> | ||
| 24 | - <div class=guiaobj id="guia1obj" style="display:block;left:0px" > | ||
| 25 | - <div id=opc1 style=top:0px;left:5px; > | ||
| 26 | - Escolha o tema com os dados: | ||
| 27 | - <div id=temasi style="display:block;position:relative;top:10px;left:0px"> | ||
| 28 | - </div> | ||
| 29 | - <div id=listai class=digitar style="left:0px;top:20px;330px;height:80px;overflow:auto;display:block;">Escolha o tema para ver a lista de itens</div> | ||
| 30 | - <br><br> | ||
| 31 | - <div onclick="legenda()" style=top:0px;left:0px;text-align:left > | ||
| 32 | - <input id=botao1 size=35 type=button value="mostrar legenda no mapa" /> | ||
| 33 | - </div> | ||
| 34 | - </div> | ||
| 35 | - <div id=men1 style=top:10px;left:5px >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.</div> | ||
| 36 | - </div> | ||
| 37 | - <div class=guiaobj id="guia2obj" style="display:none;left:0px" > | ||
| 38 | - <div id=opc2 style="display:block;top:0px;left:0px"> | ||
| 39 | - <table summary="" class=lista2 width="70%"> | ||
| 40 | - <tr> | ||
| 41 | - <td>Tamanho do círculo:</td> | ||
| 42 | - <td><input style="cursor:text" size=4 class=digitar type='text' id=w value='50' /></td> | ||
| 43 | - </tr> | ||
| 44 | - <tr> | ||
| 45 | - <td>Inclinação do círculo:</td> | ||
| 46 | - <td><input style="cursor:text" size=4 class=digitar type='text' id=inclinacao value='1.5' /></td> | ||
| 47 | - </tr> | ||
| 48 | - <tr> | ||
| 49 | - <td>Tamanho da sombra:</td> | ||
| 50 | - <td><input style="cursor:text" size=4 class=digitar type='text' id=sombra value='5' /></td> | ||
| 51 | - </tr> | ||
| 52 | - </table> | ||
| 53 | - </div> | ||
| 54 | - </div> | ||
| 55 | - <div class=guiaobj id="guia3obj" style="display:none;" > | ||
| 56 | - <div style="display:block;position:relative;top:5px;left:0px;font-size:12px"> | ||
| 57 | - <p>Para a montagem de cada gráfico é necessário selecionar um tema que contenha | ||
| 58 | - os dados que serão representados. | ||
| 59 | - <p>Os dados são aqueles que encontram-se na tabela de atributos do tema. | ||
| 60 | - <p>Após selecionado o tema, é mostrada uma lista com os itens existentes na tabela de atributos. | ||
| 61 | - Escolha os itens que serão utilizados no gráfico clicando no box que aparece na lista de itens. Cada item irá compor uma fatia do gráfico. | ||
| 62 | - Ao lado do item, é mostrada a cor que será utilizada na representação. Cada cor é definida em RGB. | ||
| 63 | - <p>Na guia "propriedades" é possível definir propriedades de representação de cada gráfico. As definições afetarão a forma de cada gráfico. | ||
| 64 | - Após escolhidos os itens e as propriedades, clique no mapa para adicionar o gráfico. | ||
| 65 | - <p>Os dados que serão utilizados são buscados no elemento clicado. | ||
| 66 | - <p>Cada gráfico adicionado é incluído no mapa como um novo tema.<br><br><br> | ||
| 67 | - </div> | ||
| 68 | - </div> | ||
| 69 | - <div id="resultado" style="display:none;position:relative;top:10px;left:0px;"></div> | ||
| 70 | - </div> | ||
| 71 | - <input type=hidden id=listadeitens value="" /> | ||
| 72 | - <input type=hidden id=tema value="" /> | ||
| 73 | - | ||
| 74 | -<script src="../i3geo_tudo_compacto.js.php" type="text/javascript"></script> | ||
| 75 | -<script language="JavaScript" type="text/javascript" src="index.js"></script> | ||
| 76 | -</body> | ||
| 77 | -</html> | ||
| 78 | \ No newline at end of file | 0 | \ No newline at end of file |
ferramentas/inseregrafico/index.js
| @@ -1,130 +0,0 @@ | @@ -1,130 +0,0 @@ | ||
| 1 | -/* | ||
| 2 | -About: Licença | ||
| 3 | - | ||
| 4 | -I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
| 5 | - | ||
| 6 | -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
| 7 | -Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | ||
| 8 | - | ||
| 9 | -Este programa é software livre; você pode redistribuí-lo | ||
| 10 | -e/ou modificá-lo sob os termos da Licença Pública Geral | ||
| 11 | -GNU conforme publicada pela Free Software Foundation; | ||
| 12 | -tanto a versão 2 da Licença. | ||
| 13 | -Este programa é distribuído na expectativa de que seja útil, | ||
| 14 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
| 15 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
| 16 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
| 17 | -Você deve ter recebido uma cópia da Licença Pública Geral do | ||
| 18 | -GNU junto com este programa; se não, escreva para a | ||
| 19 | -Free Software Foundation, Inc., no endereço | ||
| 20 | -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 21 | -*/ | ||
| 22 | -//inicializa | ||
| 23 | -parametrosURL() | ||
| 24 | -aguarde("block") | ||
| 25 | -ativaGuias("") | ||
| 26 | -mostraGuia("guia1") | ||
| 27 | -comboi = "" | ||
| 28 | -//eventos das guias | ||
| 29 | -$i("guia1").onclick = function() | ||
| 30 | -{mostraGuia("guia1")} | ||
| 31 | -$i("guia2").onclick = function() | ||
| 32 | -{mostraGuia("guia2")} | ||
| 33 | -$i("guia3").onclick = function() | ||
| 34 | -{mostraGuia("guia3")} | ||
| 35 | -mensagemAjuda("men1",$i("men1").innerHTML) | ||
| 36 | -comboTemasLigados("temasLigados",function(retorno) | ||
| 37 | -{ | ||
| 38 | - $i("temasi").innerHTML = retorno.dados | ||
| 39 | - aguarde("none") | ||
| 40 | - if ($i("temasLigados")) | ||
| 41 | - { | ||
| 42 | - $i("temasLigados").onchange = function() | ||
| 43 | - { | ||
| 44 | - aguarde("block") | ||
| 45 | - var tema = $i("temasLigados").value | ||
| 46 | - $i("men1").style.display = "block" | ||
| 47 | - var cp = new cpaint(); | ||
| 48 | - //cp.set_debug(2) | ||
| 49 | - cp.set_response_type("JSON"); | ||
| 50 | - cp.call(g_locaplic+"/classesphp/mapa_controle.php?g_sid="+g_sid+"&funcao=listaitens&tema="+tema,"listaItens",listaitensComPar); | ||
| 51 | - } | ||
| 52 | - } | ||
| 53 | -},"temasi") | ||
| 54 | -YAHOO.example.init = function () | ||
| 55 | -{ | ||
| 56 | - function onPushButtonsMarkupReady() | ||
| 57 | - { | ||
| 58 | - new YAHOO.widget.Button("botao1"); | ||
| 59 | - } | ||
| 60 | - YAHOO.util.Event.onContentReady("botao1", onPushButtonsMarkupReady); | ||
| 61 | -}() | ||
| 62 | -//monta a lista de itens com opções de cores | ||
| 63 | -function listaitensComPar(retorno) | ||
| 64 | -{ | ||
| 65 | - aguarde("none") | ||
| 66 | - if (retorno.data != undefined) | ||
| 67 | - { | ||
| 68 | - var ins = new Array() | ||
| 69 | - ins.push("<table class=lista >") | ||
| 70 | - for (i=0;i<retorno.data.valores.length; i++) | ||
| 71 | - { | ||
| 72 | - ins.push("<tr><td><input onclick='pegaitens()' size=2 style='cursor:pointer' name="+retorno.data.valores[i].item+" type=checkbox id="+retorno.data.valores[i].item+" /></td>") | ||
| 73 | - ins.push("<td>"+retorno.data.valores[i].item+"</td>") | ||
| 74 | - ins.push("<td><input onclick='javascript:this.select();' id=cor"+retorno.data.valores[i].item+" type=text size=13 value="+randomRGB()+" /></td>") | ||
| 75 | - ins.push("<td><img style=cursor:pointer src='../../imagens/aquarela.gif' onclick=\"corj('cor"+retorno.data.valores[i].item+"')\" /></td></tr>") | ||
| 76 | - } | ||
| 77 | - ins.push("</table>") | ||
| 78 | - $i("listai").innerHTML = ins.join("") | ||
| 79 | - } | ||
| 80 | - else | ||
| 81 | - {$i("listai").innerHTML = "<p style=color:red >Ocorreu um erro<br>"} | ||
| 82 | -} | ||
| 83 | -//abre a paleta de cores | ||
| 84 | -function corj(obj) | ||
| 85 | -{window.parent.i3GEO.util.abreCor("wdocai",obj)} | ||
| 86 | -//abre alegenda no mapa | ||
| 87 | -function legenda() | ||
| 88 | -{ | ||
| 89 | - pegaitens() | ||
| 90 | - var par = $i("listadeitens").value | ||
| 91 | - try | ||
| 92 | - { | ||
| 93 | - var temp = par.split("*"); | ||
| 94 | - var par = "<table>"; | ||
| 95 | - var i = temp.length-1; | ||
| 96 | - if(i >= 0) | ||
| 97 | - { | ||
| 98 | - do | ||
| 99 | - { | ||
| 100 | - var t = temp[i]; | ||
| 101 | - var t = t.split(","); | ||
| 102 | - par += "<tr style='text-align:left'><td style='background-color:rgb("+t[1]+","+t[2]+","+t[3]+")'> </td><td style='text-align:left'>"+t[0]+"</td></tr>"; | ||
| 103 | - } | ||
| 104 | - while(i--) | ||
| 105 | - } | ||
| 106 | - par += "</table>"; | ||
| 107 | - var w = window.parent.i3GEO.janela.cria(200,200,"","center","center","Legenda","FlegendaGr"); | ||
| 108 | - var w = w[2].id | ||
| 109 | - window.parent.document.getElementById(w).innerHTML = par; | ||
| 110 | - window.parent.i3GEO.janela.ANTESFECHA = new Array(); | ||
| 111 | - } | ||
| 112 | - catch(e){alert("Ocorreu um erro. legendaGrafico"+e);} | ||
| 113 | -} | ||
| 114 | -//pega os itens | ||
| 115 | -function pegaitens() | ||
| 116 | -{ | ||
| 117 | - var listadeitens = new Array(); | ||
| 118 | - var g = document.getElementById("listai") | ||
| 119 | - var iguias = g.getElementsByTagName("input") | ||
| 120 | - for (i=0;i<iguias.length; i++) | ||
| 121 | - { | ||
| 122 | - if (iguias[i].checked == true) | ||
| 123 | - { | ||
| 124 | - var it = iguias[i].id | ||
| 125 | - var c = document.getElementById("cor"+it).value | ||
| 126 | - listadeitens.push(it+","+c) | ||
| 127 | - } | ||
| 128 | - } | ||
| 129 | - document.getElementById("listadeitens").value = listadeitens.join("*") | ||
| 130 | -} |
| @@ -0,0 +1,325 @@ | @@ -0,0 +1,325 @@ | ||
| 1 | +<?php if(extension_loaded('zlib')){ob_start('ob_gzhandler');} header("Content-type: text/javascript"); ?> | ||
| 2 | +/*jslint plusplus:false,white:false,undef: false, rhino: true, onevar: true, evil: true */ | ||
| 3 | +/* | ||
| 4 | +Title: Ferramenta Insere gráfico interativo | ||
| 5 | + | ||
| 6 | +File: i3geo/ferramentas/inseregrafico/index.js.php | ||
| 7 | + | ||
| 8 | +About: Licença | ||
| 9 | + | ||
| 10 | +I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
| 11 | + | ||
| 12 | +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
| 13 | +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br | ||
| 14 | + | ||
| 15 | +Este programa é software livre; você pode redistribuí-lo | ||
| 16 | +e/ou modificá-lo sob os termos da Licença Pública Geral | ||
| 17 | +GNU conforme publicada pela Free Software Foundation; | ||
| 18 | +tanto a versão 2 da Licença. | ||
| 19 | +Este programa é distribuído na expectativa de que seja útil, | ||
| 20 | +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
| 21 | +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
| 22 | +Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
| 23 | +Você deve ter recebido uma cópia da Licença Pública Geral do | ||
| 24 | +GNU junto com este programa; se não, escreva para a | ||
| 25 | +Free Software Foundation, Inc., no endereço | ||
| 26 | +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 27 | +*/ | ||
| 28 | +if(typeof(i3GEOF) === 'undefined'){ | ||
| 29 | + i3GEOF = []; | ||
| 30 | +} | ||
| 31 | +/* | ||
| 32 | +Class: i3GEOF.insereGrafico | ||
| 33 | + | ||
| 34 | +Inclui gráficos em cada elemento de um tema tendo como fonte a tabela de atributos. | ||
| 35 | + | ||
| 36 | +Abre uma janela com várias opções e lista de itens para os gráficos. | ||
| 37 | + | ||
| 38 | +O tema que será utilizado é o que estiver armazenado na variável global i3GEO.temaAtivo | ||
| 39 | +*/ | ||
| 40 | +i3GEOF.insereGrafico = { | ||
| 41 | + /* | ||
| 42 | + Function: inicia | ||
| 43 | + | ||
| 44 | + Inicia a ferramenta. É chamado por criaJanelaFlutuante | ||
| 45 | + | ||
| 46 | + Parametro: | ||
| 47 | + | ||
| 48 | + iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | ||
| 49 | + */ | ||
| 50 | + inicia: function(iddiv){ | ||
| 51 | + try{ | ||
| 52 | + $i(iddiv).innerHTML += i3GEOF.insereGrafico.html(); | ||
| 53 | + i3GEO.guias.mostraGuiaFerramenta("i3GEOinseregraficoguia1","i3GEOinseregraficoguia"); | ||
| 54 | + //eventos das guias | ||
| 55 | + $i("i3GEOinseregraficoguia1").onclick = function() | ||
| 56 | + {i3GEO.guias.mostraGuiaFerramenta("i3GEOinseregraficoguia1","i3GEOinseregraficoguia");}; | ||
| 57 | + $i("i3GEOinseregraficoguia2").onclick = function() | ||
| 58 | + {i3GEO.guias.mostraGuiaFerramenta("i3GEOinseregraficoguia2","i3GEOinseregraficoguia");}; | ||
| 59 | + new YAHOO.widget.Button( | ||
| 60 | + "i3GEOinseregraficobotao1", | ||
| 61 | + {onclick:{fn: i3GEOF.insereGrafico.legenda}} | ||
| 62 | + ); | ||
| 63 | + i3GEO.util.mensagemAjuda("i3GEOinseregraficomen1",$i("i3GEOinseregraficomen1").innerHTML); | ||
| 64 | + //i3GEO.php.listaItensTema(i3GEOF.graficoTema.montaListaItens,i3GEO.temaAtivo); | ||
| 65 | + i3GEOF.insereGrafico.ativaFoco(); | ||
| 66 | + } | ||
| 67 | + catch(erro){alert(erro);} | ||
| 68 | + }, | ||
| 69 | + /* | ||
| 70 | + Function: html | ||
| 71 | + | ||
| 72 | + Gera o código html para apresentação das opções da ferramenta | ||
| 73 | + | ||
| 74 | + Retorno: | ||
| 75 | + | ||
| 76 | + String com o código html | ||
| 77 | + */ | ||
| 78 | + html:function(){ | ||
| 79 | + var ins = ''; | ||
| 80 | + ins += '<div id=i3GEOinseregraficoguiasYUI class="yui-navset" style="top:0px;cursor:pointer;left:0px;">'; | ||
| 81 | + ins += ' <ul class="yui-nav" style="border-width:0pt 0pt 0px;border-color:rgb(240,240,240);border-bottom-color:white;">'; | ||
| 82 | + ins += ' <li><a href="#ancora"><em><div id="i3GEOinseregraficoguia1" style="text-align:center;font-size:10px;left:0px;" >Fonte dos dados</div></em></a></li>'; | ||
| 83 | + ins += ' <li><a href="#ancora"><em><div id="i3GEOinseregraficoguia2" style="text-align:center;font-size:10px;left:0px;" >Propriedades</div></em></a></li>'; | ||
| 84 | + ins += ' </ul>'; | ||
| 85 | + ins += '</div>'; | ||
| 86 | + ins += '<div class="geralFerramentas" style="left:0px;top:0px;width:98%;height:86%;">'; | ||
| 87 | + ins += ' <div class=guiaobj id="i3GEOinseregraficoguia1obj" style="left:1px;90%;display:none;">'; | ||
| 88 | + ins += ' <p>Escolha o tema com os dados:'; | ||
| 89 | + ins += ' <div id=i3GEOinseregraficotemasi style="display:block;position:relative;top:10px;left:0px;text-align:left;">Aguarde...'; | ||
| 90 | + ins += ' </div>'; | ||
| 91 | + ins += ' <div id=i3GEOinseregraficolistai class=digitar style="left:0px;top:20px;330px;height:80px;overflow:auto;display:block;">Escolha o tema para ver a lista de itens</div>'; | ||
| 92 | + ins += ' <br><br><br>'; | ||
| 93 | + ins += ' <input id=i3GEOinseregraficobotao1 size=35 type=button value="mostrar legenda no mapa" />'; | ||
| 94 | + ins += ' <div id=i3GEOinseregraficomen1 style=top:10px;left:1px >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.</div>'; | ||
| 95 | + ins += ' </div>'; | ||
| 96 | + ins += ' <div class=guiaobj id="i3GEOinseregraficoguia2obj" style="left:1px;display:none;">'; | ||
| 97 | + ins += ' <table summary="" class=lista width="70%">'; | ||
| 98 | + ins += ' <tr> '; | ||
| 99 | + ins += ' <td>Tamanho do círculo:</td>'; | ||
| 100 | + ins += ' <td><input onclick="javascript:this.select();" style="cursor:text" size=4 class=digitar type="text" id=i3GEOinseregraficow value="50" /></td>'; | ||
| 101 | + ins += ' </tr><tr><td></td><td> </td></tr>'; | ||
| 102 | + ins += ' <tr>'; | ||
| 103 | + ins += ' <td>Inclinação do círculo:</td>'; | ||
| 104 | + ins += ' <td><input onclick="javascript:this.select();" style="cursor:text" size=4 class=digitar type="text" id=i3GEOinseregraficoinclinacao value="1.5" /></td>'; | ||
| 105 | + ins += ' </tr><tr><td></td><td> </td></tr>'; | ||
| 106 | + ins += ' <tr>'; | ||
| 107 | + ins += ' <td>Tamanho da sombra:</td>'; | ||
| 108 | + ins += ' <td><input onclick="javascript:this.select();" style="cursor:text" size=4 class=digitar type="text" id=i3GEOinseregraficosombra value="5" /></td>'; | ||
| 109 | + ins += ' </tr><tr><td></td><td> </td></tr>'; | ||
| 110 | + ins += ' </table>'; | ||
| 111 | + ins += ' </div>'; | ||
| 112 | + ins += ' <div class=guiaobj id="i3GEOinseregraficoguia3obj" style="left:1px;display:none;">'; | ||
| 113 | + | ||
| 114 | + ins += ' </div>'; | ||
| 115 | + ins += '</div> '; | ||
| 116 | + return ins; | ||
| 117 | + }, | ||
| 118 | + /* | ||
| 119 | + Function: criaJanelaFlutuante | ||
| 120 | + | ||
| 121 | + Cria a janela flutuante para controle da ferramenta. | ||
| 122 | + */ | ||
| 123 | + criaJanelaFlutuante: function(){ | ||
| 124 | + var minimiza,cabecalho,janela,divid,temp,titulo; | ||
| 125 | + //funcao que sera executada ao ser clicado no cabeçalho da janela | ||
| 126 | + cabecalho = function(){ | ||
| 127 | + i3GEOF.insereGrafico.ativaFoco(); | ||
| 128 | + }; | ||
| 129 | + minimiza = function(){ | ||
| 130 | + var temp = $i("i3GEOF.insereGrafico_corpo"); | ||
| 131 | + if(temp){ | ||
| 132 | + if(temp.style.display === "block") | ||
| 133 | + {temp.style.display = "none";} | ||
| 134 | + else | ||
| 135 | + {temp.style.display = "block";} | ||
| 136 | + } | ||
| 137 | + }; | ||
| 138 | + //cria a janela flutuante | ||
| 139 | + titulo = "Insere grafico <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=8&idajuda=80' > </a>"; | ||
| 140 | + janela = i3GEO.janela.cria( | ||
| 141 | + "400px", | ||
| 142 | + "300px", | ||
| 143 | + "", | ||
| 144 | + "", | ||
| 145 | + "", | ||
| 146 | + titulo, | ||
| 147 | + "i3GEOF.insereGrafico", | ||
| 148 | + false, | ||
| 149 | + "hd", | ||
| 150 | + cabecalho, | ||
| 151 | + minimiza | ||
| 152 | + ); | ||
| 153 | + divid = janela[2].id; | ||
| 154 | + | ||
| 155 | + if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEOF.insereGrafico.insere()") < 0) | ||
| 156 | + {i3GEO.eventos.MOUSECLIQUE.push("i3GEOF.insereGrafico.insere()");} | ||
| 157 | + temp = function(){ | ||
| 158 | + i3GEO.eventos.MOUSECLIQUE.remove("i3GEOF.insereGrafico.insere()"); | ||
| 159 | + }; | ||
| 160 | + YAHOO.util.Event.addListener(janela[0].close, "click", temp); | ||
| 161 | + i3GEOF.insereGrafico.inicia(divid); | ||
| 162 | + }, | ||
| 163 | + /* | ||
| 164 | + Function: ativaFoco | ||
| 165 | + | ||
| 166 | + Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado | ||
| 167 | + */ | ||
| 168 | + ativaFoco: function(){ | ||
| 169 | + if(g_tipoacao !== 'inseregrafico'){ | ||
| 170 | + i3GEO.barraDeBotoes.ativaIcone("inseregrafico"); | ||
| 171 | + g_tipoacao='inseregrafico'; | ||
| 172 | + g_operacao='inseregrafico'; | ||
| 173 | + temp = Math.random() + "a"; | ||
| 174 | + temp = temp.split("."); | ||
| 175 | + g_nomepin = "pin"+temp[1]; | ||
| 176 | + i3GEOF.insereGrafico.comboTemas(); | ||
| 177 | + $i("i3GEOinseregraficolistai").innerHTML = ""; | ||
| 178 | + } | ||
| 179 | + }, | ||
| 180 | + /* | ||
| 181 | + Function: insere | ||
| 182 | + | ||
| 183 | + Insere um grafico no mapa na posição clicada | ||
| 184 | + | ||
| 185 | + O ponto é obtidos do objeto objposicaocursor e os demais parâmetros da janela interna aberta no iframe "wdocai" | ||
| 186 | + */ | ||
| 187 | + insere: function(){ | ||
| 188 | + if (g_tipoacao === "inseregrafico"){ | ||
| 189 | + var tema = $i("i3GEOinseregraficotemasLigados").value, | ||
| 190 | + width = $i("i3GEOinseregraficow").value, | ||
| 191 | + inclinacao = $i("i3GEOinseregraficoinclinacao").value, | ||
| 192 | + shadow_height = $i("i3GEOinseregraficosombra").value, | ||
| 193 | + itens; | ||
| 194 | + if (tema === ""){alert("Nenhum tema definido para pegar os dados");} | ||
| 195 | + else{ | ||
| 196 | + itens = i3GEOF.insereGrafico.pegaItensMarcados(); | ||
| 197 | + if (itens === "") | ||
| 198 | + {alert("Nenhum item foi escolhido");} | ||
| 199 | + else{ | ||
| 200 | + i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); | ||
| 201 | + i3GEO.contadorAtualiza++; | ||
| 202 | + i3GEO.php.insereSHPgrafico(i3GEO.atualiza,tema,objposicaocursor.ddx,objposicaocursor.ddy,itens,shadow_height,width,inclinacao); | ||
| 203 | + } | ||
| 204 | + } | ||
| 205 | + } | ||
| 206 | + }, | ||
| 207 | + /* | ||
| 208 | + Function: comboTemas | ||
| 209 | + | ||
| 210 | + Cria o combo com os temas disponíveis (temas ligados) para adição dos gráficos. | ||
| 211 | + */ | ||
| 212 | + comboTemas: function(){ | ||
| 213 | + i3GEO.util.comboTemasLigados( | ||
| 214 | + "i3GEOinseregraficotemasLigados", | ||
| 215 | + function(retorno){ | ||
| 216 | + $i("i3GEOinseregraficotemasi").innerHTML = retorno.dados; | ||
| 217 | + if ($i("i3GEOinseregraficotemasLigados")){ | ||
| 218 | + $i("i3GEOinseregraficotemasLigados").onchange = function(){ | ||
| 219 | + $i("i3GEOinseregraficolistai").innerHTML = "<p style=color:red >Aguarde...<br>"; | ||
| 220 | + i3GEO.php.listaItensTema(i3GEOF.insereGrafico.listaItens,$i("i3GEOinseregraficotemasLigados").value); | ||
| 221 | + i3GEO.temaAtivo = $i("i3GEOinseregraficotemasLigados").value; | ||
| 222 | + }; | ||
| 223 | + } | ||
| 224 | + if(i3GEO.temaAtivo !== ""){ | ||
| 225 | + $i("i3GEOinseregraficotemasLigados").value = i3GEO.temaAtivo; | ||
| 226 | + $i("i3GEOinseregraficotemasLigados").onchange.call(); | ||
| 227 | + } | ||
| 228 | + }, | ||
| 229 | + "i3GEOinseregraficotemasi" | ||
| 230 | + ); | ||
| 231 | + }, | ||
| 232 | + /* | ||
| 233 | + Function: listaItens | ||
| 234 | + | ||
| 235 | + Monta a listagem de itens de um tema com a opção de seleção de cor | ||
| 236 | + | ||
| 237 | + Parametro: | ||
| 238 | + | ||
| 239 | + retorno {JSON} | ||
| 240 | + */ | ||
| 241 | + listaItens: function(retorno){ | ||
| 242 | + try{ | ||
| 243 | + var i, | ||
| 244 | + n, | ||
| 245 | + ins = []; | ||
| 246 | + n = retorno.data.valores.length; | ||
| 247 | + ins.push("<table class=lista >"); | ||
| 248 | + for (i=0;i<n; i++){ | ||
| 249 | + ins.push("<tr><td><input size=2 style='cursor:pointer' name="+retorno.data.valores[i].item+" type=checkbox id=i3GEOinseregrafico"+retorno.data.valores[i].item+" /></td>"); | ||
| 250 | + ins.push("<td> "+retorno.data.valores[i].item+"</td>"); | ||
| 251 | + ins.push("<td> <input onclick='javascript:this.select();' id=i3GEOinseregrafico"+retorno.data.valores[i].item+"cor type=text size=13 value="+i3GEO.util.randomRGB()+" /></td>"); | ||
| 252 | + ins.push("<td> <img style=cursor:pointer src='"+i3GEO.configura.locaplic+"/imagens/aquarela.gif' onclick=\"i3GEOF.insereGrafico.corj('i3GEOinseregrafico"+retorno.data.valores[i].item+"cor')\" /></td></tr>"); | ||
| 253 | + } | ||
| 254 | + ins.push("</table>"); | ||
| 255 | + $i("i3GEOinseregraficolistai").innerHTML = ins.join(""); | ||
| 256 | + } | ||
| 257 | + catch(e) | ||
| 258 | + {$i("i3GEOinseregraficolistai").innerHTML = "<p style=color:red >Ocorreu um erro "+e+"<br>";} | ||
| 259 | + }, | ||
| 260 | + /* | ||
| 261 | + Function: corj | ||
| 262 | + | ||
| 263 | + Abre a janela para o usuário selecionar uma cor interativamente | ||
| 264 | + */ | ||
| 265 | + corj: function(obj) | ||
| 266 | + {i3GEO.util.abreCor("",obj);}, | ||
| 267 | + /* | ||
| 268 | + Function: pegaItensMarcados | ||
| 269 | + | ||
| 270 | + 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 | ||
| 271 | + */ | ||
| 272 | + pegaItensMarcados: function(){ | ||
| 273 | + var listadeitens = [], | ||
| 274 | + inputs = $i("i3GEOinseregraficolistai").getElementsByTagName("input"), | ||
| 275 | + i, | ||
| 276 | + it, | ||
| 277 | + c, | ||
| 278 | + n; | ||
| 279 | + n = inputs.length; | ||
| 280 | + for (i=0;i<n; i++) | ||
| 281 | + { | ||
| 282 | + if (inputs[i].checked === true) | ||
| 283 | + { | ||
| 284 | + it = inputs[i].id; | ||
| 285 | + c = $i(it+"cor").value; | ||
| 286 | + listadeitens.push(it.replace("i3GEOinseregrafico","")+","+c); | ||
| 287 | + } | ||
| 288 | + } | ||
| 289 | + return(listadeitens.join("*")); | ||
| 290 | + }, | ||
| 291 | + /* | ||
| 292 | + Function: legenda | ||
| 293 | + | ||
| 294 | + Mostra a legenda no mapa do último gráfico inserido | ||
| 295 | + */ | ||
| 296 | + legenda: function(){ | ||
| 297 | + var par = i3GEOF.insereGrafico.pegaItensMarcados(), | ||
| 298 | + temp, | ||
| 299 | + i, | ||
| 300 | + t, | ||
| 301 | + w; | ||
| 302 | + try | ||
| 303 | + { | ||
| 304 | + temp = par.split("*"); | ||
| 305 | + par = "<table>"; | ||
| 306 | + i = temp.length-1; | ||
| 307 | + if(i >= 0) | ||
| 308 | + { | ||
| 309 | + do | ||
| 310 | + { | ||
| 311 | + t = temp[i]; | ||
| 312 | + t = t.split(","); | ||
| 313 | + par += "<tr style='text-align:left'><td style='background-color:rgb("+t[1]+","+t[2]+","+t[3]+")'> </td><td style='text-align:left'>"+t[0]+"</td></tr>"; | ||
| 314 | + } | ||
| 315 | + while(i--); | ||
| 316 | + } | ||
| 317 | + par += "</table>"; | ||
| 318 | + w = i3GEO.janela.cria(200,200,"","center","center","Legenda","FlegendaGr"); | ||
| 319 | + w = w[2].id; | ||
| 320 | + $i(w).innerHTML = par; | ||
| 321 | + } | ||
| 322 | + catch(e){alert("Ocorreu um erro. legendaGrafico"+e);} | ||
| 323 | + } | ||
| 324 | +}; | ||
| 325 | +<?php if(extension_loaded('zlib')){ob_end_flush();}?> | ||
| 0 | \ No newline at end of file | 326 | \ No newline at end of file |