Commit 262f8a1b8530c8faacf5c328b71a8cf19945cb1a

Authored by Edmar Moretti
1 parent 10d157dc

Novas opções para manipulação do menu suspenso

classesjs/classe_arvoredecamadas.js
@@ -255,9 +255,14 @@ i3GEO.arvoreDeCamadas = { @@ -255,9 +255,14 @@ i3GEO.arvoreDeCamadas = {
255 */ 255 */
256 ICONETEMA: true, 256 ICONETEMA: true,
257 /* 257 /*
258 - Propriedade: FUNCOESTEMA 258 + Propriedade: FUNCOES
259 259
260 - Indicação de quais funções serão incluídas em cada tema mostrado na árvore 260 + Indicação de quais funções serão incluídas em cada tema mostrado na árvore quando o usuário aciona o item "opções"
  261 +
  262 + Além de definir o item como false ou true, algumas funções apenas são mostradas em conformidade com o tipo de camada.
  263 + No sistema de administração, pode-se também controlar algumas das funções, como por exemplo "sql", "wms" e "temporizador"
  264 +
  265 + Exemplo de como alterar um valor diretamente no javascript da interface do mapa i3GEO.arvoreDeCamadas.FUNCOES.excluir = false
261 266
262 */ 267 */
263 FUNCOES: { 268 FUNCOES: {
classesjs/classe_configura.js
@@ -100,7 +100,7 @@ i3GEO.configura = { @@ -100,7 +100,7 @@ i3GEO.configura = {
100 100
101 { text: $trad("u1"), url: "http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=1444332" }, 101 { text: $trad("u1"), url: "http://www.softwarepublico.gov.br/spb/ver-comunidade?community_id=1444332" },
102 102
103 - { text: $trad("u2"), url: "javascript:i3GEO.ajuda.abreDoc()" } 103 + { text: $trad("u2"), url: "javascript:i3GEO.ajuda.abreDoc()", target: "_blank" }
104 104
105 ] 105 ]
106 106
classesjs/classe_gadgets.js
@@ -89,7 +89,7 @@ i3GEO.gadgets = { @@ -89,7 +89,7 @@ i3GEO.gadgets = {
89 89
90 "mostraMenuSuspenso": 90 "mostraMenuSuspenso":
91 91
92 - {idhtml:"menus",deslocaEsquerda:0}, 92 + {idhtml:"menus",deslocaEsquerda:0,finaliza:""},
93 93
94 "mostraMenuLista": 94 "mostraMenuLista":
95 95
@@ -763,6 +763,15 @@ i3GEO.gadgets = { @@ -763,6 +763,15 @@ i3GEO.gadgets = {
763 Mostra o menu suspenso com opções extras de análise, ajuda, etc 763 Mostra o menu suspenso com opções extras de análise, ajuda, etc
764 764
765 O objeto YAHOO.widget.MenuBar resultante pode ser obtido na variável i3GEOoMenuBar 765 O objeto YAHOO.widget.MenuBar resultante pode ser obtido na variável i3GEOoMenuBar
  766 +
  767 +
  768 + i3GEOoMenuBar pode ser manipulado com os métodos da biblioteca YUI, por exemplo,
  769 + i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");
  770 +
  771 + Para executar uma operação após o menu ser montado, utilize a propriedade
  772 + i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza, por exemplo (a string é executada por meio da função eval do javascript)
  773 +
  774 + i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = 'i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");'
766 775
767 O conteúdo do menu é baseado na variável i3GEO.configura.oMenuData 776 O conteúdo do menu é baseado na variável i3GEO.configura.oMenuData
768 777
@@ -773,12 +782,12 @@ i3GEO.gadgets = { @@ -773,12 +782,12 @@ i3GEO.gadgets = {
773 */ 782 */
774 mostraMenuSuspenso: function(id){ 783 mostraMenuSuspenso: function(id){
775 if(typeof(console) !== 'undefined'){console.info("i3GEO.gadgets.mostraMenuSuspenso()");} 784 if(typeof(console) !== 'undefined'){console.info("i3GEO.gadgets.mostraMenuSuspenso()");}
776 - var objid,sobe,n,i,estilo,t,onMenuBarBeforeRender,temp,ifr,  
777 - MM = YAHOO.widget.MenuManager, 785 + var objid,sobe,n,i,estilo,t,onMenuBarBeforeRender,temp,ifr,i3GEOoMenuBarLocal,
778 ms = i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso, 786 ms = i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso,
779 confm = i3GEO.configura.oMenuData, 787 confm = i3GEO.configura.oMenuData,
780 ins = "", 788 ins = "",
781 alinhamento = ""; 789 alinhamento = "";
  790 + i3GEOoMenuBar = YAHOO.widget.MenuManager;
782 if(arguments.length === 0) 791 if(arguments.length === 0)
783 {id = ms.idhtml;} 792 {id = ms.idhtml;}
784 else 793 else
@@ -816,7 +825,7 @@ i3GEO.gadgets = { @@ -816,7 +825,7 @@ i3GEO.gadgets = {
816 if($i("menu"+nomeMenu)){ 825 if($i("menu"+nomeMenu)){
817 nomeSub = subs[nomeMenu]; 826 nomeSub = subs[nomeMenu];
818 if(nomeSub !== ""){ 827 if(nomeSub !== ""){
819 - i3GEOoMenuBar.getItem(conta).cfg.setProperty( 828 + i3GEOoMenuBarLocal.getItem(conta).cfg.setProperty(
820 'submenu', 829 'submenu',
821 { 830 {
822 id:nomeMenu, 831 id:nomeMenu,
@@ -832,28 +841,28 @@ i3GEO.gadgets = { @@ -832,28 +841,28 @@ i3GEO.gadgets = {
832 {ifr = true;} 841 {ifr = true;}
833 else 842 else
834 {ifr = false;} 843 {ifr = false;}
835 - i3GEOoMenuBar=new YAHOO.widget.MenuBar(id,{iframe:ifr,autosubmenudisplay: true, showdelay: 100, hidedelay: 500, lazyload: false});  
836 - MM.addMenu(i3GEOoMenuBar);  
837 - i3GEOoMenuBar.beforeRenderEvent.subscribe(onMenuBarBeforeRender);  
838 - i3GEOoMenuBar.render(); 844 + i3GEOoMenuBarLocal = new YAHOO.widget.MenuBar(id,{iframe:ifr,autosubmenudisplay: true, showdelay: 100, hidedelay: 500, lazyload: false});
  845 + i3GEOoMenuBar.addMenu(i3GEOoMenuBarLocal);
  846 + i3GEOoMenuBarLocal.beforeRenderEvent.subscribe(onMenuBarBeforeRender);
  847 + i3GEOoMenuBarLocal.render();
839 // 848 //
840 //marca o tipo de interface em uso 849 //marca o tipo de interface em uso
841 // 850 //
842 try{ 851 try{
843 if(i3GEO.Interface.ATUAL === "padrao"){ 852 if(i3GEO.Interface.ATUAL === "padrao"){
844 - MM.getMenuItem("omenudataInterface1").cfg.setProperty("checked", true); 853 + i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("checked", true);
845 } 854 }
846 if(i3GEO.Interface.ATUAL === "openlayers"){ 855 if(i3GEO.Interface.ATUAL === "openlayers"){
847 - MM.getMenuItem("omenudataInterface2").cfg.setProperty("checked", true); 856 + i3GEOoMenuBar.getMenuItem("omenudataInterface2").cfg.setProperty("checked", true);
848 } 857 }
849 if(i3GEO.Interface.ATUAL === "flamingo"){ 858 if(i3GEO.Interface.ATUAL === "flamingo"){
850 - MM.getMenuItem("omenudataInterface3").cfg.setProperty("checked", true); 859 + i3GEOoMenuBar.getMenuItem("omenudataInterface3").cfg.setProperty("checked", true);
851 } 860 }
852 if(i3GEO.Interface.ATUAL === "googlemaps"){ 861 if(i3GEO.Interface.ATUAL === "googlemaps"){
853 - MM.getMenuItem("omenudataInterface4").cfg.setProperty("checked", true); 862 + i3GEOoMenuBar.getMenuItem("omenudataInterface4").cfg.setProperty("checked", true);
854 } 863 }
855 if(i3GEO.Interface.ATUAL === "googleearth"){ 864 if(i3GEO.Interface.ATUAL === "googleearth"){
856 - MM.getMenuItem("omenudataInterface5").cfg.setProperty("checked", true); 865 + i3GEOoMenuBar.getMenuItem("omenudataInterface5").cfg.setProperty("checked", true);
857 } 866 }
858 }catch(e){ 867 }catch(e){
859 if(typeof(console) !== 'undefined'){console.warning("i3GEO.gadgets.mostraMenuSuspenso() "+ e);} 868 if(typeof(console) !== 'undefined'){console.warning("i3GEO.gadgets.mostraMenuSuspenso() "+ e);}
@@ -862,13 +871,13 @@ i3GEO.gadgets = { @@ -862,13 +871,13 @@ i3GEO.gadgets = {
862 //desabilita opções em interfaces específicas 871 //desabilita opções em interfaces específicas
863 // 872 //
864 if(i3GEO.Interface.ATUAL !== "padrao" && $i("omenudataArquivos3")){ 873 if(i3GEO.Interface.ATUAL !== "padrao" && $i("omenudataArquivos3")){
865 - MM.getMenuItem("omenudataArquivos3").cfg.setProperty("disabled", true); 874 + i3GEOoMenuBar.getMenuItem("omenudataArquivos3").cfg.setProperty("disabled", true);
866 } 875 }
867 if(i3GEO.Interface.ATUAL === "googleearth" && $i("omenudataJanelas1")){ 876 if(i3GEO.Interface.ATUAL === "googleearth" && $i("omenudataJanelas1")){
868 - MM.getMenuItem("omenudataJanelas1").cfg.setProperty("disabled", true); 877 + i3GEOoMenuBar.getMenuItem("omenudataJanelas1").cfg.setProperty("disabled", true);
869 } 878 }
870 if(i3GEO.Interface.ATUAL !== "openlayers" && $i("omenudataJanelas3")){ 879 if(i3GEO.Interface.ATUAL !== "openlayers" && $i("omenudataJanelas3")){
871 - MM.getMenuItem("omenudataJanelas3").cfg.setProperty("disabled", true); 880 + i3GEOoMenuBar.getMenuItem("omenudataJanelas3").cfg.setProperty("disabled", true);
872 } 881 }
873 // 882 //
874 //corrige problemas de estilo 883 //corrige problemas de estilo
@@ -881,6 +890,9 @@ i3GEO.gadgets = { @@ -881,6 +890,9 @@ i3GEO.gadgets = {
881 {temp.border = "1px dotted white";} 890 {temp.border = "1px dotted white";}
882 if(navm && i3GEO.Interface.ATUAL === "googlemaps") 891 if(navm && i3GEO.Interface.ATUAL === "googlemaps")
883 {temp.border = "2px dotted white";} 892 {temp.border = "2px dotted white";}
  893 + if(ms.finaliza && ms.finaliza != ""){
  894 + eval(ms.finaliza);
  895 + }
884 } 896 }
885 }, 897 },
886 /* 898 /*
exemplos/menus1.htm
@@ -223,6 +223,14 @@ i3GEO.configura.oMenuData.submenus.testeMenu = [ @@ -223,6 +223,14 @@ i3GEO.configura.oMenuData.submenus.testeMenu = [
223 ] 223 ]
224 224
225 // 225 //
  226 +//vc pode usar também esse exemplo
  227 +//desabilita o aplicativo default do menu suspenso
  228 +//
  229 +//i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = 'i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");'
  230 +
  231 +
  232 +
  233 +//
226 //inicia o mapa 234 //inicia o mapa
227 // 235 //
228 i3GEO.inicia(); 236 i3GEO.inicia();
interface/openlayers.htm
@@ -206,6 +206,13 @@ i3GEO.Interface.openlayers.GADGETS = { @@ -206,6 +206,13 @@ i3GEO.Interface.openlayers.GADGETS = {
206 OverviewMap:false 206 OverviewMap:false
207 }; 207 };
208 i3GEO.Interface.openlayers.TILES = true; 208 i3GEO.Interface.openlayers.TILES = true;
  209 +
  210 +//
  211 +//desabilita o aplicativo default do menu suspenso
  212 +//
  213 +i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = 'i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", " ");'
  214 +
  215 +
209 /* 216 /*
210 Após a criação, é criado o objeto i3geoOL que corresponde ao objeto map da API do OpenLayers. 217 Após a criação, é criado o objeto i3geoOL que corresponde ao objeto map da API do OpenLayers.
211 Vc pode usar i3geoOL para aplicar os métodos e verificar as propriedades da API do OpenLayers 218 Vc pode usar i3geoOL para aplicar os métodos e verificar as propriedades da API do OpenLayers
@@ -277,7 +284,6 @@ OpenLayers.ImgPath = "../pacotes/openlayers/img/"; @@ -277,7 +284,6 @@ OpenLayers.ImgPath = "../pacotes/openlayers/img/";
277 // 284 //
278 //inicia o mapa 285 //inicia o mapa
279 // 286 //
280 -  
281 i3GEO.inicia(); 287 i3GEO.inicia();
282 </script> 288 </script>
283 </body> 289 </body>
mashups/openlayers.js.php
@@ -568,8 +568,8 @@ i3GEO.editorOL = { @@ -568,8 +568,8 @@ i3GEO.editorOL = {
568 displayClass: "editorOLidentifica", 568 displayClass: "editorOLidentifica",
569 eventListeners: { 569 eventListeners: {
570 getfeatureinfo: function(event) { 570 getfeatureinfo: function(event) {
571 - var lonlat = i3GEO.editorOL.mapa.getLonLatFromPixel(event.xy);  
572 - var lonlattexto = "<hr><pre><span style=color:blue;cursor:pointer onclick='i3GEO.editorOL.captura(\""+lonlat.lon+","+lonlat.lat+"\")'>captura</span></pre>"; 571 + var lonlat = i3GEO.editorOL.mapa.getLonLatFromPixel(event.xy),
  572 + lonlattexto = "<hr><pre><span style=color:blue;cursor:pointer onclick='i3GEO.editorOL.captura(\""+lonlat.lon+","+lonlat.lat+"\")'>captura</span></pre>";
573 i3GEO.editorOL.mapa.addPopup(new OpenLayers.Popup.FramedCloud( 573 i3GEO.editorOL.mapa.addPopup(new OpenLayers.Popup.FramedCloud(
574 "chicken", 574 "chicken",
575 i3GEO.editorOL.mapa.getLonLatFromPixel(event.xy), 575 i3GEO.editorOL.mapa.getLonLatFromPixel(event.xy),