Commit 7a1a9cc48432d895c65916df112af5f8e414f5c1

Authored by Edmar Moretti
1 parent 398ff559

--no commit message

classesjs/classe_ajuda.js
... ... @@ -251,14 +251,16 @@ i3GEO.ajuda =
251 251 if (arguments.length === 0) {
252 252 mensagem = i3GEO.parametros.mensagens;
253 253 }
254   - if (i3GEO.eventos.NAVEGAMAPA.toString().search("i3GEO.ajuda.ativaLetreiro()") < 0) {
255   - i3GEO.eventos.NAVEGAMAPA.push("i3GEO.ajuda.ativaLetreiro()");
256   - }
  254 + i3GEO.eventos.adicionaEventos("NAVEGAMAPA",["i3GEO.ajuda.ativaLetreiro()"]);
257 255 try {
258 256 clearTimeout(i3GEO.ajuda.tempoLetreiro);
259 257 } catch (e) {
260 258 i3GEO.ajuda.tempoLetreiro = "";
261 259 }
  260 + if (mensagem === ""){
  261 + i3GEO.eventos.removEventos("NAVEGAMAPA",["i3GEO.ajuda.ativaLetreiro()"]);
  262 + return;
  263 + }
262 264 l = $i(i3GEO.ajuda.DIVLETREIRO);
263 265 if (l.style.display === "none") {
264 266 return;
... ...
classesjs/classe_eventos.js
... ... @@ -28,49 +28,36 @@
28 28 * <http://localhost/i3geo/classesjs/classe_eventos.js>
29 29 */
30 30  
31   -//TODO criar metodos para remover e adicionar eventos
32   -
33 31 /**
34   - * Licen&ccedil;a
35   - *
36   - * GPL2
37   - *
38   - * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
39   - *
40   - * Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
41   - *
42   - * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a
43   - * P&uacute;blica Geral GNU conforme publicada pela Free Software Foundation;
44   - *
45   - * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til, por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a
46   - * garantia impl&iacute;cita de COMERCIABILIDADE OU ADEQUAC&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA. Consulte a Licen&ccedil;a
47   - * P&uacute;blica Geral do GNU para mais detalhes. Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral do
48   - * GNU junto com este programa; se n&atilde;o, escreva para a Free Software Foundation, Inc., no endere&ccedil;o 59 Temple Street, Suite
49   - * 330, Boston, MA 02111-1307 USA.
50   - */
  32 + * Licen&ccedil;a
  33 + *
  34 + * GPL2
  35 + *
  36 + * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  37 + *
  38 + * Direitos Autorais Reservados (c) 2006 Minist&eacute;rio do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com
  39 + *
  40 + * Este programa &eacute; software livre; voc&ecirc; pode redistribu&iacute;-lo e/ou modific&aacute;-lo sob os termos da Licen&ccedil;a
  41 + * P&uacute;blica Geral GNU conforme publicada pela Free Software Foundation;
  42 + *
  43 + * Este programa &eacute; distribu&iacute;do na expectativa de que seja &uacute;til, por&eacute;m, SEM NENHUMA GARANTIA; nem mesmo a
  44 + * garantia impl&iacute;cita de COMERCIABILIDADE OU ADEQUAC&Atilde;O A UMA FINALIDADE ESPEC&Iacute;FICA. Consulte a Licen&ccedil;a
  45 + * P&uacute;blica Geral do GNU para mais detalhes. Voc&ecirc; deve ter recebido uma c&oacute;pia da Licen&ccedil;a P&uacute;blica Geral
  46 + * do GNU junto com este programa; se n&atilde;o, escreva para a Free Software Foundation, Inc., no endere&ccedil;o 59 Temple Street,
  47 + * Suite 330, Boston, MA 02111-1307 USA.
  48 + */
51 49 if (typeof (i3GEO) === 'undefined') {
52 50 var i3GEO = {};
53 51 }
54 52 /**
55 53 * Variavel: objposicaocursor
56   - *
  54 + *
57 55 * Utilizada como vari&aacute;vel global para armazenar a posi&ccedil;&atilde;o do mouse
58   - *
  56 + *
59 57 * (start code)
60   - *
61   - * objposicaocursor = {
62   - * ddx : "",
63   - * ddy : "",
64   - * dmsx : "",
65   - * dmsy : "",
66   - * telax : "",
67   - * telay : "",
68   - * imgx : "",
69   - * imgy : "",
70   - * refx : "",
71   - * refy : ""
72   - * };
73   - *
  58 + *
  59 + * objposicaocursor = { ddx : "", ddy : "", dmsx : "", dmsy : "", telax : "", telay : "", imgx : "", imgy : "", refx : "", refy : "" };
  60 + *
74 61 * (end)
75 62 */
76 63 objposicaocursor = {
... ... @@ -90,91 +77,91 @@ i3GEO.eventos =
90 77 {
91 78 /**
92 79 * Variavel: SELECAO
93   - *
  80 + *
94 81 * Armazena as fun&ccedil;&otilde;es (eventos) que ser&atilde;o executadas quando uma operação de seleção e concluida.
95   - *
  82 + *
96 83 * Tipo:
97   - *
  84 + *
98 85 * {Array}
99 86 */
100 87 SELECAO : [],
101 88 /**
102 89 * Variavel: ATUALIZAARVORECAMADAS
103   - *
  90 + *
104 91 * Armazena as fun&ccedil;&otilde;es (eventos) que ser&atilde;o executadas quando a &aacute;rvore de camadas for atualizada.
105   - *
  92 + *
106 93 * Tipo:
107   - *
  94 + *
108 95 * {Array}
109 96 */
110 97 ATUALIZAARVORECAMADAS : [],
111 98 /**
112 99 * Variavel: ATIVATEMA
113   - *
  100 + *
114 101 * Armazena as fun&ccedil;&otilde;es (eventos) que ser&atilde;o executadas quando um tema da &aacute;rvore de camadas &eacute;
115 102 * ativado.
116   - *
  103 + *
117 104 * Tipo:
118   - *
  105 + *
119 106 * {Array}
120 107 */
121 108 ATIVATEMA : [],
122 109 /**
123 110 * Variavel: NAVEGAMAPA
124   - *
  111 + *
125 112 * Armazena as fun&ccedil;&otilde;es que ser&atilde;o executadas quando &eacute; feita uma opera&ccedil;&atilde;o de
126 113 * navega&ccedil;&atilde;o sobre o mapa.
127   - *
  114 + *
128 115 * Tipo:
129   - *
  116 + *
130 117 * {Array}
131 118 */
132 119 NAVEGAMAPA : [],
133 120 /**
134 121 * Variavel: MOUSEPARADO
135   - *
  122 + *
136 123 * Armazena as fun&ccedil;&otilde;es que ser&atilde;o executadas quando o usu&aacute;rio estaciona o mouse sobre o mapa por alguns
137 124 * instantes.
138   - *
  125 + *
139 126 * Tipo:
140   - *
  127 + *
141 128 * {Array}
142   - *
  129 + *
143 130 */
144 131 MOUSEPARADO : [
145 132 ],
146 133 /**
147 134 * Variavel: MOUSEMOVE
148   - *
  135 + *
149 136 * Armazena as fun&ccedil;&otilde;es que ser&atilde;o executadas quando o usu&aacute;rio move o mouse sobre o mapa
150   - *
  137 + *
151 138 * Tipo:
152   - *
  139 + *
153 140 * {Array}
154 141 */
155 142 MOUSEMOVE : [],
156 143 /**
157 144 * Variavel: MOUSEDOWN
158   - *
  145 + *
159 146 * Armazena as fun&ccedil;&otilde;es que ser&atilde;o executadas quando o usu&aacute;rio pressiona o bot&atilde;o do mouse sobre o
160 147 * mapa
161   - *
  148 + *
162 149 * Tipo:
163   - *
  150 + *
164 151 * {Array}
165 152 */
166 153 MOUSEDOWN : [],
167 154 /**
168 155 * Variavel: MOUSEUP
169   - *
  156 + *
170 157 * Armazena as fun&ccedil;&otilde;es que ser&atilde;o executadas quando o usu&aacute;rio solta o bot&atilde;o do mouse sobre o mapa
171   - *
  158 + *
172 159 * Tipo:
173   - *
  160 + *
174 161 * {Array}
175   - *
  162 + *
176 163 * Default:
177   - *
  164 + *
178 165 * {["i3GEO.eventos.cliquePerm.executa()"]}
179 166 */
180 167 MOUSEUP : [
... ... @@ -182,15 +169,15 @@ i3GEO.eventos =
182 169 ],
183 170 /**
184 171 * Variavel: MOUSECLIQUE
185   - *
  172 + *
186 173 * Armazena as fun&ccedil;&otilde;es que ser&atilde;o executadas quando o usu&aacute;rio clica sobre o mapa
187   - *
  174 + *
188 175 * Tipo:
189   - *
  176 + *
190 177 * {Array}
191   - *
  178 + *
192 179 * Default:
193   - *
  180 + *
194 181 * {["i3GEO.eventos.cliqueCapturaPt()"]}
195 182 */
196 183 MOUSECLIQUE : [
... ... @@ -198,18 +185,18 @@ i3GEO.eventos =
198 185 ],
199 186 /**
200 187 * Variavel: MOUSECLIQUEPERM
201   - *
  188 + *
202 189 * Armazena as fun&ccedil;&otilde;es permanentes que ser&atilde;o executadas quando o usu&aacute;rio clica sobre o mapa
203   - *
  190 + *
204 191 * As opera&ccedil;&otilde;es definidas aqui normalmente n&atilde;o fazem verifica&ccedil;&atilde;o de status de outras ferramentas
205 192 * e podem ser bloqueadas momentaneamente alterando-se i3GEO.eventos.cliquePerm.status
206   - *
  193 + *
207 194 * Tipo:
208   - *
  195 + *
209 196 * {Array}
210   - *
  197 + *
211 198 * Default:
212   - *
  199 + *
213 200 * i3GEO.configura.funcaoTip
214 201 */
215 202 MOUSECLIQUEPERM : [
... ... @@ -217,19 +204,19 @@ i3GEO.eventos =
217 204 ],
218 205 /**
219 206 * Timer utilizado pelo contador do mouse parado
220   - *
  207 + *
221 208 * Tipo:
222   - *
  209 + *
223 210 * {Timeout}
224 211 */
225 212 TIMERPARADO : "",
226 213 /**
227 214 * Function: mouseParado
228   - *
  215 + *
229 216 * Executa as fun&ccedil;&otilde;es definidas em MOUSEPARADO quando &eacute; detectado que o mouse est&aacute; estacionado.
230   - *
  217 + *
231 218 * A execu&ccedil;&atilde;o desse evento &eacute; controlado por um timer definido no evento onmousemove (sobre o mapa).
232   - *
  219 + *
233 220 */
234 221 mouseParado : function() {
235 222 try {
... ... @@ -257,7 +244,7 @@ i3GEO.eventos =
257 244 },
258 245 /**
259 246 * Function: navegaMapa
260   - *
  247 + *
261 248 * Executa as fun&ccedil;&otilde;es armazenadas em NAVEGAMAPA, ou seja, opera&ccedil;&otilde;es executadas quando o mapa tem sua
262 249 * extens&atilde;o geogr&aacute;fica alterada.
263 250 */
... ... @@ -266,7 +253,7 @@ i3GEO.eventos =
266 253 },
267 254 /**
268 255 * Function: mousemoveMapa
269   - *
  256 + *
270 257 * Executa as fun&ccedil;&otilde;es armazenadas em MOUSEMOVE.
271 258 */
272 259 mousemoveMapa : function() {
... ... @@ -274,7 +261,7 @@ i3GEO.eventos =
274 261 },
275 262 /**
276 263 * Function: mousedownMapa
277   - *
  264 + *
278 265 * Executa as fun&ccedil;&otilde;es armazenadas em MOUSEDOWN.
279 266 */
280 267 mousedownMapa : function() {
... ... @@ -282,7 +269,7 @@ i3GEO.eventos =
282 269 },
283 270 /**
284 271 * Function: mouseupMapa
285   - *
  272 + *
286 273 * Executa as fun&ccedil;&otilde;es armazenadas em MOUSEUP.
287 274 */
288 275 mouseupMapa : function(exy) {
... ... @@ -306,7 +293,7 @@ i3GEO.eventos =
306 293 },
307 294 /**
308 295 * Function: mousecliqueMapa
309   - *
  296 + *
310 297 * Executa as fun&ccedil;&otilde;es armazenadas em MOUSECLIQUE.
311 298 */
312 299 mousecliqueMapa : function() {
... ... @@ -314,9 +301,9 @@ i3GEO.eventos =
314 301 },
315 302 /**
316 303 * Executa a pilha de nomes de funcoes ou funcoes armazenados em um array
317   - *
  304 + *
318 305 * Parameter:
319   - *
  306 + *
320 307 * eventos {array} - array com os nomes das fun&ccedil;&otilde;es
321 308 */
322 309 executaEventos : function(eventos) {
... ... @@ -347,34 +334,71 @@ i3GEO.eventos =
347 334 }
348 335 },
349 336 /**
  337 + * Function: removeEventos
  338 + *
  339 + * Remove uma lista de eventos registrados
  340 + *
  341 + * Parameters:
  342 + *
  343 + * {string} - tipo de evento (MOUSECLIQUE por exemplo)
  344 + *
  345 + * {array} - lista dos nomes dos eventos registrados
  346 + */
  347 + removeEventos : function(tipo,eventos){
  348 + var i,n = eventos.length;
  349 + for(i=0;i<n;i++){
  350 + i3GEO.eventos[tipo].remove(eventos[i]);
  351 + }
  352 + i3GEO.eventos[tipo] = i3GEO.eventos[tipo].getUnique();
  353 + },
  354 + //TODO inserir no codigo
  355 + /**
  356 + * Function: adicionaEventos
  357 + *
  358 + * Registra uma lista de eventos
  359 + *
  360 + * Parameters:
  361 + *
  362 + * {string} - tipo de evento (MOUSECLIQUE por exemplo)
  363 + *
  364 + * {array} - lista dos nomes dos eventos
  365 + */
  366 + adicionaEventos : function (tipo,eventos){
  367 + var i,n = eventos.length;
  368 + for(i=0;i<n;i++){
  369 + i3GEO.eventos[tipo].push(eventos[i]);
  370 + }
  371 + i3GEO.eventos[tipo] = i3GEO.eventos[tipo].getUnique();
  372 + },
  373 + /**
350 374 * Captura a posi&ccedil;&atilde;o do mouse sobre um mapa. O c&aacute;lculo pode ser feito sobre o corpo do mapa principal ou sob o
351 375 * corpo do mapa de refer&ecirc;ncia
352   - *
  376 + *
353 377 * O resultado dos c&aacute;lculos s&atilde;o armazenados no objeto objposicaocursor esse objeto ter&aacute; as seguintes
354 378 * propriedades:
355   - *
  379 + *
356 380 * objposicaocursor.ddx valor de x em d&eacute;cimos de grau
357   - *
  381 + *
358 382 * objposicaocursor.ddy valor de y em d&eacute;cimos de grau
359   - *
  383 + *
360 384 * objposicaocursor.dmsx valor de x em dms
361   - *
  385 + *
362 386 * objposicaocursor.dmsy valor de y em dms
363   - *
  387 + *
364 388 * objposicaocursor.telax posicao x na tela em pixels
365   - *
  389 + *
366 390 * objposicaocursor.telay posicao y na tela em pixels
367   - *
  391 + *
368 392 * objposicaocursor.imgx posicao x no mapa em pixels
369   - *
  393 + *
370 394 * objposicaocursor.imgy: posicao y no mapa em pixels
371   - *
  395 + *
372 396 * objposicaocursor.refx: posicao x no mapa de refer&ecirc;ncia em pixels
373   - *
  397 + *
374 398 * objposicaocursor.refy: posicao x no mapa de refer&ecirc;ncia em pixels
375   - *
  399 + *
376 400 * Parameters:
377   - *
  401 + *
378 402 * e {Event object} - objeto do tipo evento disparado sobre o objeto em foco
379 403 */
380 404 posicaoMouseMapa : function(e) {
... ... @@ -454,14 +478,14 @@ i3GEO.eventos =
454 478 },
455 479 /**
456 480 * Ativa os eventos relacionados ao mapa (movimenta&ccedil;&atilde;o do mouse sobre o mapa)
457   - *
  481 + *
458 482 * Define o que ser&aacute; executado quando o mouse &eacute; clicado ou movido sobre o mapa.
459   - *
  483 + *
460 484 * Al&eacute;m das fun&ccedil;&otilde;es padr&atilde;o,s&atilde;o ativadas aquelas definidas nas vari&aacute;veis de
461 485 * configura&ccedil;&atilde;o (veja classe_configura.js)
462   - *
  486 + *
463 487 * Parametro:
464   - *
  488 + *
465 489 * docMapa {DOM node} - objeto que ser&aacute; alvo da ativa&ccedil;&atilde;o dos cliques
466 490 */
467 491 ativa : function(docMapa) {
... ... @@ -515,11 +539,11 @@ i3GEO.eventos =
515 539 },
516 540 /**
517 541 * Retorna true se o bot&atilde;o da direita foi utilizado no evento do mouse
518   - *
  542 + *
519 543 * Parametro:
520   - *
  544 + *
521 545 * exy - evento
522   - *
  546 + *
523 547 * Return: {boolean}
524 548 */
525 549 botaoDireita : function(exy) {
... ... @@ -536,7 +560,7 @@ i3GEO.eventos =
536 560 },
537 561 /**
538 562 * Captura um ponto na tela e retorna o resultado para a janela interna que estiver aberta.
539   - *
  563 + *
540 564 * As coordenadas do ponto, em DMS, s&atilde;o repassadas para os campos do tipo input da janela interna que estiver aberta. A
541 565 * janela aberta deve ter os seguintes elementos do tipo input (ids): ixg,ixm,ixs,iyg,iym,iys
542 566 */
... ... @@ -560,6 +584,7 @@ i3GEO.eventos =
560 584 // algumas operacoes de analise podem precisar das coordenadas
561 585 // nesses casos, g_tipoacao e definida como "capturaponto"
562 586 //
  587 + // TODO remover g_tipoacao
563 588 if (g_tipoacao !== "capturaponto") {
564 589 return;
565 590 } else {
... ... @@ -591,39 +616,39 @@ i3GEO.eventos =
591 616 },
592 617 /**
593 618 * Section: i3GEO.eventos.cliquePerm
594   - *
  619 + *
595 620 * Executa as fun&ccedil;&otilde;es armazenadas em MOUSECLIQUEPERM
596   - *
  621 + *
597 622 * i3GEO.eventos.cliquePerm.executa &eacute; definido como um evento de clique sobre o mapa
598   - *
  623 + *
599 624 * Essas s&atilde;o opera&ccedil;&otilde;es que ocorrem de forma permanente sempre que o usu&aacute;rio clica no mapa. As
600 625 * opera&ccedil;&otilde;es de clique devem alterar o status desse objeto para bloquear a execu&ccedil;&atilde;o quando for o caso
601   - *
  626 + *
602 627 * Exemplo, pode ser necess&aacute;rio bloquear as fun&ccedil;&otilde;es permanentes quando o usu&aacute;rio clica no mapa para
603 628 * calcular dist&acirc;ncias, para isso, altere i3GEO.eventos.cliquePerm.status = false e depois volte para true
604 629 */
605 630 cliquePerm : {
606 631 /**
607 632 * Propriedade: ativo
608   - *
  633 + *
609 634 * Indica se as opera&ccedil;&otilde;es permanentes ser&atilde;o ou n&atilde;o executadas
610   - *
  635 + *
611 636 * Essa propriedade bloqueia todas as opera&ccedil;&otilde;es mesmo que moment&acirc;neamente o status esteja true
612   - *
  637 + *
613 638 * Type:
614   - *
  639 + *
615 640 * {boolean}
616   - *
  641 + *
617 642 * Default:
618   - *
  643 + *
619 644 * true
620 645 */
621 646 ativo : true,
622 647 /**
623   - *
  648 + *
624 649 * Indica se as opera&ccedil;&otilde;es permanentes ser&atilde;o ou n&atilde;o executadas se 'ativo' estiver true. Status pode
625 650 * ser moment&acirc;neo e controlado em tempo de execu&ccedil;&atilde;o
626   - *
  651 + *
627 652 * Type: boolean
628 653 */
629 654 status : true,
... ... @@ -637,7 +662,7 @@ i3GEO.eventos =
637 662 },
638 663 /**
639 664 * Function: ativa
640   - *
  665 + *
641 666 * Ativa os cliques permanentes
642 667 */
643 668 ativa : function() {
... ... @@ -647,7 +672,7 @@ i3GEO.eventos =
647 672 },
648 673 /**
649 674 * Function: desativa
650   - *
  675 + *
651 676 * Desaativa momentaneamente os cliques permanentes
652 677 */
653 678 desativa : function() {
... ...
ferramentas/inserexy2/index.js
... ... @@ -207,13 +207,12 @@ i3GEOF.inserexy = {
207 207 $i("i3GEOF.inserexy_corpo").style.backgroundColor = "white";
208 208 i3GEOF.inserexy.inicia(divid);
209 209  
210   - if(i3GEO.eventos.MOUSECLIQUE.toString().search("i3GEOF.inserexy.adicionaClique()") < 0)
211   - {i3GEO.eventos.MOUSECLIQUE.push("i3GEOF.inserexy.adicionaClique()");}
  210 + i3GEO.eventos.adicionaEventos("MOUSECLIQUE",["i3GEOF.inserexy.adicionaClique()"]);
212 211 i3GEO.eventos.cliquePerm.desativa();
213 212 temp = function(){
214 213 i3GEO.eventos.cliquePerm.ativa();
215 214 i3GEO.barraDeBotoes.ativaPadrao();
216   - i3GEO.eventos.MOUSECLIQUE.remove("i3GEOF.inserexy.adicionaClique()");
  215 + i3GEO.eventos.removeEventos("MOUSECLIQUE",["i3GEOF.inserexy.adicionaClique()"]);
217 216 };
218 217 YAHOO.util.Event.addListener(janela[0].close, "click", temp);
219 218 i3GEO.util.mudaCursor(i3GEO.configura.cursores,"crosshair",i3GEO.Interface.IDMAPA,i3GEO.configura.locaplic);
... ...