ó
ø¢TQc           @   sª   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d e f d „  ƒ  YZ d  d l	 m
 Z
 e
 j r¦ e
 j d k r‡ d
 Z n d Z d e f d „  ƒ  YZ n  d S(   iÿÿÿÿ(   t
   ModelAdmin(   t   OpenLayersWidget(   t   OGRGeomType(   t   modelst   GeoModelAdminc           B   sè   e  Z d  Z d Z d Z d Z e Z e Z g  Z	 d Z
 e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z d Z d Z d Z d Z d Z e
 d	 Z d
 Z d Z d Z i d d 6Z e Z  e! Z" e# d „  ƒ Z$ d „  Z% d „  Z& RS(   s   
    The administration options class for Geographic models. Map settings
    may be overloaded from their defaults to create custom maps.
    i    i   i   iX  i  iæ  s   gis/admin/openlayers.htmls,   http://openlayers.org/api/2.11/OpenLayers.jsi   s&   http://vmap0.tiles.osgeo.org/wms/vmap0t   basics   OpenLayers WMSs
   image/jpegt   formatc         C   s9   t  t |  ƒ j } | j |  j g ƒ | j |  j ƒ | S(   s-   Injects OpenLayers JavaScript into the admin.(   t   superR   t   mediat   add_jst   openlayers_urlt   extra_js(   t   selfR   (    (    s9   ../Django//lib/python/django/contrib/gis/admin/options.pyR   +   s    c         K   sa   t  | t j ƒ rD | j d d ƒ } |  j | ƒ | d <| j |   St t |  ƒ j	 | |  Sd S(   s|   
        Overloaded from ModelAdmin so that an OpenLayersWidget is used
        for viewing/editing GeometryFields.
        t   requestt   widgetN(
   t
   isinstanceR   t   GeometryFieldt   popt   Nonet   get_map_widgett	   formfieldR   R   t   formfield_for_dbfield(   R   t   db_fieldt   kwargsR   (    (    s9   ../Django//lib/python/django/contrib/gis/admin/options.pyR   3   s
    c            s}   ˆ  j  d k ‰ ˆ rK ˆ  j  d k r- d ‰ qQ t ˆ  j  j d d ƒ ƒ ‰ n d ‰ d	 ˆ j f ‡  ‡ ‡ ‡ f d
 †  ƒ  Y} | S(   s¼   
        Returns a subclass of the OpenLayersWidget (or whatever was specified
        in the `widget` attribute) using the settings from the attributes set
        in this class.
        t
   MULTIPOINTt   MULTILINESTRINGt   MULTIPOLYGONt   GEOMETRYCOLLECTIONt   Anyt   MULTIt    R   t   OLMapc              sÃ  e  Z ˆ j Z ˆ  j Z d  Z ˆ j rc g  ˆ j j ƒ  D] Z d e ^ q7 Z d d j e ƒ Z n  i  ˆ j	 d 6ˆ j
 d 6ˆ j d 6ˆ j p“ ˆ j d 6e ˆ  j ƒ d 6ˆ  j d	 6ˆ d
 6ˆ j d 6ˆ j d 6ˆ d 6ˆ  j d* k d 6ˆ  j d+ k d 6ˆ  j d, k d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d 6ˆ j d  6ˆ j d! 6ˆ j d" 6ˆ j d# 6ˆ j d$ 6ˆ j  d% 6ˆ j! d& 6ˆ j" d' 6e d( 6ˆ j d) 6Z# RS(-   R   s   %s: '%s's   , %ss   , t   default_lont   default_latt   default_zoomt   display_wktt	   geom_typet
   field_namet   is_collectiont
   scrollablet   layerswitchert   collection_typet
   LINESTRINGR   t   is_linestringt   POLYGONR   t
   is_polygont   POINTR   t   is_pointt   num_zoomt   max_zoomt   min_zoomt   unitst   max_resolutiont
   max_extentt
   modifiablet   mouse_positiont
   scale_textt	   map_widtht
   map_heightt
   point_zoomt   sridt   display_sridt   wms_urlt	   wms_layert   wms_namet   wms_optionst   debug(   R*   R   (   R,   R   (   R.   R   ($   t   __name__t
   __module__t   map_templatet   templateR$   RA   t   itemst   pairt   joinR    R!   R"   RB   R#   R   t   nameR'   R(   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   t   map_sridR=   R>   R?   R@   t   params(    (   R   R&   R   R)   (    s9   ../Django//lib/python/django/contrib/gis/admin/options.pyR   M   sL   			&





















(   s
   MULTIPOINTs   MULTILINESTRINGs   MULTIPOLYGONR   (   R$   R   t   replaceR   (   R   R   R   (    (   R   R   R&   R)   s9   ../Django//lib/python/django/contrib/gis/admin/options.pyR   @   s     	(*('   RC   RD   t   __doc__R    R!   R"   t   FalseR#   R=   R   R0   R1   R2   R3   R4   R5   t   TrueR6   R7   R8   R(   R'   R9   R:   RK   RE   R
   R;   R>   R?   R@   RA   RB   R   R   t   propertyR   R   R   (    (    (    s9   ../Django//lib/python/django/contrib/gis/admin/options.pyR      sB   
	(   t   gdali   i   i  i1¿ t   OSMGeoAdminc           B   s6   e  Z d  Z d Z e Z d Z d Z e d Z d Z	 RS(   s   gis/admin/osm.htmli   s%   -20037508,-20037508,20037508,20037508s   156543.0339i   t   m(
   RC   RD   RE   R0   t   spherical_mercator_sridRK   R5   R4   R;   R3   (    (    (    s9   ../Django//lib/python/django/contrib/gis/admin/options.pyRS   ‚   s   
N(   i   i   (   t   django.contrib.adminR    t    django.contrib.gis.admin.widgetsR   t   django.contrib.gis.gdalR   t   django.contrib.gis.dbR   R   t   django.contrib.gisRR   t   HAS_GDALt   GDAL_VERSIONRU   RS   (    (    (    s9   ../Django//lib/python/django/contrib/gis/admin/options.pyt   <module>   s   s		