Commit f96cb3d78eabfb46fafae492d956b33298616caf
1 parent
9a8a23aa
Exists in
master
and in
7 other branches
Complementação da documentação e correção na opção de ativação de temas na árvor…
…e de menus. temas fora dos grupos/subgrupos não estavam sendo ativados corretamente
Showing
2 changed files
with
138 additions
and
24 deletions
Show diff stats
classesjs/configura.js
classesjs/funcoes.js
... | ... | @@ -27,6 +27,8 @@ Free Software Foundation, Inc., no endereço |
27 | 27 | */ |
28 | 28 | // |
29 | 29 | //verifica se $i existe, se não cria. |
30 | +//isso é necessário nos casos em que funcoes.js é utilizado separadamente | |
31 | +// | |
30 | 32 | try |
31 | 33 | { |
32 | 34 | $i("i3geo"); |
... | ... | @@ -39,7 +41,7 @@ catch(e) |
39 | 41 | /* |
40 | 42 | Function: $im |
41 | 43 | |
42 | -Retorna o caminho correto de uma imagem. | |
44 | +Retorna o caminho correto de uma imagem incluindo o endereço da aplicação e do visual em uso. | |
43 | 45 | |
44 | 46 | Exemplo: $im("imagem.png") |
45 | 47 | |
... | ... | @@ -56,7 +58,7 @@ $im = function(g) |
56 | 58 | /* |
57 | 59 | Function $inputText |
58 | 60 | |
59 | -Cria um elemento html do tipo input text | |
61 | +Cria um elemento html do tipo input text com formatação especial. | |
60 | 62 | |
61 | 63 | Parameters: |
62 | 64 | |
... | ... | @@ -131,7 +133,7 @@ $left = function(id,valor) |
131 | 133 | /* |
132 | 134 | Function: trataErro |
133 | 135 | |
134 | -Trata o erro de um try cacth. | |
136 | +Fecha o objeto aguarde quando ocorre um erro. | |
135 | 137 | */ |
136 | 138 | function trataErro() |
137 | 139 | { |
... | ... | @@ -176,6 +178,13 @@ function pCookie(nome) |
176 | 178 | /* |
177 | 179 | Section: interface |
178 | 180 | */ |
181 | +/* | |
182 | +Function: sobeferramentas | |
183 | + | |
184 | +Sobe a pilha de ícones na barra de ferramentas. | |
185 | + | |
186 | +Utilizado na barra de ferramentas 2. | |
187 | +*/ | |
179 | 188 | function sobeferramentas() |
180 | 189 | { |
181 | 190 | if($i("maisBotoes2")) |
... | ... | @@ -217,8 +226,14 @@ function sobeferramentas() |
217 | 226 | mostra.style.display="none"; |
218 | 227 | } |
219 | 228 | } |
220 | - | |
221 | 229 | } |
230 | +/* | |
231 | +Function: desceferramentas | |
232 | + | |
233 | +Desce a pilha de ícones na barra de ferramentas. | |
234 | + | |
235 | +Utilizado na barra de ferramentas 2. | |
236 | +*/ | |
222 | 237 | function desceferramentas() |
223 | 238 | { |
224 | 239 | var tipo = "inline"; |
... | ... | @@ -261,13 +276,17 @@ function desceferramentas() |
261 | 276 | } |
262 | 277 | } |
263 | 278 | /* |
264 | -Function: trocallingua | |
279 | +Function: trocalingua | |
265 | 280 | |
266 | 281 | Troca a linguagem atual. |
267 | 282 | |
283 | +O código atual da linguagem é armazenado em um Cookie. Essa função troca o valor do Cookie e redesenha o mapa. | |
284 | + | |
285 | +A troca de linguagem é ativada pelo clique nas bandeiras inseridas na parte superior do menu suspenso. | |
286 | + | |
268 | 287 | Parameters: |
269 | 288 | |
270 | -lingua | |
289 | +l - código da lingua | |
271 | 290 | */ |
272 | 291 | function trocalingua(l) |
273 | 292 | { |
... | ... | @@ -282,6 +301,10 @@ function trocalingua(l) |
282 | 301 | Function: criaContainerRichdraw |
283 | 302 | |
284 | 303 | Cria os elementos dom necessários ao uso das funções de desenho sobre o mapa. |
304 | + | |
305 | +Richdraw é uma biblioteca utilizada pelo i3geo para abstrair as diferenças entre as linguagens svg e vml. | |
306 | + | |
307 | +Essa abstração é necessária devido às diferenças entre os navegadores. | |
285 | 308 | */ |
286 | 309 | function criaContainerRichdraw() |
287 | 310 | { |
... | ... | @@ -291,12 +314,19 @@ function criaContainerRichdraw() |
291 | 314 | //cria o container para uso da função de desenho usando |
292 | 315 | //svg ou vml |
293 | 316 | //esse container é sobreposto exatamente sobre o mapa |
317 | + //O id do containner é divGeometriasTemp | |
294 | 318 | // |
295 | 319 | if (!$i("divGeometriasTemp")) |
296 | 320 | { |
321 | + // | |
322 | + //pega a posição da imagem do mapa para posicionar corretamente o container | |
323 | + // | |
297 | 324 | var pos = [0,0]; |
298 | 325 | if($i("img")) |
299 | 326 | var pos = pegaPosicaoObjeto($i("img")); |
327 | + // | |
328 | + //cria o container | |
329 | + // | |
300 | 330 | var novoel = document.createElement("div"); |
301 | 331 | novoel.id = "divGeometriasTemp"; |
302 | 332 | var ne = novoel.style; |
... | ... | @@ -311,6 +341,9 @@ function criaContainerRichdraw() |
311 | 341 | ne.left=pos[0]; |
312 | 342 | document.body.appendChild(novoel); |
313 | 343 | } |
344 | + // | |
345 | + //como o container já poderia ter sido criado antes é necessário esvaziá-lo | |
346 | + // | |
314 | 347 | var divgeo = $i("divGeometriasTemp"); |
315 | 348 | divgeo.innerHTML = ""; |
316 | 349 | var renderer; |
... | ... | @@ -318,12 +351,8 @@ function criaContainerRichdraw() |
318 | 351 | //cria o objeto renderer conforme o browser em uso |
319 | 352 | //esse objeto será utilizado nas funções de desenho |
320 | 353 | //mais detalhes, veja em pacotes/richdraw |
354 | + //Conforme a resposta do navegador, utiliza-se a criação VML ou SVG | |
321 | 355 | // |
322 | - /* | |
323 | - if(navm){renderer = new VMLRenderer();} | |
324 | - else {renderer = new SVGRenderer();} | |
325 | - richdraw = new RichDrawEditor(divgeo, renderer); | |
326 | - */ | |
327 | 356 | try |
328 | 357 | { |
329 | 358 | renderer = new VMLRenderer(); |
... | ... | @@ -334,6 +363,9 @@ function criaContainerRichdraw() |
334 | 363 | renderer = new SVGRenderer(); |
335 | 364 | richdraw = new RichDrawEditor(divgeo, renderer); |
336 | 365 | } |
366 | + // | |
367 | + //definição dos símbolos default para os elementos gráficos | |
368 | + // | |
337 | 369 | richdraw.editCommand('fillcolor', 'red'); |
338 | 370 | richdraw.editCommand('linecolor', 'gray'); |
339 | 371 | richdraw.editCommand('linewidth', '1px'); |
... | ... | @@ -352,7 +384,15 @@ function criaContainerRichdraw() |
352 | 384 | /* |
353 | 385 | Function: mudaVisual |
354 | 386 | |
355 | -Muda o visual do mapa atual | |
387 | +Muda o visual do mapa atual. | |
388 | + | |
389 | +Busca as imagens existentes na interface aberta e substituí pelas imagens existentes no diretório | |
390 | +correspondente ao visual selecionado. | |
391 | + | |
392 | +As imagens existentes no mapa são comparadas com as existentes no diretório i3geo/imagens/visual/<visual> | |
393 | +caso ocorra correspondência são então substituídas. | |
394 | + | |
395 | +A lista de visuais disponíveis é obtida na inicialização do i3geo e corresponde à lista de diretórios existentes em i3geo/imagens/visual | |
356 | 396 | |
357 | 397 | Parameters: |
358 | 398 | |
... | ... | @@ -360,11 +400,17 @@ visual - nome do novo visual. Obtido na inicialização do I3Geo e armazenado na v |
360 | 400 | */ |
361 | 401 | function mudaVisual(visual) |
362 | 402 | { |
403 | + // | |
404 | + //refaz o layout conforme os parâmetros obtidos da chamada ajax | |
405 | + // | |
363 | 406 | var monta = function(retorno) |
364 | 407 | { |
365 | 408 | try |
366 | 409 | { |
367 | 410 | objaguarde.fecha("ajaxredesenha"); |
411 | + // | |
412 | + //pega todas as imagens da interface | |
413 | + // | |
368 | 414 | var imgstemp = retorno.data.arquivos; |
369 | 415 | var imgs = new Array(); |
370 | 416 | var i = imgstemp.length-1; |
... | ... | @@ -435,6 +481,9 @@ function mudaVisual(visual) |
435 | 481 | } |
436 | 482 | catch(e){alert("Ocorreu um erro. mudaVisual"+e);objaguarde.fecha("ajaxredesenha");} |
437 | 483 | }; |
484 | + // | |
485 | + //pega a lista de imagens no diretório do i3geo correspondente ao visual selecionado | |
486 | + // | |
438 | 487 | objaguarde.abre("ajaxredesenha",$trad("o1")); |
439 | 488 | var p = g_locaplic+"/classesphp/mapa_controle.php?funcao=listaArquivos&g_sid="+g_sid+"&diretorio=imagens/visual/"+visual; |
440 | 489 | cpObj.call(p,"mudaQS",monta); |
... | ... | @@ -444,11 +493,17 @@ Function: initJanelaMen |
444 | 493 | |
445 | 494 | Abre a janela com as mensagens de ajuda ao usuário |
446 | 495 | |
496 | +Quando essa janela estiver aberta, o resultado da função de etiquetas e de ajuda é mostrado nessa janela. | |
497 | + | |
498 | +Se o usuário fechar a janela de mensagens, é definido um cookie para controlar a abertura da janela ou não na próxima vez que oi3geo for utilizado. | |
447 | 499 | */ |
448 | 500 | function initJanelaMen() |
449 | 501 | { |
450 | 502 | try |
451 | 503 | { |
504 | + // | |
505 | + //cria a janela flutuante caso não exista | |
506 | + // | |
452 | 507 | if (!$i("janelaMen")) |
453 | 508 | { |
454 | 509 | var novoel = document.createElement("div"); |
... | ... | @@ -475,6 +530,9 @@ function initJanelaMen() |
475 | 530 | YAHOO.util.Event.addListener(YAHOO.janelaMen.xp.panel.close, "click", escondeMen); |
476 | 531 | iCookie("g_janelaMen","sim"); |
477 | 532 | } |
533 | + // | |
534 | + //abre a janela | |
535 | + // | |
478 | 536 | YAHOO.janelaMen.xp.panel.show(); |
479 | 537 | var pos = pegaPosicaoObjeto($i("img")); |
480 | 538 | YAHOO.janelaMen.xp.panel.moveTo(pos[0] - 267 ,objmapa.h - 70); |
... | ... | @@ -484,7 +542,7 @@ function initJanelaMen() |
484 | 542 | /* |
485 | 543 | Function: docaguias |
486 | 544 | |
487 | -Coloca as guias de navegação em uma janela interna do mapa e altera o tamanho do mapa para ajustar o novo tamanho. | |
545 | +Coloca as guias de navegação em uma janela interna do mapa e altera o tamanho do mapa para ajustá-lo à nova situação. | |
488 | 546 | */ |
489 | 547 | function docaguias() |
490 | 548 | { |
... | ... | @@ -544,7 +602,6 @@ function docaguias() |
544 | 602 | } |
545 | 603 | } |
546 | 604 | calcposf(); |
547 | - | |
548 | 605 | var temp = function() |
549 | 606 | { |
550 | 607 | //carrega janela |
... | ... | @@ -591,6 +648,14 @@ Function: ativaGuias |
591 | 648 | |
592 | 649 | Ativa as guias principais do mapa, definindo as funções que serão executadas quando a guia é escolhida. |
593 | 650 | |
651 | +Quando o usuário clica em uma guia, todas as guias são escondidas e a guia clicada é ativada. | |
652 | + | |
653 | +Algumas guias só são preenchidas quando o usuário clica nelas pela primeira vez. | |
654 | + | |
655 | +O preenchimento sob demanda dessas guias torna necessário a definição da função que será executada. | |
656 | + | |
657 | +Essas funções são definidas por default nas guias principais. | |
658 | + | |
594 | 659 | As guias principais são definidas nos objetos |
595 | 660 | |
596 | 661 | objmapa.guiaTemas |
... | ... | @@ -604,18 +669,26 @@ objmapa.guiaListaMapas |
604 | 669 | */ |
605 | 670 | function ativaGuias() |
606 | 671 | { |
607 | - //ajusta as guias da versão antiga do YUI | |
608 | - //pega o elemento onde estão os tabs | |
672 | + //ajusta as guias da versão antiga do YUI para a nova | |
673 | + // | |
674 | + //pega o elemento onde as guias serão colocadas | |
675 | + // | |
609 | 676 | for(var g=0;g<12;g++) |
610 | 677 | { |
611 | 678 | if ($i("guia"+g)) |
612 | 679 | var gpai = $i("guia"+g).parentNode; |
613 | 680 | } |
681 | + // | |
682 | + //monta as guias | |
683 | + // | |
614 | 684 | if(gpai) |
615 | 685 | { |
616 | 686 | gpai.id = "guiasYUI"; |
617 | 687 | gpai.className = "yui-navset"; |
618 | 688 | var ins = '<ul class="yui-nav" style="border-width:0pt 0pt 2px;border-color:rgb(240,240,240)">'; |
689 | + // | |
690 | + //define os títulos das guias padrão | |
691 | + // | |
619 | 692 | if($i(objmapa.guiaTemas)) |
620 | 693 | {$i(objmapa.guiaTemas).innerHTML = $trad("g1");} |
621 | 694 | if($i(objmapa.guiaMenu)) |
... | ... | @@ -624,17 +697,32 @@ function ativaGuias() |
624 | 697 | {$i(objmapa.guiaLegenda).innerHTML = $trad("g3");} |
625 | 698 | if($i(objmapa.guiaListaMapas)) |
626 | 699 | {$i(objmapa.guiaListaMapas).innerHTML = $trad("g4");} |
700 | + // | |
701 | + // | |
627 | 702 | for(var g=0;g<12;g++) |
628 | 703 | { |
629 | 704 | if ($i("guia"+g)) |
630 | 705 | { |
706 | + // | |
707 | + //pega os títulos das guias, inclusive as que não são padrão | |
708 | + // | |
631 | 709 | var tituloguia = $i("guia"+g).innerHTML; |
710 | + // | |
711 | + //remove os espaços em branco | |
712 | + //necessário para manter compatibilidade com versões antigas do i3geo | |
713 | + // | |
632 | 714 | var re = new RegExp(" ", "g"); |
633 | 715 | var tituloguia = tituloguia.replace(re,''); |
716 | + // | |
717 | + //monta o título das guias | |
718 | + // | |
634 | 719 | ins += '<li><a href="#"><em><div id="guia'+g+'" >'+tituloguia+'</div></em></a></li>'; |
635 | 720 | } |
636 | 721 | } |
637 | 722 | ins += "</ul>"; |
723 | + // | |
724 | + //insere as guias em gpai | |
725 | + // | |
638 | 726 | gpai.innerHTML = ins; |
639 | 727 | for(var g=0;g<12;g++) |
640 | 728 | { |
... | ... | @@ -649,7 +737,9 @@ function ativaGuias() |
649 | 737 | } |
650 | 738 | } |
651 | 739 | } |
652 | - //guias | |
740 | + // | |
741 | + //define a função que será executada quando o usuário clica em uma guia padrão | |
742 | + // | |
653 | 743 | if ($i(objmapa.guiaTemas)) |
654 | 744 | { |
655 | 745 | $i(objmapa.guiaTemas).onclick = function() |
... | ... | @@ -699,9 +789,15 @@ Function: pegalistademenus |
699 | 789 | Pega a lista de menus que deverão compor a árvore de adição de temas e cria/adiciona os elementos da árvore |
700 | 790 | |
701 | 791 | A lista de menus é definida em ms_configura.php |
792 | + | |
793 | +Para cada menu é montada uma árvore com os grupos e sub-grupos de temas. | |
702 | 794 | */ |
703 | 795 | function pegalistademenus(retorno) |
704 | 796 | { |
797 | + // | |
798 | + //quando retorno for vazio, significa que será usado o menu default(menutemas.xml) e será mostrado sempre aberto | |
799 | + //essa verificação é necessária para efeitos de compatibilidade com versões antigas do i3geo que não permitiam mais de um menu | |
800 | + // | |
705 | 801 | if (retorno.data == "") |
706 | 802 | {pegaListaDeGrupos("","sim","aberto");} |
707 | 803 | else |
... | ... | @@ -712,6 +808,13 @@ function pegalistademenus(retorno) |
712 | 808 | { |
713 | 809 | do |
714 | 810 | { |
811 | + // | |
812 | + //o parâmetro status define se a árvre será montada aberta ou fechada | |
813 | + //esse parâmetro foi adicionado na versão 4.0 do i3geo | |
814 | + //por isso a verificação é necessária | |
815 | + //se o parâmetro não existir na variável $menutemas definida em ms_configura.php, | |
816 | + //será utilizado aberto | |
817 | + // | |
715 | 818 | var status = "aberto"; |
716 | 819 | if(retorno.data[i].status) |
717 | 820 | {var status = retorno.data[i].status;} |
... | ... | @@ -768,7 +871,9 @@ function mensagemf(m) |
768 | 871 | /* |
769 | 872 | Function: wdocaf |
770 | 873 | |
771 | -Abre a janela docável para executar algum programa. | |
874 | +Abre a janela flutuante para executar algum programa. | |
875 | + | |
876 | +A janela flutuante contém um iframa onde o programa, definido no parâmetro wsrc, será carregado. | |
772 | 877 | |
773 | 878 | Parameters: |
774 | 879 | |
... | ... | @@ -788,10 +893,14 @@ function wdocaf(wlargura,waltura,wsrc,nx,ny,texto) |
788 | 893 | { |
789 | 894 | try |
790 | 895 | { |
896 | + // | |
897 | + //esconde o box de zoom e outros objetos temporários se estiverem visíveis | |
898 | + // | |
791 | 899 | if($i("boxg")) |
792 | 900 | {$i("boxg").style.display = "none";} |
793 | 901 | if($i("boxpin")) |
794 | 902 | {$i("boxpin").style.display = "none";} |
903 | + | |
795 | 904 | var wlargura_ = parseInt(wlargura)+0+"px"; |
796 | 905 | YAHOO.namespace("janelaDoca.xp"); |
797 | 906 | if ($i("wdoca")) |
... | ... | @@ -2695,7 +2804,7 @@ function expandeGrupo(itemID) |
2695 | 2804 | if ( lk != " ") |
2696 | 2805 | {var lk = "<a href="+lk+" target='blank'> fonte</a>";} |
2697 | 2806 | var tid = no.tid; |
2698 | - var inp = "<input style='text-align:left;cursor:pointer;' onclick='mudaboxnf(\"adiciona\")' class='inputsb' style='cursor:pointer' type=\"checkbox\" value="+tid+" onmouseover=\"javascript:mostradicasf(this,'"+$trad("a8")+"','ligadesliga')\" onmouseout=\"javascript:mostradicasf(this,'')\" />"; | |
2807 | + var inp = "<input style='text-align:left;cursor:pointer;' onclick='mudaboxnf(\"adiciona\",this)' class='inputsb' style='cursor:pointer' type=\"checkbox\" value="+tid+" onmouseover=\"javascript:mostradicasf(this,'"+$trad("a8")+"','ligadesliga')\" onmouseout=\"javascript:mostradicasf(this,'')\" />"; | |
2699 | 2808 | if(navm) |
2700 | 2809 | nomeTema = " "+inp+nome+lk; |
2701 | 2810 | else |
... | ... | @@ -2763,7 +2872,7 @@ function pegaListaDeGrupos(idmenu,listasistemas,status) |
2763 | 2872 | { |
2764 | 2873 | var insp = "<div style='text-align:left;'><table cellspacing='0' cellpadding='0' ><tr><td style='text-align:left;font-size:10px;'>"; |
2765 | 2874 | insp = insp + "<img src='"+g_locaplic+"/imagens/branco.gif' height=0 />"; |
2766 | - insp = insp + "<p> "+$trad("a1")+"<input class='digitar' type='text' id='buscatema' size='15' value='' /><img class='tic' title='"+$trad("a1")+"' src='"+$im("branco.gif")+"' onclick='procurartemas()' style='cursor:pointer;top:2px;position:relative;'/></td></tr></table><br>"; | |
2875 | + insp = insp + "<p><br> "+$trad("a1")+"<input class='digitar' type='text' id='buscatema' size='15' value='' /><img class='tic' title='"+$trad("a1")+"' src='"+$im("branco.gif")+"' onclick='procurartemas()' style='cursor:pointer;top:2px;position:relative;'/></td></tr></table><br>"; | |
2767 | 2876 | $i(ondeArvore).innerHTML = insp+"<div style='text-align:left;font-size:10px;' id='achados' ></div></div>"; |
2768 | 2877 | } |
2769 | 2878 | else |
... | ... | @@ -2854,7 +2963,7 @@ function pegaListaDeGrupos(idmenu,listasistemas,status) |
2854 | 2963 | if ( lk != " ") |
2855 | 2964 | {var lk = "<a href="+lk+" target='blank'> fonte</a>";} |
2856 | 2965 | var tid = no.tid; |
2857 | - var inp = "<input style='text-align:left;cursor:pointer;' onclick='mudaboxnf(\"adiciona\")' class='inputsb' style='cursor:pointer' type='checkbox' value="+tid+" onmouseover=\"javascript:mostradicasf(this,'"+$trad("a8")+"','ligadesliga')\" onmouseout=\"javascript:mostradicasf(this,'')\" />"; | |
2966 | + var inp = "<input style='text-align:left;cursor:pointer;' onclick='mudaboxnf(\"adiciona\",this)' class='inputsb' style='cursor:pointer' type='checkbox' value="+tid+" onmouseover=\"javascript:mostradicasf(this,'"+$trad("a8")+"','ligadesliga')\" onmouseout=\"javascript:mostradicasf(this,'')\" />"; | |
2858 | 2967 | if(navm) |
2859 | 2968 | nomeTema = " "+inp+nome+lk; |
2860 | 2969 | else |
... | ... | @@ -3197,6 +3306,9 @@ Chama a função que verifica na lista de temas adicionais. |
3197 | 3306 | */ |
3198 | 3307 | function remapaf() |
3199 | 3308 | { |
3309 | + // | |
3310 | + //zera o contador de tempo | |
3311 | + // | |
3200 | 3312 | clearTimeout(objmapa.tempo); |
3201 | 3313 | objmapa.tempo = ""; |
3202 | 3314 | objmapa.temaAtivo = ""; |
... | ... | @@ -3225,6 +3337,8 @@ function remapaf() |
3225 | 3337 | if ($i("buscatema")) |
3226 | 3338 | { |
3227 | 3339 | var g = $i(objmapa.guiaMenu+"obj"); |
3340 | + if($i("arvoreAdicionaTema")) | |
3341 | + {var g = $i("arvoreAdicionaTema");} | |
3228 | 3342 | var iguias = g.getElementsByTagName("input"); |
3229 | 3343 | var ta = new Array(); |
3230 | 3344 | var i = iguias.length-1; | ... | ... |