Commit 58e7affabc90896b21f8e99202ac4343212a413a
1 parent
b53cd23b
Exists in
master
and in
7 other branches
Incluida opção para aplicar automaticamente níveis de transparência às classes d…
…e um layer no editor de legenda
Showing
4 changed files
with
76 additions
and
9 deletions
Show diff stats
classesphp/classe_alteraclasse.php
... | ... | @@ -430,6 +430,32 @@ A nova classe será uma cópia da classe 0. |
430 | 430 | return("ok"); |
431 | 431 | } |
432 | 432 | /* |
433 | +function: adicionaopacidade | |
434 | + | |
435 | +Adiciona opacidade variável de 0 a 100 conforme o número de classes | |
436 | + | |
437 | +*/ | |
438 | + function adicionaopacidade() | |
439 | + { | |
440 | + //error_reporting(E_ALL); | |
441 | + if(!$this->layer){return "erro";} | |
442 | + $numclasses = $this->layer->numclasses; | |
443 | + $n = intval(100 / $numclasses); | |
444 | + for($i=0;$i<$numclasses;++$i) | |
445 | + { | |
446 | + $classe = $this->layer->getclass($i); | |
447 | + $numestilos = $classe->numstyles; | |
448 | + $o = $i * $n; | |
449 | + for($j=0;$j<$numestilos;++$j) | |
450 | + { | |
451 | + $estilo = $classe->getstyle($j); | |
452 | + $estilo->set("opacity",$o); | |
453 | + } | |
454 | + } | |
455 | + $this->layer->setMetaData("cache",""); | |
456 | + return("ok"); | |
457 | + } | |
458 | +/* | |
433 | 459 | function: alteraCoresClasses |
434 | 460 | |
435 | 461 | Altera as cores das classes existentes em um objeto layer gerando uma paleta de cores de acordo com um valor inicial e final. | ... | ... |
classesphp/classe_legenda.php
... | ... | @@ -545,6 +545,7 @@ string com o tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbo |
545 | 545 | $linha[] = corRGB($estilo->color); |
546 | 546 | $linha[] = $estilo->symbolname; |
547 | 547 | $linha[] = $estilo->size; |
548 | + $linha[] = $estilo->opacity; | |
548 | 549 | $linhas[] = $tipoLayer."#".implode("#",$linha); |
549 | 550 | } |
550 | 551 | //retorna tipo do layer,id do estilo,outlinecolor,backgroundcolor,color,symbolname,size |
... | ... | @@ -568,9 +569,11 @@ $color - Cor da frente. |
568 | 569 | |
569 | 570 | $symbolname - Nome do símbolo. |
570 | 571 | |
571 | -$size - Tamanho que será aplicado ao símbolo. | |
572 | +$size - Tamanho que será aplicado ao símbolo. | |
573 | + | |
574 | +$opacidade - Opacidade | |
572 | 575 | */ |
573 | - function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size) | |
576 | + function aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade) | |
574 | 577 | { |
575 | 578 | if(!$this->layer){return "erro";} |
576 | 579 | $classe = $this->layer->getclass($classe); |
... | ... | @@ -597,12 +600,14 @@ $size - Tamanho que será aplicado ao símbolo. |
597 | 600 | {$estilo->set("symbolname",$symbolname);} |
598 | 601 | if ((isset ($size)) && ($size != "-1")) |
599 | 602 | {$estilo->set("size",$size);} |
603 | + if(isset($opacidade)) | |
604 | + {$estilo->set("opacity",$opacidade);} | |
600 | 605 | if ($this->layer->getmetadata("sld") != "") |
601 | 606 | { |
602 | 607 | $sld = $this->layer->getmetadata("sld"); |
603 | 608 | reSLD($this->arquivo,$this->nome,$sld); |
604 | 609 | } |
605 | - $this->layer->removeMetaData("cache"); | |
610 | + $this->layer->setMetaData("cache",""); | |
606 | 611 | return "ok"; |
607 | 612 | } |
608 | 613 | /* | ... | ... |
classesphp/mapa_controle.php
... | ... | @@ -1378,7 +1378,9 @@ Altera uma classe de um tema, aplicando uma nova classificação ou modificando pa |
1378 | 1378 | { |
1379 | 1379 | $projMapa = $m->mapa->getProjection(); |
1380 | 1380 | $m->mapa->setProjection("init=epsg:4291"); |
1381 | - } | |
1381 | + } | |
1382 | + if ($opcao == "adicionaopacidade") | |
1383 | + {$retorno = $m->adicionaopacidade();} | |
1382 | 1384 | if ($opcao == "adicionaclasse") |
1383 | 1385 | {$retorno = $m->adicionaclasse();} |
1384 | 1386 | if ($opcao == "valorunico") |
... | ... | @@ -2303,7 +2305,7 @@ Define as características de simbologia de uma classe, cria, adiciona e exclui e |
2303 | 2305 | } |
2304 | 2306 | if ($opcao == "aplica") |
2305 | 2307 | { |
2306 | - $retorno = $m->aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size); | |
2308 | + $retorno = $m->aplicaParametro($classe,$estilo,$outlinecolor,$backgroundcolor,$color,$symbolname,$size,$opacidade); | |
2307 | 2309 | $m->salva(); |
2308 | 2310 | } |
2309 | 2311 | if ($opcao == "listaSimbolos") | ... | ... |
ferramentas/legenda/index.js.php
... | ... | @@ -122,6 +122,10 @@ i3GEOF.legenda = { |
122 | 122 | {onclick:{fn: i3GEOF.legenda.adicionaConta}} |
123 | 123 | ); |
124 | 124 | new YAHOO.widget.Button( |
125 | + "i3GEOlegendabotao15", | |
126 | + {onclick:{fn: i3GEOF.legenda.adicionaOpacidade}} | |
127 | + ); | |
128 | + new YAHOO.widget.Button( | |
125 | 129 | "i3GEOlegendabotao4", |
126 | 130 | {onclick:{fn: i3GEOF.legenda.paleta}} |
127 | 131 | ); |
... | ... | @@ -184,9 +188,11 @@ i3GEOF.legenda = { |
184 | 188 | '</div><br>'+ |
185 | 189 | '<div id=i3GEOlegendaguia1obj style="width:99%;text-align:left;">'+ |
186 | 190 | ' <p class=paragrafo ><input id=i3GEOlegendabotao1 size="22" type="button" value="Aplicar alterações">'+ |
187 | - ' <input id=i3GEOlegendabotao2 size="22" type="button" value="Adicionar classe">' + | |
188 | - ' <input id=i3GEOlegendabotao3 size="25" type="button" value="Adiciona contagem"></p>' + | |
189 | - ' <table summary="" class=lista5 width="400px">' + | |
191 | + ' <input id=i3GEOlegendabotao2 size="22" type="button" value="+ classe">' + | |
192 | + ' <input id=i3GEOlegendabotao3 size="25" type="button" value="+ contagem">' + | |
193 | + ' <input id=i3GEOlegendabotao15 size="25" type="button" value="Opacidade variável"></p>' + | |
194 | + | |
195 | + ' <table summary="" class=lista5 >' + | |
190 | 196 | ' <tr>' + |
191 | 197 | ' <td><input id=i3GEOlegendabotao4 type="button" size=15 value="Gerar cores"></td>' + |
192 | 198 | ' <td>de:</td>' + |
... | ... | @@ -482,6 +488,30 @@ i3GEOF.legenda = { |
482 | 488 | cp.call(p,"alteraclasse",i3GEOF.legenda.mostralegenda); |
483 | 489 | }, |
484 | 490 | /* |
491 | + Function: adicionaOpacidade | |
492 | + | |
493 | + Adiciona opacidade variável em cada classe | |
494 | + | |
495 | + Veja: | |
496 | + | |
497 | + <ALTERACLASSE> | |
498 | + */ | |
499 | + adicionaOpacidade: function(){ | |
500 | + var retorna = function(){ | |
501 | + i3GEO.atualiza(); | |
502 | + i3GEO.Interface.atualizaTema("",i3GEOF.legenda.tema); | |
503 | + i3GEO.arvoreDeCamadas.atualizaLegenda(i3GEOF.legenda.tema); | |
504 | + i3GEOF.legenda.aguarde.visibility = "hidden"; | |
505 | + i3GEOF.legenda.mostralegenda(); | |
506 | + }; | |
507 | + if(i3GEOF.legenda.aguarde.visibility === "visible") | |
508 | + {return;} | |
509 | + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=alteraclasse&opcao=adicionaopacidade"+"&tema="+i3GEOF.legenda.tema+"&ext="+i3GEO.parametros.mapexten, | |
510 | + cp = new cpaint(); | |
511 | + cp.set_response_type("JSON"); | |
512 | + cp.call(p,"alteraclasse",retorna); | |
513 | + }, | |
514 | + /* | |
485 | 515 | Function: paleta |
486 | 516 | |
487 | 517 | Gera as cores para as classes considerando um RGB inicial e um final |
... | ... | @@ -873,6 +903,9 @@ i3GEOF.legenda = { |
873 | 903 | "<tr><td style='text-align:left;'>Tamanho:</td><td>"+ |
874 | 904 | $inputText("","","i3GEOlegendasizes","",12,linha[6]) + |
875 | 905 | "</td><td></td></tr>" + |
906 | + "<tr><td style='text-align:left;'>Opacidade:</td><td>"+ | |
907 | + $inputText("","","i3GEOlegendaopacidade","",3,linha[7]) + | |
908 | + "</td><td></td></tr>" + | |
876 | 909 | "<tr><td style='text-align:left;'>Símbolo:</td><td>"+ |
877 | 910 | $inputText("","","i3GEOlegendasymbolname","",12,linha[5]) + |
878 | 911 | "</td><td></td></tr></table>"; |
... | ... | @@ -932,6 +965,7 @@ i3GEOF.legenda = { |
932 | 965 | valido = "nao", |
933 | 966 | n = simbolos.length, |
934 | 967 | size = $i("i3GEOlegendasizes").value, |
968 | + opacidade = $i("i3GEOlegendaopacidade").value, | |
935 | 969 | p,cp,fim; |
936 | 970 | for (i=0;i<n;i++){ |
937 | 971 | if(simbolos[i].title == symbolname) |
... | ... | @@ -942,7 +976,7 @@ i3GEOF.legenda = { |
942 | 976 | i3GEOF.legenda.aguarde.visibility = "hidden"; |
943 | 977 | return; |
944 | 978 | } |
945 | - p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=editasimbolo&opcao=aplica&tema="+i3GEOF.legenda.tema+"&classe="+i3GEOF.legenda.classe+"&estilo="+i3GEOF.legenda.estilo+"&outlinecolor="+outlinecolor+"&backgroundcolor="+backgroundcolor+"&color="+color+"&symbolname="+symbolname+"&size="+size; | |
979 | + p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=editasimbolo&opcao=aplica&tema="+i3GEOF.legenda.tema+"&classe="+i3GEOF.legenda.classe+"&estilo="+i3GEOF.legenda.estilo+"&outlinecolor="+outlinecolor+"&backgroundcolor="+backgroundcolor+"&color="+color+"&symbolname="+symbolname+"&size="+size+"&opacidade="+opacidade; | |
946 | 980 | cp = new cpaint(); |
947 | 981 | fim = function(){ |
948 | 982 | i3GEO.atualiza(); | ... | ... |