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(); | ... | ... |