// //Utilizado por editormapfile.js // /* Function: editorEstilo Abre o editor de dados gerais de um estilo */ function editorEstilo(codigoMap,codigoLayer,indiceClasse,indiceEstilo) { var sUrl = "../php/editormapfile.php?funcao=pegaEstilo&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse+"&indiceEstilo="+indiceEstilo; core_pegaDados("Obtendo dados...",sUrl,"montaEditorEstilo"); } function conteudoNoEstilo(codigoMap,codigoLayer,indice,estilo){ var conteudo = " "; conteudo += " "; conteudo += "  "; conteudo += " "+estilo+""; var d = {estilos:codigoMap+"_"+codigoLayer+"_"+indice,html:conteudo,id:codigoMap+"_"+codigoLayer+"_"+indice+"_"+estilo,codigoMap:codigoMap,codigoLayer:codigoLayer,indiceClasse:indice,indiceEstilo:estilo}; return d; } /* Function: excluirEstilo Exclui um estilo */ function excluirEstilo(codigoMap,codigoLayer,indiceClasse,indiceEstilo) { var handleYes = function() { this.hide(); core_carregando("ativa"); var mensagem = " excluindo "+indiceEstilo; core_carregando(mensagem); var sUrl = "../php/editormapfile.php?funcao=excluirEstilo&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse+"&indiceEstilo="+indiceEstilo; var callback = { success:function(o) { try { var no = tree.getNodesByProperty("id",codigoMap+"_"+codigoLayer+"_"+indiceClasse+"_"+indiceEstilo); tree.removeNode(no[0]); tree.draw(); core_carregando("desativa"); } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback); }; var handleNo = function() {this.hide();}; var mensagem = "Exclui o estilo?"; var largura = "300"; core_dialogoContinua(handleYes,handleNo,mensagem,largura); } function montaEditorEstilo(dados) { var temp = function(){ salvarDadosEditor('estilo',dados.codigoMap,dados.codigoLayer,dados.indiceClasse,dados.indiceEstilo); }; core_montaEditor(temp,"450px","650px","","Estilo",true,true,false); var limg = i3GEO.configura.locaplic+"/imagens/ic_zoom.png"; param = { "linhas":[ {ajuda:"O símbolo a ser usado para representar as feições. Integer é o índice do símbolo no symbolset, começando em 1 (o quinto símbolo é o símbolo 5). String é o nome do símbolo (como definido usando o parâmetro SYMBOL NAME). Filename especifica o caminho para um arquivo contendo um símbolo. Por exemplo, um arquivo PNG. Especifique o caminho relativo ao diretório contendo o mapfile. URL especifica o endereço de um arquivo contendo um símbolo pixmap. Por exemplo, um arquivo PNG. Uma URL deve começar com “http”. Exemplo: SYMBOL “http://myserver.org/path/to/file.png . [ATRIBUTO] permite representação individual de feições usando um atributo no conjunto de dados que especifica o nome do símbolo (como definido usando o parâmetro SYMBOL NAME). São necessários os colchetes []. Se SYMBOL não for especificado, o comportamento depende do tipo de feição: Para pontos, nada será representado; Para linhas, SYMBOL só é relevante se você quer estilizar as linhas utilizando símbolos, então a ausência de SYMBOL significa que você terá as linhas como especificadas utilizando os parâmetros de representação de linhas (COLOR, WIDTH, PATTERN, LINECAP, etc.); Para polígonos, o interior dos polígonos será representado utilizando um preenchimento sólido da cor especificada no parâmetro COLOR.", titulo:"Symbolname (pode ser utilizado uma imagem, exemplo: /var/www/i3geo/imagensteste.png) :",id:"",value:dados.symbolname,tipo:"text",div:"
"}, {ajuda:"Cor a ser utilizada para desenhar feições.", titulo:"Color",id:"color",value:dados.color,tipo:"cor"}, {ajuda:"Cor de fundo a ser utilizada para desenhar feições.", titulo:"Backgroundcolor",id:"backgroundcolor",value:dados.backgroundcolor,tipo:"cor"}, {ajuda:"Tamanho, em SIZEUNITS, do SYMBOL/PATTERN a ser usado. O valor padrão depende do tipo do símbolo: para pixmap, o tamanho (em pixeis) do pixmap; para ellipse e vector, o valor máximo de y do parâmetro SYMBOL POINTS; para hatch, 1,0; para truetype, 1,0. Quando a escala de símbolos é utilizada (SYMBOLSCALEDENOM é utilizado no nível da LAYER) o SIZE define o tamanho - de acordo com o SIZEUNITS da camada - do SYMBOL /PATTERN a ser usado na escala 1:SYMBOLSCALEDENOM. Para símbolos do tipo hatch, o tamanho é a distância de centro a centro entre as linhas. [ATRIBUTO] especifica um atributo a ser usado para usar como valor de tamanho. Os colchetes [] são necessários.", titulo:"Size",id:"size",value:dados.size,tipo:"text"}, {ajuda:"Cor usada para contornar polígonos e alguns símbolos de marcadores (marker). Não possui efeito para linhas. A largura do contorno pode ser especificada usando WIDTH. Se não for especificado nenhum WIDTH, será traçado um contorno de 1 pixel de largura. Se há algum símbolo definido em STYLE, será criado um contorno para este símbolo (somente ellipse, truetype e polygon vector ganharão um contorno). Se não houver símbolo definido em STYLE, o polígono ganhará um contorno. [ATRIBUTO] especifica um atributo a ser usado para usar como valor de cor. Os colchetes [] são necessários.", titulo:"Outlinecolor",id:"outlinecolor",value:dados.outlinecolor,tipo:"cor"}, {ajuda:"WIDTH se refere à espessura da linha desenhada, em pixeis. Padrão é 1. Quando a escala de símbolos é utilizada (SYMBOLSCALEDENOM é utilizado no nível da LAYER) o WIDTH define a espessura da linha - de acordo com o SIZEUNITS da camada – em relação à escala 1:SYMBOLSCALEDENOM. Se utilizado com SYMBOL e OUTLINECOLOR, WIDTH define a espessura do contorno dos símbolos. Isto se aplica para os símbolos do tipo ellipse, truetype e polygon vector. Para linhas, WIDTH especifica a espessura da linha. Para polígonos, se utilizado com OUTLINECOLOR, WIDTH especifica a espessura da linha do polígono. Para um símbolo do tipo hatch, WIDTH especifica a largura das linhas hachuradas. [ATRIBUTO] especifica o atributo a ser usado para valores de WIDTH. Os colchetes [] são necessários.", titulo:"Width",id:"width",value:dados.width,tipo:"text"}, {ajuda:"Tamanho mínimo em pixeis para desenhar um símbolo. Padrão é 0. Só é útil quando usada escala de símbolos. Para símbolos do tipo hatch, o tamanho é a distância entre linhas hachuradas.", titulo:"Minsize",id:"minsize",value:dados.minsize,tipo:"text"}, {ajuda:"Tamanho máximo em pixeis para desenhar um símbolo. Padrão é 500.", titulo:"Maxsize",id:"maxsize",value:dados.maxsize,tipo:"text"}, {ajuda:"Valor de deslocamento no eixo x para símbolos com sombras, vazios etc.", titulo:"Offsetx",id:"offsetx",value:dados.offsetx,tipo:"text"}, {ajuda:"Valor de deslocamento no eixo y para símbolos com sombras, vazios etc.", titulo:"Offsety",id:"offsety",value:dados.offsety,tipo:"text"}, {ajuda:"Ativa ou desativa o antialias para fontes truetype.", titulo:"Antialias",id:"antialias",value:dados.antialias,tipo:"text"}, {ajuda:"Tamanho mínimo em pixeis para desenhar uma linha. Padrão é 0.", titulo:"Minwidth",id:"minwidth",value:dados.minwidth,tipo:"text"}, {ajuda:"Tamanho máximo em pixeis para desenhar uma linha. Padrão é 32.", titulo:"Maxwidth",id:"maxwidth",value:dados.maxwidth,tipo:"text"}, {ajuda:"Ângulo, em graus, para rotacionar um símbolo (sentido anti-horário). Padrão é 0 (sem rotação). Para pontos, especifica a rotação de um símbolo em relação a seu centro. Para linhas estilizadas, o comportamento depende do valor do elemento GAP. Para valores de GAP negativos, ele especifica o rotacionamento de um símbolo relativo à direção da linha. Um ângulo de 0 significa que o eixo x do símbolo é orientado juntamente com a direção da linha. Se o valor do GAP for positivo, ele especifica o rotacionamento do símbolo em relação ao seu próprio centro.", titulo:"Angle",id:"angle",value:dados.angle,tipo:"text"} ] }; var ins = ""; ins += core_geraLinhas(param); ins += "


"; $i("editor_bd").innerHTML = ins; temp = ""; temp += ""; temp += "
"; $i("cSymbolname").innerHTML = temp; escolheSimbolo = function(nome){ $i("symbolname").value = nome; }; //lista os simbolos var sUrl = "../php/editormapfile.php?funcao=editasimbolo&tipo="+dados.type+"&opcao=listaSimbolos&onclick=escolheSimbolo(this.title)"; var callback = { success:function(o) { try { var re = new RegExp("ms_tmp", "g"); var t = o.responseText.replace(re,"../../../ms_tmp/"); var re = new RegExp("\\\\", "g"); t = t.replace(re,""); $i("listaSimbolos").innerHTML = t; } catch(e){} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback,'POST'); } /* Function: adicionaNovoEstilo Adiciona um novo estilo */ function adicionaNovoEstilo(codigoMap,codigoLayer,indiceClasse) { core_carregando("ativa"); core_carregando(" adicionando um novo estilo"); sUrl = "../php/editormapfile.php?funcao=criarNovoEstilo&codigoMap="+codigoMap+"&codigoLayer="+codigoLayer+"&indiceClasse="+indiceClasse; var callback = { success:function(o) { try { if(YAHOO.lang.JSON.parse(o.responseText) == "erro") { core_carregando("Erro"); setTimeout("core_carregando('desativa')",3000); } else { var no = tree.getNodeByProperty("etiquetaEstilo",codigoMap+"_"+codigoLayer+"_"+indiceClasse); var dados = YAHOO.lang.JSON.parse(o.responseText); var d = conteudoNoEstilo(codigoMap,codigoLayer,indiceClasse,dados[0].estilo); var tempNode = new YAHOO.widget.HTMLNode(d,no, false,true); tempNode.isLeaf = true; tempNode.enableHighlight = false; tree.draw(); core_carregando("desativa"); } } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback); }