Commit 0625955c40e67202fe1de931db2fd2d4ba452a07

Authored by Edmar Moretti
1 parent b57a8e7f

Opção da arvore de camadas pemrite agora destacar os temas q não estão na abrang…

…encia ëspacial do mapa
aplicmap/geral1.map
@@ -239,6 +239,7 @@ MAP @@ -239,6 +239,7 @@ MAP
239 "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda 239 "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda
240 "IDENTIFICA" "nao" 240 "IDENTIFICA" "nao"
241 "cache" "sim" 241 "cache" "sim"
  242 + "EXTENSAO" "-97.911949 -39.413578 -8.185829 9.511159"
242 END 243 END
243 NAME "estados" 244 NAME "estados"
244 SIZEUNITS PIXELS 245 SIZEUNITS PIXELS
aplicmap/geral1windows.map
@@ -239,6 +239,7 @@ MAP @@ -239,6 +239,7 @@ MAP
239 "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda 239 "ESCALA" "250000" #escala utilizada nas marcas ao lado do tema na legenda
240 "IDENTIFICA" "nao" 240 "IDENTIFICA" "nao"
241 #"ESCONDIDO" "sim" 241 #"ESCONDIDO" "sim"
  242 + "EXTENSAO" "-97.911949 -39.413578 -8.185829 9.511159"
242 "cache" "sim" 243 "cache" "sim"
243 END 244 END
244 NAME "estados" 245 NAME "estados"
classesjs/classe_analise.js
@@ -323,6 +323,8 @@ i3GEO.analise = { @@ -323,6 +323,8 @@ i3GEO.analise = {
323 YAHOO.util.Event.removeListener(YAHOO.janelaDocamede.xp.panel.close, "click"); 323 YAHOO.util.Event.removeListener(YAHOO.janelaDocamede.xp.panel.close, "click");
324 i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeDistancia.clique()"); 324 i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeDistancia.clique()");
325 i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeDistancia.movimento()"); 325 i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeDistancia.movimento()");
  326 + i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.analise.medeDistancia.fechaJanela()");
  327 +
326 if($i("mostradistancia_c")){document.body.removeChild($i("mostradistancia_c"));} 328 if($i("mostradistancia_c")){document.body.removeChild($i("mostradistancia_c"));}
327 i3GEO.barraDeBotoes.ativaBotoes(); 329 i3GEO.barraDeBotoes.ativaBotoes();
328 }, 330 },
@@ -570,6 +572,7 @@ i3GEO.analise = { @@ -570,6 +572,7 @@ i3GEO.analise = {
570 YAHOO.util.Event.removeListener(YAHOO.janelaDocaarea.xp.panel.close, "click"); 572 YAHOO.util.Event.removeListener(YAHOO.janelaDocaarea.xp.panel.close, "click");
571 i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeArea.clique()"); 573 i3GEO.eventos.MOUSECLIQUE.remove("i3GEO.analise.medeArea.clique()");
572 i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeArea.movimento()"); 574 i3GEO.eventos.MOUSEMOVE.remove("i3GEO.analise.medeArea.movimento()");
  575 + i3GEO.eventos.NAVEGAMAPA.remove("i3GEO.analise.medeArea.fechaJanela()");
573 if($i("mostraarea_c")){document.body.removeChild($i("mostraarea_c"));} 576 if($i("mostraarea_c")){document.body.removeChild($i("mostraarea_c"));}
574 i3GEO.barraDeBotoes.ativaBotoes(); 577 i3GEO.barraDeBotoes.ativaBotoes();
575 }, 578 },
classesjs/classe_arvoredecamadas.js
@@ -47,6 +47,20 @@ Exemplos: @@ -47,6 +47,20 @@ Exemplos:
47 */ 47 */
48 i3GEO.arvoreDeCamadas = { 48 i3GEO.arvoreDeCamadas = {
49 /* 49 /*
  50 + Propriedade: VERIFICAABRANGENCIATEMAS
  51 +
  52 + Verifica ou não se um tema da árvore está dentro da abrangência do mapa atual
  53 +
  54 + A verificação só é feita se o tema possuir a extensão geográfica registrada (veja o sistema de administração)
  55 +
  56 + Default:
  57 + {true}
  58 +
  59 + Type:
  60 + {boolean}
  61 + */
  62 + VERIFICAABRANGENCIATEMAS: true,
  63 + /*
50 Propriedade: finaliza 64 Propriedade: finaliza
51 65
52 Nome de uma função que será executada após a árvore ter sido montada 66 Nome de uma função que será executada após a árvore ter sido montada
@@ -248,7 +262,9 @@ i3GEO.arvoreDeCamadas = { @@ -248,7 +262,9 @@ i3GEO.arvoreDeCamadas = {
248 262
249 "iconetema":"", 263 "iconetema":"",
250 264
251 - "permitecomentario":"" 265 + "permitecomentario":"",
  266 +
  267 + "exttema":""
252 } 268 }
253 ] 269 ]
254 270
@@ -508,6 +524,10 @@ i3GEO.arvoreDeCamadas = { @@ -508,6 +524,10 @@ i3GEO.arvoreDeCamadas = {
508 if(i3GEO.temaAtivo !== ""){ 524 if(i3GEO.temaAtivo !== ""){
509 i3GEO.mapa.ativaTema(i3GEO.temaAtivo); 525 i3GEO.mapa.ativaTema(i3GEO.temaAtivo);
510 } 526 }
  527 + i3GEO.arvoreDeCamadas.verificaAbrangenciaTemas();
  528 + if(i3GEO.arvoreDeCamadas.VERIFICAABRANGENCIATEMAS == true && i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.arvoreDeCamadas.verificaAbrangenciaTemas()") < 0)
  529 + {i3GEO.eventos.NAVEGAMAPA.push("i3GEO.arvoreDeCamadas.verificaAbrangenciaTemas()");}
  530 +
511 }, 531 },
512 /* 532 /*
513 Function: ativaDragDrop 533 Function: ativaDragDrop
@@ -1020,9 +1040,9 @@ i3GEO.arvoreDeCamadas = { @@ -1020,9 +1040,9 @@ i3GEO.arvoreDeCamadas = {
1020 {estilo = "cursor:move;vertical-align:top;";} 1040 {estilo = "cursor:move;vertical-align:top;";}
1021 1041
1022 if(i3GEO.arvoreDeCamadas.AGUARDALEGENDA) 1042 if(i3GEO.arvoreDeCamadas.AGUARDALEGENDA)
1023 - {html += "&nbsp;<span style='"+estilo+"' onclick=\"i3GEO.tema.mostralegendajanela('"+tema.name+"','"+tema.tema+"','abrejanela');\" onmouseover=\"javascript:i3GEO.ajuda.mostraJanela('"+$trad("t7a")+"','');i3GEO.tema.mostralegendajanela('"+tema.name+"','"+tema.tema+"','ativatimer');\" onmouseout=\"javascript:i3GEO.ajuda.mostraJanela('');i3GEO.tema.mostralegendajanela('"+tema.name+"','','desativatimer');\" >"+tema.tema+"</span>";} 1043 + {html += "&nbsp;<span id='ArvoreTituloTema"+tema.name+"' style='"+estilo+"' onclick=\"i3GEO.tema.mostralegendajanela('"+tema.name+"','"+tema.tema+"','abrejanela');\" onmouseover=\"javascript:i3GEO.ajuda.mostraJanela('"+$trad("t7a")+"','');i3GEO.tema.mostralegendajanela('"+tema.name+"','"+tema.tema+"','ativatimer');\" onmouseout=\"javascript:i3GEO.ajuda.mostraJanela('');i3GEO.tema.mostralegendajanela('"+tema.name+"','','desativatimer');\" >"+tema.tema+"</span>";}
1024 else 1044 else
1025 - {html += "&nbsp;<span style='"+estilo+"' onmouseover=\"javascript:i3GEO.ajuda.mostraJanela('"+$trad("t7")+"','')\" onmouseout=\"javascript:i3GEO.ajuda.mostraJanela('')\" >"+tema.tema+"</span>";} 1045 + {html += "&nbsp;<span id='ArvoreTituloTema"+tema.name+"' style='"+estilo+"' onmouseover=\"javascript:i3GEO.ajuda.mostraJanela('"+$trad("t7")+"','')\" onmouseout=\"javascript:i3GEO.ajuda.mostraJanela('')\" >"+tema.tema+"</span>";}
1026 1046
1027 html += "</p>"; 1047 html += "</p>";
1028 return(html); 1048 return(html);
@@ -1359,5 +1379,38 @@ i3GEO.arvoreDeCamadas = { @@ -1359,5 +1379,38 @@ i3GEO.arvoreDeCamadas = {
1359 } 1379 }
1360 while(i < nelementos); 1380 while(i < nelementos);
1361 } 1381 }
1362 - } 1382 + },
  1383 + verificaAbrangenciaTemas: function(){
  1384 + if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeCamadas.verificaAbrangenciaTemas()");}
  1385 + if(i3GEO.arvoreDeCamadas.VERIFICAABRANGENCIATEMAS == false)
  1386 + {return}
  1387 + try{
  1388 + var resultado = [],
  1389 + i = 0,
  1390 + temp,
  1391 + nelementos = i3GEO.arvoreDeCamadas.CAMADAS.length,
  1392 + ltema,
  1393 + intersec,
  1394 + node;
  1395 + if (nelementos > 0){
  1396 + do{
  1397 + ltema = i3GEO.arvoreDeCamadas.CAMADAS[i];
  1398 + temp = ltema.exttema;
  1399 + if(temp != ""){
  1400 + intersec = i3GEO.util.intersectaBox(temp,i3GEO.parametros.mapexten);
  1401 + node = $i("ArvoreTituloTema"+ltema.name);
  1402 + if(intersec == false){
  1403 + node.style.color = "gray";
  1404 + }
  1405 + else{
  1406 + node.style.color = "black";
  1407 + }
  1408 + }
  1409 + i++;
  1410 + }
  1411 + while(i < nelementos);
  1412 + }
  1413 + }
  1414 + catch(e){}
  1415 + }
1363 }; 1416 };
classesjs/classe_interface.js
@@ -908,14 +908,14 @@ i3GEO.Interface = { @@ -908,14 +908,14 @@ i3GEO.Interface = {
908 }, 908 },
909 loadStartLayer: function(event){ 909 loadStartLayer: function(event){
910 i3GEO.Interface.STATUS.atualizando.push(event.object.name); 910 i3GEO.Interface.STATUS.atualizando.push(event.object.name);
911 - var i = $i("arrastar_"+event.object.name); 911 + var i = $i("ArvoreTituloTema"+event.object.name);
912 if(i){ 912 if(i){
913 i.style.backgroundColor = "RGB(240,240,240)"; 913 i.style.backgroundColor = "RGB(240,240,240)";
914 } 914 }
915 }, 915 },
916 loadStopLayer: function(event){ 916 loadStopLayer: function(event){
917 i3GEO.Interface.STATUS.atualizando.remove(event.object.name); 917 i3GEO.Interface.STATUS.atualizando.remove(event.object.name);
918 - var i = $i("arrastar_"+event.object.name); 918 + var i = $i("ArvoreTituloTema"+event.object.name);
919 if(i){ 919 if(i){
920 i.style.backgroundColor = ""; 920 i.style.backgroundColor = "";
921 } 921 }
classesjs/classe_util.js
@@ -1953,12 +1953,87 @@ i3GEO.util = { @@ -1953,12 +1953,87 @@ i3GEO.util = {
1953 var js = i3GEO.configura.locaplic+"/ferramentas/"+dir+"/index.js.php"; 1953 var js = i3GEO.configura.locaplic+"/ferramentas/"+dir+"/index.js.php";
1954 i3GEO.util.scriptTag(js,"i3GEOF."+nome+".criaJanelaFlutuante()","i3GEOF."+nome+"_script"); 1954 i3GEO.util.scriptTag(js,"i3GEOF."+nome+".criaJanelaFlutuante()","i3GEOF."+nome+"_script");
1955 }, 1955 },
  1956 + /*
  1957 + Function: bookmark
  1958 +
  1959 + Cria os botões de bookmark em redes sociais
  1960 +
  1961 + Gera o HTML contendo as tags IMG com os links
  1962 +
  1963 + Parametro:
  1964 +
  1965 + link {string} - link que será marcado
  1966 +
  1967 + Return:
  1968 +
  1969 + HTML com os botões
  1970 + */
1956 bookmark: function(link){ 1971 bookmark: function(link){
1957 ins = "<img src='"+i3GEO.configura.locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> "; 1972 ins = "<img src='"+i3GEO.configura.locaplic+"/imagens/delicious.gif' onclick='javascript:window.open(\"http://del.icio.us/post?url="+link+"\")' title='Delicious'/> ";
1958 ins += "<img src='"+i3GEO.configura.locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> "; 1973 ins += "<img src='"+i3GEO.configura.locaplic+"/imagens/digg.gif' onclick='javascript:window.open(\"http://digg.com/submit/post?url="+link+"\")' title='Digg'/> ";
1959 ins += "<img src='"+i3GEO.configura.locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> "; 1974 ins += "<img src='"+i3GEO.configura.locaplic+"/imagens/facebook.gif' onclick='javascript:window.open(\"http://www.facebook.com/sharer.php?u="+link+"\")' title='Facebook'/> ";
1960 ins += "<img src='"+i3GEO.configura.locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>"; 1975 ins += "<img src='"+i3GEO.configura.locaplic+"/imagens/stumbleupon.gif' onclick='javascript:window.open(\"http://www.stumbleupon.com/submit?url="+link+"\")' title='StumbleUpon'/>";
1961 return ins; 1976 return ins;
  1977 + },
  1978 + /*
  1979 + Function: intersectaBox
  1980 +
  1981 + Verifica se um retângulo está dentro de outro retângulo
  1982 +
  1983 + Parametros:
  1984 +
  1985 + box1 - retângulo que será verificado
  1986 +
  1987 + box2 - retângulo de referência
  1988 +
  1989 + Return:
  1990 +
  1991 + boolean
  1992 + */
  1993 + intersectaBox: function(box1,box2){
  1994 + var box1 = box1.split(" "),
  1995 + box2 = box2.split(" "),
  1996 + box1i = box2,
  1997 + box2i = box1,
  1998 + coordx,
  1999 + coordy,
  2000 + i;
  2001 + coordx = box1[0]*1;
  2002 + coordy = box1[1]*1;
  2003 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2004 + coordx = box1[0]*1;
  2005 + coordy = box1[3]*1;
  2006 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2007 + {return true;}
  2008 + coordx = box1[2]*1;
  2009 + coordy = box1[3]*1;
  2010 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2011 + {return true;}
  2012 + coordx = box1[2]*1;
  2013 + coordy = box1[1]*1;
  2014 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2015 + {return true;}
  2016 +
  2017 + box1 = box1i;
  2018 + box2 = box2i;
  2019 +
  2020 + coordx = box1[0]*1;
  2021 + coordy = box1[1]*1;
  2022 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2023 + coordx = box1[0]*1;
  2024 + coordy = box1[3]*1;
  2025 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2026 + {return true;}
  2027 + coordx = box1[2]*1;
  2028 + coordy = box1[3]*1;
  2029 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2030 + {return true;}
  2031 + coordx = box1[2]*1;
  2032 + coordy = box1[1]*1;
  2033 + if(coordx >= box2[0]*1 && coordx <= box2[2]*1 && coordy >= box2[1]*1 && coordy <= box2[3]*1)
  2034 + {return true;}
  2035 +
  2036 + return false;
1962 } 2037 }
1963 }; 2038 };
1964 2039
classesphp/classe_mapa.php
@@ -197,9 +197,16 @@ string - javascript com os parametros @@ -197,9 +197,16 @@ string - javascript com os parametros
197 // 197 //
198 //verifica se o tema pode receber a operação de zoom para o tema 198 //verifica se o tema pode receber a operação de zoom para o tema
199 // 199 //
200 - $zoomtema = "sim";  
201 if (($ct != 1) && ($oLayer->getmetadata("extensao") == "")) 200 if (($ct != 1) && ($oLayer->getmetadata("extensao") == ""))
202 - {$zoomtema = "nao";} 201 + {
  202 + $zoomtema = "nao";
  203 + $exttema = "";
  204 + }
  205 + else
  206 + {
  207 + $zoomtema = "sim";
  208 + $exttema = $oLayer->getmetadata("extensao");
  209 + }
203 // 210 //
204 //verifica se existe restrição de escala 211 //verifica se existe restrição de escala
205 // 212 //
@@ -244,7 +251,8 @@ string - javascript com os parametros @@ -244,7 +251,8 @@ string - javascript com os parametros
244 "escondido"=>strtolower($escondido), 251 "escondido"=>strtolower($escondido),
245 "iconetema"=>($oLayer->getmetadata("iconetema")), 252 "iconetema"=>($oLayer->getmetadata("iconetema")),
246 "classe"=>($oLayer->getmetadata("classe")), 253 "classe"=>($oLayer->getmetadata("classe")),
247 - "permitecomentario"=>$permitecomentario 254 + "permitecomentario"=>$permitecomentario,
  255 + "exttema"=>$exttema
248 ); 256 );
249 } 257 }
250 } 258 }
interface/openlayers.htm
@@ -207,6 +207,7 @@ i3GEO.Interface.ATIVAMENUCONTEXTO = false; @@ -207,6 +207,7 @@ i3GEO.Interface.ATIVAMENUCONTEXTO = false;
207 i3GEO.arvoreDeTemas.TIPOBOTAO = "radio"; 207 i3GEO.arvoreDeTemas.TIPOBOTAO = "radio";
208 i3GEO.arvoreDeTemas.ATIVATEMAIMEDIATO = true; 208 i3GEO.arvoreDeTemas.ATIVATEMAIMEDIATO = true;
209 i3GEO.arvoreDeTemas.OPCOESADICIONAIS.comentarios = true; 209 i3GEO.arvoreDeTemas.OPCOESADICIONAIS.comentarios = true;
  210 +i3GEO.arvoreDeCamadas.VERIFICAABRANGENCIATEMAS = true;
210 // 211 //
211 //esta é uma variável interna do OpenLayers que define o endereço do diretório onde estão as imagens usadas nos ícones 212 //esta é uma variável interna do OpenLayers que define o endereço do diretório onde estão as imagens usadas nos ícones
212 // 213 //