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 29 //TODO traduzir
30 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 35 aguarde: "",
... ... @@ -43,7 +43,7 @@ var editorlimites = {
43 43 /**
44 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 47 * @return
48 48 */
49 49 inicia: function(iddiv){
... ... @@ -132,19 +132,11 @@ var editorlimites = {
132 132 html:function(){
133 133 var ins = '' +
134 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 136 ' <button title="Selecionar" onclick="editorlimites.seleciona(this)"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/select.png" /></button>' +
137 137 ' <button title="Remove selecionado (n&atilde;o apaga)" onclick="editorlimites.deleteSelectedShape()"><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/selected-delete.png" /></button>' +
138 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 140 ' <button title="Ajuda" onmousedown="editorlimites.mudaicone()" onclick="editorlimites.Ajuda()" ><img src="'+i3GEO.configura.locaplic+'/imagens/gisicons/help-contents.png" /></button>' +
149 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 142 return ins;
... ... @@ -264,67 +256,73 @@ var editorlimites = {
264 256 }
265 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 330 /*
333 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 336 var c = $i(editorlimites.iddiv),
339 337 ci = c.getElementsByTagName("img"),
340 338 n = ci.length,
... ... @@ -343,19 +341,22 @@ var editorlimites = {
343 341 ci[i].parentNode.style.backgroundColor = "#F5F5F5";
344 342 }
345 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 350 digitalizaPol: function(botao){
348   - editorlimites.mudaicone();
349   - botao.style.backgroundColor = "#cedff2";
  351 + editorlimites.mudaicone(botao);
350 352 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
351 353 editorlimites.drawingManager.setOptions({
352 354 drawingMode: google.maps.drawing.OverlayType.POLYGON
353 355 });
354 356 },
355 357 seleciona: function(botao){
356   - editorlimites.mudaicone();
  358 + editorlimites.mudaicone(botao);
357 359 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"pointer",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
358   - botao.style.backgroundColor = "#cedff2";
359 360 editorlimites.drawingManager.setOptions({
360 361 drawingMode: null
361 362 });
... ... @@ -510,13 +511,13 @@ var editorlimites = {
510 511 return ins;
511 512 },
512 513 criaJanelaFlutuante: function(html){
513   - var titulo,cabecalho,minimiza;
  514 + var titulo,cabecalho,minimiza,janela;
514 515 cabecalho = function(){};
515 516 minimiza = function(){
516 517 i3GEO.janela.minimiza("salvaLimite");
517 518 };
518 519 titulo = "Salva limite&nbsp;&nbsp;&nbsp;</a>";
519   - i3GEO.janela.cria(
  520 + janela = i3GEO.janela.cria(
520 521 "350px",
521 522 "265px",
522 523 "",
... ... @@ -531,6 +532,7 @@ var editorlimites = {
531 532 );
532 533 $i("salvaLimite_corpo").style.backgroundColor = "white";
533 534 $i("salvaLimite_corpo").innerHTML = html;
  535 + YAHOO.util.Event.addListener(janela[0].close, "click", editorlimites.mudaicone);
534 536 },
535 537 gravaDados: function(comwkt){
536 538 //TODO verificar login ao salvar
... ... @@ -580,6 +582,88 @@ var editorlimites = {
580 582 p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=mantemDadosRegiao&tipo=excluir";
581 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 668 //TODO incluir opcao para clicar e editar atributos de medida da variavel
585 669 };
586 670 \ No newline at end of file
... ...
ferramentas/metaestat/editorlimites.php
... ... @@ -176,7 +176,7 @@ i3GEO.finalizaAPI = function(){
176 176 minimiza = function() {
177 177 i3GEO.janela.minimiza("janelaEditorLimites");
178 178 };
179   - janela = i3GEO.janela.cria("230px", "100px", "", "", "",
  179 + janela = i3GEO.janela.cria("255px", "100px", "", "", "",
180 180 "Editor", "janelaEditorLimites", false, "hd",
181 181 cabecalho, minimiza);
182 182 $i("janelaEditorLimites_corpo").style.backgroundColor = "white";
... ...