Commit f02d41c93e596f30369c2e7bf65b1199ef28d613

Authored by Edmar Moretti
1 parent 2cb63230

--no commit message

Showing 1 changed file with 131 additions and 62 deletions   Show diff stats
ferramentas/editorol/editorol.js
@@ -1031,18 +1031,29 @@ i3GEO.editorOL = @@ -1031,18 +1031,29 @@ i3GEO.editorOL =
1031 i3GEO.editorOL.interacoes.push(draw); 1031 i3GEO.editorOL.interacoes.push(draw);
1032 i3GEO.Interface.openlayers.interacoes[0].setActive(false); 1032 i3GEO.Interface.openlayers.interacoes[0].setActive(false);
1033 draw.on("drawend", function(evt) { 1033 draw.on("drawend", function(evt) {
  1034 + var simbolo, url;
  1035 + url = i3GEO.editorOL.simbologia.externalGraphic;
  1036 + if(url === ""){
  1037 + simbolo = new ol.style.Circle({
  1038 + radius: i3GEO.editorOL.simbologia.pointRadius,
  1039 + fill: new ol.style.Fill({
  1040 + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')'
  1041 + }),
  1042 + stroke: new ol.style.Stroke({
  1043 + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')',
  1044 + width: i3GEO.editorOL.simbologia.pointRadius / 3
  1045 + })
  1046 + });
  1047 + }
  1048 + else{
  1049 + simbolo = new ol.style.Icon({
  1050 + src : url,
  1051 + size : [i3GEO.editorOL.simbologia.graphicWidth,i3GEO.editorOL.simbologia.graphicHeight]
  1052 + });
  1053 + }
1034 evt.feature.setStyle( 1054 evt.feature.setStyle(
1035 new ol.style.Style({ 1055 new ol.style.Style({
1036 - image: new ol.style.Circle({  
1037 - radius: i3GEO.editorOL.simbologia.pointRadius,  
1038 - fill: new ol.style.Fill({  
1039 - color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')'  
1040 - }),  
1041 - stroke: new ol.style.Stroke({  
1042 - color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')',  
1043 - width: i3GEO.editorOL.simbologia.pointRadius / 3  
1044 - })  
1045 - }) 1056 + image: simbolo
1046 }) 1057 })
1047 ); 1058 );
1048 evt.feature.setId(i3GEO.util.uid()); 1059 evt.feature.setId(i3GEO.util.uid());
@@ -1168,11 +1179,8 @@ i3GEO.editorOL = @@ -1168,11 +1179,8 @@ i3GEO.editorOL =
1168 i3GEO.editorOL.idsSelecionados.push(id); 1179 i3GEO.editorOL.idsSelecionados.push(id);
1169 f.setId(id); 1180 f.setId(id);
1170 s = f.getStyle(); 1181 s = f.getStyle();
  1182 +
1171 if(s.getImage()){ 1183 if(s.getImage()){
1172 - f.setProperties({  
1173 - fillColor: s.getImage().getFill().getColor(),  
1174 - strokeColor: s.getImage().getStroke().getColor()  
1175 - });  
1176 f.setStyle( 1184 f.setStyle(
1177 new ol.style.Style({ 1185 new ol.style.Style({
1178 image: new ol.style.Circle({ 1186 image: new ol.style.Circle({
@@ -1187,11 +1195,32 @@ i3GEO.editorOL = @@ -1187,11 +1195,32 @@ i3GEO.editorOL =
1187 }) 1195 })
1188 }) 1196 })
1189 ); 1197 );
  1198 + if(!s.getImage().getSrc){
  1199 + f.setProperties({
  1200 + fillColor: s.getImage().getFill().getColor(),
  1201 + strokeColor: s.getImage().getStroke().getColor(),
  1202 + externalGraphic: "",
  1203 + graphicHeight : 25,
  1204 + graphicWidth : 25
  1205 + });
  1206 + }
  1207 + else{
  1208 + f.setProperties({
  1209 + fillColor: "",
  1210 + strokeColor: "",
  1211 + externalGraphic: s.getImage().getSrc(),
  1212 + graphicHeight : s.getImage().getSize()[1],
  1213 + graphicWidth : s.getImage().getSize()[0]
  1214 + });
  1215 + }
1190 } 1216 }
1191 else{ 1217 else{
1192 f.setProperties({ 1218 f.setProperties({
1193 fillColor: s.getFill().getColor(), 1219 fillColor: s.getFill().getColor(),
1194 - strokeColor: s.getStroke().getColor() 1220 + strokeColor: s.getStroke().getColor(),
  1221 + externalGraphic: "",
  1222 + graphicHeight : 25,
  1223 + graphicWidth : 25
1195 }); 1224 });
1196 s.getFill().setColor('rgba(255, 255, 255, 0.5)'); 1225 s.getFill().setColor('rgba(255, 255, 255, 0.5)');
1197 s.getStroke().setColor('blue'); 1226 s.getStroke().setColor('blue');
@@ -1597,13 +1626,24 @@ i3GEO.editorOL = @@ -1597,13 +1626,24 @@ i3GEO.editorOL =
1597 for(i=0; i<nsel; i++){ 1626 for(i=0; i<nsel; i++){
1598 f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]); 1627 f = s.getFeatureById(i3GEO.editorOL.idsSelecionados[i]);
1599 if(f){ 1628 if(f){
1600 - f.setProperties({  
1601 - fillColor: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')',  
1602 - strokeColor: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')',  
1603 - width: i3GEO.editorOL.simbologia.strokeWidth,  
1604 - fontSize: i3GEO.editorOL.simbologia.fontSize,  
1605 - fontColor: i3GEO.editorOL.simbologia.fontColor  
1606 - }); 1629 + if(estilo === "externalGraphic" || estilo === "graphicWidth" || estilo === "graphicHeight"){
  1630 + f.setProperties({
  1631 + src: i3GEO.editorOL.simbologia.externalGraphic,
  1632 + size: [
  1633 + i3GEO.editorOL.simbologia.graphicWidth,
  1634 + i3GEO.editorOL.simbologia.graphicHeight
  1635 + ]
  1636 + });
  1637 + }
  1638 + else{
  1639 + f.setProperties({
  1640 + fillColor: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')',
  1641 + strokeColor: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')',
  1642 + width: i3GEO.editorOL.simbologia.strokeWidth,
  1643 + fontSize: i3GEO.editorOL.simbologia.fontSize,
  1644 + fontColor: i3GEO.editorOL.simbologia.fontColor,
  1645 + });
  1646 + }
1607 } 1647 }
1608 } 1648 }
1609 }, 1649 },
@@ -1713,43 +1753,39 @@ i3GEO.editorOL = @@ -1713,43 +1753,39 @@ i3GEO.editorOL =
1713 + '<div class="i3geoForm100 i3geoFormIconeAquarela" >' 1753 + '<div class="i3geoForm100 i3geoFormIconeAquarela" >'
1714 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeColor\',\'i3GEOEditorOLcorContorno\');return false;" type="text" id="i3GEOEditorOLcorContorno" value="' + i3GEO.editorOL.simbologia.strokeColor + '" />' 1754 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeColor\',\'i3GEOEditorOLcorContorno\');return false;" type="text" id="i3GEOEditorOLcorContorno" value="' + i3GEO.editorOL.simbologia.strokeColor + '" />'
1715 + '</div>' 1755 + '</div>'
1716 - + '<p class=paragrafo >Cor do preenchimento</p>' 1756 + + '<br><p class=paragrafo >Cor do preenchimento</p>'
1717 + '<div class="i3geoForm100 i3geoFormIconeAquarela" >' 1757 + '<div class="i3geoForm100 i3geoFormIconeAquarela" >'
1718 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'fillColor\',\'i3GEOEditorOLcorPre\');return false;" type="text" id="i3GEOEditorOLcorPre" value="' + i3GEO.editorOL.simbologia.fillColor + '" />' 1758 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'fillColor\',\'i3GEOEditorOLcorPre\');return false;" type="text" id="i3GEOEditorOLcorPre" value="' + i3GEO.editorOL.simbologia.fillColor + '" />'
1719 + '</div>' 1759 + '</div>'
1720 - + '<p class=paragrafo >Cor da fonte</p>' 1760 + + '<br><p class=paragrafo >Cor da fonte</p>'
1721 + '<div class="i3geoForm100 i3geoFormIconeAquarela" >' 1761 + '<div class="i3geoForm100 i3geoFormIconeAquarela" >'
1722 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'fontColor\',\'i3GEOEditorOLcorFonte\');return false;" type="text" id="i3GEOEditorOLcorFonte" value="' + i3GEO.editorOL.simbologia.fontColor + '" />' 1762 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'fontColor\',\'i3GEOEditorOLcorFonte\');return false;" type="text" id="i3GEOEditorOLcorFonte" value="' + i3GEO.editorOL.simbologia.fontColor + '" />'
1723 + '</div>' 1763 + '</div>'
1724 - + '<p class=paragrafo >Tamanho da fonte</p>' 1764 + + '<br><p class=paragrafo >Tamanho da fonte</p>'
1725 + '<div class="i3geoForm100 i3geoFormIconeEdita" >' 1765 + '<div class="i3geoForm100 i3geoFormIconeEdita" >'
1726 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'fontSize\',\'i3GEOEditorOLfontsize\');return false;" type="text" id="i3GEOEditorOLfontsize" value="' + i3GEO.editorOL.simbologia.fontSize + '" />' 1766 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'fontSize\',\'i3GEOEditorOLfontsize\');return false;" type="text" id="i3GEOEditorOLfontsize" value="' + i3GEO.editorOL.simbologia.fontSize + '" />'
1727 + '</div>' 1767 + '</div>'
1728 - + '<p class=paragrafo >Opacidade (de 0 a 1)</p>' 1768 + + '<br><p class=paragrafo >Opacidade (de 0 a 1)</p>'
1729 + '<div class="i3geoForm100 i3geoFormIconeEdita" >' 1769 + '<div class="i3geoForm100 i3geoFormIconeEdita" >'
1730 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'opacidade\',\'i3GEOEditorOLopacidade\');return false;" type="text" id="i3GEOEditorOLopacidade" value="' + i3GEO.editorOL.simbologia.opacidade + '" />' 1770 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'opacidade\',\'i3GEOEditorOLopacidade\');return false;" type="text" id="i3GEOEditorOLopacidade" value="' + i3GEO.editorOL.simbologia.opacidade + '" />'
1731 + '</div>' 1771 + '</div>'
1732 - + '<p class=paragrafo >Largura da linha/contorno</p>' 1772 + + '<br><p class=paragrafo >Largura da linha/contorno</p>'
1733 + '<div class="i3geoForm100 i3geoFormIconeEdita" >' 1773 + '<div class="i3geoForm100 i3geoFormIconeEdita" >'
1734 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeWidth\',\'i3GEOEditorOLlarguraLinha\');return false;" type="text" id="i3GEOEditorOLlarguraLinha" value="' + i3GEO.editorOL.simbologia.strokeWidth + '" />' 1774 + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'strokeWidth\',\'i3GEOEditorOLlarguraLinha\');return false;" type="text" id="i3GEOEditorOLlarguraLinha" value="' + i3GEO.editorOL.simbologia.strokeWidth + '" />'
  1775 + + '</div>'
  1776 + + '<br><p class=paragrafo >Url de uma imagem</p>'
  1777 + + '<div class="i3geoForm i3geoFormIconeEdita" >'
  1778 + + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'externalGraphic\',\'i3GEOEditorOLexternalGraphic\');return false;" type="text" id="i3GEOEditorOLexternalGraphic" value="' + i3GEO.editorOL.simbologia.externalGraphic + '" />'
  1779 + + '</div>'
  1780 + + '<br><p class=paragrafo >Largura da imagem</p>'
  1781 + + '<div class="i3geoForm100 i3geoFormIconeEdita" >'
  1782 + + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicWidth\',\'i3GEOEditorOLgraphicWidth\');return false;" type="text" id="i3GEOEditorOLgraphicWidth" value="' + i3GEO.editorOL.simbologia.graphicWidth + '" />'
  1783 + + '</div>'
  1784 + + '<br><p class=paragrafo >Altura da imagem</p>'
  1785 + + '<div class="i3geoForm100 i3geoFormIconeEdita" >'
  1786 + + '<input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicHeight\',\'i3GEOEditorOLgraphicHeight\');return false;" type="text" id="i3GEOEditorOLgraphicHeight" value="' + i3GEO.editorOL.simbologia.graphicHeight + '" />'
1735 + '</div>'; 1787 + '</div>';
1736 1788
1737 - //TODO incluir propriedades de uma figura  
1738 - /*  
1739 - + ' <tr>'  
1740 - + ' <td>Url de uma figura</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'externalGraphic\',\'i3GEOEditorOLexternalGraphic\')" type="text" style="cursor:text" id="i3GEOEditorOLexternalGraphic" size="22" value="'  
1741 - + i3GEO.editorOL.simbologia.externalGraphic  
1742 - + '" /></td><td></td>'  
1743 - + ' </tr>'  
1744 - + ' <tr>'  
1745 - + ' <td>Largura e altura</td><td><input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicWidth\',\'i3GEOEditorOLgraphicWidth\')" type="text" style="cursor:text" id="i3GEOEditorOLgraphicWidth" size="4" value="'  
1746 - + i3GEO.editorOL.simbologia.graphicWidth  
1747 - + '" />&nbsp;<input onchange="i3GEO.editorOL.mudaSimbolo(\'graphicHeight\',\'i3GEOEditorOLgraphicHeight\')" type="text" style="cursor:text" id="i3GEOEditorOLgraphicHeight" size="4" value="'  
1748 - + i3GEO.editorOL.simbologia.graphicHeight  
1749 - + '" /></td><td></td>'  
1750 - + ' </tr>'  
1751 - */  
1752 -  
1753 //TODO implementar ao atualizar OL3 1789 //TODO implementar ao atualizar OL3
1754 /* 1790 /*
1755 + '<br />' 1791 + '<br />'
@@ -2122,10 +2158,24 @@ i3GEO.editorOL = @@ -2122,10 +2158,24 @@ i3GEO.editorOL =
2122 }) 2158 })
2123 }) 2159 })
2124 ); 2160 );
2125 - f.setProperties({  
2126 - fillColor: st.getImage().getFill().getColor(),  
2127 - strokeColor: st.getImage().getStroke().getColor()  
2128 - }); 2161 + if(st.getImage().getSrc){
  2162 + f.setProperties({
  2163 + fillColor: "",
  2164 + strokeColor: "",
  2165 + externalGraphic: st.getImage().getSrc(),
  2166 + graphicHeight : st.getImage().getSize()[1],
  2167 + graphicWidth : st.getImage().getSize()[0]
  2168 + });
  2169 + }
  2170 + else{
  2171 + f.setProperties({
  2172 + fillColor: st.getImage().getFill().getColor(),
  2173 + strokeColor: st.getImage().getStroke().getColor(),
  2174 + externalGraphic: "",
  2175 + graphicHeight: "",
  2176 + graphicWidth: ""
  2177 + });
  2178 + }
2129 } 2179 }
2130 else{ 2180 else{
2131 f.setProperties({ 2181 f.setProperties({
@@ -2148,20 +2198,32 @@ i3GEO.editorOL = @@ -2148,20 +2198,32 @@ i3GEO.editorOL =
2148 st = f.getStyle(); 2198 st = f.getStyle();
2149 //caso de ponto 2199 //caso de ponto
2150 if(st.getImage()){ 2200 if(st.getImage()){
2151 - f.setStyle(  
2152 - new ol.style.Style({  
2153 - image: new ol.style.Circle({  
2154 - radius: i3GEO.editorOL.simbologia.pointRadius,  
2155 - fill: new ol.style.Fill({  
2156 - color: f.getProperties().fillColor  
2157 - }),  
2158 - stroke: new ol.style.Stroke({  
2159 - color: f.getProperties().strokeColor,  
2160 - width: i3GEO.editorOL.simbologia.pointRadius / 3 2201 + if(st.getImage().getSrc || f.getProperties().externalGraphic != ""){
  2202 + f.setStyle(
  2203 + new ol.style.Style({
  2204 + image: new ol.style.Icon({
  2205 + src : f.getProperties().externalGraphic,
  2206 + size : [f.getProperties().graphicWidth,f.getProperties().graphicHeight]
2161 }) 2207 })
2162 }) 2208 })
2163 - })  
2164 - ); 2209 + );
  2210 + }
  2211 + else{
  2212 + f.setStyle(
  2213 + new ol.style.Style({
  2214 + image: new ol.style.Circle({
  2215 + radius: i3GEO.editorOL.simbologia.pointRadius,
  2216 + fill: new ol.style.Fill({
  2217 + color: f.getProperties().fillColor
  2218 + }),
  2219 + stroke: new ol.style.Stroke({
  2220 + color: f.getProperties().strokeColor,
  2221 + width: i3GEO.editorOL.simbologia.pointRadius / 3
  2222 + })
  2223 + })
  2224 + })
  2225 + );
  2226 + }
2165 } 2227 }
2166 else{ 2228 else{
2167 st.getFill().setColor(f.getProperties().fillColor); 2229 st.getFill().setColor(f.getProperties().fillColor);
@@ -2185,8 +2247,14 @@ i3GEO.editorOL = @@ -2185,8 +2247,14 @@ i3GEO.editorOL =
2185 s = i3GEO.desenho.layergrafico.getSource(); 2247 s = i3GEO.desenho.layergrafico.getSource();
2186 f = s.getFeatureById(id); 2248 f = s.getFeatureById(id);
2187 if(f){ 2249 if(f){
2188 - f.getStyle().getFill().setColor(f.getProperties().fillColor);  
2189 - f.getStyle().getStroke().setColor(f.getProperties().strokeColor); 2250 + if(f.getStyle().getSrc()){
  2251 + f.getStyle().setSrc(f.getProperties().externalGraphic);
  2252 + f.getStyle().setSize([f.getProperties().graphicWidth,f.getProperties().graphicHeight]);
  2253 + }
  2254 + else{
  2255 + f.getStyle().getFill().setColor(f.getProperties().fillColor);
  2256 + f.getStyle().getStroke().setColor(f.getProperties().strokeColor);
  2257 + }
2190 } 2258 }
2191 i3GEO.editorOL.idsSelecionados.remove(id); 2259 i3GEO.editorOL.idsSelecionados.remove(id);
2192 i3GEO.desenho.layergrafico.getSource().changed(); 2260 i3GEO.desenho.layergrafico.getSource().changed();
@@ -2274,7 +2342,8 @@ i3GEO.editorOL = @@ -2274,7 +2342,8 @@ i3GEO.editorOL =
2274 i3GEO.editorOL.idsSelecionados.push(id); 2342 i3GEO.editorOL.idsSelecionados.push(id);
2275 f.setProperties({ 2343 f.setProperties({
2276 fillColor: f.getStyle().getFill().getColor(), 2344 fillColor: f.getStyle().getFill().getColor(),
2277 - strokeColor: f.getStyle().getStroke().getColor() 2345 + strokeColor: f.getStyle().getStroke().getColor(),
  2346 + externalGraphic: ""
2278 }); 2347 });
2279 f.getStyle().getFill().setColor('rgba(255, 255, 255, 0.5)'); 2348 f.getStyle().getFill().setColor('rgba(255, 255, 255, 0.5)');
2280 f.getStyle().getStroke().setColor('blue'); 2349 f.getStyle().getStroke().setColor('blue');