ó
±éRc           @  s$  d  d l  m Z m Z d  d l Z d  d l Z d  d l Z d „  Z e j d d k ri e j d e	 ƒ n  y1 d  d l
 Z
 d  d l Z e j Z d  d l Z Wn e k
 r¹ e d ƒ ‚ n Xd d	 d f Z e j e k  rò e d
 e j e ƒ ‚ n  [ e j d d k Z d  d l Z d  d l m Z d  d l m Z m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m Z m  Z  d  d l! m" Z" m# Z# d  d l$ m% Z% d  d l& m' Z' d  d l( m) Z) d  d l m* Z* d  d l m+ Z+ d  d l m, Z, d  d l m- Z- d  d l m. Z. d e j Z/ e0 Z1 d Z2 e j3 d d e j4 ƒ i e j5 e j6 ƒ e j7 6e j5 e j8 ƒ e j9 6e j5 e j: ƒ e j; 6e j5 e j< ƒ e j= 6Z> d „  Z? d „  Z@ d  e f d! „  ƒ  YZA eA ƒ  ZB d" „  ZC d# „  ZD d$ e f d% „  ƒ  YZE d& e jF e f d' „  ƒ  YZG d( e f d) „  ƒ  YZH d* e e jI f d+ „  ƒ  YZJ d, e jI f d- „  ƒ  YZK d. e jL f d/ „  ƒ  YZL d0 f  d1 „  ƒ  YZM yV e j d d2 d f k  p´e jN d3 k rÀd4 ZO n d5 ZO e jP jQ e. d6 d7 eO ƒ ZR Wn( eS ZR e- jT d8 e jU ƒ  d ƒ n XeS d9 „ ZV eH ZW d S(:   iÿÿÿÿ(   t   divisiont   print_functionNc           C  s   t  j d ƒ j j S(   Ni   (   t   syst	   _getframet   f_codet   co_name(    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   fn_name   s    i    i   s6   The gtk* backends have not been tested with Python 3.xs,   Gtk* backend requires pygtk to be installed.i   i   s?   PyGTK %d.%d.%d is installed
PyGTK %d.%d.%d or later is requiredi   i   (   t   Gcf(   t   RendererBaset   GraphicsContextBaset   FigureManagerBaset   FigureCanvasBaset   NavigationToolbar2t   cursorst	   TimerBase(   t   ShowBase(   t   RendererGDKt   FigureCanvasGDK(   t   is_string_liket   is_writable_file_like(   t   colorConverter(   t   Figure(   t   SubplotTool(   t   lines(   t   markers(   t   cbook(   t   verbose(   t   rcParamss   %d.%d.%di`   t   ignores(   .*Unable to retrieve the file info for.*c         C  s0   |  j  ƒ  } | t j @d k o/ | t j @d k S(   Ni    (   t   flagst   gtkt   VISIBLEt   MAPPED(   t   wR   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   GTK_WIDGET_DRAWABLEA   s    c          C  s;   t  j ƒ  r7 t j ƒ  }  |  d k	 r7 |  j j ƒ  q7 n  d S(   s5   
    Is called after every pylab drawing command
    N(   t
   matplotlibt   is_interactiveR   t
   get_activet   Nonet   canvast	   draw_idle(   t
   figManager(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   draw_if_interactiveF   s    t   Showc           B  s   e  Z d  „  Z RS(   c         C  s#   t  j ƒ  d k r t  j ƒ  n  d  S(   Ni    (   R   t
   main_levelt   main(   t   self(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   mainloopQ   s    (   t   __name__t
   __module__R/   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR+   P   s   c         O  s.   | j  d t ƒ } | | | Ž  } t |  | ƒ S(   s.   
    Create a new figure manager instance
    t   FigureClass(   t   popR   t   new_figure_manager_given_figure(   t   numt   argst   kwargsR2   t   thisFig(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   new_figure_managerW   s    c         C  s   t  | ƒ } t | |  ƒ } | S(   sD   
    Create a new figure manager instance for the given figure.
    (   t   FigureCanvasGTKt   FigureManagerGTK(   R5   t   figureR'   t   manager(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR4   `   s    t   TimerGTKc           B  s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s$  
    Subclass of :class:`backend_bases.TimerBase` that uses GTK for timer events.

    Attributes:
    * interval: The time between timer events in milliseconds. Default
        is 1000 ms.
    * single_shot: Boolean flag indicating whether this timer should
        operate as single shot (run once and then stop). Defaults to False.
    * callbacks: Stores list of (func, args) tuples that will be called
        upon timer events. This list can be manipulated directly, or the
        functions add_callback and remove_callback can be used.
    c         C  s)   |  j  ƒ  t j |  j |  j ƒ |  _ d  S(   N(   t   _timer_stopt   gobjectt   timeout_addt	   _intervalt	   _on_timert   _timer(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   _timer_startv   s    
c         C  s/   |  j  d  k	 r+ t j |  j  ƒ d  |  _  n  d  S(   N(   RD   R&   R@   t   source_remove(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR?   |   s    c         C  s*   |  j  d  k	 r& |  j ƒ  |  j ƒ  n  d  S(   N(   RD   R&   R?   RE   (   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   _timer_set_interval�   s    
c         C  sA   t  j |  ƒ t |  j ƒ d k r0 |  j r0 t Sd  |  _ t Sd  S(   Ni    (	   R   RC   t   lent	   callbackst   _singlet   TrueR&   RD   t   False(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRC   ‡   s
    	(   R0   R1   t   __doc__RE   R?   RG   RC   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR>   i   s
   			R:   c           B  sô  e  Z i5 d  d 6d d 6d d 6d  d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d  6d! d" 6d# d$ 6d% d& 6d' d( 6d) d* 6d+ d, 6d- d. 6d/ d0 6d1 d2 6d3 d4 6d5 d6 6d7 d8 6d9 d: 6d; d< 6d= d> 6d? d@ 6dA dB 6dC dD 6dE dF 6dG dH 6dI dJ 6dK dL 6dM dN 6dO dP 6dQ dR 6dS dT 6dU dV 6dW dX 6dY dZ 6d[ d\ 6d1 d] 6d^ d_ 6d^ d` 6d da 6db dc 6Z e j e j Be j Be j Be j Be j	 Be j
 Be j Be j BZ dd „  Z de „  Z df „  Z dg „  Z dh „  Z di „  Z dj „  Z dk „  Z dl „  Z dm „  Z dn „  Z do „  Z dp „  Z dq „  Z dr „  Z ds „  Z dt „  Z du „  Z e  j! j" ƒ  Z! dv e! dw <dv e! dx <dy e! dz <d{ „  Z# e# Z$ d| „  Z% d} „  Z& d~ „  Z' d „  Z( d€ „  Z) e  j* j+ e) _+ d� „  Z, e  j- j+ e, _+ RS(‚   t   controliãÿ  t   shiftiáÿ  t   altiéÿ  iäÿ  iâÿ  iêÿ  t   leftiQÿ  t   upiRÿ  t   rightiSÿ  t   downiTÿ  t   escapeiÿ  t   f1i¾ÿ  t   f2i¿ÿ  t   f3iÀÿ  t   f4iÁÿ  t   f5iÂÿ  t   f6iÃÿ  t   f7iÄÿ  t   f8iÅÿ  t   f9iÆÿ  t   f10iÇÿ  t   f11iÈÿ  t   f12iÉÿ  t   scroll_lockiÿ  t   breakiÿ  t	   backspaceiÿ  t   enteriÿ  t   inserticÿ  t   deleteiÿÿ  t   homeiPÿ  t   endiWÿ  t   pageupiUÿ  t   pagedowniVÿ  t   0ižÿ  t   1iœÿ  t   2i™ÿ  t   3i›ÿ  t   4i–ÿ  t   5i�ÿ  t   6i˜ÿ  t   7i•ÿ  t   8i—ÿ  t   9išÿ  t   +i«ÿ  t   -i­ÿ  t   *iªÿ  t   /i¯ÿ  t   deciŸÿ  i�ÿ  t   superiçÿ  ièÿ  i~ÿ  t   tabi	ÿ  c         C  s�  t  r t d t ƒ  ƒ n  t j |  | ƒ t j j |  ƒ d |  _ t |  _	 d |  _
 d |  _ d  |  _ |  j d |  j ƒ |  j d |  j ƒ |  j d |  j ƒ |  j d |  j ƒ |  j d |  j ƒ |  j d	 |  j ƒ |  j d
 |  j ƒ |  j d |  j ƒ |  j d |  j ƒ |  j d |  j ƒ |  j |  j j ƒ |  j t ƒ |  j t j ƒ |  j  ƒ  t! j" |  j# ƒ |  _$ i  |  _% d  S(   Ns   FigureCanvasGTK.%si    iÿÿÿÿt   scroll_eventt   button_press_eventt   button_release_eventt   configure_eventt   expose_eventt   key_press_eventt   key_release_eventt   motion_notify_eventt   leave_notify_eventt   enter_notify_event(&   t   _debugt   printR   R   t   __init__R   t   DrawingAreat   _idle_draw_idRK   t   _need_redrawt   _pixmap_widtht   _pixmap_heightR&   t   _lastCursort   connectR}   R~   R   R€   R�   R‚   Rƒ   R„   R…   R†   t
   set_eventst	   __class__t
   event_maskt   set_double_bufferedRL   t	   set_flagst	   CAN_FOCUSt   _renderer_initR@   t   idle_addt
   idle_eventt   _idle_event_idt   last_downclick(   R.   R<   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‰   ×   s2     					
c         C  s@   |  j  ƒ  t j |  j ƒ |  j d k r< t j |  j ƒ n  d  S(   Ni    (   t   close_eventR@   RF   Rš   R‹   (   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   destroy÷   s    
c         C  sw   t  r t d t ƒ  ƒ n  | j } |  j j | j } | j t j	 k rQ d } n d } t
 j |  | | | d | ƒt S(   Ns   FigureCanvasGTK.%si   iÿÿÿÿt   guiEvent(   R‡   Rˆ   R   t   xt
   allocationt   heightt   yt	   directiont   gdkt	   SCROLL_UPR   R}   RL   (   R.   t   widgett   eventRŸ   R¢   t   step(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR}   þ   s     		c   
   	   C  só   t  r t d t ƒ  ƒ n  | j } |  j j | j } | j t j	 k } | sÊ | j
 ƒ  } |  j j | j d ƒ } t j t j ƒ  ƒ j d ƒ } | | }	 |	 | k  r· |  j | j =t S| |  j | j <n  t j |  | | | j d | d | ƒt S(   Ns   FigureCanvasGTK.%si    s   gtk-double-click-timet   dblclickRž   (   R‡   Rˆ   R   RŸ   R    R¡   R¢   t   typeR¤   t   _2BUTTON_PRESSt   get_timeR›   t   gett   buttonR   t   settings_get_for_screent   screen_get_defaultt   get_propertyRL   R   R~   (
   R.   R¦   R§   RŸ   R¢   R©   t   current_timet	   last_timet   dblclick_timet
   delta_time(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR~   
  s      	
%c         C  sY   t  r t d t ƒ  ƒ n  | j } |  j j | j } t j |  | | | j	 d | ƒt
 S(   Ns   FigureCanvasGTK.%sRž   (   R‡   Rˆ   R   RŸ   R    R¡   R¢   R   R   R®   RL   (   R.   R¦   R§   RŸ   R¢   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR   "  s     	c         C  sY   t  r t d t ƒ  ƒ n  |  j | ƒ } t  r? t d | ƒ n  t j |  | d | ƒt S(   Ns   FigureCanvasGTK.%st   hitRž   (   R‡   Rˆ   R   t   _get_keyR   R‚   RL   (   R.   R¦   R§   t   key(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‚   *  s      c         C  sY   t  r t d t ƒ  ƒ n  |  j | ƒ } t  r? t d | ƒ n  t j |  | d | ƒt S(   Ns   FigureCanvasGTK.%st   releaseRž   (   R‡   Rˆ   R   R·   R   Rƒ   RL   (   R.   R¦   R§   R¸   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRƒ   1  s      c         C  sˆ   t  r t d t ƒ  ƒ n  | j r> | j j ƒ  \ } } } n | j | j | j } } } |  j	 j
 | } t j |  | | d | ƒt S(   Ns   FigureCanvasGTK.%sRž   (   R‡   Rˆ   R   t   is_hintt   windowt   get_pointerRŸ   R¢   t   stateR    R¡   R   R„   RL   (   R.   R¦   R§   RŸ   R¢   R½   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR„   8  s     	c         C  s   t  j |  | ƒ d  S(   N(   R   R…   (   R.   R¦   R§   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR…   D  s    c         C  s8   | j  j ƒ  \ } } } t j |  | d | | f ƒd  S(   Nt   xy(   R»   R¼   R   R†   (   R.   R¦   R§   RŸ   R¢   R½   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR†   G  s    c         C  s­   | j  |  j k r% |  j | j  } n' | j  d k  rF t | j  ƒ } n d  } xZ t j d g t j d g t j d g f D]. \ } } | j | @rw d j	 | | ƒ } qw qw W| S(   Ni   R{   RP   t   ctrls   {0}+{1}(
   t   keyvalt   keyvaldt   chrR&   R¤   t	   MOD4_MASKt	   MOD1_MASKt   CONTROL_MASKR½   t   format(   R.   R§   R¸   t   key_maskt   prefix(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR·   K  s    c         C  s�   t  r t d t ƒ  ƒ n  | j d  k r- d  S| j | j } } | d k  sX | d k  r\ d  S|  j j } |  j j	 | | | | ƒ t
 |  _ t S(   Ns   FigureCanvasGTK.%si   (   R‡   Rˆ   R   R»   R&   t   widthR¡   R<   t   dpit   set_size_inchesRK   RŒ   RL   (   R.   R¦   R§   R!   t   hRÊ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR€   \  s     	c         C  s6   t  |  _ t |  ƒ r2 |  j ƒ  |  j j t ƒ n  d  S(   N(   RK   RŒ   R"   t
   queue_drawR»   t   process_updatesRL   (   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   drawk  s    	
c           s7   ‡  f d †  } ˆ  j  d k r3 t j | ƒ ˆ  _  n  d  S(   Nc            s   ˆ  j  ƒ  d ˆ  _ t S(   Ni    (   RÏ   R‹   RL   (   R6   (   R.   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt	   idle_draww  s    
	i    (   R‹   R@   R˜   (   R.   RÐ   (    (   R.   sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR(   v  s    c         C  s   t  |  |  j j ƒ |  _ d S(   sñ   Override by GTK backends to select a different renderer
        Renderer should provide the methods:
            set_pixmap ()
            set_width_height ()
        that are used by
            _render_figure() / _pixmap_prepare()
        N(   R   R<   RÊ   t	   _renderer(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR—     s    c         C  sÏ   t  r t d t ƒ  ƒ n  t } | |  j k rW t t |  j d ƒ | ƒ |  _ t } n  | |  j k rŽ t t |  j d ƒ | ƒ |  _ t } n  | rË t	 j
 |  j |  j |  j ƒ |  _ |  j j |  j ƒ n  d S(   sg   
        Make sure _._pixmap is at least width, height,
        create new pixmap if necessary
        s   FigureCanvasGTK.%sgš™™™™™ñ?N(   R‡   Rˆ   R   RL   R�   t   maxt   intRK   RŽ   R¤   t   PixmapR»   t   _pixmapRÑ   t
   set_pixmap(   R.   RÉ   R¡   t   create_pixmap(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   _pixmap_prepareŠ  s     		c         C  s*   |  j  j | | ƒ |  j j |  j  ƒ d S(   s3   used by GTK and GTKcairo. GTKAgg overrides
        N(   RÑ   t   set_width_heightR<   RÏ   (   R.   t   pixmapRÉ   R¡   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   _render_figure£  s    c      	   C  sÇ   t  r t d t ƒ  ƒ n  t |  ƒ rÃ |  j rv |  j \ } } } } |  j | | ƒ |  j |  j | | ƒ t	 |  _ n  | j
 \ } } } } |  j j |  j j |  j |  j | | | | | | ƒ n  t	 S(   sE   Expose_event for all GTK backends. Should not be overridden.
        s   FigureCanvasGTK.%s(   R‡   Rˆ   R   R"   RŒ   R    RØ   RÛ   RÕ   RL   t   areaR»   t   draw_drawablet   stylet   fg_gcR½   (   R.   R¦   R§   RŸ   R¢   R!   RÌ   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR�   ª  s     	t   JPEGt   jpgt   jpegs   Portable Network Graphicst   pngc         O  s   |  j  | d ƒ S(   NRâ   (   t   _print_image(   R.   t   filenameR6   R7   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt
   print_jpegÀ  s    c         O  s   |  j  | d ƒ S(   NRã   (   Rä   (   R.   Rå   R6   R7   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt	   print_pngÄ  s    c      	   O  s  |  j  ƒ  t j @d k r, t j j |  ƒ n  |  j ƒ  \ } } t j |  j | | ƒ } |  j	 j
 | ƒ |  j | | | ƒ t j t j d d | | ƒ } | j | | j ƒ  d d d d | | ƒ t j | d g ƒ }	 | d k rd |	 k rý t d |	 d <n  t |	 d ƒ |	 d <n  t | ƒ rmy | j | | d |	 ƒWqt j k
 ri}
 t d |
 f d	 |  ƒqXn• t | ƒ röt | d
 ƒ rçd  d „ } y  | j | | d | d |	 ƒWqót j k
 rã}
 t d |
 f d	 |  ƒqóXqt d ƒ ‚ n t d ƒ ‚ d  S(   Ni    i   t   qualityRá   Râ   s   savefig.jpeg_qualityt   optionss   Save figure failure:
%st   parentt   save_to_callbackc         S  s   | j  |  ƒ d  S(   N(   t   write(   t   buft   data(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   save_callbackè  s    t	   user_datasE   Saving to a Python file-like object is only supported by PyGTK >= 2.8s-   filename must be a path or a file-like object(   Rá   s   jpeg(   R   R   t   REALIZEDRŠ   t   realizet   get_width_heightR¤   RÔ   R»   RÑ   RÖ   RÛ   t   Pixbuft   COLORSPACE_RGBt   get_from_drawablet   get_colormapR   t   restrict_dictR   t   strR   t   saveR@   t   GErrort   error_msg_gtkR   t   hasattrR&   Rë   t
   ValueError(   R.   Rå   RÆ   R6   R7   RÉ   R¡   RÚ   t   pixbufRé   t   excRï   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRä   Ç  s8     c         O  s   t  | | Ž  S(   sÖ  
        Creates a new backend-specific subclass of :class:`backend_bases.Timer`.
        This is useful for getting periodic events through the backend's native
        event loop. Implemented only for backends with GUIs.

        optional arguments:

        *interval*
          Timer interval in milliseconds
        *callbacks*
          Sequence of (func, args, kwargs) where func(*args, **kwargs) will
          be executed by the timer every *interval*.
        (   R>   (   R.   R6   R7   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt	   new_timeró  s    c         C  sK   t  j j ƒ  x t  j ƒ  r, t  j t ƒ q Wt  j j ƒ  t  j j ƒ  d  S(   N(   R   R¤   t   threads_entert   events_pendingt   main_iterationRK   t   flusht   threads_leave(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   flush_events  s
    c         C  s   t  j |  | ƒ d  S(   N(   R   t   start_event_loop_default(   R.   t   timeout(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   start_event_loop
  s    c         C  s   t  j |  ƒ d  S(   N(   R   t   stop_event_loop_default(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   stop_event_loop  s    (.   R0   R1   RÁ   R¤   t   BUTTON_PRESS_MASKt   BUTTON_RELEASE_MASKt   EXPOSURE_MASKt   KEY_PRESS_MASKt   KEY_RELEASE_MASKt   ENTER_NOTIFY_MASKt   LEAVE_NOTIFY_MASKt   POINTER_MOTION_MASKt   POINTER_MOTION_HINT_MASKR“   R‰   R�   R}   R~   R   R‚   Rƒ   R„   R…   R†   R·   R€   RÏ   R(   R—   RØ   RÛ   R�   R   t	   filetypest   copyRæ   t	   print_jpgRç   Rä   R  R  R
  R  RM   R  R  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR:   “   s®   

7
	 																		


			,				R;   c           B  s\   e  Z d  Z d „  Z d „  Z d „  Z d „  Z e Z d „  Z	 d „  Z
 d „  Z d „  Z RS(	   s  
    Public attributes

    canvas      : The FigureCanvas instance
    num         : The Figure number
    toolbar     : The gtk.Toolbar  (gtk only)
    vbox        : The gtk.VBox containing the canvas and toolbar (gtk only)
    window      : The gtk.Window   (gtk only)
    c   	        s  t  r t d t ƒ  ƒ n  t j ˆ | ˆ  ƒ t j ƒ  ˆ _ ˆ j d ˆ  ƒ t	 r� y ˆ j j
 t	 ƒ Wq� t j d t j ƒ  d ƒ q� Xn  t j ƒ  ˆ _ ˆ j j ˆ j ƒ ˆ j j ƒ  ˆ j j ƒ  ˆ j j ˆ j t t ƒ ˆ j | ƒ ˆ _ t ˆ j j j j ƒ } t ˆ j j j j ƒ } ˆ j d  k	 r}ˆ j j ƒ  ˆ j j ˆ j t t ƒ ˆ j j  ƒ  \ } } | | 7} n  ˆ j j! | | ƒ ‡  f d †  } ˆ j j" d | ƒ ˆ j j" d | ƒ t# j$ ƒ  ráˆ j j ƒ  n  ‡ f d †  } ˆ j j j% | ƒ ˆ j j& ƒ  d  S(	   Ns   FigureManagerGTK.%ss	   Figure %ds"   Could not load matplotlib icon: %si   c            s   t  j ˆ  ƒ d  S(   N(   R   R�   (   R6   (   R5   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR�   B  s    R�   t   delete_eventc           s#   ˆ  j  d k	 r ˆ  j  j ƒ  n  d S(   s8   this will be called whenever the current axes is changedN(   t   toolbarR&   t   update(   t   fig(   R.   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   notify_axes_changeI  s     ('   R‡   Rˆ   R   R
   R‰   R   t   WindowR»   t   set_window_titlet   window_icont   set_icon_from_fileR   t   reportR   t   exc_infot   VBoxt   vboxt   addt   showR'   t
   pack_startRK   t   _get_toolbarR  RÓ   R<   t   bboxRÉ   R¡   R&   t   pack_endRL   t   size_requestt   set_default_sizeR�   R#   R$   t   add_axobservert
   grab_focus(	   R.   R'   R5   R!   RÌ   t   tb_wt   tb_hR�   R  (    (   R5   R.   sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‰     s@     "c         G  sô   t  r t d t ƒ  ƒ n  t |  d ƒ rH |  j d  k	 rH |  j j ƒ  n  t |  d ƒ rg |  j j ƒ  n  t |  d ƒ r† |  j j ƒ  n  t |  d ƒ r¥ |  j	 j ƒ  n  |  j
 j ƒ  t j ƒ  d k rð t j ƒ  rð t j ƒ  d k rð t j ƒ  n  d  S(   Ns   FigureManagerGTK.%sR  R%  R»   R'   i    i   (   R‡   Rˆ   R   Rý   R  R&   R�   R%  R»   R'   t   __dict__t   clearR   t   get_num_fig_managersR#   R$   R   R,   t	   main_quit(   R.   R6   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR�   P  s     c         C  s   |  j  j ƒ  d  S(   N(   R»   R'  (   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR'  a  s    c         C  s7   |  j  |  _  |  j  r& |  j j ƒ  n |  j j ƒ  d  S(   N(   t   _full_screen_flagR»   t
   fullscreent   unfullscreen(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   full_screen_togglee  s    	c         C  sT   t  d d k r% t | |  j ƒ } n+ t  d d k rJ t | |  j ƒ } n d  } | S(   NR  t   classict   toolbar2(   R   t   NavigationToolbarR»   t   NavigationToolbar2GTKR&   (   R.   R'   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR)  n  s    c         C  s   |  j  j ƒ  S(   N(   R»   t	   get_title(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   get_window_titley  s    c         C  s   |  j  j | ƒ d  S(   N(   R»   t	   set_title(   R.   t   title(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  |  s    c         C  s   |  j  j | | ƒ d S(   s   set the canvas size in pixelsN(   R»   t   resize(   R.   RÉ   R¡   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRB    s    (   R0   R1   RM   R‰   R�   R'  R9  RL   R6  R)  R?  R  RB  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR;     s   		4						R=  c           B  st   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   c         C  s-   | |  _  t j j |  ƒ t j |  | ƒ d  S(   N(   t   winR   t   ToolbarR‰   R   (   R.   R'   R»   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‰   ˆ  s    	c         C  s   |  j  j | ƒ d  S(   N(   t   messaget	   set_label(   R.   t   s(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   set_message�  s    c         C  s   |  j  j j t | ƒ d  S(   N(   R'   R»   t
   set_cursort   cursord(   R.   t   cursor(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRI  �  s    c         C  s"   y
 |  `  Wn t k
 r n Xd  S(   N(   t   _pixmapBackt   AttributeError(   R.   R§   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR¹   “  s     
 c         C  s   |  j  j ƒ  d  S(   N(   R'   R(   (   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   dynamic_update—  s    c      	   C  s¿  |  j  j } | d k r d S| j ƒ  } |  j  j j j } | | } | | } t | | ƒ }	 t | | ƒ }
 g  t | | ƒ t | | ƒ |	 |
 f D] } t	 | ƒ ^ q“ } y |  j
 \ } } WnÎ t k
 rŽ| j d k rá d S| j } g  | j j D] } t	 | ƒ ^ q÷ \ } } }	 }
 t	 | ƒ | |
 } | | |	 |
 f } | t j j | |	 |
 ƒ f |  _
 |  j
 d j | | | | d d |	 |
 ƒ n X| j | | d d | Œ | j | t | Œ d S(   sK   adapted from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/189744Ni   i    (   R'   R»   R&   t   new_gcR<   R*  R¡   t   abst   minRÓ   RL  RM  t   inaxest   boundsR   R¤   RÔ   RÝ   t   draw_rectangleRL   (   R.   R§   t   x0t   y0t   x1t   y1t   drawablet   gcR¡   R!   RÌ   t   valt   rectt   lastrectt
   pixmapBackt   axt   lt   bt   axrect(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   draw_rubberband›  s.    

=	1!-c         C  s   |  j  t j ƒ |  j ƒ  d  S(   N(   t	   set_styleR   t   TOOLBAR_ICONSt   _init_toolbar2_4(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   _init_toolbar½  s    c   
      C  s‘  t  j j t d d ƒ } t s1 t j ƒ  |  _ n  xÞ |  j D]Ó \ } } } } | d  k ru |  j
 t j ƒ  d ƒ q; n  t  j j | | d ƒ } t j ƒ  } | j | ƒ t j | | ƒ } |  j
 | d ƒ | j d t |  | ƒ ƒ t rø | j | ƒ q; | j |  j | d ƒ q; Wt j ƒ  }	 |  j
 |	 d ƒ |	 j t ƒ |	 j t ƒ t j ƒ  }	 |  j
 |	 d ƒ t j ƒ  |  _ |	 j |  j ƒ |  j ƒ  d  S(   Nt   datapatht   imagesiÿÿÿÿs   .pngt   clickedt   Private(   t   ost   patht   joinR   t   _new_tooltip_apiR   t   Tooltipst   tooltipst	   toolitemsR&   Rf   t   SeparatorToolItemt   Imaget   set_from_filet
   ToolButtonR�   t   getattrt   set_tooltip_textt   set_tooltipt   set_drawRL   t
   set_expandRK   t   ToolItemt   LabelRE  R&  t   show_all(
   R.   t   basedirt   textt   tooltip_textt
   image_filet   callbackt   fnamet   imaget   tbuttont   toolitem(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRf  Â  s2    c         C  sn   t  d d d |  j d t j j t j d d ƒ ƒ d |  j j ƒ  d |  j j	 ƒ  ƒ } | j
 |  j j ƒ  ƒ | S(	   NRA  s   Save the figureRê   Rm  s   savefig.directoryt    R  t   default_filetype(   t   FileChooserDialogRC  Rl  Rm  t
   expanduserR   R­   R'   t   get_supported_filetypest   get_default_filetypet   set_current_namet   get_default_filename(   R.   t   fc(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   get_filechooserä  s    	c         G  sÎ   |  j  ƒ  } | j ƒ  \ } } | j ƒ  | rÊ t j j t j d d ƒ ƒ } | d k re | t d <n t j j t	 | ƒ ƒ t d <y |  j
 j | d | ƒWqÊ t k
 rÆ } t t | ƒ d |  ƒqÊ Xn  d  S(   Ns   savefig.directoryRˆ  RÆ   Rê   (   R‘  t   get_filename_from_userR�   Rl  Rm  R‹  R   R­   t   dirnamet   unicodeR'   t   print_figuret	   ExceptionRü   Rù   (   R.   R6   t   chooserR„  RÆ   t	   startpatht   e(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   save_figureî  s    
c   	      C  s  t  d d ƒ } |  j | ƒ } | j d d ƒ t |  j j | ƒ } t | j j ƒ } t | j j	 ƒ } t
 j ƒ  } t r— y | j t ƒ Wq— q— Xn  | j d ƒ | j | | ƒ t
 j ƒ  } | j | ƒ | j ƒ  | j ƒ  | j | t t ƒ | j ƒ  d  S(   Nt   figsizei   i   t   topgÍÌÌÌÌÌì?s   Subplot Configuration Tool(   i   i   (   R   t   _get_canvast   subplots_adjustR   R'   R<   RÓ   R*  RÉ   R¡   R   R  R   R!  R@  R-  R$  R&  R'  R(  RK   (	   R.   R®   t   toolfigR'   t   toolR!   RÌ   R»   R%  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   configure_subplotsÿ  s(     

c         C  s
   t  | ƒ S(   N(   R:   (   R.   R  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR�    s    (   R0   R1   R‰   RH  RI  R¹   RN  Rc  Rg  Rf  R‘  Rš  R¡  R�  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR=  ‡  s   						"		"	
		R<  c           B  sU  e  Z d  Z d d e j d d e f d d e j d d e f d d	 e j d
 d e f d d e j d
 d e f d& d d e j
 d d e f d d e j d d e f d d e j d d e f d d e j d d e f d' d d e j d d% e f f Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z d# „  Z d$ „  Z RS((   sn   
    Public attributes

      canvas - the FigureCanvas  (gtk.DrawingArea)
      win    - the gtk.Window

    t   Lefts2   Pan left with click or wheel mouse (bidirectional)t   panxiÿÿÿÿt   Rights3   Pan right with click or wheel mouse (bidirectional)i   s	   Zoom In XsN   Zoom In X (shrink the x axis limits) with click or wheel mouse (bidirectional)t   zoomxs
   Zoom Out XsO   Zoom Out X (expand the x axis limits) with click or wheel mouse (bidirectional)t   Ups0   Pan up with click or wheel mouse (bidirectional)t   panyt   Downs2   Pan down with click or wheel mouse (bidirectional)s	   Zoom In YsN   Zoom in Y (shrink the y axis limits) with click or wheel mouse (bidirectional)t   zoomys
   Zoom Out YsO   Zoom Out Y (expand the y axis limits) with click or wheel mouse (bidirectional)t   Saves   Save the figureRš  c      	   C  s™   t  j j |  ƒ | |  _ | |  _ |  j t  j ƒ |  j ƒ  |  j |  _	 t
 d d d |  j d |  j j ƒ  d |  j j ƒ  ƒ |  _ |  j ƒ  |  j	 ƒ  d S(   s�   
        figManager is the FigureManagerGTK instance that contains the
        toolbar, with attributes figure, window and drawingArea

        RA  s   Save the figureRê   R  R‰  N(   R   RD  R‰   R'   RC  Rd  Re  t   _create_toolitems_2_4t   _update_2_4R  RŠ  RŒ  R�  t
   fileselectR~  (   R.   R'   R»   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‰   G  s    		
	
c      	     s$  t  j } t s! t  j ƒ  ˆ _ n  xˆ j D]
\ } } } } } } | d  k rk ˆ j t  j ƒ  d ƒ q+ n  t  j	 ƒ  } | j
 | | ƒ t  j | | ƒ }	 ˆ j |	 d ƒ | rÎ |	 j d t ˆ | ƒ | ƒ n |	 j d t ˆ | ƒ ƒ | r	|	 j d t ˆ | ƒ ƒ n  t r|	 j | ƒ q+ |	 j ˆ j | d ƒ q+ Wt  j ƒ  ˆ _ ˆ j ˆ j d ƒ t rtˆ j j d ƒ n ˆ j j ˆ j d d d d ƒt  j d	 d
 d d
 d d d d ƒ }
 ˆ j j |
 ƒ t  j d ƒ ˆ _ |
 j ˆ j ƒ ‡ f d †  ‰  d  ‡  ‡ f d † } ˆ j j d | ƒ d  S(   NiÿÿÿÿRj  R}   Rk  i    s    Select axes that controls affectt   tip_textt   tip_privatet   xaligng      à?t   yalignt   xscaleg        t   yscalet   Axesc           s¯   ˆ  j  j ƒ  \ } } ˆ  j  j ƒ  \ } } } ˆ  j j ƒ  \ } } ˆ  j ƒ  j ƒ  } |  j ƒ  \ }	 }
 | | | } | | | ˆ  j j j } t	 | | |
 ƒ } | | t
 f S(   sè   Function for positioning a popup menu.
            Place menu below the menu button, but ensure it does not go off
            the bottom of the screen.
            The default is to popup menu at current mouse position
            (   R»   t
   get_originR¼   t
   menubuttont
   get_screent
   get_heightR,  R    R¡   RQ  RK   (   t   menuRU  RV  RW  RX  t   mt   x2t   y2t   sc_hR!   RÌ   RŸ   R¢   (   R.   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   position_menuŒ  s    c           s&   ˆ j  j d  d  ˆ  d t j ƒ  ƒ d  S(   Ni    (   t   axismenut   popupR&   R   t   get_current_event_time(   R®   Rî   (   R¾  R.   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   button_clicked�  s    (   R   t   ICON_SIZE_SMALL_TOOLBARRo  Rp  Rq  Rr  R&   Rf   Rs  Rt  t   set_from_stockRv  R�   Rw  Rx  Ry  R|  t   axes_toolitemt	   AlignmentR&  t   ButtonR¶  (   R.   t   iconSizeR€  R�  t	   image_numRƒ  t   callback_argt   scrollR…  R†  t   alignRÂ  (    (   R¾  R.   sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR«  _  sJ    	
	
		$c         C  ss   |  j  j j |  _ t |  j ƒ d k rF |  j ƒ  |  _ |  j j ƒ  n |  j j	 ƒ  |  j
 t t |  j ƒ ƒ ƒ d  S(   Ni   (   R'   R<   t   axest   _axesRH   t   _make_axis_menuR¿  R¶  R~  t   hidet
   set_activet   range(   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR¬  ¤  s    c           s  d  ‡  ‡ f d † } t j ƒ  } t j d ƒ ˆ _ | j ˆ j ƒ ˆ j j d | ƒ t j d ƒ ˆ _ | j ˆ j ƒ ˆ j j d | ƒ g  ‰  xk t t	 ˆ j
 ƒ ƒ D]T } t j d | d ƒ } | j | ƒ | j d | ƒ | j t ƒ ˆ  j | ƒ q§ W| j ƒ  | S(   Nc           s©   |  ˆ j  k r0 xU ˆ  D] }  |  j t ƒ q Wn7 |  ˆ j k rg x% ˆ  D] }  |  j |  j ƒ  ƒ qF Wn  g  t ˆ  ƒ D] \ } }  |  j ƒ  rt | ^ qt } ˆ j | ƒ d  S(   N(   t   itemAllRÑ  RK   t
   itemInvertR%   t	   enumerate(   t   itemRî   t   it   ind(   t   itemsR.   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   toggled¶  s     1t   Allt   activatet   Inverts   Axis %di   RÚ  (   R&   R   t   Menut   MenuItemRÓ  t   appendR�   RÔ  RÒ  RH   RÎ  t   CheckMenuItemRÑ  RK   R~  (   R.   RÚ  R¹  R×  RÖ  (    (   RÙ  R.   sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRÏ  ³  s"    

c         C  s3   | |  _  g  |  j  D] } |  j | ^ q |  _ d  S(   N(   t   _indRÎ  t   _active(   R.   RØ  R×  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRÑ  Ö  s    	c         C  s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   panx in direction(   Rã  t   xaxist   panR'   RÏ   RK   (   R.   R®   R£   t   a(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR£  Ú  s    c         C  s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   pany in direction(   Rã  t   yaxisRå  R'   RÏ   RK   (   R.   R®   R£   Ræ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR§  â  s    c         C  s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   zoomx in direction(   Rã  Rä  t   zoomR'   RÏ   RK   (   R.   R®   R£   Ræ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR¥  é  s    c         C  s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   zoomy in direction(   Rã  Rç  Rè  R'   RÏ   RK   (   R.   R®   R£   Ræ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR©  ð  s    c      	   C  s4   t  d d d |  j d |  j j ƒ  d |  j j ƒ  ƒ S(   NRA  s   Save the figureRê   R  R‰  (   RŠ  RC  R'   RŒ  R�  (   R.   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‘  ÷  s
    	c         G  sk   |  j  ƒ  j ƒ  \ } } | rg y |  j j | d | ƒWqg t k
 rc } t t | ƒ d |  ƒqg Xn  d  S(   NRÆ   Rê   (   R‘  R’  R'   R•  R–  Rü   Rù   (   R.   R6   R„  RÆ   R™  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRš  þ  s    N(   NNNNNN(   NNNNNN(   R0   R1   RM   R   t   STOCK_GO_BACKRK   t   STOCK_GO_FORWARDt   STOCK_ZOOM_INt   STOCK_ZOOM_OUTR&   t   STOCK_GO_UPt   STOCK_GO_DOWNt
   STOCK_SAVERL   Rr  R‰   R«  R¬  RÏ  RÑ  R£  R§  R¥  R©  R‘  Rš  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR<    sH   		E		#						RŠ  c           B  sP   e  Z d  Z d d e j e j e j e j e j	 f d g  d d „ Z
 d „  Z RS(   s^   GTK+ 2.4 file selector which presents the user with a menu
    of supported image formats
    s	   Save filec           sÚ  t  t ˆ  ƒ j | | | | ƒ t  t ˆ  ƒ j t ƒ ˆ  j t j ƒ | sa t j	 ƒ  t j
 } n  ˆ  j | ƒ ˆ  j d | ƒ t j d d ƒ } | j t j d ƒ d t ƒt j t j ƒ }	 t j |	 ƒ }
 t j ƒ  } |
 j | t ƒ |
 j | d d ƒ | j |
 ƒ | ˆ  _ | j ƒ  ˆ  _ ˆ  j j ƒ  d } xO t ˆ  j ƒ D]> \ } \ } } |
 j d | | f ƒ | | k rE| } qEqEW|
 j | ƒ | ˆ  _ d  ‡  f d	 † } |
 j  d
 | ƒ | j! ƒ  ˆ  j" | ƒ d  S(   Ns   image.t   spacingi
   s   File Format:t   expandR€  i    s	   %s (*.%s)c           s·   t  j j ˆ  j ƒ  ƒ \ } } t  j j | ƒ \ } } | d } ˆ  j |  j ƒ  d } | ˆ  _ | ˆ  j k r€ | d | } n& | d k r¦ | j	 d ƒ d | } n  ˆ  j
 | ƒ d S(   s   File extension changedi   i    t   .Rˆ  N(   Rl  Rm  t   splitt   get_filenamet   splitextt   sorted_filetypesR%   t   extR  t   rstripRŽ  (   t   cboxRî   t   headRå   t   rootR÷  t   new_ext(   R.   (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   cb_cbox_changed5  s    
	t   changed(#   R{   RŠ  R‰   t   set_do_overwrite_confirmationRK   t   set_default_responseR   t   RESPONSE_OKRl  t   getcwdt   sept   set_current_folderRŽ  t   HBoxR(  R}  RL   t	   ListStoreR@   t   TYPE_STRINGt   ComboBoxt   CellRendererTextt   add_attributeR  RÙ  Rö  t   sortRÕ  t   append_textRÑ  R÷  R&   R�   R~  t   set_extra_widget(   R.   RA  Rê   t   actiont   buttonsRm  R  R‰  t   hboxt	   liststoreRù  t   cellt   defaultR×  R÷  t   nameRý  (    (   R.   sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‰     s<    
 	"	
c         C  sL   x< t  r> d  } |  j ƒ  t t j ƒ k r. Pn  |  j ƒ  } Pq W| |  j f S(   N(   RK   R&   t   runRÓ   R   R  Rô  R÷  (   R.   Rå   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR’  H  s    	N(   R0   R1   RM   R&   R   t   FILE_CHOOSER_ACTION_SAVEt   STOCK_CANCELt   RESPONSE_CANCELRï  R  R‰   R’  (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRŠ    s   5t   DialogLinepropsc           B  sD  e  Z d  Z d Z g  e j j D] Z e j ƒ  r e ^ q Z	 e
 g  e e	 ƒ D] \ Z Z e e f ^ qM ƒ Z g  e j j D] Z e j e ƒ r{ e ^ q{ Z e
 g  e e ƒ D] \ Z Z e e f ^ q¬ ƒ Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! RS(   s0   
    A GUI dialog for controlling lineprops
    t   on_combobox_lineprops_changedt   on_combobox_linestyle_changedt   on_combobox_marker_changedt"   on_colorbutton_linestyle_color_sett#   on_colorbutton_markerface_color_sett$   on_dialog_lineprops_okbutton_clickedt(   on_dialog_lineprops_cancelbutton_clickedc   	      C  s¥  d d  l  } t j ƒ  } t j j | d ƒ } t j j | ƒ sR t d | ƒ ‚ n  t |  _	 t
 |  _ | j j | d ƒ |  _ |  j j t g  |  j D] } | t |  | ƒ f ^ q’ ƒ ƒ |  j j d ƒ |  _ | |  _ |  j j d ƒ } | j d ƒ | |  _ |  j j d ƒ } x |  j D] } | j | ƒ qW| j d ƒ | |  _ |  j j d ƒ } x |  j D] } | j | ƒ qbW| j d ƒ | |  _ d |  _ t
 |  _	 d  S(	   Niÿÿÿÿs   lineprops.glades.   Could not find gladefile lineprops.glade in %st   dialog_linepropst   combobox_linepropsi    t   combobox_linestylest   combobox_markers(   t	   gtk.gladeR#   t   get_data_pathRl  Rm  Rn  t   existst   IOErrorRL   t   _initedRK   t
   _updatesont   gladet   XMLt   wtreet   signal_autoconnectt   dictt   signalsRw  t
   get_widgett   dlgR   RÑ  t   cbox_linepropst
   linestylesR  t   cbox_linestylesR   t   cbox_markerst   _lastcnt(	   R.   R   R   t   datadirt	   gladefileRG  Rù  t   lsRº  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR‰   h  s4    		;					c         C  s£   t  |  _ |  j } x. t |  j d d d ƒ D] } | j | ƒ q, Wx$ |  j D] } | j | j ƒ  ƒ qM W| j	 d ƒ t
 |  _ t |  j ƒ |  _ |  j j ƒ  d S(   s   populate the combo boxi   iÿÿÿÿi    N(   RL   R*  R3  RÒ  R7  t   remove_textR   R  t	   get_labelRÑ  RK   RH   R2  R'  (   R.   Rù  R×  t   line(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR'  Œ  s    		 	c         C  s    |  j  j ƒ  } |  j | } | S(   s   get the active line(   R3  R%   R   (   R.   RØ  R=  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   get_active_line�  s    c         C  s    |  j  j ƒ  } |  j | } | S(   s   get the active lineinestyle(   R5  R%   R4  (   R.   RØ  R:  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   get_active_linestyle¤  s    c         C  s    |  j  j ƒ  } |  j | } | S(   s   get the active lineinestyle(   R6  R%   R   (   R.   RØ  Rº  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   get_active_markerª  s    c   
      C  sB  |  j  s |  j r d S|  j ƒ  } |  j ƒ  } |  j ƒ  } | j | ƒ | j | ƒ |  j j d ƒ } | j	 ƒ  } g  | j
 | j | j f D] } | d ^ q� \ } } }	 | j | | |	 f ƒ |  j j d ƒ } | j	 ƒ  } g  | j
 | j | j f D] } | d ^ qù \ } } }	 | j | | |	 f ƒ | j j j ƒ  d S(   s-   update the active line props from the widgetsNt   colorbutton_linestyleg    àÿï@t   colorbutton_markerface(   R)  R*  R>  R?  R@  t   set_linestylet
   set_markerR-  R1  t	   get_colort   redt   greent   bluet	   set_colort   set_markerfacecolorR<   R'   RÏ   (
   R.   R=  R:  t   markerR®   t   colorR[  t   rt   gRa  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   _update°  s      88c         C  s‰  |  j  s d St |  _ |  j ƒ  } | j ƒ  } | d k rC d } n  |  j j |  j | ƒ | j	 ƒ  } | d k r{ d } n  |  j
 j |  j | ƒ t j | j ƒ  ƒ \ } } } t j j g  | | | f D] } t | d ƒ ^ qÉ Œ  }	 |  j j d ƒ }
 |
 j |	 ƒ t j | j ƒ  ƒ \ } } } t j j g  | | | f D] } t | d ƒ ^ q>Œ  }	 |  j j d ƒ }
 |
 j |	 ƒ t |  _ d S(   s'   update the widgets from the active lineNR&   iÿÿ  RA  RB  (   R)  RL   R*  R>  t   get_linestyleR&   R5  RÑ  t
   linestyledt
   get_markerR6  t   markerdR   t   to_rgbRE  R   R¤   t   ColorRÓ   R-  R1  RI  t   get_markerfacecolorRK   (   R.   RÖ  R=  R:  RK  RM  RN  Ra  R[  RL  R®   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  Ç  s*    	 	 	 	88c         C  s   |  j  ƒ  d  S(   N(   RO  (   R.   RÖ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  à  s    c         C  s   |  j  ƒ  d  S(   N(   RO  (   R.   RÖ  (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  ã  s    c         C  s   |  j  ƒ  d  S(   N(   RO  (   R.   R®   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  æ  s    c         C  s   |  j  ƒ  d S(   s!   called colorbutton marker clickedN(   RO  (   R.   R®   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  é  s    c         C  s   |  j  ƒ  |  j j ƒ  d  S(   N(   RO  R2  RÐ  (   R.   R®   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  í  s    
c         C  s   |  j  j ƒ  d  S(   N(   R2  RÐ  (   R.   R®   (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR   ñ  s    (   s   on_combobox_lineprops_changeds   on_combobox_linestyle_changeds   on_combobox_marker_changeds"   on_colorbutton_linestyle_color_sets#   on_colorbutton_markerface_color_sets$   on_dialog_lineprops_okbutton_clickeds(   on_dialog_lineprops_cancelbutton_clicked("   R0   R1   RM   R0  R   t   Line2Dt
   lineStylesR:  t   stripR4  R/  RÕ  R×  RG  RQ  R   t   MarkerStyleRº  R   R   RS  R‰   R'  R>  R?  R@  RO  R  R  R  R  R  R  R   (    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyR  R  s2         +1.1	$											i   t   win32s   matplotlib.pngs   matplotlib.svgRh  Ri  s"   Could not load matplotlib icon: %sc      	   C  s¦   | d  k	 r= | j ƒ  } | j ƒ  t j @d k r= d  } q= n  t |  ƒ sd d j t t |  ƒ ƒ }  n  t j	 d | d t j
 d t j d |  ƒ } | j ƒ  | j ƒ  d  S(   Ni    t   ,Rê   Rª   R  t   message_format(   R&   t   get_toplevelR   R   t   TOPLEVELR   Rn  t   mapRù   t   MessageDialogt   MESSAGE_ERRORt
   BUTTONS_OKR  R�   (   t   msgRê   t   dialog(    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyRü     s    				
(X   t
   __future__R    R   Rl  R   t   warningsR   t   version_infot   warnt   ImportWarningR@   R   R¤   t   pangot   ImportErrort   pygtk_version_requiredt   pygtk_versionRo  R#   t   matplotlib._pylab_helpersR   t   matplotlib.backend_basesR   R	   R
   R   R   R   R   R   t   matplotlib.backends.backend_gdkR   R   t   matplotlib.cbookR   R   t   matplotlib.colorsR   t   matplotlib.figureR   t   matplotlib.widgetsR   R   R   R   R   R   t   backend_versionRL   R‡   t   PIXELS_PER_INCHt   filterwarningst   Warningt   Cursort   FLEURt   MOVEt   HAND2t   HANDt   LEFT_PTRt   POINTERt   TCROSSt   SELECT_REGIONRJ  R"   R*   R+   R'  R9   R4   R>   RŠ   R:   R;   RD  R=  R<  RŠ  R  t   platformt   icon_filenameRm  Rn  R   R&   R"  R#  Rü   t   FigureManager(    (    (    sY   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk.pyt   <module>   s„   $	
 	4		
					*ÿ €u—éK¥'	 