classe_selecao_compacto.js
8.28 KB
if(typeof(i3GEO)==='undefined'){var i3GEO={}}i3GEO.selecao={porxy:function(tema,tipo,tolerancia){var retorna=function(retorno){i3GEO.atualiza(retorno)};i3GEO.php.selecaopt(retorna,tema,objposicaocursor.ddx+" "+objposicaocursor.ddy,tipo,tolerancia)},porbox:function(tema,tipo,box){var retorna=function(retorno){i3GEO.atualiza(retorno)};i3GEO.php.selecaobox(retorna,tema,tipo,box)},janelaOpcoes:function(){var janela,temp;g_tipoacao="selecao";i3GEO.mapa.ativaTema("");janela=i3GEO.janela.cria("430px","320px",i3GEO.configura.locaplic+'/ferramentas/selecao/index.htm',"","",$trad("x51")+" <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=5&idajuda=48a' > </a>");if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.selecao.clique()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.selecao.clique()")}if(i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.selecao.atualizaGrafico()")<0){i3GEO.eventos.NAVEGAMAPA.push("i3GEO.selecao.atualizaGrafico()")}temp=function(){i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.selecao.clique()");i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.selecao.atualizaGrafico()");try{i3GEO.desenho.richdraw.fecha()}catch(e){}if($i("pontosins")){document.body.removeChild($i("pontosins"))}i3GEO.barraDeBotoes.ativaBotoes()};YAHOO.util.Event.addListener(janela[0].close,"click",temp)},atualizaGrafico:function(){if(g_tipoacao==="selecao"){var doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;if(doc.getElementById("guia5obj")){if(doc.getElementById("guia5obj").style.display==="block"){if(window.parent.frames.wdocai.atualizaGrafico){window.parent.frames.wdocai.atualizaGrafico()}}}}},clique:function(){if(g_tipoacao==="selecao"){var doc,tipo,tolerancia;doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;tipo="adiciona";if(doc.getElementById("tipoOperacao")){tipo=doc.getElementById("tipoOperacao").value}if(i3GEO.temaAtivo===""){i3GEO.janela.tempoMsg("Nenhum tema ativo");return}tolerancia=doc.getElementById("toleranciapt").value;if((tipo!=="limpa")&&(tipo!=="inverte")){i3GEO.selecao.porxy(i3GEO.temaAtivo,tipo,tolerancia)}}},box:{inicia:function(){if(g_tipoacao!=='selecaobox'){return}i3GEO.selecao.box.criaBox();adicionaxyBox=i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO));var i=$i("i3geoboxSel").style;i.width=0+"px";i.height=0+"px";i.visibility="visible";i.display="block";i.left=objposicaocursor.imgx+adicionaxyBox[0]+"px";i.top=objposicaocursor.imgy+adicionaxyBox[1]+"px";boxxini=objposicaocursor.imgx+adicionaxyBox[0];boxyini=objposicaocursor.imgy+adicionaxyBox[1];if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.selecao.box.desloca()")<0){i3GEO.eventos.MOUSEMOVE.push("i3GEO.selecao.box.desloca()")}if(i3GEO.eventos.MOUSEUP.toString().search("i3GEO.selecao.box.termina()")<0){i3GEO.eventos.MOUSEUP.push("i3GEO.selecao.box.termina()")}},criaBox:function(){try{i3GEO.desenho.richdraw.fecha()}catch(e){}i3GEO.desenho.criaContainerRichdraw();i3GEO.desenho.richdraw.lineColor="red";i3GEO.desenho.richdraw.lineWidth="2px";var novoel,temp;if(!$i("i3geoboxSel")){novoel=document.createElement("div");novoel.style.width="0px";novoel.style.height="0px";novoel.id="i3geoboxSel";novoel.style.display="none";novoel.style.fontSize="0px";if(navn){novoel.style.opacity=0.25}novoel.style.backgroundColor="yellow";novoel.style.position="absolute";novoel.style.border="2px solid #ff0000";if(navm){novoel.style.filter="alpha(opacity=25)"}novoel.onmousemove=function(){var b,wb,hb;b=$i("i3geoboxSel").style;wb=parseInt(b.width,10);hb=parseInt(b.height,10);if(navm){if(wb>2){b.width=wb-2+"px"}if(hb>2){b.height=hb-2+"px"}}else{b.width=wb-2+"px";b.height=hb-2+"px"}};novoel.onmouseup=function(){i3GEO.selecao.box.termina()};document.body.appendChild(novoel)}i3GEO.util.mudaCursor(i3GEO.configura.cursores,"zoom","i3geoboxSel",i3GEO.configura.locaplic);if($i("img")){$i("img").title="";temp="zoom";if(i3GEO.Interface.ATIVAMENUCONTEXTO){temp="zoom_contexto"}i3GEO.util.mudaCursor(i3GEO.configura.cursores,temp,"img",i3GEO.configura.locaplic)}},desloca:function(){if(g_tipoacao!=='selecaobox'){return}var bxs,ppx,py;bxs=$i("i3geoboxSel").style;if(bxs.display!=="block"){return}ppx=objposicaocursor.imgx+adicionaxyBox[0];py=objposicaocursor.imgy+adicionaxyBox[1];if(navm){if((ppx>boxxini)&&((ppx-boxxini-2)>0)){bxs.width=ppx-boxxini-2+"px"}if((py>boxyini)&&((py-boxyini-2)>0)){bxs.height=py-boxyini-2+"px"}if(ppx<boxxini){bxs.left=ppx;bxs.width=boxxini-ppx+2+"px"}if(py<boxyini){bxs.top=py;bxs.height=boxyini-py+2+"px"}}else{if(ppx>boxxini){bxs.width=ppx-boxxini+"px"}if(py>boxyini){bxs.height=py-boxyini+"px"}if(ppx<boxxini){bxs.left=ppx+"px";bxs.width=boxxini-ppx+"px"}if(py<boxyini){bxs.top=py+"px";bxs.height=boxyini-py+"px"}}},termina:function(){if(g_tipoacao!=='selecaobox'){return}var valor,v,x1,y1,x2,y2,limpa=function(){},doc,tipo;try{valor=i3GEO.calculo.rect2ext("i3geoboxSel",i3GEO.parametros.mapexten,i3GEO.parametros.pixelsize);v=valor[0];x1=valor[1];y1=valor[2];x2=valor[3];y2=valor[4];limpa=function(){var bxs=$i("i3geoboxSel").style;bxs.display="none";bxs.visibility="hidden";bxs.width=0+"px";bxs.height=0+"px"};if((x1===x2)||(y1===y2)){limpa.call();return}i3GEO.parametros.mapexten=v;limpa.call();i3GEO.eventos.MOUSEMOVE.remove("i3GEO.selecao.box.desloca()");i3GEO.eventos.MOUSEUP.remove("i3GEO.selecao.box.termina()");doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;tipo="adiciona";if(doc.getElementById("tipoOperacao")){tipo=doc.getElementById("tipoOperacao").value}if((tipo!=="limpa")&&(tipo!=="inverte")){i3GEO.selecao.porbox(i3GEO.temaAtivo,tipo,v)}}catch(e){limpa.call();return}}},poligono:{inicia:function(){try{i3GEO.desenho.richdraw.fecha()}catch(e){}i3GEO.util.insereMarca.limpa();g_tipoacao="selecaopoli";i3GEO.janela.tempoMsg($trad("x20"));i3GEO.desenho.criaContainerRichdraw();i3GEO.desenho.richdraw.lineColor="red";i3GEO.desenho.richdraw.lineWidth="2px";i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.selecao.clique()");if(i3GEO.eventos.MOUSEMOVE.toString().search("i3GEO.selecao.poligono.move()")<0){i3GEO.eventos.MOUSEMOVE.push("i3GEO.selecao.poligono.move()")}if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEO.selecao.poligono.clique()")<0){i3GEO.eventos.MOUSECLIQUE.push("i3GEO.selecao.poligono.clique()")}},move:function(){if(g_tipoacao==="selecaopoli"){var n=pontosdistobj.xpt.length;if(n>0){i3GEO.desenho.aplica("resizePoligono",pontosdistobj.linhas[n-1],n)}}},clique:function(){if(g_tipoacao!=="selecaopoli"){return}var n,d;n=pontosdistobj.xpt.length;pontosdistobj.xpt[n]=objposicaocursor.ddx;pontosdistobj.ypt[n]=objposicaocursor.ddy;pontosdistobj.xtela[n]=objposicaocursor.telax;pontosdistobj.ytela[n]=objposicaocursor.telay;pontosdistobj.ximg[n]=objposicaocursor.imgx;pontosdistobj.yimg[n]=objposicaocursor.imgy;pontosdistobj.dist[n]=0;try{if(navn){pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1),(pontosdistobj.ximg[n]-1),(pontosdistobj.yimg[n]-1))}else{pontosdistobj.linhas[n]=i3GEO.desenho.richdraw.renderer.create(i3GEO.desenho.richdraw.mode,i3GEO.desenho.richdraw.fillColor,i3GEO.desenho.richdraw.lineColor,i3GEO.desenho.richdraw.lineWidth,(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n],(pontosdistobj.ximg[n])-(i3GEO.parametros.w/2),pontosdistobj.yimg[n])}}catch(e){}if(n>0){d=parseInt(i3GEO.calculo.distancia(pontosdistobj.xpt[n-1],pontosdistobj.ypt[n-1],objposicaocursor.ddx,objposicaocursor.ddy),10);pontosdistobj.dist[n]=d+pontosdistobj.dist[n-1]}i3GEO.util.insereMarca.cria(objposicaocursor.imgx,objposicaocursor.imgy,i3GEO.selecao.poligono.termina,"divGeometriasTemp")},termina:function(){var doc,pontos,xs,ys,retorna,p,cp;doc=(navm)?document.frames("wdocai").document:$i("wdocai").contentDocument;pontos=pontosdistobj;i3GEO.desenho.richdraw.fecha();i3GEO.mapa.ativaTema(doc.getElementById("comboTemas").value);xs=pontos.xpt.toString(",");ys=pontos.ypt.toString(",");retorna=function(){i3GEO.janela.fechaAguarde("i3GEO.atualiza",$trad("o1"));i3GEO.atualiza("")};p=i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=selecaoPoli";cp=new cpaint();cp.set_transfer_mode('POST');cp.set_response_type("JSON");cp.call(p,"selecaoPoli",retorna,xs,ys,doc.getElementById("comboTemas").value,doc.getElementById("tipoOperacao").value)}}};