Commit 521b40f313770f181415baae9f89b73609fd93fc
1 parent
b6480661
Exists in
master
and in
7 other branches
Opção de cluster na ferramenta Legenda
Showing
5 changed files
with
80 additions
and
15 deletions
Show diff stats
admin/admin.db
No preview for this file type
classesphp/classe_alteraclasse.php
... | ... | @@ -148,8 +148,7 @@ class Alteraclasse |
148 | 148 | return "erro"; |
149 | 149 | } |
150 | 150 | $numclasses = $this->layer->numclasses; |
151 | - if ($numclasses > 0) | |
152 | - { | |
151 | + if ($numclasses > 0){ | |
153 | 152 | //elimina a expressão da primeira classe |
154 | 153 | $classe0 = $this->layer->getClass(0); |
155 | 154 | //echo "<pre>";var_dump($classe0);exit; |
... | ... | @@ -162,6 +161,16 @@ class Alteraclasse |
162 | 161 | $classe->set("status",MS_DELETE); |
163 | 162 | } |
164 | 163 | } |
164 | + else{ | |
165 | + $classe = ms_newClassObj($this->layer); | |
166 | + $novoestilo = ms_newStyleObj($classe); | |
167 | + if ($this->layer->type == 0){ | |
168 | + $novoestilo->set("symbolname","ponto"); | |
169 | + $novoestilo->set("size","6"); | |
170 | + } | |
171 | + $cor = $novoestilo->color; | |
172 | + $cor->setRGB(255,100,100); | |
173 | + } | |
165 | 174 | $this->layer->setMetaData("cache",""); |
166 | 175 | return("ok"); |
167 | 176 | } |
... | ... | @@ -195,6 +204,7 @@ class Alteraclasse |
195 | 204 | $ids = explode(";",$ids); |
196 | 205 | $minScales = explode(";",$minScales); |
197 | 206 | $maxScales = explode(";",$maxScales); |
207 | + | |
198 | 208 | $nomes = $this->converteTexto($nomes); |
199 | 209 | $nomes = explode(";",$nomes); |
200 | 210 | //$exps = mb_convert_encoding($exps,"ISO-8859-1","UTF-8"); |
... | ... | @@ -210,12 +220,13 @@ class Alteraclasse |
210 | 220 | //elimina as classes existentes atualmente em cada layer |
211 | 221 | foreach ($t as $tema){ |
212 | 222 | $layer = $this->mapa->getlayerbyname($tema); |
213 | - $layer->setMetaData("cache",""); | |
223 | + $layer->setmetadata("cache",""); | |
214 | 224 | $nc = $layer->numclasses; |
215 | - for($i=0;$i < $nc;++$i) | |
216 | - { | |
217 | - $class = $layer->getclass($i); | |
218 | - $class->set("status",MS_DELETE); | |
225 | + if($nc > 0){ | |
226 | + for($i=0;$i < $nc;++$i){ | |
227 | + $class = $layer->getclass($i); | |
228 | + $class->set("status",MS_DELETE); | |
229 | + } | |
219 | 230 | } |
220 | 231 | } |
221 | 232 | //acrescenta as classes definidas | ... | ... |
classesphp/classe_legenda.php
... | ... | @@ -749,7 +749,12 @@ class Legenda |
749 | 749 | $linha[] = corRGB($estilo->backgroundcolor); |
750 | 750 | $linha[] = corRGB($estilo->color); |
751 | 751 | $linha[] = $estilo->symbolname; |
752 | - $linha[] = $estilo->size; | |
752 | + if($estilo->getbinding(MS_STYLE_BINDING_SIZE)){ | |
753 | + $linha[] = $estilo->getbinding(MS_STYLE_BINDING_SIZE); | |
754 | + } | |
755 | + else{ | |
756 | + $linha[] = $estilo->size; | |
757 | + } | |
753 | 758 | $linha[] = $estilo->opacity; |
754 | 759 | if($this->v >= 6){ |
755 | 760 | $linha[] = $estilo->width; |
... | ... | @@ -842,7 +847,13 @@ class Legenda |
842 | 847 | } |
843 | 848 | if ((isset ($size)) && ($size != "-1")) |
844 | 849 | { |
845 | - $estilo->set("size",$size); | |
850 | + if(is_numeric($size)){ | |
851 | + $estilo->removebinding(MS_STYLE_BINDING_SIZE); | |
852 | + $estilo->set("size",$size); | |
853 | + } | |
854 | + else{ | |
855 | + $estilo->setbinding(MS_STYLE_BINDING_SIZE, $size); | |
856 | + } | |
846 | 857 | } |
847 | 858 | if ((isset ($width)) && ($width != "-1") && ($this->v >= 6)) |
848 | 859 | { |
... | ... | @@ -1096,13 +1107,19 @@ class Legenda |
1096 | 1107 | $cor->setRGB($nc[0],$nc[1],$nc[2]); |
1097 | 1108 | continue; |
1098 | 1109 | case "color": |
1099 | - $cor = $estilo->color; | |
1100 | - $nc = explode(",",$valor); | |
1101 | - $cor->setRGB($nc[0],$nc[1],$nc[2]); | |
1110 | + $cor = $estilo->color; | |
1111 | + $nc = explode(",",$valor); | |
1112 | + $cor->setRGB($nc[0],$nc[1],$nc[2]); | |
1102 | 1113 | continue; |
1103 | 1114 | case "size": |
1104 | - $estilo->set("size",$valor); | |
1105 | - break; | |
1115 | + if(is_numeric($valor)){ | |
1116 | + $estilo->removebinding(MS_STYLE_BINDING_SIZE); | |
1117 | + $estilo->set("size",$valor); | |
1118 | + } | |
1119 | + else{ | |
1120 | + $estilo->setbinding(MS_STYLE_BINDING_SIZE, $valor); | |
1121 | + } | |
1122 | + continue; | |
1106 | 1123 | case "width": |
1107 | 1124 | $estilo->set("width",$valor); |
1108 | 1125 | continue; | ... | ... |
classesphp/classe_temas.php
... | ... | @@ -1312,7 +1312,24 @@ Adiciona LABEL em uma classe de um tema |
1312 | 1312 | $cluster->updateFromString("CLUSTER $par END"); |
1313 | 1313 | $this->layer->setMetaData("cache",""); |
1314 | 1314 | $this->layer->setMetadata("tiles","NAO"); |
1315 | - $this->layer->setMetadata("cortepixels",0); | |
1315 | + $this->layer->setMetadata("cortepixels",0); | |
1316 | + //apaga as classes pois nao fazem mais sentido | |
1317 | + if($group == ""){ | |
1318 | + $numclasses = $this->layer->numclasses; | |
1319 | + if ($numclasses > 0){ | |
1320 | + for ($i=0; $i < $numclasses; ++$i) | |
1321 | + { | |
1322 | + $classe = $this->layer->getClass($i); | |
1323 | + $classe->set("status",MS_DELETE); | |
1324 | + } | |
1325 | + } | |
1326 | + $classe = ms_newClassObj($this->layer); | |
1327 | + $novoestilo = ms_newStyleObj($classe); | |
1328 | + $novoestilo->set("size",6); | |
1329 | + $novoestilo->set("symbolname","ponto"); | |
1330 | + $cor = $novoestilo->color; | |
1331 | + $cor->setRGB(255,100,100); | |
1332 | + } | |
1316 | 1333 | } |
1317 | 1334 | function removeCluster(){ |
1318 | 1335 | $cluster = $this->layer->cluster; |
... | ... | @@ -1320,6 +1337,18 @@ Adiciona LABEL em uma classe de um tema |
1320 | 1337 | $this->layer->setMetaData("cache",""); |
1321 | 1338 | $this->layer->setMetadata("tiles","NAO"); |
1322 | 1339 | $this->layer->setMetadata("cortepixels",0); |
1340 | + $numclasses = $this->layer->numclasses; | |
1341 | + if ($numclasses > 0){ | |
1342 | + for ($i=0; $i < $numclasses; ++$i) | |
1343 | + { | |
1344 | + $classe = $this->layer->getClass($i); | |
1345 | + $numestilos = $classe->numstyles; | |
1346 | + for($j=0;$j<$numestilos;++$j){ | |
1347 | + $estilo = $classe->getstyle($j); | |
1348 | + $estilo->removebinding(MS_STYLE_BINDING_SIZE); | |
1349 | + } | |
1350 | + } | |
1351 | + } | |
1323 | 1352 | } |
1324 | 1353 | } |
1325 | 1354 | ?> | ... | ... |
ferramentas/legenda/index.js
... | ... | @@ -1826,6 +1826,7 @@ i3GEOF.legenda = |
1826 | 1826 | + linha[6] |
1827 | 1827 | + "' id='i3GEOlegendasizes' />" |
1828 | 1828 | + "</form></div>" |
1829 | + + "<div class='styled-select' id='i3GEOlegendaComboSize'></div>" | |
1829 | 1830 | |
1830 | 1831 | + "<br><img style='float:left;' onclick='i3GEOF.legenda.aplicaTodasClasses(\"width\",\"i3GEOlegendawidth\")' title='" |
1831 | 1832 | + $trad('aplicatodos', i3GEOF.legenda.dicionario) |
... | ... | @@ -1974,6 +1975,13 @@ i3GEOF.legenda = |
1974 | 1975 | + "</form></div>"; |
1975 | 1976 | |
1976 | 1977 | $i("i3GEOlegendaParametrosEstilos").innerHTML = d; |
1978 | + //preenche as listas de itens | |
1979 | + i3GEO.util.comboItens("", i3GEOF.legenda.tema, function(retorno) { | |
1980 | + if ($i("i3GEOlegendaComboSize")) { | |
1981 | + $i("i3GEOlegendaComboSize").innerHTML = retorno.dados.replace("id=''"," onchange='$i(\"i3GEOlegendasizes\").value = this.value'"); | |
1982 | + } | |
1983 | + }); | |
1984 | + | |
1977 | 1985 | i3GEO.util.aplicaAquarela("i3GEOlegendaParametrosEstilos"); |
1978 | 1986 | p = |
1979 | 1987 | i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" | ... | ... |