Commit abd918391fa82b5e2f5b632e1ce50187a9dea1d5

Authored by Edmar Moretti
1 parent 784e76e5

--no commit message

ferramentas/metaestat/editorlimites.js
@@ -29,7 +29,7 @@ Free Software Foundation, Inc., no endereco @@ -29,7 +29,7 @@ Free Software Foundation, Inc., no endereco
29 //TODO traduzir 29 //TODO traduzir
30 var editorlimites = { 30 var editorlimites = {
31 /** 31 /**
32 - * Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela 32 + * Estilo do objeto DOM com a imagem de aguarde existente no cabecalho da janela
33 * 33 *
34 */ 34 */
35 aguarde: "", 35 aguarde: "",
@@ -43,7 +43,7 @@ var editorlimites = { @@ -43,7 +43,7 @@ var editorlimites = {
43 /** 43 /**
44 * Inicia o editor 44 * Inicia o editor
45 * 45 *
46 - * @param {String} Id do DIV que receberá o conteúdo HTML do editor 46 + * @param {String} Id do DIV que recebera o conteudo HTML do editor. Ja deve estar criado no HTML
47 * @return 47 * @return
48 */ 48 */
49 inicia: function(iddiv){ 49 inicia: function(iddiv){
@@ -132,19 +132,11 @@ var editorlimites = { @@ -132,19 +132,11 @@ var editorlimites = {
132 html:function(){ 132 html:function(){
133 var ins = '' + 133 var ins = '' +
134 ' <button title="Desenhar um polígono" onclick="editorlimites.digitalizaPol(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/polygon-create.png" /></button>' + 134 ' <button title="Desenhar um polígono" onclick="editorlimites.digitalizaPol(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/polygon-create.png" /></button>' +
135 - ' <button title="Capturar polígono de um tema" onclick="editorlimites.ativaCaptura()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/layer-import.png" /></button>' + 135 + ' <button title="Capturar polígono de um tema" onclick="editorlimites.capturaPoligonoTema.ativa(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/layer-import.png" /></button>' +
136 ' <button title="Selecionar" onclick="editorlimites.seleciona(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/select.png" /></button>' + 136 ' <button title="Selecionar" onclick="editorlimites.seleciona(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/select.png" /></button>' +
137 ' <button title="Remove selecionado (n&atilde;o apaga)" onclick="editorlimites.deleteSelectedShape()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/selected-delete.png" /></button>' + 137 ' <button title="Remove selecionado (n&atilde;o apaga)" onclick="editorlimites.deleteSelectedShape()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/selected-delete.png" /></button>' +
138 ' <button title="Salvar limite" onclick="editorlimites.salvaLimite.inicia()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/vector-save.png" /></button>' + 138 ' <button title="Salvar limite" onclick="editorlimites.salvaLimite.inicia()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/vector-save.png" /></button>' +
139 - //' <button title="Upload de shapefile" onclick="editorlimites.upload.criaJanelaFlutuante()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/open.png" /></button>' +  
140 - //' <button title="Relatório CMAS" onmousedown="editorlimites.mudaicone()" onclick="editorlimites.relatorioCmas()" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/table.png" /></button>' +  
141 - //' <button onmousedown="editorlimites.mudaicone()" id="pan" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/pan.png" /></button>' +  
142 - //' <button onmousedown="editorlimites.mudaicone()" id="zoomli" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/zoom-region.png" /></button>' +  
143 - //' <button onmousedown="editorlimites.mudaicone()" id="zoomtot" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/zoom-extent.png" /></button>' +  
144 - //' <button onmousedown="editorlimites.mudaicone()" id="identifica" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/identify.png" /></button>' +  
145 - //' <button onmousedown="editorlimites.mudaicone()" id="mede" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/length-measure.png" /></button>' +  
146 - //' <button onmousedown="editorlimites.mudaicone()" id="area" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/area-measure.png" /></button>' +  
147 - //' <button title="Imprimir" onmousedown="editorlimites.mudaicone()" onclick="editorlimites.imprimir()" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/print.png" /></button>' + 139 + ' <button title="Editar atributos" onclick="editorlimites.editarAtributos.ativa(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/annotation-form.png" /></button>' +
148 ' <button title="Ajuda" onmousedown="editorlimites.mudaicone()" onclick="editorlimites.Ajuda()" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/help-contents.png" /></button>' + 140 ' <button title="Ajuda" onmousedown="editorlimites.mudaicone()" onclick="editorlimites.Ajuda()" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/help-contents.png" /></button>' +
149 ' <br><div id="i3geoCartoRegioesEditaveisDiv" ><img style="display:block;z-index:2" src="'+i3GEO.configura.locaplic+'/imagens/aguarde.gif" /></div>'; //combo para escolher a regiao 141 ' <br><div id="i3geoCartoRegioesEditaveisDiv" ><img style="display:block;z-index:2" src="'+i3GEO.configura.locaplic+'/imagens/aguarde.gif" /></div>'; //combo para escolher a regiao
150 return ins; 142 return ins;
@@ -264,67 +256,73 @@ var editorlimites = { @@ -264,67 +256,73 @@ var editorlimites = {
264 } 256 }
265 return wkt; 257 return wkt;
266 }, 258 },
267 - ativaCaptura: function(){  
268 - editorlimites.mudaicone();  
269 - if(i3GEO.eventos.MOUSECLIQUE.toString().search("editorlimites.capturaPoligonoTema()") < 0)  
270 - {i3GEO.eventos.MOUSECLIQUE.push("editorlimites.capturaPoligonoTema()");}  
271 - },  
272 - capturaPoligonoTema: function(){  
273 - var temp,tema="",regiao="",p,par,  
274 - aguarde = $i("janelaEditorLimites_imagemCabecalho");  
275 - if(!$i("i3geoCartoRegioesEditaveis")){  
276 - i3GEO.eventos.MOUSECLIQUE.remove("editorlimites.capturaPoligonoTema()");  
277 - }  
278 - else{  
279 - temp = function(retorno){  
280 - var temp,re,n,i,j,  
281 - wkt = "",  
282 - colunaid = editorlimites.descregioes["a_"+regiao]["identificador"],  
283 - valorid = "",  
284 - colunanome = editorlimites.descregioes["a_"+regiao]["colunanomeregiao"],  
285 - valornome = "",  
286 - pontos = [],  
287 - aguarde = $i("janelaEditorLimites_imagemCabecalho");  
288 - //obtem os dados buscando nos itens que vem da requisicao ao wms  
289 - temp = retorno.data[0].resultado[0];  
290 - n = temp.length;  
291 - for(i=0;i<n;i++){  
292 - if(temp[i].alias == "wkt"){  
293 - wkt = temp[i].valor; 259 + capturaPoligonoTema:{
  260 + ativa: function(botao){
  261 + editorlimites.mudaicone(botao);
  262 + i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
  263 + if(i3GEO.eventos.MOUSECLIQUE.toString().search("editorlimites.capturaPoligonoTema.captura()") < 0)
  264 + {i3GEO.eventos.MOUSECLIQUE.push("editorlimites.capturaPoligonoTema.captura()");}
  265 + },
  266 + desativa: function(){
  267 + },
  268 + captura: function(){
  269 + var temp,tema="",regiao="",p,par,
  270 + aguarde = $i("janelaEditorLimites_imagemCabecalho");
  271 + editorlimites.mudaicone();
  272 + if(!$i("i3geoCartoRegioesEditaveis")){
  273 + i3GEO.eventos.MOUSECLIQUE.remove("editorlimites.capturaPoligonoTema.captura()");
  274 + }
  275 + else{
  276 + temp = function(retorno){
  277 + var temp,re,n,i,j,
  278 + wkt = "",
  279 + colunaid = editorlimites.descregioes["a_"+regiao]["identificador"],
  280 + valorid = "",
  281 + colunanome = editorlimites.descregioes["a_"+regiao]["colunanomeregiao"],
  282 + valornome = "",
  283 + pontos = [],
  284 + aguarde = $i("janelaEditorLimites_imagemCabecalho");
  285 + //obtem os dados buscando nos itens que vem da requisicao ao wms
  286 + temp = retorno.data[0].resultado[0];
  287 + n = temp.length;
  288 + for(i=0;i<n;i++){
  289 + if(temp[i].alias == "wkt"){
  290 + wkt = temp[i].valor;
  291 + }
  292 + if(temp[i].alias == colunaid){
  293 + valorid = temp[i].valor;
  294 + }
  295 + if(temp[i].alias == colunanome){
  296 + valornome = temp[i].valor;
  297 + }
294 } 298 }
295 - if(temp[i].alias == colunaid){  
296 - valorid = temp[i].valor; 299 + if(aguarde){
  300 + aguarde.style.visibility = "hidden";
297 } 301 }
298 - if(temp[i].alias == colunanome){  
299 - valornome = temp[i].valor; 302 + re = new RegExp("POLYGON \\(\\(", "g");
  303 + wkt = wkt.replace(re,'');
  304 + re = new RegExp("\\)\\)", "g");
  305 + wkt = wkt.replace(re,'');
  306 + re = new RegExp(", ", "g");
  307 + wkt = wkt.replace(re,',');
  308 + wkt = wkt.split(",");
  309 + n = wkt.length;
  310 + for(i=0;i<n;i++){
  311 + j = wkt[i].split(" ");
  312 + pontos.push([j[0],j[1]]);
300 } 313 }
  314 + editorlimites.adicionaPoligonos([pontos],tema,colunaid,valorid,colunanome,valornome);
  315 + i3GEO.eventos.MOUSECLIQUE = [];
  316 + };
  317 + regiao = $i("i3geoCartoRegioesEditaveis").value;
  318 + if(regiao != ""){
  319 + tema = editorlimites.regioestemas["a"+regiao];
  320 + if(aguarde && aguarde.style.visibility == "hidden"){
  321 + aguarde.style.visibility = "visible";
  322 + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php";
  323 + par = "funcao=identifica3&opcao=tema&xy="+objposicaocursor.ddx+","+objposicaocursor.ddy+"&resolucao=1&g_sid="+i3GEO.configura.sid+"&ext="+i3GEO.parametros.mapexten+"&listaDeTemas=&wkt=sim&tema="+tema;
  324 + cpJSON.call(p,"identifica",temp,par);
301 } 325 }
302 - if(aguarde){  
303 - aguarde.style.visibility = "hidden";  
304 - }  
305 - re = new RegExp("POLYGON \\(\\(", "g");  
306 - wkt = wkt.replace(re,'');  
307 - re = new RegExp("\\)\\)", "g");  
308 - wkt = wkt.replace(re,'');  
309 - re = new RegExp(", ", "g");  
310 - wkt = wkt.replace(re,',');  
311 - wkt = wkt.split(",");  
312 - n = wkt.length;  
313 - for(i=0;i<n;i++){  
314 - j = wkt[i].split(" ");  
315 - pontos.push([j[0],j[1]]);  
316 - }  
317 - editorlimites.adicionaPoligonos([pontos],tema,colunaid,valorid,colunanome,valornome);  
318 - i3GEO.eventos.MOUSECLIQUE = [];  
319 - };  
320 - regiao = $i("i3geoCartoRegioesEditaveis").value;  
321 - if(regiao != ""){  
322 - tema = editorlimites.regioestemas["a"+regiao];  
323 - if(aguarde && aguarde.style.visibility == "hidden"){  
324 - aguarde.style.visibility = "visible";  
325 - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php";  
326 - par = "funcao=identifica3&opcao=tema&xy="+objposicaocursor.ddx+","+objposicaocursor.ddy+"&resolucao=1&g_sid="+i3GEO.configura.sid+"&ext="+i3GEO.parametros.mapexten+"&listaDeTemas=&wkt=sim&tema="+tema;  
327 - cpJSON.call(p,"identifica",temp,par);  
328 } 326 }
329 } 327 }
330 } 328 }
@@ -332,9 +330,9 @@ var editorlimites = { @@ -332,9 +330,9 @@ var editorlimites = {
332 /* 330 /*
333 Function: mudaicone 331 Function: mudaicone
334 332
335 - Altera as bordas dos ícones 333 + Altera as bordas dos ícones e desativa eventos anteriores
336 */ 334 */
337 - mudaicone: function(){ 335 + mudaicone: function(botao){
338 var c = $i(editorlimites.iddiv), 336 var c = $i(editorlimites.iddiv),
339 ci = c.getElementsByTagName("img"), 337 ci = c.getElementsByTagName("img"),
340 n = ci.length, 338 n = ci.length,
@@ -343,19 +341,22 @@ var editorlimites = { @@ -343,19 +341,22 @@ var editorlimites = {
343 ci[i].parentNode.style.backgroundColor = "#F5F5F5"; 341 ci[i].parentNode.style.backgroundColor = "#F5F5F5";
344 } 342 }
345 i3GEO.eventos.MOUSECLIQUE = []; 343 i3GEO.eventos.MOUSECLIQUE = [];
  344 + editorlimites.capturaPoligonoTema.desativa();
  345 + editorlimites.editarAtributos.desativa();
  346 + if(botao && botao.style){
  347 + botao.style.backgroundColor = "#cedff2";
  348 + }
346 }, 349 },
347 digitalizaPol: function(botao){ 350 digitalizaPol: function(botao){
348 - editorlimites.mudaicone();  
349 - botao.style.backgroundColor = "#cedff2"; 351 + editorlimites.mudaicone(botao);
350 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic); 352 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
351 editorlimites.drawingManager.setOptions({ 353 editorlimites.drawingManager.setOptions({
352 drawingMode: google.maps.drawing.OverlayType.POLYGON 354 drawingMode: google.maps.drawing.OverlayType.POLYGON
353 }); 355 });
354 }, 356 },
355 seleciona: function(botao){ 357 seleciona: function(botao){
356 - editorlimites.mudaicone(); 358 + editorlimites.mudaicone(botao);
357 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic); 359 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
358 - botao.style.backgroundColor = "#cedff2";  
359 editorlimites.drawingManager.setOptions({ 360 editorlimites.drawingManager.setOptions({
360 drawingMode: null 361 drawingMode: null
361 }); 362 });
@@ -510,13 +511,13 @@ var editorlimites = { @@ -510,13 +511,13 @@ var editorlimites = {
510 return ins; 511 return ins;
511 }, 512 },
512 criaJanelaFlutuante: function(html){ 513 criaJanelaFlutuante: function(html){
513 - var titulo,cabecalho,minimiza; 514 + var titulo,cabecalho,minimiza,janela;
514 cabecalho = function(){}; 515 cabecalho = function(){};
515 minimiza = function(){ 516 minimiza = function(){
516 i3GEO.janela.minimiza("salvaLimite"); 517 i3GEO.janela.minimiza("salvaLimite");
517 }; 518 };
518 titulo = "Salva limite&nbsp;&nbsp;&nbsp;</a>"; 519 titulo = "Salva limite&nbsp;&nbsp;&nbsp;</a>";
519 - i3GEO.janela.cria( 520 + janela = i3GEO.janela.cria(
520 "350px", 521 "350px",
521 "265px", 522 "265px",
522 "", 523 "",
@@ -531,6 +532,7 @@ var editorlimites = { @@ -531,6 +532,7 @@ var editorlimites = {
531 ); 532 );
532 $i("salvaLimite_corpo").style.backgroundColor = "white"; 533 $i("salvaLimite_corpo").style.backgroundColor = "white";
533 $i("salvaLimite_corpo").innerHTML = html; 534 $i("salvaLimite_corpo").innerHTML = html;
  535 + YAHOO.util.Event.addListener(janela[0].close, "click", editorlimites.mudaicone);
534 }, 536 },
535 gravaDados: function(comwkt){ 537 gravaDados: function(comwkt){
536 //TODO verificar login ao salvar 538 //TODO verificar login ao salvar
@@ -580,6 +582,88 @@ var editorlimites = { @@ -580,6 +582,88 @@ var editorlimites = {
580 p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir"; 582 p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir";
581 cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador="+identificador); 583 cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador="+identificador);
582 } 584 }
  585 + },
  586 + editarAtributos: {
  587 + ativa: function(botao){
  588 + editorlimites.mudaicone(botao);
  589 + if(i3GEO.eventos.MOUSECLIQUE.toString().search("editorlimites.editarAtributos.captura()") < 0)
  590 + {i3GEO.eventos.MOUSECLIQUE.push("editorlimites.editarAtributos.captura()");}
  591 + var janela = YAHOO.i3GEO.janela.manager.find("editaAtributos");
  592 + if(janela){
  593 + $i("editarAtributosForm").innerHTML = "";
  594 + }
  595 + else{
  596 + editorlimites.editarAtributos.criaJanelaFlutuante(editorlimites.editarAtributos.html());
  597 + editorlimites.editarAtributos.comboVariaveis();
  598 + }
  599 + },
  600 + desativa: function(){
  601 + var janela = YAHOO.i3GEO.janela.manager.find("editaAtributos");
  602 + if(janela){
  603 + janela.destroy();
  604 + }
  605 + },
  606 + captura: function(){
  607 + if(!YAHOO.i3GEO.janela.manager.find("editaAtributos")){
  608 + editorlimites.mudaicone(botao);
  609 + return;
  610 + }
  611 + editorlimites.editarAtributos.pegaDados();
  612 + },
  613 + comboMedidas: function(){
  614 +
  615 + },
  616 + pegaDados: function(){
  617 +
  618 + },
  619 + salva: function(){
  620 +
  621 + },
  622 + criaJanelaFlutuante: function(html){
  623 + var janela,titulo,cabecalho,minimiza;
  624 + cabecalho = function(){};
  625 + minimiza = function(){
  626 + i3GEO.janela.minimiza("editaAtributos");
  627 + };
  628 + titulo = "Atributos&nbsp;&nbsp;&nbsp;</a>";
  629 + janela = i3GEO.janela.cria(
  630 + "350px",
  631 + "265px",
  632 + "",
  633 + "",
  634 + "",
  635 + titulo,
  636 + "editaAtributos",
  637 + false,
  638 + "hd",
  639 + cabecalho,
  640 + minimiza
  641 + );
  642 + $i("editaAtributos_corpo").style.backgroundColor = "white";
  643 + $i("editaAtributos_corpo").innerHTML = html;
  644 + YAHOO.util.Event.addListener(janela[0].close, "click", editorlimites.mudaicone);
  645 + },
  646 + html: function(){
  647 + var ins = '' +
  648 + '<p class="paragrafo" >Clique no mapa para obter os atributos</p>' +
  649 + '<p class="paragrafo" ><div id="editarAtributosVariaveis" ></div></p>' +
  650 + '<p class="paragrafo" ><div id="editarAtributosForm" ></div></p>' +
  651 + '';
  652 + return ins;
  653 + },
  654 + comboVariaveis: function(){
  655 + var temp = function(dados){
  656 + var i,n = dados.length, ins = '';
  657 + ins += '<p class="paragrafo" >Escolha uma vari&aacute;vel para editar</p>';
  658 + ins += "<select style='box-shadow:0 1px 5px gray;width:200px' onchange=''><option value=''>---</option>";
  659 + for(i=0;i<n;i++){
  660 + ins += "<option title='"+dados[i].descricao+"' value='"+dados[i].codigo_variavel+"'>"+dados[i].nome+"</option>";
  661 + }
  662 + ins += "</select>";
  663 + $i("editarAtributosVariaveis").innerHTML = ins;
  664 + };
  665 + i3GEO.php.listaVariavel(temp,"i3geo_metaestat");
  666 + }
583 } 667 }
584 //TODO incluir opcao para clicar e editar atributos de medida da variavel 668 //TODO incluir opcao para clicar e editar atributos de medida da variavel
585 }; 669 };
586 \ No newline at end of file 670 \ No newline at end of file
ferramentas/metaestat/editorlimites.php
@@ -176,7 +176,7 @@ i3GEO.finalizaAPI = function(){ @@ -176,7 +176,7 @@ i3GEO.finalizaAPI = function(){
176 minimiza = function() { 176 minimiza = function() {
177 i3GEO.janela.minimiza("janelaEditorLimites"); 177 i3GEO.janela.minimiza("janelaEditorLimites");
178 }; 178 };
179 - janela = i3GEO.janela.cria("230px", "100px", "", "", "", 179 + janela = i3GEO.janela.cria("255px", "100px", "", "", "",
180 "Editor", "janelaEditorLimites", false, "hd", 180 "Editor", "janelaEditorLimites", false, "hd",
181 cabecalho, minimiza); 181 cabecalho, minimiza);
182 $i("janelaEditorLimites_corpo").style.backgroundColor = "white"; 182 $i("janelaEditorLimites_corpo").style.backgroundColor = "white";