From 9e1cd50dd3a604ff1968e96f022e29eb061deb46 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 3 May 2011 14:11:40 +0000 Subject: [PATCH] Nova interface no padrão OpenLayers adaptada para uso em tablets --- classesjs/classe_gadgets.js | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------- classesjs/classe_guias.js | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------------- classesjs/classe_i3geo.js | 2 ++ classesjs/classe_interface.js | 9 +++++++-- classesjs/classe_janela.js | 11 ++++++++--- classesjs/classe_util.js | 3 +-- interface/openlayers.htm | 4 ++-- interface/openlayers_t.htm | 222 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 351 insertions(+), 56 deletions(-) create mode 100644 interface/openlayers_t.htm diff --git a/classesjs/classe_gadgets.js b/classesjs/classe_gadgets.js index 79a2a31..7745459 100644 --- a/classesjs/classe_gadgets.js +++ b/classesjs/classe_gadgets.js @@ -90,6 +90,10 @@ i3GEO.gadgets = { "mostraMenuSuspenso": {idhtml:"menus",deslocaEsquerda:0}, + + "mostraMenuLista": + + {idhtml:"menuLista"}, "mostraVersao": @@ -116,6 +120,8 @@ i3GEO.gadgets = { {idhtml:"historicozoom"}, "mostraMenuSuspenso": {idhtml:"menus",deslocaEsquerda:0}, + "mostraMenuLista": + {idhtml:"menuLista"}, "mostraVersao": {idhtml:"versaoi3geo"} }, @@ -204,11 +210,14 @@ i3GEO.gadgets = { */ mostraEscalaNumerica: function(id){ if(typeof(console) !== 'undefined'){console.info("i3GEO.gadgets.mostraEscalaNumerica()");} - var i,ins,temp; + var i,ins,temp, + onde; if(arguments.length === 0) {id = i3GEO.gadgets.PARAMETROS.mostraEscalaNumerica.idhtml;} - if($i(id)){ - $i(id).style.display = "block"; + onde = $i(id); + if(onde){ + if(onde.style.display == "none") + {onde.style.display = "block";} atualizaEscalaNumerica = function(escala){ var e = $i("i3geo_escalanum"); if(!e){ @@ -227,12 +236,12 @@ i3GEO.gadgets = { } }; if(!$i("i3geo_escalanum")){ - i = $inputText(id,"155","i3geo_escalanum",$trad("d10"),"9",parseInt(i3GEO.parametros.mapscale,10)); - ins = "
1:"+i; + i = $inputText(id,"100","i3geo_escalanum",$trad("d10"),"9",parseInt(i3GEO.parametros.mapscale,10)); + ins = "
1:"+i; temp = 'var nova = document.getElementById("i3geo_escalanum").value;'; temp += 'i3GEO.navega.aplicaEscala(i3GEO.configura.locaplic,i3GEO.configura.sid,nova);'; ins += "
"; - $i(id).innerHTML = ins; + onde.innerHTML = ins; } if(i3GEO.eventos.NAVEGAMAPA.toString().search("atualizaEscalaNumerica()") < 0) {i3GEO.eventos.NAVEGAMAPA.push("atualizaEscalaNumerica()");} @@ -782,25 +791,6 @@ i3GEO.gadgets = { if(temp){ temp.className="yui-navset"; } - //default dos cabeçalhos se a variável i3GEO.configura.oMenuData.menu não existir - /* - if(!confm.menu){ - ins = '
' + - '' + - '
'; - objid.innerHTML=ins; - } - else{ - */ if(ms.deslocaEsquerda){ alinhamento = "left:"+ms.deslocaEsquerda*-1+"px;"; } @@ -817,7 +807,6 @@ i3GEO.gadgets = { ins += ''; ins += ''; objid.innerHTML=ins; - //} onMenuBarBeforeRender = function (p_sType, p_sArgs){ var conta,nomeMenu,nomeSub, subs = i3GEO.configura.oMenuData.submenus, @@ -890,6 +879,49 @@ i3GEO.gadgets = { if(navm && i3GEO.Interface.ATUAL === "googlemaps") {temp.border = "2px dotted white";} } + }, + /* + Function: mostraMenuLista + + Mostra as opções existentes no menu suspenso porém na forma de uma lista de opções + + O conteúdo do menu é baseado na variável i3GEO.configura.oMenuData + + Parametro: + + id {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de + i3GEO.gadgets.PARAMETROS + */ + mostraMenuLista: function(id){ + var objid,n,i,estilo,t,temp,nomeMenu,sub, + ms = i3GEO.gadgets.PARAMETROS.mostraMenuLista, + confm = i3GEO.configura.oMenuData, + ins = "", + subs = i3GEO.configura.oMenuData.submenus; + if(arguments.length === 0) + {id = ms.idhtml;} + else + {ms.idhtml = id;} + + objid = $i(id); + if(objid){ + n = confm.menu.length; + for(i = 0;i < n;i += 1){ + ins += ''; + } + objid.innerHTML=ins; + for(nomeMenu in subs){ + if($i("menulista_"+nomeMenu)){ + sub = subs[nomeMenu]; + n = sub.length; + ins = ""; + for(i=0;i"+sub[i].text+""; + } + $i("menulista_"+nomeMenu).innerHTML += ins; + } + } + } } }; //YAHOO.log("carregou classe gadgets", "Classes i3geo"); \ No newline at end of file diff --git a/classesjs/classe_guias.js b/classesjs/classe_guias.js index 836c6a4..f6e621b 100644 --- a/classesjs/classe_guias.js +++ b/classesjs/classe_guias.js @@ -210,7 +210,7 @@ i3GEO.guias = { {"guia"} Values: - guia|sanfona + guia|sanfona|tablet */ TIPO: "guia", /* @@ -291,16 +291,21 @@ i3GEO.guias = { // //constroi as TAGs para as guias // - if(i3GEO.guias.TIPO === "guia"){ - ins = '
    '; + if(i3GEO.guias.TIPO === "guia" || i3GEO.guias.TIPO === "tablet"){ + ins = '
      '; + if(i3GEO.guias.TIPO === "tablet"){ + ins += '
    • ^
    • '; + } for(ng=0;ng'+i3GEO.guias.CONFIGURA[guias[ng]].titulo+'';} } } + //adiciona uma guia que permite esconder todas as outras guias se for do tipo tablet ins += "
    "; onde.innerHTML = ins; + onf = function(){ var bcg,cor; bcg = this.parentNode.parentNode.style; @@ -387,8 +392,12 @@ i3GEO.guias = { catch(e){ if(typeof(console) !== 'undefined'){console.error(e);} } - i3GEO.guias.mostra(i3GEO.guias.ATUAL); - i3GEO.guias.ativa(i3GEO.guias.ATUAL); + if(i3GEO.guias.TIPO !== "tablet"){ + i3GEO.guias.mostra(i3GEO.guias.ATUAL); + i3GEO.guias.ativa(i3GEO.guias.ATUAL); + } + else + {i3GEO.guias.escondeGuias();} }, /* Function: ajustaAltura @@ -413,6 +422,22 @@ i3GEO.guias = { } }, /* + Function: escondeGuias + + Esconde todas as guias + */ + escondeGuias: function(){ + var guias,nguias,g; + guias = i3GEO.util.listaChaves(i3GEO.guias.CONFIGURA); + nguias = guias.length; + for(g=0;g
    '; temp = $i("i3geo") ? $i("i3geo").appendChild(novoel) : document.body.appendChild(novoel); YAHOO.namespace("janelaguias.xp"); - YAHOO.janelaguias.xp.panel = new YAHOO.widget.Panel("janelaguias", {width:"270px", fixedcenter: true, constraintoviewport: false, underlay:"none", close:true, visible:true, draggable:true, modal:false,iframe:false } ); + YAHOO.janelaguias.xp.panel = new YAHOO.widget.Panel("janelaguias", {width:"270px", fixedcenter: true, constraintoviewport: false, underlay:"none", close:false, visible:true, draggable:true, modal:false,iframe:true } ); YAHOO.janelaguias.xp.panel.render(); + YAHOO.janelaguias.xp.panel.cfg.setProperty("y", 0); + YAHOO.janelaDoca.xp.manager.register(YAHOO.janelaDoca.xp.panel); i = $i(i3GEO.guias.IDGUIAS); - $i("janelaguias").appendChild(i); + $i("conteudojanelaguias_corpo").appendChild(i); i.style.borderLeft="1px solid black"; i.style.borderRight="1px solid black"; guias = i3GEO.util.listaChaves(i3GEO.guias.CONFIGURA); nguias = guias.length; for(g=0;g"+$trad("p13")+"","listaPropriedades",i3GEO.configura.listaDePropriedadesDoMapa] + [""+$trad("p13")+"","listaPropriedades",i3GEO.configura.listaDePropriedadesDoMapa], + null ], function(){} ); @@ -1273,6 +1276,7 @@ i3GEO.Interface = { i3GEO.coordenadas.mostraCoordenadas(); i3GEO.gadgets.mostraEscalaNumerica(); i3GEO.gadgets.mostraMenuSuspenso(); + i3GEO.gadgets.mostraMenuLista(); i3GEO.idioma.mostraSeletor(); g_operacao = ""; g_tipoacao = ""; @@ -1947,6 +1951,7 @@ i3GEO.Interface = { // i3GEO.arvoreDeCamadas.cria("",i3GEO.arvoreDeCamadas.CAMADAS,i3GEO.configura.sid,i3GEO.configura.locaplic); i3GEO.gadgets.mostraMenuSuspenso(); + i3GEO.gadgets.mostraMenuLista(); i3GEO.Interface.googleearth.ativaBotoes(); i3GEO.gadgets.mostraInserirKml("inserirKml"); i3GEO.Interface.googleearth.adicionaListaKml(); diff --git a/classesjs/classe_janela.js b/classesjs/classe_janela.js index ae7bc1d..5908b3d 100644 --- a/classesjs/classe_janela.js +++ b/classesjs/classe_janela.js @@ -349,15 +349,20 @@ i3GEO.janela = { id {string} - prefixo utilizado na composição do id da janela */ minimiza: function(id){ - var temp = $i(id+"_corpo"),n,i; + var temp = $i(id+"_corpo"), + n, + i, + m = YAHOO.janelaDoca.xp.manager.find(id); if(temp){ if(temp.style.display === "block"){ temp.style.display = "none"; - YAHOO.janelaDoca.xp.manager.find(id).hideIframe; + if(m) + {m.hideIframe;} } else{ temp.style.display = "block"; - YAHOO.janelaDoca.xp.manager.find(id).showIframe; + if(m) + {m.showIframe;} } } temp = $i(id+"_resizehandle"); diff --git a/classesjs/classe_util.js b/classesjs/classe_util.js index 259ef32..b070b14 100644 --- a/classesjs/classe_util.js +++ b/classesjs/classe_util.js @@ -338,7 +338,7 @@ i3GEO.util = { /* Function: arvore - Cria uma árvore com base em um objeto contendo aspropriedades. + Cria uma árvore com base em um objeto contendo as propriedades. No objeto com as propriedades, se "url" for igual a "", será incluído o texto original definido em "text". @@ -363,7 +363,6 @@ i3GEO.util = { */ arvore: function(titulo,onde,obj){ if(typeof(console) !== 'undefined'){console.info("i3GEO.util.arvore()");} - //YAHOO.log("arvore", "i3geo"); var arvore,root,tempNode,currentIconMode,d,c,i,linha,conteudo; if(!$i(onde)){return;} try{ diff --git a/interface/openlayers.htm b/interface/openlayers.htm index 88493f6..5de8b59 100644 --- a/interface/openlayers.htm +++ b/interface/openlayers.htm @@ -20,7 +20,7 @@
- + + +
+
+ + + + + \ No newline at end of file -- libgit2 0.21.2