Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.app / org.gvsig.scripting.app.mainplugin / src / main / resources-plugin / scripting / scripts / examples / layout / personalizar_mapa1.py @ 593

History | View | Annotate | Download (1.74 KB)

1

    
2
from uselib import use_plugin
3

    
4
use_plugin("org.gvsig.app.document.layout2.app.mainplugin")
5

    
6
from gvsig import *
7
from org.gvsig.app.project.documents.layout import DefaultLayoutManager
8
from javax.imageio import ImageIO
9

    
10
def main(*args):
11

    
12
  # Obtenemos la capa activa de la vista activa
13
  capa = currentLayer()
14

    
15
  # Obtenemos el primer elemento seleccionado de la capa
16
  seleccion = list()
17
  seleccion.extend(capa.getSelection())
18
  entidad = seleccion[0]
19

    
20
  # Obtenemos el encuadre del elemento seleccionado,
21
  # el rotulo y el logo a mostrar en el mapa.
22
  encuadre = entidad.geometry().getEnvelope()
23
  titulo = "Provincias de %s %s" % (entidad.NAMEUNIT, entidad.NATCODE[2:4])
24
  logo = ImageIO.read(script.getResource("datos/logos/"+ entidad.NATCODE[2:4]+".png"))
25
  
26
  # Obtenemos el objeto que se corresponde con el proyecto.
27
  proyecto = currentProject()() # Ojo con los dobles perentesis
28

    
29
  # Localizamos el mapa de nombre "Plantilla" de entre los documentos del proyecto
30
  plantilla = proyecto.getDocument("Plantilla",DefaultLayoutManager.TYPENAME )
31

    
32
  context = plantilla.getLayoutContext()
33

    
34
  # Nos recorremos todos los elementos del mapa buscando los que hemos etiquetado
35
  for elemento in  context.getAllFFrames():
36
    if elemento.getTag() == "Vista":
37
      # Ajustamos el encuadre de la vista al del elemento seleccionado
38
      mapContext = elemento.getMapContext()
39
      mapContext.getViewPort().setEnvelope(encuadre)
40
      mapContext.invalidate()
41
      
42
    elif elemento.getTag() == "Titulo":
43
      # Cambiamos el rotulo del texto que habiamos etiquetado en el mapa  
44
      elemento.clearText() 
45
      elemento.addText(titulo)
46

    
47
    elif elemento.getTag() == "Logotipo":
48
      # Cambiamos la imagen del logotipo
49
      elemento.setImage(logo)
50

    
51
  context.fullRefresh() 
52