Commit 4c4a50ba22a729c81ec5029f745d9fad538e0a0a

Authored by Edmar Moretti
1 parent 8ae2738d

--no commit message

classesphp/classe_legenda.php
... ... @@ -231,6 +231,20 @@ string de variaveis no formato javascript que permitem montar a legenda.
231 231 */
232 232 function legendaGrafica()
233 233 {
  234 + $nomeslayers = $this->mapa->getalllayernames();
  235 + foreach ($nomeslayers as $nomelayer)
  236 + {
  237 + $layer = $this->mapa->getlayerbyname($nomelayer);
  238 + if (($layer->data != "") && (strtoupper($layer->getmetadata("escondido")) != "SIM") && (strtoupper($layer->getmetadata("tema")) != "NAO"))
  239 + {
  240 + if ($layer->numclasses > 0)
  241 + {
  242 + $classe = $layer->getclass(0);
  243 + if (($classe->name == "") || ($classe->name == " "))
  244 + {$classe->set("name",$layer->getmetadata("tema"));}
  245 + }
  246 + }
  247 + }
234 248 $nomeImagem = nomeRandomico();
235 249 $imgo = $this->mapa->drawlegend();
236 250 $nomer = ($imgo->imagepath)."leg".$nomeImagem.".png";
... ... @@ -586,8 +600,22 @@ array - "imagecolor"=>$imagecolor,"transparent"=>transparent,"position"=>$positi
586 600 $transparent = $legenda->transparent;
587 601 $imagecolor = corRGB($legenda->imagecolor);
588 602 $label = $legenda->label;
  603 + $font = $label->font;
  604 + if($font == MS_BITMAP)
  605 + {
  606 + $l = $label->size;
  607 + if ($l == MS_TINY){$t = 5;}
  608 + if ($l == MS_SMALL){$t = 7;}
  609 + if ($l == MS_MEDIUM){$t = 10;}
  610 + if ($l == MS_LARGE){$t = 12;}
  611 + if ($l == MS_GIANT){$t = 14;}
  612 + $labelsize = $t;
  613 + }
  614 + else
589 615 $labelsize = $label->size;
590   - return(array("imagecolor"=>$imagecolor,"transparent"=>transparent,"position"=>$position,"status"=>$status,"outlinecolor"=>$outlinecolor,"keyspacingy"=>$keyspacingy,"keyspacingx"=>$keyspacingx,"keysizey"=>$keysizey,"keysizex"=>$keysizex,"height"=>$height,"width"=>$width,"labelsize"=>$labelsize));
  616 +
  617 + $tipofonte = $label->type;
  618 + return(array("tipofonte"=>$tipofonte,"font"=>$font,"imagecolor"=>$imagecolor,"transparent"=>transparent,"position"=>$position,"status"=>$status,"outlinecolor"=>$outlinecolor,"keyspacingy"=>$keyspacingy,"keyspacingx"=>$keyspacingx,"keysizey"=>$keysizey,"keysizex"=>$keysizex,"height"=>$height,"width"=>$width,"labelsize"=>$labelsize));
591 619 }
592 620 /*
593 621 function: aplicaParametrosLegImg
... ... @@ -616,7 +644,7 @@ $heigt
616 644  
617 645 $width
618 646 */
619   - function aplicaParametrosLegImg($imagecolor,$position,$status,$outlinecolor,$keyspacingy,$keyspacingx,$keysizey,$keysizex,$height,$width,$labelsize)
  647 + function aplicaParametrosLegImg($fonte,$imagecolor,$position,$status,$outlinecolor,$keyspacingy,$keyspacingx,$keysizey,$keysizex,$height,$width,$labelsize)
620 648 {
621 649 $legenda = $this->mapa->legend;
622 650 $legenda->set("height",$height);
... ... @@ -642,7 +670,24 @@ $width
642 670 $cor = explode(",",$imagecolor);
643 671 $corres->setRGB($cor[0],$cor[1],$cor[2]);
644 672 $label = $legenda->label;
645   - $label->set("size",$labelsize);
  673 +
  674 + if ($fonte != "bitmap")
  675 + {
  676 + $label->set("type",MS_TRUETYPE);
  677 + $label->set("font",$fonte);
  678 + $label->set("size",$labelsize);
  679 + }
  680 + else
  681 + {
  682 + $label->set("type",MS_BITMAP);
  683 + $t = MS_TINY;
  684 + if ($labelsize > 5 ){$t = MS_TINY;}
  685 + if ($labelsize >= 7 ){$t = MS_SMALL;}
  686 + if ($labelsize >= 10 ){$t = MS_MEDIUM;}
  687 + if ($labelsize >= 12 ){$t = MS_LARGE;}
  688 + if ($labelsize >= 14 ){$t = MS_GIANT;}
  689 + $label->set("size",$t);
  690 + }
646 691 return("ok");
647 692 }
648 693 }
... ...
classesphp/mapa_controle.php
... ... @@ -2204,6 +2204,21 @@ Include:
2204 2204 $cp->set_data($r);
2205 2205 break;
2206 2206 /*
  2207 +Property: testaLegenda
  2208 +
  2209 +Testa os parâmetros de definiçăo da legenda inserida no mapa.
  2210 +
  2211 +Include:
  2212 +<classe_legenda.php>
  2213 +*/
  2214 + case "testaLegenda":
  2215 + include_once("classe_legenda.php");
  2216 + copy($map_file,str_replace(".map","testeleg.map",$map_file));
  2217 + $m = new Legenda(str_replace(".map","testeleg.map",$map_file));
  2218 + $m->aplicaParametrosLegImg($fonte,$imagecolor,$position,$status,$outlinecolor,$keyspacingy,$keyspacingx,$keysizey,$keysizex,$height,$width,$labelsize);
  2219 + $cp->set_data($m->legendaGrafica());
  2220 + break;
  2221 +/*
2207 2222 Property: contagemclasse
2208 2223  
2209 2224 Acrescenta a contagem de elementos em cada classe.
... ... @@ -2263,7 +2278,7 @@ Include:
2263 2278 $utilizacgi = "nao";
2264 2279 }
2265 2280 $m = new Legenda($map_file);
2266   - $cp->set_data($m->aplicaParametrosLegImg($imagecolor,$position,$status,$outlinecolor,$keyspacingy,$keyspacingx,$keysizey,$keysizex,$height,$width,$labelsize));
  2281 + $cp->set_data($m->aplicaParametrosLegImg($fonte,$imagecolor,$position,$status,$outlinecolor,$keyspacingy,$keyspacingx,$keysizey,$keysizex,$height,$width,$labelsize));
2267 2282 $m->salva();
2268 2283 break;
2269 2284 /*
... ... @@ -2340,9 +2355,14 @@ Include:
2340 2355 case "selecaopt":
2341 2356 include_once("classe_selecao.php");
2342 2357 copiaSeguranca($map_file);
2343   - $m = new Selecao($map_file,$tema);
2344 2358 if(!isset($xy)){$xy = "";}
2345   - $cp->set_data($m->selecaoPT($xy,$tipo,$tolerancia));
  2359 + $temas = explode(",",$tema);
  2360 + foreach($temas as $tema)
  2361 + {
  2362 + $m = new Selecao($map_file,$tema);
  2363 + $ok[] = $m->selecaoPT($xy,$tipo,$tolerancia);
  2364 + }
  2365 + $cp->set_data(implode(",",$ok));
2346 2366 break;
2347 2367 /*
2348 2368 Property: selecaoext
... ... @@ -2355,8 +2375,13 @@ Include:
2355 2375 case "selecaoext":
2356 2376 include_once("classe_selecao.php");
2357 2377 copiaSeguranca($map_file);
2358   - $m = new Selecao($map_file,$tema);
2359   - $cp->set_data($m->selecaoEXT($tipo));
  2378 + $temas = explode(",",$tema);
  2379 + foreach($temas as $tema)
  2380 + {
  2381 + $m = new Selecao($map_file,$tema);
  2382 + $ok[] = $m->selecaoEXT($tipo);
  2383 + }
  2384 + $cp->set_data(implode(",",$ok));
2360 2385 break;
2361 2386 /*
2362 2387 Property: selecaobox
... ... @@ -2369,8 +2394,13 @@ Include:
2369 2394 case "selecaobox":
2370 2395 include_once("classe_selecao.php");
2371 2396 copiaSeguranca($map_file);
2372   - $m = new Selecao($map_file,$tema);
2373   - $cp->set_data($m->selecaoBOX($tipo,$ext));
  2397 + $temas = explode(",",$tema);
  2398 + foreach($temas as $tema)
  2399 + {
  2400 + $m = new Selecao($map_file,$tema);
  2401 + $ok[] = $m->selecaoBOX($tipo,$ext);
  2402 + }
  2403 + $cp->set_data(implode(",",$ok));
2374 2404 break;
2375 2405  
2376 2406 /*
... ... @@ -2398,8 +2428,13 @@ Include:
2398 2428 case "selecaotema":
2399 2429 include_once("classe_selecao.php");
2400 2430 copiaSeguranca($map_file);
2401   - $m = new Selecao($map_file,$tema);
2402   - $cp->set_data($m->selecaoTema($temao,$tipo));
  2431 + $temas = explode(",",$tema);
  2432 + foreach($temas as $tema)
  2433 + {
  2434 + $m = new Selecao($map_file,$tema);
  2435 + $ok[] = $m->selecaoTema($temao,$tipo);
  2436 + }
  2437 + $cp->set_data(implode(",",$ok));
2403 2438 break;
2404 2439 /*
2405 2440 Property: selecaoPoli
... ... @@ -2603,9 +2638,14 @@ function selecaoPoli($xs,$ys,$tema,$tipo)
2603 2638 {
2604 2639 global $map_file,$cp;
2605 2640 include_once("classe_selecao.php");
2606   - $m = new Selecao($map_file,$tema);
2607   - $cp->set_data($m->selecaoPorPoligono($tipo,$xs,$ys));
2608   - $m->salva();
  2641 + $temas = explode(",",$tema);
  2642 + foreach($temas as $tema)
  2643 + {
  2644 + $m = new Selecao($map_file,$tema);
  2645 + $ok[] = $m->selecaoPorPoligono($tipo,$xs,$ys);
  2646 + $m->salva();
  2647 + }
  2648 + $cp->set_data(implode(",",$ok));
2609 2649 }
2610 2650 /*
2611 2651 Function: redesenhaMapa
... ...