/*
Title: Guias
i3GEO.guias
Cria e controla os blocos de opções ativados por meio de guias ou botões
Para configurar as guias do mapa principal utilize i3GEO.guias.configura = ...
Arquivo:
i3geo/classesjs/classe_guias.js
Licença:
GPL2
i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
Este programa é software livre; você pode redistribuí-lo
e/ou modificá-lo sob os termos da Licença Pública Geral
GNU conforme publicada pela Free Software Foundation;
Este programa é distribuído na expectativa de que seja útil,
porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
Consulte a Licença Pública Geral do GNU para mais detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral do
GNU junto com este programa; se não, escreva para a
Free Software Foundation, Inc., no endereço
59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
*/
if(typeof(i3GEO) === 'undefined'){
var i3GEO = {};
}
i3GEO.guias = {
/*
Variavel: ATUAL
Guia que está ativa ou que será ativada ao iniciar o mapa
O nome da guia é a definida na variável i3GEO.guias.CONFIGURA
Tipo:
{string}
Default:
{"temas"}
*/
ATUAL: "temas",
/*
Propriedade: ALTURACORPOGUIAS
Altura em pixels que será aplicado em cada guia
Por default, a altura é calculada automaticamente, mas em alguns casos, pode ser necessário especificar o valor para permitir um melhor ajuste do layout do mapa
Mantenha como 0 para que o cálculo seja automático
Tipo:
{numeric}
Default: 0
*/
ALTURACORPOGUIAS: 0,
/*
Propriedade: CONFIGURA
Define os parâmetros de cada guia que será mostrada no mapa, como título, conteúdo, etc.
Você pode modificar o nome de uma guia como no exemplo
i3GEO.guias.CONFIGURA.legenda.titulo = "nome diferente";
Por padrão são definidas as guias legenda, temas, adiciona e mapas (links)
Exemplo
i3GEO.guias.CONFIGURA.legenda = {
titulo:"Legenda do mapa",
id:"guia4",
idconteudo:"guia4obj",//id do elemento HTML que contém o conteúdo da guia
click: function(){
i3GEO.guias.mostra("legenda");//mostra a guia
i3GEO.mapa.legendaHTML.cria("guia4obj");
}
}
Tipo:
{JSON}
*/
CONFIGURA: {
"temas":{
icone:"imagens/gisicons/show-layers.png",
titulo:$trad("g4a"),
id:"guia1",
idconteudo:"guia1obj",
click:""
},
"adiciona":{
icone:"imagens/gisicons/show-catalog.png",
titulo:$trad("g1a"),
id:"guia2",
idconteudo:"guia2obj",
click: function(){
var ondeArvore;
i3GEO.guias.mostra("adiciona");
if(!$i("arvoreAdicionaTema"))
{
try{ondeArvore = objmapa.guiaMenu+"obj";}
catch(e){ondeArvore = "guia2obj";}
}
else
{ondeArvore = "arvoreAdicionaTema";}
//para efeitos de compatibilidade
if(document.getElementById("outrasOpcoesAdiciona")){
i3GEO.arvoreDeTemas.OPCOESADICIONAIS.idonde = "outrasOpcoesAdiciona";
i3GEO.arvoreDeTemas.OPCOESADICIONAIS.incluiArvore = false;
}
i3GEO.arvoreDeTemas.cria(i3GEO.configura.sid,i3GEO.configura.locaplic,ondeArvore);
}
},
"legenda":{
icone:"imagens/gisicons/show-legend.png",
titulo:$trad("g3"),
id:"guia4",
idconteudo:"guia4obj",
click: function(){
i3GEO.guias.mostra("legenda");
i3GEO.mapa.legendaHTML.cria("guia4obj");
}
},
"mapas":{
icone:"imagens/gisicons/show-links.png",
titulo:"Links",
id:"guia5",
idconteudo:"guia5obj",
mostraLink: function(id,url){
$i("i3geoMapasLink_"+id).innerHTML = ""+url+"";
},
click: function(onde){
if(!onde){
onde = i3GEO.guias.CONFIGURA.mapas.idconteudo;
}
var pegaMapas = function(retorno){
var ins,mapa,ig1lt,ig1,nome,lkd,link,temp,combo,urlinterface;
ins = "
";
ig1++;
}
while(ig1";
};
if($i(i3GEO.guias.CONFIGURA.mapas.idconteudo)){
$i(i3GEO.guias.CONFIGURA.mapas.idconteudo).innerHTML = "Aguarde...";
}
i3GEO.guias.mostra("mapas");
i3GEO.php.pegaMapas(pegaMapas);
}
}
},
/*
Propriedade: ORDEM
Ordem de inclusão das guias no mapa. Essa opção é mais útil no caso do tipo sanfona, pois nesse caso,
a primeira guia é sempre a que fica ativa. Se esse par�metro for uma string vazia, a ordem
utilizada será a ordem existente em i3GEO.guias.CONFIGURA.
Ao ser definida, apenas as guias indicadas no array serão incluídas
Exemplo:
i3GEO.guias.ORDEM = ["temas","adiciona","legenda"];
Tipo:
{array}
Default:
{""}
*/
ORDEM: "",
/*
Propriedade: TIPO
Tipo de guia
Quando TIPO = "movel", a inicialização da guia é feita em i3GEO.inicia
Isso é ne cessário pq a guia móvel só pode ser criada após o posicionamento do corpo do mapa
Tipo:
{string}
Default:
{"guia"}
Values:
guia|sanfona|tablet|movel
*/
TIPO: "guia",
/*
Propriedade: idguias
ID do elemento DOM, criado pelo YUI, onde serão inseridas as guias
Tipo:
{String}
Default:
{"guiasYUI"}
*/
IDGUIAS: "guiasYUI",
/*
Function: cria
Cria as guias com base na variável i3GEO.guias.CONFIGURA
As guias podem ser definidas no HTML do mapa, sem necessariamente estarem na variável configura.
As guias, nesse caso, devem ter como ID "guia'n'", por exemplo id="guia6". Para cada uma dessas guias
deve haver um DIV com o conteúdo. Esse DIV deve ter como ID "guia'n'obj", por exemplo id="guia6obj".
No caso de ser utilizado a guia móvel, com i3GEO.guias.TIPO = "movel" , "guia'n" não é necessário, uma vez que são
utilizados os ícones definidos em i3GEO.guias.CONFIGURA
Parametro:
onde {String} - id do elemento que conterá as guias
*/
cria: function(onde){
if(typeof(console) !== 'undefined'){console.info("i3GEO.guias.cria()");}
//
//obtém outras guias que podem existir no mapa
//
var nguiasreal = 0,guiaconteudo,id,guia,g,re,ng,tituloguia,i,ins,altura,temp,
CONFIGURA = i3GEO.guias.CONFIGURA,
guias = i3GEO.util.listaChaves(CONFIGURA),
nguias = guias.length;
//
//no caso de TIPO === "movel", as guias não são construídas de imediato, apenas é criado um objeto
//com os parâmetros necessários para a criação das guias
//
if(i3GEO.guias.TIPO === "movel"){
i3GEO.guias.IDGUIAS = "i3GEOguiaMovelConteudo";
for(ng=0;ng
';}
}
}
//adiciona uma guia que permite esconder todas as outras guias se for do tipo tablet
ins += "";
onde.innerHTML = ins;
}
if(i3GEO.guias.TIPO === "sanfona"){
ins = '
';
//verifica a quantidade certa de guias
if(i3GEO.guias.ORDEM === ""){
for(ng=0;ng' +
'