Commit 299fe114008962ec7fbadba1ceb3244f98f3278a
1 parent
b531c857
Exists in
master
and in
7 other branches
--no commit message
Showing
1 changed file
with
332 additions
and
303 deletions
Show diff stats
ferramentas/editorol/editorol.js
| ... | ... | @@ -908,7 +908,7 @@ i3GEO.editorOL = |
| 908 | 908 | }; |
| 909 | 909 | return temp; |
| 910 | 910 | }, |
| 911 | - botaoZoombox : function(){ | |
| 911 | + botaoZoomBox : function(){ | |
| 912 | 912 | var temp = document.createElement("div"); |
| 913 | 913 | temp.className = "editorOLzoomboxItemInactive olButton"; |
| 914 | 914 | temp.title = "zoombox"; |
| ... | ... | @@ -960,7 +960,7 @@ i3GEO.editorOL = |
| 960 | 960 | return temp; |
| 961 | 961 | }, |
| 962 | 962 | botaoDistancia : function(){ |
| 963 | - temp = document.createElement("div"); | |
| 963 | + var temp = document.createElement("div"); | |
| 964 | 964 | temp.className = "editorOLdistanciaItemInactive olButton"; |
| 965 | 965 | temp.title = $trad("d21t"); |
| 966 | 966 | temp.onclick = function(){ |
| ... | ... | @@ -969,6 +969,325 @@ i3GEO.editorOL = |
| 969 | 969 | }; |
| 970 | 970 | return temp; |
| 971 | 971 | }, |
| 972 | + botaoArea: function(){ | |
| 973 | + var temp = document.createElement("div"); | |
| 974 | + temp.className = "editorOLareaItemInactive olButton"; | |
| 975 | + temp.title = $trad("d21at"); | |
| 976 | + temp.onclick = function(){ | |
| 977 | + i3GEO.editorOL.marcaBotao("editorOLarea"); | |
| 978 | + i3GEO.barraDeBotoes.defBotao("area").funcaoonclick; | |
| 979 | + }; | |
| 980 | + return temp; | |
| 981 | + }, | |
| 982 | + botaoLinha: function(){ | |
| 983 | + var temp = document.createElement("div"); | |
| 984 | + temp.className = "editorOLlinhaItemInactive olButton"; | |
| 985 | + temp.title = $trad("dlinha"); | |
| 986 | + temp.onclick = function(){ | |
| 987 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 988 | + i3GEO.editorOL.marcaBotao("editorOLlinha"); | |
| 989 | + var draw = new ol.interaction.Draw({ | |
| 990 | + type : "LineString" | |
| 991 | + }); | |
| 992 | + //adiciona a interacao para poder ser removida | |
| 993 | + i3GEO.editorOL.interacoes.push(draw); | |
| 994 | + //desativa ol.interaction.DoubleClickZoom | |
| 995 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 996 | + draw.on("drawend", function(evt) { | |
| 997 | + evt.feature.setStyle( | |
| 998 | + new ol.style.Style({ | |
| 999 | + stroke: new ol.style.Stroke({ | |
| 1000 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | |
| 1001 | + width: i3GEO.editorOL.simbologia.strokeWidth | |
| 1002 | + }), | |
| 1003 | + fill: new ol.style.Fill({ | |
| 1004 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | |
| 1005 | + }) | |
| 1006 | + }) | |
| 1007 | + ); | |
| 1008 | + evt.feature.setId(i3GEO.util.uid()); | |
| 1009 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1010 | + draw.setActive(false); | |
| 1011 | + draw.setActive(true); | |
| 1012 | + if (document.getElementById("panellistagEditor")) { | |
| 1013 | + i3GEO.editorOL.listaGeometrias(); | |
| 1014 | + } | |
| 1015 | + }); | |
| 1016 | + i3geoOL.addInteraction(draw); | |
| 1017 | + }; | |
| 1018 | + return temp; | |
| 1019 | + }, | |
| 1020 | + //TODO falta definir imagem | |
| 1021 | + botaoPonto: function(){ | |
| 1022 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1023 | + var temp = document.createElement("div"); | |
| 1024 | + temp.className = "editorOLpontoItemInactive olButton"; | |
| 1025 | + temp.title = $trad("dponto"); | |
| 1026 | + temp.onclick = function(){ | |
| 1027 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1028 | + i3GEO.editorOL.marcaBotao("editorOLponto"); | |
| 1029 | + var draw = new ol.interaction.Draw({ | |
| 1030 | + type : "Point" | |
| 1031 | + }); | |
| 1032 | + //adiciona a interacao para poder ser removida | |
| 1033 | + i3GEO.editorOL.interacoes.push(draw); | |
| 1034 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1035 | + draw.on("drawend", function(evt) { | |
| 1036 | + evt.feature.setStyle( | |
| 1037 | + new ol.style.Style({ | |
| 1038 | + image: new ol.style.Circle({ | |
| 1039 | + radius: i3GEO.editorOL.simbologia.pointRadius, | |
| 1040 | + fill: new ol.style.Fill({ | |
| 1041 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | |
| 1042 | + }), | |
| 1043 | + stroke: new ol.style.Stroke({ | |
| 1044 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | |
| 1045 | + width: i3GEO.editorOL.simbologia.pointRadius / 3 | |
| 1046 | + }) | |
| 1047 | + }) | |
| 1048 | + }) | |
| 1049 | + ); | |
| 1050 | + evt.feature.setId(i3GEO.util.uid()); | |
| 1051 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1052 | + draw.setActive(false); | |
| 1053 | + draw.setActive(true); | |
| 1054 | + if (document.getElementById("panellistagEditor")) { | |
| 1055 | + i3GEO.editorOL.listaGeometrias(); | |
| 1056 | + } | |
| 1057 | + }); | |
| 1058 | + i3geoOL.addInteraction(draw); | |
| 1059 | + }; | |
| 1060 | + return temp; | |
| 1061 | + }, | |
| 1062 | + botaoPoligono: function(){ | |
| 1063 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1064 | + var temp = document.createElement("div"); | |
| 1065 | + temp.className = "editorOLpoligonoItemInactive olButton"; | |
| 1066 | + temp.title = $trad("dpol"); | |
| 1067 | + temp.onclick = function(){ | |
| 1068 | + i3GEO.editorOL.marcaBotao("editorOLpoligono"); | |
| 1069 | + var draw = new ol.interaction.Draw({ | |
| 1070 | + type : "Polygon" | |
| 1071 | + }); | |
| 1072 | + /* | |
| 1073 | + snap = new ol.interaction.Snap({ | |
| 1074 | + source: i3GEO.desenho.layergrafico.getSource() | |
| 1075 | + }); | |
| 1076 | + i3GEO.editorOL.interacoes.push(snap); | |
| 1077 | + */ | |
| 1078 | + //adiciona a interacao para poder ser removida | |
| 1079 | + i3GEO.editorOL.interacoes.push(draw); | |
| 1080 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1081 | + draw.on("drawend", function(evt) { | |
| 1082 | + evt.feature.setStyle( | |
| 1083 | + new ol.style.Style({ | |
| 1084 | + stroke: new ol.style.Stroke({ | |
| 1085 | + color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | |
| 1086 | + width: i3GEO.editorOL.simbologia.strokeWidth | |
| 1087 | + }), | |
| 1088 | + fill: new ol.style.Fill({ | |
| 1089 | + color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | |
| 1090 | + }) | |
| 1091 | + }) | |
| 1092 | + ); | |
| 1093 | + evt.feature.setId(i3GEO.util.uid()); | |
| 1094 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1095 | + draw.setActive(false); | |
| 1096 | + draw.setActive(true); | |
| 1097 | + if (document.getElementById("panellistagEditor")) { | |
| 1098 | + i3GEO.editorOL.listaGeometrias(); | |
| 1099 | + } | |
| 1100 | + }); | |
| 1101 | + i3geoOL.addInteraction(draw); | |
| 1102 | + }; | |
| 1103 | + return temp; | |
| 1104 | + }, | |
| 1105 | + botaoTexto: function(){ | |
| 1106 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1107 | + var temp = document.createElement("div"); | |
| 1108 | + temp.className = "editorOLtextoItemInactive olButton"; | |
| 1109 | + temp.title = $trad("dtexto"); | |
| 1110 | + temp.onclick = function(){ | |
| 1111 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1112 | + i3GEO.editorOL.marcaBotao("editorOLtexto"); | |
| 1113 | + var draw = new ol.interaction.Draw({ | |
| 1114 | + type : "Point" | |
| 1115 | + }); | |
| 1116 | + //adiciona a interacao para poder ser removida | |
| 1117 | + i3GEO.editorOL.interacoes.push(draw); | |
| 1118 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1119 | + draw.on("drawend", function(evt) { | |
| 1120 | + var texto = window.prompt("Texto", ""); | |
| 1121 | + evt.feature.setStyle( | |
| 1122 | + new ol.style.Style({ | |
| 1123 | + text: new ol.style.Text({ | |
| 1124 | + text: texto, | |
| 1125 | + font: 'Bold ' + parseInt(i3GEO.editorOL.simbologia.fontSize,10) + 'px Arial', | |
| 1126 | + textAlign: 'left', | |
| 1127 | + stroke: new ol.style.Stroke({ | |
| 1128 | + color: 'white', | |
| 1129 | + width: i3GEO.editorOL.simbologia.strokeWidth | |
| 1130 | + }), | |
| 1131 | + fill: new ol.style.Fill({ | |
| 1132 | + color: i3GEO.editorOL.simbologia.fontColor | |
| 1133 | + }), | |
| 1134 | + zIndex: 2000 | |
| 1135 | + }) | |
| 1136 | + }) | |
| 1137 | + ); | |
| 1138 | + evt.feature.setId(i3GEO.util.uid()); | |
| 1139 | + i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1140 | + draw.setActive(false); | |
| 1141 | + draw.setActive(true); | |
| 1142 | + i3GEO.editorOL.marcaBotao(); | |
| 1143 | + }); | |
| 1144 | + i3geoOL.addInteraction(draw); | |
| 1145 | + }; | |
| 1146 | + return temp; | |
| 1147 | + }, | |
| 1148 | + botaoSelecao: function(){ | |
| 1149 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1150 | + var temp = document.createElement("div"); | |
| 1151 | + temp.className = "editorOLselecaoItemInactive olButton"; | |
| 1152 | + temp.title = $trad("d24t"); | |
| 1153 | + temp.onclick = function(){ | |
| 1154 | + i3GEO.editorOL.marcaBotao("editorOLselecao"); | |
| 1155 | + var sel = new ol.interaction.Select(); | |
| 1156 | + //adiciona a interacao para poder ser removida | |
| 1157 | + i3GEO.editorOL.interacoes.push(sel); | |
| 1158 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1159 | + sel.on("select", function(evt) { | |
| 1160 | + var s,i, n, id, f; | |
| 1161 | + n = evt.selected.length; | |
| 1162 | + for(i=0; i<n; i++){ | |
| 1163 | + f = evt.selected[i]; | |
| 1164 | + id = f.getId(); | |
| 1165 | + if(id && i3GEO.util.in_array(id,i3GEO.editorOL.idsSelecionados)){ | |
| 1166 | + i3GEO.editorOL.unselFeature(id); | |
| 1167 | + } | |
| 1168 | + else{ | |
| 1169 | + id = i3GEO.util.uid(); | |
| 1170 | + i3GEO.editorOL.idsSelecionados.push(id); | |
| 1171 | + f.setId(id); | |
| 1172 | + s = f.getStyle(); | |
| 1173 | + if(s.getImage()){ | |
| 1174 | + f.setProperties({ | |
| 1175 | + fillColor: s.getImage().getFill().getColor(), | |
| 1176 | + strokeColor: s.getImage().getStroke().getColor() | |
| 1177 | + }); | |
| 1178 | + f.setStyle( | |
| 1179 | + new ol.style.Style({ | |
| 1180 | + image: new ol.style.Circle({ | |
| 1181 | + radius: i3GEO.editorOL.simbologia.pointRadius, | |
| 1182 | + fill: new ol.style.Fill({ | |
| 1183 | + color: 'rgba(255, 255, 255, 0.5)' | |
| 1184 | + }), | |
| 1185 | + stroke: new ol.style.Stroke({ | |
| 1186 | + color: 'blue', | |
| 1187 | + width: i3GEO.editorOL.simbologia.pointRadius / 3 | |
| 1188 | + }) | |
| 1189 | + }) | |
| 1190 | + }) | |
| 1191 | + ); | |
| 1192 | + } | |
| 1193 | + else{ | |
| 1194 | + f.setProperties({ | |
| 1195 | + fillColor: s.getFill().getColor(), | |
| 1196 | + strokeColor: s.getStroke().getColor() | |
| 1197 | + }); | |
| 1198 | + s.getFill().setColor('rgba(255, 255, 255, 0.5)'); | |
| 1199 | + s.getStroke().setColor('blue'); | |
| 1200 | + } | |
| 1201 | + } | |
| 1202 | + } | |
| 1203 | + if (n === 0){ | |
| 1204 | + i3GEO.editorOL.unselTodos(); | |
| 1205 | + } | |
| 1206 | + }); | |
| 1207 | + i3geoOL.addInteraction(sel); | |
| 1208 | + }; | |
| 1209 | + return temp; | |
| 1210 | + }, | |
| 1211 | + botaoSelecaoTudo: function(){ | |
| 1212 | + var temp = document.createElement("div"); | |
| 1213 | + temp.className = "editorOLselecaoTudoItemInactive olButton"; | |
| 1214 | + temp.title = $trad("studo"); | |
| 1215 | + temp.onclick = function(){ | |
| 1216 | + i3GEO.editorOL.marcaBotao(); | |
| 1217 | + i3GEO.editorOL.selTodos(); | |
| 1218 | + }; | |
| 1219 | + return temp; | |
| 1220 | + }, | |
| 1221 | + botaoApaga: function(){ | |
| 1222 | + var temp = document.createElement("div"); | |
| 1223 | + temp.className = "editorOLapagaItemInactive olButton"; | |
| 1224 | + temp.title = $trad("excsel"); | |
| 1225 | + temp.onclick = function(){ | |
| 1226 | + var x, nsel = i3GEO.editorOL.idsSelecionados.length; | |
| 1227 | + i3GEO.editorOL.featuresBackup = []; | |
| 1228 | + i3GEO.editorOL.marcaBotao(); | |
| 1229 | + if(nsel > 0){ | |
| 1230 | + x = window.confirm($trad("excsel") + "?"); | |
| 1231 | + if(x){ | |
| 1232 | + i3GEO.editorOL.removeFeaturesSel(); | |
| 1233 | + i3GEO.desenho.layergrafico.getSource().changed(); | |
| 1234 | + } | |
| 1235 | + } | |
| 1236 | + else{ | |
| 1237 | + i3GEO.janela.tempoMsg($trad("selum")); | |
| 1238 | + } | |
| 1239 | + }; | |
| 1240 | + return temp; | |
| 1241 | + }, | |
| 1242 | + botaoFrente: function(){ | |
| 1243 | + var temp = document.createElement("div"); | |
| 1244 | + temp.className = "editorOLfrenteItemInactive olButton"; | |
| 1245 | + temp.title = $trad("frente"); | |
| 1246 | + temp.onclick = function(){ | |
| 1247 | + var nsel = i3GEO.editorOL.idsSelecionados.length; | |
| 1248 | + if(nsel > 0){ | |
| 1249 | + i3GEO.editorOL.marcaBotao(); | |
| 1250 | + i3GEO.editorOL.trazParaFrente(); | |
| 1251 | + } | |
| 1252 | + else{ | |
| 1253 | + i3GEO.janela.tempoMsg($trad("selum")); | |
| 1254 | + } | |
| 1255 | + }; | |
| 1256 | + return temp; | |
| 1257 | + }, | |
| 1258 | + //FIXME Translate nao funciona nessa versao do openlayers 3x precisa atualizar | |
| 1259 | + botaoEdita: function(){ | |
| 1260 | + i3GEO.eventos.cliquePerm.desativa(); | |
| 1261 | + var temp = document.createElement("div"); | |
| 1262 | + temp.className = "editorOLeditaItemInactive olButton"; | |
| 1263 | + temp.title = $trad("dpol"); | |
| 1264 | + temp.onclick = function(){ | |
| 1265 | + i3GEO.editorOL.featuresBackup = []; | |
| 1266 | + var draw, nsel, f, c; | |
| 1267 | + nsel = i3GEO.editorOL.idsSelecionados.length; | |
| 1268 | + if(nsel > 0){ | |
| 1269 | + i3GEO.editorOL.marcaBotao("editorOLedita"); | |
| 1270 | + f = i3GEO.desenho.layergrafico.getSource().getFeatureById(i3GEO.editorOL.idsSelecionados[nsel - 1]); | |
| 1271 | + i3GEO.editorOL.featuresBackup.push(f.clone()); | |
| 1272 | + c = new ol.Collection(); | |
| 1273 | + c.push(f); | |
| 1274 | + draw = new ol.interaction.Modify({ | |
| 1275 | + features: c | |
| 1276 | + }); | |
| 1277 | + //adiciona a interacao para poder ser removida | |
| 1278 | + i3GEO.editorOL.interacoes.push(draw); | |
| 1279 | + i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1280 | + i3geoOL.addInteraction(draw); | |
| 1281 | + } | |
| 1282 | + else{ | |
| 1283 | + i3GEO.janela.tempoMsg($trad("selum")); | |
| 1284 | + } | |
| 1285 | + }; | |
| 1286 | + return temp; | |
| 1287 | + }, | |
| 1288 | + botao: function(){ | |
| 1289 | + return temp; | |
| 1290 | + }, | |
| 972 | 1291 | criaBotoes : function(botoes) { |
| 973 | 1292 | if($i("i3GEObarraEdicao")){ |
| 974 | 1293 | $i("i3GEObarraEdicao").style.display = "block"; |
| ... | ... | @@ -1005,325 +1324,35 @@ i3GEO.editorOL = |
| 1005 | 1324 | i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoDistancia()); |
| 1006 | 1325 | } |
| 1007 | 1326 | if (botoes.area === true) { |
| 1008 | - temp = document.createElement("div"); | |
| 1009 | - temp.className = "editorOLareaItemInactive olButton"; | |
| 1010 | - temp.title = $trad("d21at"); | |
| 1011 | - temp.onclick = function(){ | |
| 1012 | - i3GEO.editorOL.marcaBotao("editorOLarea"); | |
| 1013 | - i3GEO.barraDeBotoes.defBotao("area").funcaoonclick; | |
| 1014 | - }; | |
| 1015 | - i3GEOpanelEditor.appendChild(temp); | |
| 1327 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoArea()); | |
| 1016 | 1328 | } |
| 1017 | 1329 | if (botoes.linha === true) { |
| 1018 | - temp = document.createElement("div"); | |
| 1019 | - temp.className = "editorOLlinhaItemInactive olButton"; | |
| 1020 | - temp.title = $trad("dlinha"); | |
| 1021 | - temp.onclick = function(){ | |
| 1022 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1023 | - i3GEO.editorOL.marcaBotao("editorOLlinha"); | |
| 1024 | - var draw = new ol.interaction.Draw({ | |
| 1025 | - type : "LineString" | |
| 1026 | - }); | |
| 1027 | - //adiciona a interacao para poder ser removida | |
| 1028 | - i3GEO.editorOL.interacoes.push(draw); | |
| 1029 | - //desativa ol.interaction.DoubleClickZoom | |
| 1030 | - i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1031 | - draw.on("drawend", function(evt) { | |
| 1032 | - evt.feature.setStyle( | |
| 1033 | - new ol.style.Style({ | |
| 1034 | - stroke: new ol.style.Stroke({ | |
| 1035 | - color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | |
| 1036 | - width: i3GEO.editorOL.simbologia.strokeWidth | |
| 1037 | - }), | |
| 1038 | - fill: new ol.style.Fill({ | |
| 1039 | - color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | |
| 1040 | - }) | |
| 1041 | - }) | |
| 1042 | - ); | |
| 1043 | - evt.feature.setId(i3GEO.util.uid()); | |
| 1044 | - i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1045 | - draw.setActive(false); | |
| 1046 | - draw.setActive(true); | |
| 1047 | - if (document.getElementById("panellistagEditor")) { | |
| 1048 | - i3GEO.editorOL.listaGeometrias(); | |
| 1049 | - } | |
| 1050 | - }); | |
| 1051 | - i3geoOL.addInteraction(draw); | |
| 1052 | - }; | |
| 1053 | - i3GEOpanelEditor.appendChild(temp); | |
| 1330 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoLinha()); | |
| 1054 | 1331 | } |
| 1055 | - //TODO falta definir imagem | |
| 1056 | 1332 | if (botoes.ponto === true) { |
| 1057 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1058 | - temp = document.createElement("div"); | |
| 1059 | - temp.className = "editorOLpontoItemInactive olButton"; | |
| 1060 | - temp.title = $trad("dponto"); | |
| 1061 | - temp.onclick = function(){ | |
| 1062 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1063 | - i3GEO.editorOL.marcaBotao("editorOLponto"); | |
| 1064 | - var draw = new ol.interaction.Draw({ | |
| 1065 | - type : "Point" | |
| 1066 | - }); | |
| 1067 | - //adiciona a interacao para poder ser removida | |
| 1068 | - i3GEO.editorOL.interacoes.push(draw); | |
| 1069 | - i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1070 | - draw.on("drawend", function(evt) { | |
| 1071 | - evt.feature.setStyle( | |
| 1072 | - new ol.style.Style({ | |
| 1073 | - image: new ol.style.Circle({ | |
| 1074 | - radius: i3GEO.editorOL.simbologia.pointRadius, | |
| 1075 | - fill: new ol.style.Fill({ | |
| 1076 | - color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | |
| 1077 | - }), | |
| 1078 | - stroke: new ol.style.Stroke({ | |
| 1079 | - color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | |
| 1080 | - width: i3GEO.editorOL.simbologia.pointRadius / 3 | |
| 1081 | - }) | |
| 1082 | - }) | |
| 1083 | - }) | |
| 1084 | - ); | |
| 1085 | - evt.feature.setId(i3GEO.util.uid()); | |
| 1086 | - i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1087 | - draw.setActive(false); | |
| 1088 | - draw.setActive(true); | |
| 1089 | - if (document.getElementById("panellistagEditor")) { | |
| 1090 | - i3GEO.editorOL.listaGeometrias(); | |
| 1091 | - } | |
| 1092 | - }); | |
| 1093 | - i3geoOL.addInteraction(draw); | |
| 1094 | - }; | |
| 1095 | - i3GEOpanelEditor.appendChild(temp); | |
| 1333 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoPonto()); | |
| 1096 | 1334 | } |
| 1097 | 1335 | if (botoes.poligono === true) { |
| 1098 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1099 | - temp = document.createElement("div"); | |
| 1100 | - temp.className = "editorOLpoligonoItemInactive olButton"; | |
| 1101 | - temp.title = $trad("dpol"); | |
| 1102 | - temp.onclick = function(){ | |
| 1103 | - i3GEO.editorOL.marcaBotao("editorOLpoligono"); | |
| 1104 | - var draw = new ol.interaction.Draw({ | |
| 1105 | - type : "Polygon" | |
| 1106 | - }); | |
| 1107 | - /* | |
| 1108 | - snap = new ol.interaction.Snap({ | |
| 1109 | - source: i3GEO.desenho.layergrafico.getSource() | |
| 1110 | - }); | |
| 1111 | - i3GEO.editorOL.interacoes.push(snap); | |
| 1112 | - */ | |
| 1113 | - //adiciona a interacao para poder ser removida | |
| 1114 | - i3GEO.editorOL.interacoes.push(draw); | |
| 1115 | - i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1116 | - draw.on("drawend", function(evt) { | |
| 1117 | - evt.feature.setStyle( | |
| 1118 | - new ol.style.Style({ | |
| 1119 | - stroke: new ol.style.Stroke({ | |
| 1120 | - color: 'rgba(' + i3GEO.editorOL.simbologia.strokeColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')', | |
| 1121 | - width: i3GEO.editorOL.simbologia.strokeWidth | |
| 1122 | - }), | |
| 1123 | - fill: new ol.style.Fill({ | |
| 1124 | - color: 'rgba(' + i3GEO.editorOL.simbologia.fillColor + ',' + i3GEO.editorOL.simbologia.opacidade + ')' | |
| 1125 | - }) | |
| 1126 | - }) | |
| 1127 | - ); | |
| 1128 | - evt.feature.setId(i3GEO.util.uid()); | |
| 1129 | - i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1130 | - draw.setActive(false); | |
| 1131 | - draw.setActive(true); | |
| 1132 | - if (document.getElementById("panellistagEditor")) { | |
| 1133 | - i3GEO.editorOL.listaGeometrias(); | |
| 1134 | - } | |
| 1135 | - }); | |
| 1136 | - i3geoOL.addInteraction(draw); | |
| 1137 | - }; | |
| 1138 | - i3GEOpanelEditor.appendChild(temp); | |
| 1336 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoPoligono()); | |
| 1139 | 1337 | } |
| 1140 | - | |
| 1141 | 1338 | if (botoes.texto === true) { |
| 1142 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1143 | - temp = document.createElement("div"); | |
| 1144 | - temp.className = "editorOLtextoItemInactive olButton"; | |
| 1145 | - temp.title = $trad("dtexto"); | |
| 1146 | - temp.onclick = function(){ | |
| 1147 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1148 | - i3GEO.editorOL.marcaBotao("editorOLtexto"); | |
| 1149 | - var draw = new ol.interaction.Draw({ | |
| 1150 | - type : "Point" | |
| 1151 | - }); | |
| 1152 | - //adiciona a interacao para poder ser removida | |
| 1153 | - i3GEO.editorOL.interacoes.push(draw); | |
| 1154 | - i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1155 | - draw.on("drawend", function(evt) { | |
| 1156 | - var texto = window.prompt("Texto", ""); | |
| 1157 | - evt.feature.setStyle( | |
| 1158 | - new ol.style.Style({ | |
| 1159 | - text: new ol.style.Text({ | |
| 1160 | - text: texto, | |
| 1161 | - font: 'Bold ' + parseInt(i3GEO.editorOL.simbologia.fontSize,10) + 'px Arial', | |
| 1162 | - textAlign: 'left', | |
| 1163 | - stroke: new ol.style.Stroke({ | |
| 1164 | - color: 'white', | |
| 1165 | - width: i3GEO.editorOL.simbologia.strokeWidth | |
| 1166 | - }), | |
| 1167 | - fill: new ol.style.Fill({ | |
| 1168 | - color: i3GEO.editorOL.simbologia.fontColor | |
| 1169 | - }), | |
| 1170 | - zIndex: 2000 | |
| 1171 | - }) | |
| 1172 | - }) | |
| 1173 | - ); | |
| 1174 | - evt.feature.setId(i3GEO.util.uid()); | |
| 1175 | - i3GEO.desenho.layergrafico.getSource().addFeature(evt.feature); | |
| 1176 | - draw.setActive(false); | |
| 1177 | - draw.setActive(true); | |
| 1178 | - i3GEO.editorOL.marcaBotao(); | |
| 1179 | - }); | |
| 1180 | - i3geoOL.addInteraction(draw); | |
| 1181 | - }; | |
| 1182 | - i3GEOpanelEditor.appendChild(temp); | |
| 1339 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoTexto()); | |
| 1183 | 1340 | } |
| 1184 | - | |
| 1185 | 1341 | if (botoes.selecao === true) { |
| 1186 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1187 | - temp = document.createElement("div"); | |
| 1188 | - temp.className = "editorOLselecaoItemInactive olButton"; | |
| 1189 | - temp.title = $trad("d24t"); | |
| 1190 | - temp.onclick = function(){ | |
| 1191 | - i3GEO.editorOL.marcaBotao("editorOLselecao"); | |
| 1192 | - var sel = new ol.interaction.Select(); | |
| 1193 | - //adiciona a interacao para poder ser removida | |
| 1194 | - i3GEO.editorOL.interacoes.push(sel); | |
| 1195 | - i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1196 | - sel.on("select", function(evt) { | |
| 1197 | - var s,i, n, id, f; | |
| 1198 | - n = evt.selected.length; | |
| 1199 | - for(i=0; i<n; i++){ | |
| 1200 | - f = evt.selected[i]; | |
| 1201 | - id = f.getId(); | |
| 1202 | - if(id && i3GEO.util.in_array(id,i3GEO.editorOL.idsSelecionados)){ | |
| 1203 | - i3GEO.editorOL.unselFeature(id); | |
| 1204 | - } | |
| 1205 | - else{ | |
| 1206 | - id = i3GEO.util.uid(); | |
| 1207 | - i3GEO.editorOL.idsSelecionados.push(id); | |
| 1208 | - f.setId(id); | |
| 1209 | - s = f.getStyle(); | |
| 1210 | - if(s.getImage()){ | |
| 1211 | - f.setProperties({ | |
| 1212 | - fillColor: s.getImage().getFill().getColor(), | |
| 1213 | - strokeColor: s.getImage().getStroke().getColor() | |
| 1214 | - }); | |
| 1215 | - f.setStyle( | |
| 1216 | - new ol.style.Style({ | |
| 1217 | - image: new ol.style.Circle({ | |
| 1218 | - radius: i3GEO.editorOL.simbologia.pointRadius, | |
| 1219 | - fill: new ol.style.Fill({ | |
| 1220 | - color: 'rgba(255, 255, 255, 0.5)' | |
| 1221 | - }), | |
| 1222 | - stroke: new ol.style.Stroke({ | |
| 1223 | - color: 'blue', | |
| 1224 | - width: i3GEO.editorOL.simbologia.pointRadius / 3 | |
| 1225 | - }) | |
| 1226 | - }) | |
| 1227 | - }) | |
| 1228 | - ); | |
| 1229 | - } | |
| 1230 | - else{ | |
| 1231 | - f.setProperties({ | |
| 1232 | - fillColor: s.getFill().getColor(), | |
| 1233 | - strokeColor: s.getStroke().getColor() | |
| 1234 | - }); | |
| 1235 | - s.getFill().setColor('rgba(255, 255, 255, 0.5)'); | |
| 1236 | - s.getStroke().setColor('blue'); | |
| 1237 | - } | |
| 1238 | - } | |
| 1239 | - } | |
| 1240 | - if (n === 0){ | |
| 1241 | - i3GEO.editorOL.unselTodos(); | |
| 1242 | - } | |
| 1243 | - }); | |
| 1244 | - i3geoOL.addInteraction(sel); | |
| 1245 | - }; | |
| 1246 | - i3GEOpanelEditor.appendChild(temp); | |
| 1342 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoSelecao()); | |
| 1247 | 1343 | } |
| 1248 | - | |
| 1249 | 1344 | if (botoes.selecaotudo === true) { |
| 1250 | - temp = document.createElement("div"); | |
| 1251 | - temp.className = "editorOLselecaoTudoItemInactive olButton"; | |
| 1252 | - temp.title = $trad("studo"); | |
| 1253 | - temp.onclick = function(){ | |
| 1254 | - i3GEO.editorOL.marcaBotao(); | |
| 1255 | - i3GEO.editorOL.selTodos(); | |
| 1256 | - }; | |
| 1257 | - i3GEOpanelEditor.appendChild(temp); | |
| 1258 | - } | |
| 1259 | 1345 | |
| 1346 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoSelecaoTudo()); | |
| 1347 | + } | |
| 1260 | 1348 | if (botoes.apaga === true) { |
| 1261 | - temp = document.createElement("div"); | |
| 1262 | - temp.className = "editorOLapagaItemInactive olButton"; | |
| 1263 | - temp.title = $trad("excsel"); | |
| 1264 | - temp.onclick = function(){ | |
| 1265 | - var x, nsel = i3GEO.editorOL.idsSelecionados.length; | |
| 1266 | - i3GEO.editorOL.featuresBackup = []; | |
| 1267 | - i3GEO.editorOL.marcaBotao(); | |
| 1268 | - if(nsel > 0){ | |
| 1269 | - x = window.confirm($trad("excsel") + "?"); | |
| 1270 | - if(x){ | |
| 1271 | - i3GEO.editorOL.removeFeaturesSel(); | |
| 1272 | - i3GEO.desenho.layergrafico.getSource().changed(); | |
| 1273 | - } | |
| 1274 | - } | |
| 1275 | - else{ | |
| 1276 | - i3GEO.janela.tempoMsg($trad("selum")); | |
| 1277 | - } | |
| 1278 | - }; | |
| 1279 | - i3GEOpanelEditor.appendChild(temp); | |
| 1349 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoApaga()); | |
| 1280 | 1350 | } |
| 1281 | - | |
| 1282 | 1351 | if (botoes.frente === true) { |
| 1283 | - temp = document.createElement("div"); | |
| 1284 | - temp.className = "editorOLfrenteItemInactive olButton"; | |
| 1285 | - temp.title = $trad("frente"); | |
| 1286 | - temp.onclick = function(){ | |
| 1287 | - var nsel = i3GEO.editorOL.idsSelecionados.length; | |
| 1288 | - if(nsel > 0){ | |
| 1289 | - i3GEO.editorOL.marcaBotao(); | |
| 1290 | - i3GEO.editorOL.trazParaFrente(); | |
| 1291 | - } | |
| 1292 | - else{ | |
| 1293 | - i3GEO.janela.tempoMsg($trad("selum")); | |
| 1294 | - } | |
| 1295 | - }; | |
| 1296 | - i3GEOpanelEditor.appendChild(temp); | |
| 1352 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoFrente()); | |
| 1297 | 1353 | } |
| 1298 | - //TODO Translate nao funciona nessa versao do openlayers 3x precisa atualizar | |
| 1299 | 1354 | if (botoes.edita === true) { |
| 1300 | - i3GEO.eventos.cliquePerm.desativa(); | |
| 1301 | - temp = document.createElement("div"); | |
| 1302 | - temp.className = "editorOLeditaItemInactive olButton"; | |
| 1303 | - temp.title = $trad("dpol"); | |
| 1304 | - temp.onclick = function(){ | |
| 1305 | - i3GEO.editorOL.featuresBackup = []; | |
| 1306 | - var draw, nsel, f, c; | |
| 1307 | - nsel = i3GEO.editorOL.idsSelecionados.length; | |
| 1308 | - if(nsel > 0){ | |
| 1309 | - i3GEO.editorOL.marcaBotao("editorOLedita"); | |
| 1310 | - f = i3GEO.desenho.layergrafico.getSource().getFeatureById(i3GEO.editorOL.idsSelecionados[nsel - 1]); | |
| 1311 | - i3GEO.editorOL.featuresBackup.push(f.clone()); | |
| 1312 | - c = new ol.Collection(); | |
| 1313 | - c.push(f); | |
| 1314 | - draw = new ol.interaction.Modify({ | |
| 1315 | - features: c | |
| 1316 | - }); | |
| 1317 | - //adiciona a interacao para poder ser removida | |
| 1318 | - i3GEO.editorOL.interacoes.push(draw); | |
| 1319 | - i3GEO.Interface.openlayers.interacoes[0].setActive(false); | |
| 1320 | - i3geoOL.addInteraction(draw); | |
| 1321 | - } | |
| 1322 | - else{ | |
| 1323 | - i3GEO.janela.tempoMsg($trad("selum")); | |
| 1324 | - } | |
| 1325 | - }; | |
| 1326 | - i3GEOpanelEditor.appendChild(temp); | |
| 1355 | + i3GEOpanelEditor.appendChild(i3GEO.editorOL.botaoEdita()); | |
| 1327 | 1356 | } |
| 1328 | 1357 | if (botoes.edita === true && botoes.corta === true && i3GEO.php) { |
| 1329 | 1358 | i3GEO.eventos.cliquePerm.desativa(); | ... | ... |