Commit db0bbf15ab1386241a7db51be2a800e339289e32
1 parent
b0644b48
Exists in
master
and in
7 other branches
Inclusão de opção para alteração da cor de uma classe de um tema, diretamente na…
… opção "legenda", existente nas propriedades de um tema, na árvore de camadas
Showing
10 changed files
with
101 additions
and
30 deletions
Show diff stats
admin/admin.db
No preview for this file type
aplicmap/legenda2.htm
| 1 | -[leg_layer_html opt_flag=1][if name=TEMA oper=neq value=NAO][/if][/leg_layer_html][leg_class_html][if name=CLASSE oper=neq value=NAO]<table><tr><td style=text-align:left colspan=2 width=42><input type=checkbox checked title=liga/desliga class=inputsb style='border: 0px solid red;cursor:pointer' value=[leg_class_index] name=[leg_layer_name] onclick='i3GEO.arvoreDeCamadas.inverteStatusClasse(this)' /> <img src='[leg_icon width=16 height=16 ]' title='[leg_class_title]'/></td><td style=text-align:left; ><span style=font-size:9px >[leg_class_name]</span></td></tr></table>[/if][/leg_class_html] | |
| 2 | 1 | \ No newline at end of file |
| 2 | +[leg_layer_html opt_flag=1][if name=TEMA oper=neq value=NAO][/if][/leg_layer_html][leg_class_html][if name=CLASSE oper=neq value=NAO]<table><tr><td style=text-align:left colspan=2 width=42><input type=checkbox checked title=liga/desliga class=inputsb style='border: 0px solid red;cursor:pointer' value=[leg_class_index] name=[leg_layer_name] onclick='i3GEO.arvoreDeCamadas.inverteStatusClasse(this)' /> <img onclick='i3GEO.arvoreDeCamadas.escolheCorClasse(this)' src='[leg_icon width=16 height=16 ]' title='Clique para alterar a cor. [leg_class_title]'/></td><td style=text-align:left; ><span style=font-size:9px >[leg_class_name]</span></td></tr></table>[/if][/leg_class_html] | |
| 3 | 3 | \ No newline at end of file | ... | ... |
classesjs/classe_arvoredecamadas.js
| ... | ... | @@ -1007,6 +1007,39 @@ i3GEO.arvoreDeCamadas = { |
| 1007 | 1007 | } |
| 1008 | 1008 | }, |
| 1009 | 1009 | /* |
| 1010 | + Function: escolheCorClasse | |
| 1011 | + | |
| 1012 | + Abre uma janela para escolher uma nova cor para o símbolo da classe. | |
| 1013 | + | |
| 1014 | + A chamada dessa função é definida em aplicmap/legenda2.htm | |
| 1015 | + | |
| 1016 | + Parametro: | |
| 1017 | + | |
| 1018 | + leg {Object input} - objeto do tipo INPUT com o id da classe e o id do tema | |
| 1019 | + */ | |
| 1020 | + escolheCorClasse: function (leg){ | |
| 1021 | + //cria um elemento que receberá a escolha da cor e que irá disparar a função de mudança de cor da classe | |
| 1022 | + var obj,novoel; | |
| 1023 | + leg = leg.parentNode.getElementsByTagName("input")[0]; | |
| 1024 | + if(!$i("tempinputcorclasse")){ | |
| 1025 | + novoel = document.createElement("input"); | |
| 1026 | + novoel.id = "tempinputcorclasse"; | |
| 1027 | + novoel.style.display="none"; | |
| 1028 | + novoel.alt = "objeto criado para guardar dados da funcao escolohercorclasse"; | |
| 1029 | + novoel.onchange = ""; | |
| 1030 | + document.body.appendChild(novoel); | |
| 1031 | + } | |
| 1032 | + obj = $i("tempinputcorclasse"); | |
| 1033 | + obj.value = ""; | |
| 1034 | + obj.tema = leg.name; | |
| 1035 | + obj.idclasse = leg.value; | |
| 1036 | + obj.onchange = function(){ | |
| 1037 | + var obj = $i("tempinputcorclasse"); | |
| 1038 | + i3GEO.tema.alteracorclasse(obj.tema,obj.idclasse,obj.value); | |
| 1039 | + }; | |
| 1040 | + i3GEO.util.abreCor("","tempinputcorclasse"); | |
| 1041 | + }, | |
| 1042 | + /* | |
| 1010 | 1043 | Function: inverteStatusClasse |
| 1011 | 1044 | |
| 1012 | 1045 | Liga ou desliga uma classe da legenda. | ... | ... |
classesjs/classe_php.js
| ... | ... | @@ -746,6 +746,16 @@ i3GEO.php = { |
| 746 | 746 | cpJSON.call(p,"invertestatuslegenda",funcao); |
| 747 | 747 | }, |
| 748 | 748 | /* |
| 749 | + Function: aplicaCorClasseTema | |
| 750 | + | |
| 751 | + <APLICACORCLASSETEMA> | |
| 752 | + */ | |
| 753 | + aplicaCorClasseTema: function(funcao,idtema,idclasse,rgb){ | |
| 754 | + i3GEO.php.verifica(); | |
| 755 | + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=alteraclasse&opcao=alteracor&tema="+idtema+"&idclasse="+idclasse+"&cor="+rgb+"&g_sid="+i3GEO.configura.sid; | |
| 756 | + cpJSON.call(p,"aplicaCorClasseTema",funcao); | |
| 757 | + }, | |
| 758 | + /* | |
| 749 | 759 | Function: mudatransp |
| 750 | 760 | |
| 751 | 761 | <MUDATRANSP> | ... | ... |
classesjs/classe_tema.js
| ... | ... | @@ -260,6 +260,30 @@ i3GEO.tema = { |
| 260 | 260 | i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); |
| 261 | 261 | //i3GEO.contadorAtualiza++; |
| 262 | 262 | i3GEO.php.invertestatuslegenda(temp,idtema); |
| 263 | + }, | |
| 264 | + /* | |
| 265 | + Function: alteracorclasse | |
| 266 | + | |
| 267 | + Altera a cor de uma classe de um tema | |
| 268 | + | |
| 269 | + Parametros: | |
| 270 | + | |
| 271 | + idtema - código do tema | |
| 272 | + | |
| 273 | + idclasse - id da classe | |
| 274 | + | |
| 275 | + rgb - nova cor (r,g,b) | |
| 276 | + */ | |
| 277 | + alteracorclasse: function(idtema,idclasse,rgb){ | |
| 278 | + if(typeof(console) !== 'undefined'){console.info("i3GEO.tema.alteracorclasse()");} | |
| 279 | + i3GEO.mapa.ativaTema(idtema); | |
| 280 | + var temp = function(){ | |
| 281 | + i3GEO.atualiza(); | |
| 282 | + i3GEO.Interface.atualizaTema("",idtema); | |
| 283 | + i3GEO.arvoreDeCamadas.atualizaLegenda(idtema); | |
| 284 | + }; | |
| 285 | + i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); | |
| 286 | + i3GEO.php.aplicaCorClasseTema(temp,idtema,idclasse,rgb); | |
| 263 | 287 | }, |
| 264 | 288 | /* |
| 265 | 289 | Function: mudanome | ... | ... |
classesphp/classe_selecao.php
| ... | ... | @@ -84,7 +84,6 @@ $ext - extensão geográfica do mapa |
| 84 | 84 | |
| 85 | 85 | function __construct($map_file,$tema="",$ext="") |
| 86 | 86 | { |
| 87 | - //error_reporting(E_ALL); | |
| 88 | 87 | $this->qyfile = str_replace(".map",".qy",$map_file); |
| 89 | 88 | if($tema != "") |
| 90 | 89 | {$this->qyfileTema = dirname($map_file)."/".$tema.".php";} |
| ... | ... | @@ -137,7 +136,7 @@ $ys - lista de coordenadas y separadas por virgula |
| 137 | 136 | if ($tipo == "novo") |
| 138 | 137 | { |
| 139 | 138 | $this->selecaoLimpa(); |
| 140 | - $tipo = "adiciona" | |
| 139 | + $tipo = "adiciona"; | |
| 141 | 140 | } |
| 142 | 141 | if ($tipo == "limpa") |
| 143 | 142 | {return($this->selecaoLimpa());} |
| ... | ... | @@ -204,7 +203,7 @@ $tipo - Tipo de operação adiciona|retira|inverte|limpa|novo |
| 204 | 203 | if ($tipo == "novo") |
| 205 | 204 | { |
| 206 | 205 | $this->selecaoLimpa(); |
| 207 | - $tipo = "adiciona" | |
| 206 | + $tipo = "adiciona"; | |
| 208 | 207 | } |
| 209 | 208 | if ($tipo == "limpa") |
| 210 | 209 | {return($this->selecaoLimpa());} |
| ... | ... | @@ -376,7 +375,7 @@ $valor - Valor. |
| 376 | 375 | if ($tipo == "novo") |
| 377 | 376 | { |
| 378 | 377 | $this->selecaoLimpa(); |
| 379 | - $tipo = "adiciona" | |
| 378 | + $tipo = "adiciona"; | |
| 380 | 379 | } |
| 381 | 380 | if ($tipo == "limpa") |
| 382 | 381 | {return($this->selecaoLimpa());} |
| ... | ... | @@ -457,7 +456,7 @@ $valor - Valor. |
| 457 | 456 | if ($tipo == "novo") |
| 458 | 457 | { |
| 459 | 458 | $this->selecaoLimpa(); |
| 460 | - $tipo = "adiciona" | |
| 459 | + $tipo = "adiciona"; | |
| 461 | 460 | } |
| 462 | 461 | if ($tipo == "limpa") |
| 463 | 462 | {return($this->selecaoLimpa());} |
| ... | ... | @@ -524,27 +523,13 @@ $tipo - Tipo de operação adiciona|retira|inverte|limpa|novo |
| 524 | 523 | if ($tipo == "novo") |
| 525 | 524 | { |
| 526 | 525 | $this->selecaoLimpa(); |
| 527 | - $tipo = "adiciona" | |
| 526 | + $tipo = "adiciona"; | |
| 528 | 527 | } |
| 529 | 528 | if ($tipo == "limpa") |
| 530 | 529 | {return ($this->selecaoLimpa());} |
| 531 | 530 | if ($tipo == "inverte") |
| 532 | 531 | {return ($this->selecaoInverte());} |
| 533 | 532 | if(!$this->layer){return "erro";} |
| 534 | - /* | |
| 535 | - $shp_atual = array(); | |
| 536 | - if (file_exists($this->qyfile)) | |
| 537 | - {$this->mapa->loadquery($this->qyfile);} | |
| 538 | - $indxlayer = $this->layer->index; | |
| 539 | - $res_count = $this->layer->getNumresults(); | |
| 540 | - $shp_atual = array(); | |
| 541 | - for ($i = 0; $i < $res_count;++$i) | |
| 542 | - { | |
| 543 | - $rc = $this->layer->getResult($i); | |
| 544 | - $shp_atual[] = $rc->shapeindex; | |
| 545 | - } | |
| 546 | - $this->mapa->freequery($indxlayer); | |
| 547 | - */ | |
| 548 | 533 | $shp_atual = array(); |
| 549 | 534 | if($this->qyfileTema != "" && file_exists($this->qyfileTema)) |
| 550 | 535 | {$shp_atual = $this->unserializeQ($this->qyfileTema);} |
| ... | ... | @@ -794,7 +779,7 @@ $tipo - Tipo de operação adiciona|retira|inverte|limpa|novo |
| 794 | 779 | if ($tipo == "novo") |
| 795 | 780 | { |
| 796 | 781 | $this->selecaoLimpa(); |
| 797 | - $tipo = "adiciona" | |
| 782 | + $tipo = "adiciona"; | |
| 798 | 783 | } |
| 799 | 784 | if(!$this->layer){return "erro";} |
| 800 | 785 | $this->layer->set("tolerance",0); |
| ... | ... | @@ -853,7 +838,7 @@ $ext - coordenadas separadas por espaços no estilo xmin ymin xmax ymax |
| 853 | 838 | if ($tipo == "novo") |
| 854 | 839 | { |
| 855 | 840 | $this->selecaoLimpa(); |
| 856 | - $tipo = "adiciona" | |
| 841 | + $tipo = "adiciona"; | |
| 857 | 842 | } |
| 858 | 843 | if(!$this->layer){return "erro";} |
| 859 | 844 | $this->layer->set("tolerance",0); | ... | ... |
classesphp/mapa_controle.php
| ... | ... | @@ -2617,7 +2617,7 @@ Seleciona elementos utilizando um retângulo. |
| 2617 | 2617 | $temas = explode(",",$tema); |
| 2618 | 2618 | foreach($temas as $tema) |
| 2619 | 2619 | { |
| 2620 | - $m = new Selecao($map_file,$tema); | |
| 2620 | + $m = new Selecao($map_file,$tema,$ext); | |
| 2621 | 2621 | if($interface == "googlemaps") |
| 2622 | 2622 | { |
| 2623 | 2623 | $projMapa = $m->mapa->getProjection(); |
| ... | ... | @@ -2625,7 +2625,6 @@ Seleciona elementos utilizando um retângulo. |
| 2625 | 2625 | } |
| 2626 | 2626 | $ok[] = $m->selecaoBOX($tipo,$ext); |
| 2627 | 2627 | } |
| 2628 | - | |
| 2629 | 2628 | redesenhaMapa(); |
| 2630 | 2629 | break; |
| 2631 | 2630 | ... | ... |
ferramentas/legenda/index.js.php
| ... | ... | @@ -494,10 +494,7 @@ i3GEOF.legenda = { |
| 494 | 494 | i3GEOF.legenda.aguarde.visibility = "hidden"; |
| 495 | 495 | i3GEOF.legenda.mostralegenda(); |
| 496 | 496 | }; |
| 497 | - var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=alteraclasse&opcao=alteracor&tema="+i3GEOF.legenda.tema+"&idclasse="+id+"&cor="+$i("tempCor").value, | |
| 498 | - cp = new cpaint(); | |
| 499 | - cp.set_response_type("JSON"); | |
| 500 | - cp.call(p,"",retorna); | |
| 497 | + i3GEO.php.aplicaCorClasseTema(retorna,i3GEOF.legenda.tema,id,$i("tempCor").value); | |
| 501 | 498 | }, |
| 502 | 499 | /* |
| 503 | 500 | Function: mudaLegenda | ... | ... |
ferramentas/selecao/index.js.php
| ... | ... | @@ -143,7 +143,7 @@ i3GEOF.selecao = { |
| 143 | 143 | ' <img onclick="i3GEOF.selecao.operacao(\'inverte\')" src="'+i3GEO.configura.locaplic+'/imagens/gisicons/undo.png" title="Inverte a selecao" style="cursor:pointer;border:1px solid RGB(230,230,230);" />' + |
| 144 | 144 | ' <img onclick="i3GEOF.selecao.operacao(\'limpa\')" src="'+i3GEO.configura.locaplic+'/imagens/gisicons/erase.png" title="Limpa a selecao" style="cursor:pointer;border:1px solid RGB(230,230,230);" />' + |
| 145 | 145 | ' <img onclick="i3GEOF.selecao.criatema()" src="'+i3GEO.configura.locaplic+'/imagens/gisicons/save1.png" title="Salva a selecao como um novo tema" style="cursor:pointer;border:1px solid RGB(230,230,230);" />' + |
| 146 | - ' <select title="Tipo de operacao" style=position:relative;top:-8px; id=i3GEOselecaotipoOperacao >' + | |
| 146 | + ' <br><select title="Tipo de operacao" style=position:relative;top:6px; id=i3GEOselecaotipoOperacao >' + | |
| 147 | 147 | ' <option value="adiciona" >Adicionar à seleção</option>' + |
| 148 | 148 | ' <option value="novo" >Nova seleção</option>' + |
| 149 | 149 | ' <option value="retira" >Retirar da seleção</option>' + | ... | ... |
| ... | ... | @@ -0,0 +1,23 @@ |
| 1 | +MAP | |
| 2 | +SYMBOLSET ../symbols/simbolos.sym | |
| 3 | +FONTSET "../symbols/fontes.txt" | |
| 4 | +LAYER | |
| 5 | + NAME "teste" | |
| 6 | + TYPE RASTER | |
| 7 | + STATUS ON | |
| 8 | + CONNECTION "http://172.30.24.8:8080/geoserver/wms?" | |
| 9 | + | |
| 10 | + CONNECTIONTYPE WMS | |
| 11 | + METADATA | |
| 12 | + "TEMA" "Campo Quadra" | |
| 13 | + "extensao" "-44 -23 -39 -21" | |
| 14 | + "aplicaextensao" "SIM" | |
| 15 | + "wms_srs" "EPSG:4326" | |
| 16 | + "wms_name" "IBGE:REBIO_campo_quadra" | |
| 17 | + "wms_server_version" "1.1.1" | |
| 18 | + "wms_format" "image/png" | |
| 19 | + "legendawms" "http://172.30.24.8:8080/geoserver/wms?service=WMS&service=wms&request=getlegendgraphic&version=1.1.1&service=wms&layer=IBGE:REBIO_campo_quadra&format=image/png" | |
| 20 | + "wms_feature_info_type" "text/html" | |
| 21 | + END | |
| 22 | + END | |
| 23 | +END | |
| 0 | 24 | \ No newline at end of file | ... | ... |