Barra de botões

Arquivo

i3geo/classesjs/classe_barradebotoes.js

Licenca

GPL2

I3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet

Direitos Autorais Reservados © 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar..nosp@m.moretti@mma.g.nosp@m.ov.br

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.

Summary
Barra de botõesi3geo/classesjs/classe_barradebotoes.js
i3GEO. barradebotoesConstrói a barra de botões flutuante
Propriedades
TIPOTipo de barra.
OFFSETAjuste do deslocamento vertical da barra (válido apenas para o tipo “olhodepeixe”)
MAXBOTOESNúmero de botões iniciais (válido apenas para o tipo “olhodepeixe”)
AJUDAMostra um texto de ajuda colado ao ícone da ferramenta
ORIENTACAOOrientação vertical ou horizontal da barra (não se aplica ao tipo “olhodepeixe”
HORIZONTALWLargura da barra quando ORIENTACAO = “horizontal”
TIPOAJUDATipo do balão de ajuda que é mostrado colado ao ícone da ferramenta
SOICONESEsconde as bordas das barras e o fundo, mostrando apenas os ícones
AUTOALTURAAjusta automaticamente a altura das barras conforme a altura do mapa.
TRANSICAOSUAVEAltera a transparência das barras quando o mouse sobrepõe a barra e quando sai da barra
OPACIDADEValor da opacidade miníma utilizada quando TRANSICAOSUAVE for igual a true.
PERMITEFECHARMostra o botão para fechar as barras ou não.
PERMITEDESLOCARPermite deslocar as barras ou não.
ATIVAMENUCONTEXTOIndica se o menu de contexto deve ser ativado
AUTOCria as barras de botões automaticamente, utilizando os botões padrão sem considerar a lista de botões definidas no HTML da interface.
LISTABOTOESObjeto com a lista de botões e suas propriedades, como por exemplo, a função a ser executada ao se clicar no botão.
INCLUIBOTAOObjeto que indica quais os botões que serão inseridos na barra de botões 2.
ICONEBOTAOÍcones utilizados em cada um dos botões da barra.
TEMPLATEBOTAOTemplate HTML que será utilizado na construção automática dos botões da barra 2.
BOTAOPADRAOBotão que será ativado ao inicializar os botões com ativaBotoes.
COMPORTAMENTODefine o comportamento dos botões quando é pressionado
Variaveis
BARRASArray com os objetos YAHOO.janelaBotoes.xp.panel criados
BOTAOCLICADOÚltimo icone que foi clicado
Functions
ativaPadraoAtiva o botão definido como padrão, executando a função definida em onclick
ativaIconeAltera as bordas de um ícone aplicando um efeito de ícone realçado.
ativaBotoesAtiva os botoes definidos em LISTABOTOES
execBotaoCom base no código de um botão (iddiv), obtém a função armazenada em i3GEO.barraDeBotoes.LISTABOTOES e executa.
defBotaoObtém as definições de um botão conforme o seu código (iddiv)
inicializaBarraOPInicializa a barra de botões quando for do tipo “olhodepeixe”
inicializaBarraInicializa a barra de botões
ativaMenuContexto (depreciado na versão 4.5)Ativa o menu de contexto acionado com o botão direito do mouse
reativaReativa as barras de ferramentas já criadas
recriaRecria uma barra de ferramentas já aberta aplicando os parâmetros de configuração definidos (variáveis)
fechaFecha uma barra de ferramentas

i3GEO. barradebotoes

Constrói a barra de botões flutuante

Veja também classe_interface.js (i3GEO.Interface) que possuí parâmetros que permitem ajustar a posição das barras no mapa

Summary
Propriedades
TIPOTipo de barra.
OFFSETAjuste do deslocamento vertical da barra (válido apenas para o tipo “olhodepeixe”)
MAXBOTOESNúmero de botões iniciais (válido apenas para o tipo “olhodepeixe”)
AJUDAMostra um texto de ajuda colado ao ícone da ferramenta
ORIENTACAOOrientação vertical ou horizontal da barra (não se aplica ao tipo “olhodepeixe”
HORIZONTALWLargura da barra quando ORIENTACAO = “horizontal”
TIPOAJUDATipo do balão de ajuda que é mostrado colado ao ícone da ferramenta
SOICONESEsconde as bordas das barras e o fundo, mostrando apenas os ícones
AUTOALTURAAjusta automaticamente a altura das barras conforme a altura do mapa.
TRANSICAOSUAVEAltera a transparência das barras quando o mouse sobrepõe a barra e quando sai da barra
OPACIDADEValor da opacidade miníma utilizada quando TRANSICAOSUAVE for igual a true.
PERMITEFECHARMostra o botão para fechar as barras ou não.
PERMITEDESLOCARPermite deslocar as barras ou não.
ATIVAMENUCONTEXTOIndica se o menu de contexto deve ser ativado
AUTOCria as barras de botões automaticamente, utilizando os botões padrão sem considerar a lista de botões definidas no HTML da interface.
LISTABOTOESObjeto com a lista de botões e suas propriedades, como por exemplo, a função a ser executada ao se clicar no botão.
INCLUIBOTAOObjeto que indica quais os botões que serão inseridos na barra de botões 2.
ICONEBOTAOÍcones utilizados em cada um dos botões da barra.
TEMPLATEBOTAOTemplate HTML que será utilizado na construção automática dos botões da barra 2.
BOTAOPADRAOBotão que será ativado ao inicializar os botões com ativaBotoes.
COMPORTAMENTODefine o comportamento dos botões quando é pressionado
Variaveis
BARRASArray com os objetos YAHOO.janelaBotoes.xp.panel criados
BOTAOCLICADOÚltimo icone que foi clicado
Functions
ativaPadraoAtiva o botão definido como padrão, executando a função definida em onclick
ativaIconeAltera as bordas de um ícone aplicando um efeito de ícone realçado.
ativaBotoesAtiva os botoes definidos em LISTABOTOES
execBotaoCom base no código de um botão (iddiv), obtém a função armazenada em i3GEO.barraDeBotoes.LISTABOTOES e executa.
defBotaoObtém as definições de um botão conforme o seu código (iddiv)
inicializaBarraOPInicializa a barra de botões quando for do tipo “olhodepeixe”
inicializaBarraInicializa a barra de botões
ativaMenuContexto (depreciado na versão 4.5)Ativa o menu de contexto acionado com o botão direito do mouse
reativaReativa as barras de ferramentas já criadas
recriaRecria uma barra de ferramentas já aberta aplicando os parâmetros de configuração definidos (variáveis)
fechaFecha uma barra de ferramentas

Propriedades

TIPO

Tipo de barra.

Por padrão, utiliza a biblioteca YUI para construir a barra, opcionalmente pode-se utilizar o tipo “olho de peixe”.

Tipo

{string}

Default

{yui}

Valores

{“yui”,”olhodepeixe”}

OFFSET

Ajuste do deslocamento vertical da barra (válido apenas para o tipo “olhodepeixe”)

Desloca a barra em uma determinada quantidade de pixels.  Valores negativos fazem a barra subir.

Tipo

{numeric}

Default

{-205}

MAXBOTOES

Número de botões iniciais (válido apenas para o tipo “olhodepeixe”)

Se for 0, todos os botões serão mostrados

Tipo

{numeric}

Default

{10}

AJUDA

Mostra um texto de ajuda colado ao ícone da ferramenta

Tipo

{boolean}

Default

{true}

ORIENTACAO

Orientação vertical ou horizontal da barra (não se aplica ao tipo “olhodepeixe”

Tipo

{string}

Valores

{“horizontal”,”vertical”}

Default

{“vertical”}

HORIZONTALW

Largura da barra quando ORIENTACAO = “horizontal”

Tipo

{numeric}

Default

{350}

TIPOAJUDA

Tipo do balão de ajuda que é mostrado colado ao ícone da ferramenta

Tipo

{string}

Valores

{“horizontal”,”vertical”,”balao”}

Default

{“horizontal”}

SOICONES

Esconde as bordas das barras e o fundo, mostrando apenas os ícones

Default

{false}

Tipo

{boolean}

AUTOALTURA

Ajusta automaticamente a altura das barras conforme a altura do mapa.

Esta opção não tem efeito se a barra contiver a barra de zoom (isso ocorre em função de um bug do YIU, que causa erro na barra nessas condições)

Tipo

{boolean}

TRANSICAOSUAVE

Altera a transparência das barras quando o mouse sobrepõe a barra e quando sai da barra

Tipo

{boolean}

Default

{true}

OPACIDADE

Valor da opacidade miníma utilizada quando TRANSICAOSUAVE for igual a true.

Varia de 0 a 100

Tipo

{numeric}

Default

{65}

PERMITEFECHAR

Mostra o botão para fechar as barras ou não.

Tipo

{boolean}

PERMITEDESLOCAR

Permite deslocar as barras ou não.

Tipo

{boolean}

ATIVAMENUCONTEXTO

Indica se o menu de contexto deve ser ativado

Tipo

{Boolean}

Default

{true}

AUTO

Cria as barras de botões automaticamente, utilizando os botões padrão sem considerar a lista de botões definidas no HTML da interface.

A lista de botões é definida em i3GEO.configura

Tipo

{Boolean}

Default

{false}

LISTABOTOES

Objeto com a lista de botões e suas propriedades, como por exemplo, a função a ser executada ao se clicar no botão.

Essa lista não indica quais os botões que serão inseridos.  Para definir os botões que serão inseridos, inclua no HTML da interface os botões desejados (veja em i3geo/exemplos).  Se vc utilizar a opção i3GEO.barraDeBotoes.AUTO = true , os botões serão inseridos automaticamente.  Nesse caso, utilize a opção i3GEO.barraDeBotoes.INCLUIRBOTOES para indicar os botões desejados.

Por default utiliza os botoes definidos em i3GEO.configura.funcoesBotoes.botoes

Tipo

{JSON}

INCLUIBOTAO

Objeto que indica quais os botões que serão inseridos na barra de botões 2.

Essa opção só funciona se i3GEO.barraDeBotoes.AUTO = true

Vc pode também alterar a ordem dos botoes ou adicionar novos

Na barra de botões do tipo “yui”, as chaves serão adicionadas como o atributo “id” em cada botão.  Nesse caso, é possível definir o estilo CSS para cada botão (veja em i3geo/css/botoes2.css).

A ativação de cada botão, ou seja, a função que é executada ao ser feito o clique, é definida em i3GEO.configura.funcoesBotoes

Default

INCLUIBOTAO: {

zoomli: false,

pan: false,

zoomtot:false,

identifica: true,

identificaBalao: true,

mede: true,

area: true,

imprimir: true,

reinicia: true,

exten: true,

referencia: true,

inserexy: true,

textofid: true,

selecao: true,

barraedicao: false,

google: true,

buscafotos: true,

wiki: true,

metar: true,

lentei: true,

confluence: true,

inseregrafico: true,

v3d: true,

localizar: true }

Tipo

{obj}

ICONEBOTAO

Ícones utilizados em cada um dos botões da barra.

Esses ícones são utilizados apenas se i3GEO.barraDeBotoes.TIPO = “olhodepeixe”.  Para cada elemento existente em i3GEO.barraDeBotoes.INCLUIBOTAO deve existir um elemento nesse objeto.  A chave de cada elemento é a mesma do objeto INCLUIBOTAO.  O endereço da imagem será complementado pelo i3geo, adicionando no início da string o valor da variável i3GEO.configura.locaplic

Default

ICONEBOTAO: {

zoomli: “/imagens/gisicons/eudock/zoom-region.png”,

pan: “/imagens/gisicons/eudock/pan.png”,

zoomtot: “/imagens/gisicons/eudock/zoom-extent.png”,

identifica: “/imagens/gisicons/eudock/identify.png”,

identificaBalao: “/imagens/gisicons/eudock/tips.png”,

mede: “/imagens/gisicons/eudock/length-measure.png”,

area: “/imagens/gisicons/eudock/area-measure.png”,

imprimir: “/imagens/gisicons/eudock/print.png”,

reinicia: “/imagens/gisicons/eudock/redraw.png”,

exten: “/imagens/gisicons/eudock/map-extent-info.png”,

referencia: “/imagens/gisicons/eudock/map-reference.png”,

inserexy: “/imagens/gisicons/eudock/point-create.png”,

textofid: “/imagens/gisicons/eudock/text-add.png”,

selecao: “/imagens/gisicons/eudock/select.png”,

google: “/imagens/gisicons/eudock/google-map.png”,

buscafotos: “/imagens/gisicons/eudock/fotos.png”,

wiki: “/imagens/gisicons/eudock/wiki.png”,

metar: “/imagens/gisicons/eudock/metar.png”,

lentei: “/imagens/gisicons/eudock/lente.png”,

confluence: “/imagens/gisicons/eudock/confluence.png”,

inseregrafico: “/imagens/gisicons/eudock/grafico.png”,

v3d: “/imagens/gisicons/eudock/v3d.png”,

barraedicao: “/imagens/gisicons/eudock/editopen.png”,

localizar: “/imagens/gisicons/eudock/search.png” }

Type

{obj}

TEMPLATEBOTAO

Template HTML que será utilizado na construção automática dos botões da barra 2.

Utilize a string $$ para indicar onde será incluído o código do botão.

Default

”<div style=’display:inline;background-color:rgb(250,250,250);’><p style=’font-size:2px;’>&nbsp;</p><img src=’”+i3GEO.configura.locaplic+”/imagens/branco.gif’ id=’$$’/></div>”

Tipo

{string}

BOTAOPADRAO

Botão que será ativado ao inicializar os botões com ativaBotoes.

Correpsonde ao item iddiv de LISTABOTOES

Tipo

{String}

COMPORTAMENTO

Define o comportamento dos botões quando é pressionado

Tipo

{String}

Valores

”padrao”comportamento padrão, com bordas da esquerda e inferiores ativadas
”destacado”destaca apenas o botão atualmente pressionado
”vermelho”destaca com fundo vermelho
”laranja”destaca com fundo laranja
”cinza”destaca com fundo cinza

Variaveis

BARRAS

Array com os objetos YAHOO.janelaBotoes.xp.panel criados

BOTAOCLICADO

Último icone que foi clicado

Tipo

{String}

Functions

ativaPadrao

ativaPadrao: function()

Ativa o botão definido como padrão, executando a função definida em onclick

Utilizado para restaurar o status padrão da barra, principalmente por ferramentas que alteram ícones e outras propriedades do mapa

ativaIcone

ativaIcone: function(icone)

Altera as bordas de um ícone aplicando um efeito de ícone realçado.

Todos os demais ícones definidos em LISTABOTOES e que tiverem o tipo = “dinamico” serão processados para alterar as bordas dando o efeito de não ativo.

Parametro

icone {String}id do icone que será ativado.  Esse id é o mesmo definido em LISTABOTOES

ativaBotoes

ativaBotoes:function(padrao)

Ativa os botoes definidos em LISTABOTOES

Os botoes são construídos e as funções definidas são embutidas no evento onclick

Parametro

padrao (String}botao que será mostrado como ativo (opcional).  Se não for definido, será utilizado o botão especificado em BOTAOPADRAO.  O nome do botao deve estar em LISTABOTOES na propriedade iddiv

execBotao

execBotao: function(id,
x,
y,
posX,
posY)

Com base no código de um botão (iddiv), obtém a função armazenada em i3GEO.barraDeBotoes.LISTABOTOES e executa.

Parametros

id {string}identificador do botão, conforme definido no elemento iddiv de i3GEO.barraDeBotoes.LISTABOTOES
x {numeric}(opcional) posição em pixels da tela onde foi feito o clique do mouse
y {numeric}(opcional) posição em pixels da tela onde foi feito o clique do mouse

defBotao

defBotao: function(iddiv)

Obtém as definições de um botão conforme o seu código (iddiv)

Retorno

{objeto}ver i3GEO.barraDeBotoes.LISTABOTOES

inicializaBarraOP

inicializaBarraOP: function()

Inicializa a barra de botões quando for do tipo “olhodepeixe”

O objeto euEnv armazena todas as características da barra

inicializaBarra

inicializaBarra:function(idconteudo,
idconteudonovo,
barraZoom,
x,
y,
onde)

Inicializa a barra de botões

A barra de zoom é inserida automaticamente na barra de botoes 1 se esta existir

Caso i3GEO.barraDeBotoes.TIPO === “olhodepeixe” os parâmetros são ignorados.

Exemplo

if ($i(“barraDeBotoes1”))

i3GEO.barraDeBotoes.inicializaBarra(“barraDeBotoes1”,”i3geo_barra1”,true,x1,y1);

if ($i(“barraDeBotoes2”))

i3GEO.barraDeBotoes.inicializaBarra(“barraDeBotoes2”,”i3geo_barra2”,false,x2,y2);

Os objetos criados são armazenados no array BARRAS, dessa forma, para acessar uma barra utilize por exemplo:

i3GEO.barraDeBotoes.BARRAS[1].show();

Parametros

idconteudo {String}id do elemento existente no HTML e que contém as definições dos botões
idconteudonovo {String}id do elemento que será criado para adicionar os botoões
barraZoom {boolean}indica se a barra de zoom será incluída
x {Numeric}posição x (pixels) da barra em relação ao mapa
y {Numeric}posição y (pixels) da barra em relação ao mapa
onde {String}(opcional) id do elemento HTML onde os botões serão inseridos

ativaMenuContexto (depreciado na versão 4.5)

ativaMenuContexto: function(idbarra)

Ativa o menu de contexto acionado com o botão direito do mouse

Parametro

idbarra{string} id da barra de botões onde o evento será ativado

reativa

reativa: function(indice)

Reativa as barras de ferramentas já criadas

Essa opção apenas aplica o método “show” aos objetos armazenados em i3GEO.barraDeBotoes.BARRAS

Se a barra não existir previamente, nada irá contecer

Parametro

indice {Integer}índice do array BARRAS que guarda os objetos YAHOO com as barras Se não for definido, todas as barras serão reativadas

recria

recria: function(id)

Recria uma barra de ferramentas já aberta aplicando os parâmetros de configuração definidos (variáveis)

Parametro

id {String}id da barra

fecha

fecha: function(id)

Fecha uma barra de ferramentas

Parametro

id {String}id que identifica a barra.  Corresponde ao parâmetro idconteudonovo da função de inicialização das barras
ativaPadrao: function()
Ativa o botão definido como padrão, executando a função definida em onclick
ativaIcone: function(icone)
Altera as bordas de um ícone aplicando um efeito de ícone realçado.
ativaBotoes:function(padrao)
Ativa os botoes definidos em LISTABOTOES
execBotao: function(id,
x,
y,
posX,
posY)
Com base no código de um botão (iddiv), obtém a função armazenada em i3GEO.barraDeBotoes.LISTABOTOES e executa.
defBotao: function(iddiv)
Obtém as definições de um botão conforme o seu código (iddiv)
inicializaBarraOP: function()
Inicializa a barra de botões quando for do tipo “olhodepeixe”
inicializaBarra:function(idconteudo,
idconteudonovo,
barraZoom,
x,
y,
onde)
Inicializa a barra de botões
ativaMenuContexto: function(idbarra)
Ativa o menu de contexto acionado com o botão direito do mouse
reativa: function(indice)
Reativa as barras de ferramentas já criadas
recria: function(id)
Recria uma barra de ferramentas já aberta aplicando os parâmetros de configuração definidos (variáveis)
fecha: function(id)
Fecha uma barra de ferramentas