ó
ÄCõRc           @   s†  d  d l  m Z d  d l Z d  d l Z d „  Z y d  d l Z Wn e k
 r` e d ƒ ‚ n Xy e j d d ƒ Wn e k
 r” e d ƒ ‚ n Xy  d  d l	 m
 Z
 m Z m Z Wn e k
 rÔ e d ƒ ‚ n Xd  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 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& ƒ  e
 j' ƒ  e
 j( ƒ  f Z) e* Z+ d Z, i e j- j. e j/ j0 ƒ e j1 6e j- j. e j/ j2 ƒ e j3 6e j- j. e j/ j4 ƒ e j5 6e j- j. e j/ j6 ƒ e j7 6Z8 d „  Z9 d e f d „  ƒ  YZ: e: ƒ  Z; d e f d „  ƒ  YZ< d e
 j= e f d „  ƒ  YZ> e> Z? d e f d „  ƒ  YZ@ d e e
 jA f d  „  ƒ  YZB d! e
 jA f d" „  ƒ  YZC d# e
 jD f d$ „  ƒ  YZD d% d- d& „  ƒ  YZE e jF d' k rQd( ZG n d) ZG e jH jI e j% d* d+ eG ƒ ZJ d d, „ ZL d S(.   iÿÿÿÿ(   t   divisionNc           C   s   t  j d ƒ j j S(   Ni   (   t   syst	   _getframet   f_codet   co_name(    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   fn_name   s    s0   Gtk3 backend requires pygobject to be installed.t   Gtks   3.0sS   Gtk3 backend requires the GObject introspection bindings for Gtk 3 to be installed.(   R   t   Gdkt   GObject(   t   Gcf(   t   RendererBaset   GraphicsContextBaset   FigureManagerBaset   FigureCanvasBaset   NavigationToolbar2t   cursorst	   TimerBase(   t   ShowBase(   t   is_string_liket   is_writable_file_like(   t   colorConverter(   t   Figure(   t   SubplotTool(   t   lines(   t   cbook(   t   verbose(   t   rcParamss   %s.%s.%si`   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(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   draw_if_interactive7   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(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   mainloopA   s    (   t   __name__t
   __module__R'   (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR#   @   s   t	   TimerGTK3c           B   s2   e  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s%  
    Subclass of :class:`backend_bases.TimerBase` that uses GTK3 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_stopR   t   timeout_addt	   _intervalt	   _on_timert   _timer(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   _timer_startU   s    
c         C   s/   |  j  d  k	 r+ t j |  j  ƒ d  |  _  n  d  S(   N(   R/   R   R   t   source_remove(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR+   [   s    c         C   s*   |  j  d  k	 r& |  j ƒ  |  j ƒ  n  d  S(   N(   R/   R   R+   R0   (   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   _timer_set_interval`   s    
c         C   sA   t  j |  ƒ t |  j ƒ d k r0 |  j r0 t Sd  |  _ t Sd  S(   Ni    (	   R   R.   t   lent	   callbackst   _singlet   TrueR   R/   t   False(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR.   f   s
    	(   R(   R)   t   __doc__R0   R+   R2   R.   (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR*   H   s
   			t   FigureCanvasGTK3c           B   sŠ  e  Z i1 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] 6Z e j j e j j Be j j Be j j Be j j	 Be j j
 Be j j Be j j Be j j BZ d^ „  Z d_ „  Z d` „  Z da „  Z db „  Z dc „  Z dd „  Z de „  Z df „  Z dg „  Z dh „  Z di „  Z dj „  Z dk „  Z dl „  Z dm „  Z dn „  Z do „  Z  e! j" j# e  _# dp „  Z$ e! j% j# e$ _# RS(q   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�ÿ  c         C   s^  t  r d t ƒ  GHn  t j |  | ƒ t j j |  ƒ d |  _ t |  _ 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 ƒ  t j |  j ƒ |  _ d  S(   Ns   FigureCanvasGTK3.%si    t   scroll_eventt   button_press_eventt   button_release_eventt   configure_eventt   drawt   key_press_eventt   key_release_eventt   motion_notify_eventt   leave_notify_eventt   enter_notify_event(   t   _debugR   R   t   __init__R   t   _idle_draw_idR6   t   _need_redrawR   t   _lastCursort   connectRg   Rh   Ri   Rj   t   on_draw_eventRl   Rm   Rn   Ro   Rp   t
   set_eventst	   __class__t
   event_maskt   set_double_bufferedt   set_can_focust   _renderer_initt   idle_addt
   idle_eventt   _idle_event_id(   R&   t   figure(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRr   ±   s,     			
c         C   s@   |  j  ƒ  t j |  j ƒ |  j d k r< t j |  j ƒ n  d  S(   Ni    (   t   close_eventR   R1   R€   Rs   (   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   destroyÌ   s    
c         C   sx   t  r d t ƒ  GHn  | j } |  j ƒ  j | j } | j t j j	 k rR d } n d } t
 j |  | | | d | ƒt S(   Ns   FigureCanvasGTK3.%si   iÿÿÿÿt   guiEvent(   Rq   R   t   xt   get_allocationt   heightt   yt	   directionR   t   ScrollDirectiont   UPR   Rg   R7   (   R&   t   widgett   eventR…   Rˆ   t   step(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRg   Ó   s     		c         C   sW   t  r d t ƒ  GHn  | j } |  j ƒ  j | j } t j |  | | | j d | ƒt	 S(   Ns   FigureCanvasGTK3.%sR„   (
   Rq   R   R…   R†   R‡   Rˆ   R   Rh   t   buttonR7   (   R&   RŒ   R�   R…   Rˆ   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRh   ß   s     	c         C   sW   t  r d t ƒ  GHn  | j } |  j ƒ  j | j } t j |  | | | j d | ƒt	 S(   Ns   FigureCanvasGTK3.%sR„   (
   Rq   R   R…   R†   R‡   Rˆ   R   Ri   R�   R7   (   R&   RŒ   R�   R…   Rˆ   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRi   ç   s     	c         C   sP   t  r d t ƒ  GHn  |  j | ƒ } t  r6 d G| GHn  t j |  | d | ƒt S(   Ns   FigureCanvasGTK3.%st   hitR„   (   Rq   R   t   _get_keyR   Rl   R7   (   R&   RŒ   R�   t   key(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRl   ï   s      c         C   sP   t  r d t ƒ  GHn  |  j | ƒ } t  r6 d G| GHn  t j |  | d | ƒt S(   Ns   FigureCanvasGTK3.%st   releaseR„   (   Rq   R   R‘   R   Rm   R7   (   R&   RŒ   R�   R’   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRm   ö   s      c         C   sŒ   t  r d t ƒ  GHn  | j r< | j j ƒ  \ } } } } n  | j | j | j ƒ  } } } |  j ƒ  j	 | } t
 j |  | | d | ƒt S(   Ns   FigureCanvasGTK3.%sR„   (   Rq   R   t   is_hintt   windowt   get_pointerR…   Rˆ   t	   get_stateR†   R‡   R   Rn   R7   (   R&   RŒ   R�   t   tR…   Rˆ   t   state(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRn   ý   s     	 c         C   s   t  j |  | ƒ d  S(   N(   R   Ro   (   R&   RŒ   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRo   	  s    c         C   s   t  j |  | ƒ d  S(   N(   R   Rp   (   R&   RŒ   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRp     s    c         C   s¼   | j  |  j k r% |  j | j  } n' | j  d k  rF t | j  ƒ } n d  } t j j d f t j j d f t j j d f g } x6 | D]. \ } } | j	 | @r† d j
 | | ƒ } q† q† W| S(   Ni   t   superR<   t   ctrls   {0}+{1}(   t   keyvalt   keyvaldt   chrR   R   t   ModifierTypet	   MOD4_MASKt	   MOD1_MASKt   CONTROL_MASKR™   t   format(   R&   R�   R’   t	   modifierst   key_maskt   prefix(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR‘     s    c         C   s‘   t  r d t ƒ  GHn  | j d ƒ d  k r. d  S| j | j } } | d k  sY | d k  r] d  S|  j j } |  j j | | | | ƒ t	 |  _
 t S(   Ns   FigureCanvasGTK3.%sR•   i   (   Rq   R   t   get_propertyR   t   widthR‡   R�   t   dpit   set_size_inchesR6   Rt   R7   (   R&   RŒ   R�   t   wt   hR©   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRj   "  s     	c         C   s   d  S(   N(    (   R&   RŒ   t   ctx(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRw   1  s    c         C   sH   t  |  _ |  j ƒ  rD |  j ƒ  rD |  j ƒ  |  j d ƒ j t ƒ n  d  S(   NR•   (   R6   Rt   t   get_visiblet
   get_mappedt
   queue_drawR§   t   process_updatesR7   (   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRk   5  s    	
c            s7   ‡  f d †  } ˆ  j  d k r3 t j | ƒ ˆ  _  n  d  S(   Nc             s   ˆ  j  ƒ  d ˆ  _ t S(   Ni    (   Rk   Rs   R7   (   t   args(   R&   (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt	   idle_draw>  s    
	i    (   Rs   R   R~   (   R&   R³   (    (   R&   sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR    =  s    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&   R²   t   kwargs(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt	   new_timerE  s    c         C   sB   t  j ƒ  x t j ƒ  r) t j t ƒ q Wt  j ƒ  t  j ƒ  d  S(   N(   R   t   threads_enterR   t   events_pendingt   main_iterationR6   t   flusht   threads_leave(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   flush_eventsU  s
    

c         C   s   t  j |  | ƒ d  S(   N(   R   t   start_event_loop_default(   R&   t   timeout(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   start_event_loop\  s    c         C   s   t  j |  ƒ d  S(   N(   R   t   stop_event_loop_default(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   stop_event_loop`  s    (&   R(   R)   R�   R   t	   EventMaskt   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_MASKRz   Rr   Rƒ   Rg   Rh   Ri   Rl   Rm   Rn   Ro   Rp   R‘   Rj   Rw   Rk   R    Rµ   R»   R¾   R   R¼   R8   RÀ   R¿   (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR9   q   s�   

O																			t   FigureManagerGTK3c           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 d t ƒ  GHn  t j ˆ | ˆ  ƒ t j ƒ  ˆ _ ˆ j d ˆ  ƒ y ˆ j j t	 ƒ Wn; t
 t f k
 rx ‚  n" t j d t j ƒ  d ƒ n Xt j ƒ  ˆ _ ˆ j j d t j j ƒ ˆ j j ˆ j ƒ ˆ j j ƒ  ˆ j j ƒ  ˆ j j ˆ j t t d ƒ ˆ j | ƒ ˆ _ t ˆ j j j j ƒ } t ˆ j j j j  ƒ } ˆ j d  k	 r¤ˆ j j ƒ  ˆ j j" ˆ j t# t# d ƒ ˆ j 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   FigureManagerGTK3.%ss	   Figure %ds"   Could not load matplotlib icon: %si   t   orientationi    c             s   t  j ˆ  ƒ d  S(   N(   R	   Rƒ   (   R²   (   t   num(    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRƒ   ™  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&   (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   notify_axes_change   s     (+   Rq   R   R   Rr   R   t   WindowR•   t   set_window_titlet   set_icon_from_filet   window_icont
   SystemExitt   KeyboardInterruptR   t   reportR   t   exc_infot   Boxt   vboxt   set_propertyt   Orientationt   VERTICALt   addt   showR   t
   pack_startR6   t   _get_toolbarRÏ   t   intR�   t   bboxR¨   R‡   R   t   pack_endR7   t   size_requestt   set_default_sizeRv   R   R   t   add_axobservert
   grab_focus(   R&   R   RÍ   R«   R¬   Rç   Rƒ   RÒ   (    (   RÍ   R&   sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRr   p  sD     c         G   s¤   t  r d t ƒ  GHn  |  j j ƒ  |  j j ƒ  |  j j ƒ  |  j rU |  j j ƒ  n  |  j j ƒ  t	 j
 ƒ  d k r  t j ƒ  r  t j ƒ  d k r  t j ƒ  n  d  S(   Ns   FigureManagerGTK3.%si    i   (   Rq   R   RÜ   Rƒ   R•   R   RÏ   t   __dict__t   clearR	   t   get_num_fig_managersR   R   R   R$   t	   main_quit(   R&   R²   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRƒ   §  s     	c         C   s   |  j  j ƒ  d  S(   N(   R•   Rá   (   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRá   µ  s    c         C   s7   |  j  |  _  |  j  r& |  j j ƒ  n |  j j ƒ  d  S(   N(   t   _full_screen_flagR•   t
   fullscreent   unfullscreen(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   full_screen_toggle¹  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   NavigationToolbar2GTK3R   (   R&   R   RÏ   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRã   Â  s    c         C   s   |  j  j ƒ  S(   N(   R•   t	   get_title(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   get_window_titleÍ  s    c         C   s   |  j  j | ƒ d  S(   N(   R•   t	   set_title(   R&   t   title(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÔ   Ð  s    c         C   s   |  j  j | | ƒ d S(   s   set the canvas size in pixelsN(   R•   t   resize(   R&   R¨   R‡   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRû   Ó  s    (   R(   R)   R8   Rr   Rƒ   Rá   Rò   R7   Rï   Rã   Rø   RÔ   Rû   (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRË   f  s   		7						Rö   c           B   sk   e  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   s6   | |  _  t j j |  ƒ t j |  | ƒ d  |  _ d  S(   N(   t   winR   Rr   R   R   R­   (   R&   R   R•   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRr   Ü  s    	c         C   s   |  j  j | ƒ d  S(   N(   t   messaget	   set_label(   R&   t   s(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   set_messageâ  s    c         C   s!   |  j  j d ƒ j t | ƒ d  S(   NR•   (   R   R§   t
   set_cursort   cursord(   R&   t   cursor(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR  å  s    c         C   s"   y
 |  `  Wn t k
 r n Xd  S(   N(   t   _pixmapBackt   AttributeError(   R&   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR“   é  s     
 c         C   s   |  j  j ƒ  d  S(   N(   R   R    (   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   dynamic_updateí  s    c         C   s  |  j  j d ƒ j ƒ  |  _ |  j  j ƒ  |  j  j j j } | | } | | } t | | ƒ } t | | ƒ } g  t	 | | ƒ t	 | | ƒ | | f D] }	 t
 |	 ƒ ^ q“ }
 |  j j ƒ  |  j j d ƒ |  j j |
 d |
 d |
 d |
 d ƒ |  j j d d d ƒ |  j j ƒ  d S(   sK   adapted from http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/189744R•   g      à?i    i   i   i   N(   R   R§   t   cairo_createR­   Rk   R�   Rå   R‡   t   abst   minRä   t   new_patht   set_line_widtht	   rectanglet   set_source_rgbt   stroke(   R&   R�   t   x0t   y0t   x1t   y1R‡   R«   R¬   t   valt   rect(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   draw_rubberbandñ  s    

=)c   
      C   s�  |  j  t j j ƒ t j j t d d ƒ } xÓ |  j D]È \ } } } } | d  k rp |  j
 t j ƒ  d ƒ q6 n  t j j | | d ƒ } t j ƒ  } | j | ƒ t j ƒ  } | j | ƒ | j | ƒ |  j
 | d ƒ | j d t |  | ƒ ƒ | j | ƒ q6 Wt j ƒ  }	 |  j
 |	 d ƒ |	 j t ƒ |	 j t ƒ t j ƒ  }	 |  j
 |	 d ƒ t j ƒ  |  _ |	 j |  j ƒ |  j ƒ  d  S(   Nt   datapatht   imagesiÿÿÿÿs   .pngt   clicked(   t	   set_styleR   t   ToolbarStylet   ICONSt   ost   patht   joinR   t	   toolitemsR   RR   t   SeparatorToolItemt   Imaget   set_from_filet
   ToolButtonRþ   t   set_icon_widgetRv   t   getattrt   set_tooltip_textt   set_drawR7   t
   set_expandR6   t   ToolItemt   LabelRý   Rà   t   show_all(
   R&   t   basedirt   textt   tooltip_textt
   image_filet   callbackt   fnamet   imaget   tbuttont   toolitem(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   _init_toolbar  s0    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(	   NRú   s   Save the figuret   parentR  s   savefig.directoryt    t	   filetypest   default_filetype(   t   FileChooserDialogRü   R  R  t
   expanduserR   t   getR   t   get_supported_filetypest   get_default_filetypet   set_current_namet   get_default_filename(   R&   t   fc(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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.directoryR7  R£   R6  (   RB  t   get_filename_from_userRƒ   R  R  R;  R   R<  t   dirnamet   unicodeR   t   print_figuret	   Exceptiont   error_msg_gtkt   str(   R&   R²   t   chooserR1  R£   t	   startpatht   e(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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 ƒ  } y | j t ƒ Wn  t t f k
 r  ‚  n n X| j d ƒ | j | | ƒ t
 j ƒ  } | j d t
 j j ƒ | j | ƒ | j ƒ  | j ƒ  | j | t t d ƒ | j ƒ  d  S(
   Nt   figsizei   i   t   topgÍÌÌÌÌÌì?s   Subplot Configuration ToolRÌ   i    (   i   i   (   R   t   _get_canvast   subplots_adjustR   R   R�   Rä   Rå   R¨   R‡   R   RÓ   RÕ   RÖ   R×   RØ   Rù   Rè   RÛ   RÝ   RÞ   Rß   Rà   Rá   Râ   R6   (	   R&   R�   t   toolfigR   t   toolR«   R¬   R•   RÜ   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   configure_subplots?  s,    

c         C   s   |  j  j | ƒ S(   N(   R   Ry   (   R&   RÑ   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRP  ^  s    (   R(   R)   Rr   R   R  R“   R  R  R5  RB  RM  RT  RP  (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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 figureRM  c      	   C   sœ   t  j  j |  ƒ | |  _ | |  _ |  j t j j ƒ |  j ƒ  |  j	 |  _
 t d d d |  j d |  j j ƒ  d |  j j ƒ  ƒ |  _ |  j ƒ  |  j
 ƒ  d S(   s‘   
        figManager is the FigureManagerGTK3 instance that contains the
        toolbar, with attributes figure, window and drawingArea

        Rú   s   Save the figureR6  R8  R9  N(   R   Rr   R   Rü   R  R   R  R  t   _create_toolitemst   _updateRÐ   R:  R=  R>  t
   fileselectR+  (   R&   R   R•   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRr   ‹  s    		
	
c      	      sÜ  t  j j } x
ˆ j D]ÿ \ } } } } } } | d  k rV ˆ j t  j ƒ  d ƒ q n  t  j ƒ  } | j | | ƒ t  j	 ƒ  }	 |	 j
 | ƒ |	 j | ƒ ˆ j |	 d ƒ | rÍ |	 j d t ˆ | ƒ | ƒ n |	 j d t ˆ | ƒ ƒ | r|	 j d t ˆ | ƒ ƒ n  |	 j | ƒ q Wt  j ƒ  ˆ _ ˆ j ˆ j d ƒ ˆ j j 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ÿÿÿÿR  Rg   i    s    Select axes that controls affectt   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ç   t
   allocationR‡   R	  R6   (   t   menuR  R  R  R  t   mt   x2t   y2t   sc_hR«   R¬   R…   Rˆ   (   R&   (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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�   t   data(   Rp  R&   (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   button_clicked×  s    (   R   t   IconSizet   SMALL_TOOLBARR  R   RR   R   R!  t   set_from_stockR#  Rþ   R$  Rv   R%  R&  R)  t   axes_toolitemt	   AlignmentRà   t   ButtonRg  (   R&   t   iconSizeR-  R.  t	   image_numR0  t   callback_argt   scrollR2  R3  t   alignRu  (    (   Rp  R&   sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR^  £  s<    
	$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   _axesR3   t   _make_axis_menuRq  Rg  R+  t   hidet
   set_activet   range(   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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…  R6   t
   itemInvertR   t	   enumerate(   t   itemRt  t   it   ind(   t   itemsR&   (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   toggledï  s     1t   Allt   activatet   Inverts   Axis %di   RŽ  (   R   R   t   Menut   MenuItemR‡  t   appendRv   Rˆ  R†  R3   R‚  t   CheckMenuItemR…  R6   R+  (   R&   RŽ  Rk  R‹  RŠ  (    (   R�  R&   sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRƒ  ì  s"    

c         C   s3   | |  _  g  |  j  D] } |  j | ^ q |  _ d  S(   N(   t   _indR‚  t   _active(   R&   RŒ  R‹  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR…    s    	c         C   s>   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t |  _ t S(   s   panx in direction(   R—  t   xaxist   panR   Rk   R6   Rt   (   R&   R�   R‰   t   a(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRV    s
    	c         C   s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   pany in direction(   R—  t   yaxisR™  R   Rk   R6   (   R&   R�   R‰   Rš  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRZ    s    c         C   s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   zoomx in direction(   R—  R˜  t   zoomR   Rk   R6   (   R&   R�   R‰   Rš  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRX  #  s    c         C   s5   x! |  j  D] } | j j | ƒ q
 W|  j j ƒ  t S(   s   zoomy in direction(   R—  R›  Rœ  R   Rk   R6   (   R&   R�   R‰   Rš  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR\  *  s    c      	   C   s4   t  d d d |  j d |  j j ƒ  d |  j j ƒ  ƒ S(   NRú   s   Save the figureR6  R8  R9  (   R:  Rü   R   R=  R>  (   R&   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRB  1  s
    	c         G   sk   |  j  ƒ  j ƒ  \ } } | rg y |  j j | d | ƒWqg t k
 rc } t t | ƒ d |  ƒqg Xn  d  S(   NR£   R6  (   RB  RC  R   RF  RG  RH  RI  (   R&   R²   R1  R£   RL  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRM  8  s    N(   NNNNNN(   NNNNNN(   R(   R)   R8   R   t   STOCK_GO_BACKR6   t   STOCK_GO_FORWARDt   STOCK_ZOOM_INt   STOCK_ZOOM_OUTR   t   STOCK_GO_UPt   STOCK_GO_DOWNt
   STOCK_SAVER7   R  Rr   R^  R_  Rƒ  R…  RV  RZ  RX  R\  RB  RM  (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRõ   b  sH   		;		#							R:  c           B   sY   e  Z d  Z d d e j j e j e j j	 e j
 e j j f d g  d d „ Z d „  Z RS(   s‰   GTK+ file selector which remembers the last file/directory
    selected and presents the user with a menu of supported image formats
    s	   Save filec            sã  t  t ˆ  ƒ j | | | | ƒ ˆ  j t j j ƒ | sN t j ƒ  t j	 } n  ˆ  j
 | ƒ ˆ  j d | ƒ t j d d ƒ } | j t j d d ƒ t t d ƒ t j t j ƒ }	 t j ƒ  }
 |
 j |	 ƒ t j ƒ  } |
 j | t ƒ |
 j | d d ƒ | j |
 t t d ƒ | ˆ  _ | j ƒ  ˆ  _ ˆ  j j ƒ  d } xR t ˆ  j ƒ D]A \ } \ } } |	 j d | | f g ƒ | | k rK| } qKqKW|
 j | ƒ | ˆ  _ d  ‡  f d	 † } |
 j! d
 | ƒ | j" ƒ  ˆ  j# | ƒ d  S(   Ns   image.t   spacingi
   t   labels   File Format:i    R-  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   .R7  N(   R  R  t   splitt   get_filenamet   splitextt   sorted_filetypesR   t   extR8  t   rstripR?  (   t   cboxRt  t   headt   filenamet   rootR«  t   new_ext(   R&   (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   cb_cbox_changedo  s    
	t   changed($   Rš   R:  Rr   t   set_default_responseR   t   ResponseTypet   OKR  t   getcwdt   sept   set_current_folderR?  RÛ   Râ   R*  R7   t	   ListStoreR   t   TYPE_STRINGt   ComboBoxt	   set_modelt   CellRendererTextR6   t   add_attributeR8  R�  Rª  t   sortR‰  R”  R…  R«  R   Rv   R+  t   set_extra_widget(   R&   Rú   R6  t   actiont   buttonsR  R8  R9  t   hboxt	   liststoreR­  t   cellt   defaultR‹  R«  t   nameR²  (    (   R&   sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRr   E  s<    
 "	"	
c         C   sO   x? t  rA d  } |  j ƒ  t t j j ƒ k r1 Pn  |  j ƒ  } Pq W| |  j f S(   N(	   R6   R   t   runRä   R   Rµ  R¶  R¨  R«  (   R&   R¯  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRC  ‚  s    	N(   R(   R)   R8   R   R   t   FileChooserActiont   SAVEt   STOCK_CANCELRµ  t   CANCELR£  R¶  Rr   RC  (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR:  A  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_pathR  R  R  t   existst   IOErrorR7   t   _initedR6   t
   _updatesont   gladet   XMLt   wtreet   signal_autoconnectt   dictt   signalsR%  t
   get_widgett   dlgR   R…  t   cbox_linepropst
   linestylest   append_textt   cbox_linestylest   markerst   cbox_markerst   _lastcnt(	   R&   R   R   t   datadirt	   gladefileRÿ   R­  t   lsRl  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRr   ¢  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(   R7   Rß  Rè  R†  Rî  t   remove_textR   Rê  t	   get_labelR…  R6   R3   Rç  Rá   (   R&   R­  R‹  t   line(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRá   Æ  s    		 	c         C   s    |  j  j ƒ  } |  j | } | S(   s   get the active line(   Rè  R   R   (   R&   RŒ  Rô  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   get_active_line×  s    c         C   s    |  j  j ƒ  } |  j | } | S(   s   get the active lineinestyle(   Rë  R   Ré  (   R&   RŒ  Rñ  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   get_active_linestyleÝ  s    c         C   s    |  j  j ƒ  } |  j | } | S(   s   get the active lineinestyle(   Rí  R   Rì  (   R&   RŒ  Rl  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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â  Ræ  t	   get_colort   redt   greent   bluet	   set_colort   set_markerfacecolorR�   R   Rk   (
   R&   Rô  Rñ  t   markerR�   t   colorR  t   rt   gt   b(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyR_  é  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 g  | | | f D] } t | d ƒ ^ qÆ Œ  }	 |  j j d ƒ }
 |
 j |	 ƒ t j | j ƒ  ƒ \ } } } t j g  | | | f D] } t | d ƒ ^ q8Œ  }	 |  j j d ƒ }
 |
 j |	 ƒ t |  _ d S(   s'   update the widgets from the active lineNR   iÿÿ  Rø  Rù  (   RÞ  R7   Rß  Rõ  t   get_linestyleR   Rë  R…  t
   linestyledt
   get_markerRí  t   markerdR   t   to_rgbRü  R   t   ColorRä   Râ  Ræ  R   t   get_markerfacecolorR6   (   R&   RŠ  Rô  Rñ  R  R  R  R  R  R  R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÏ  þ  s*    	 	 	 	55c         C   s   |  j  ƒ  d  S(   N(   R_  (   R&   RŠ  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÐ    s    c         C   s   |  j  ƒ  d  S(   N(   R_  (   R&   RŠ  (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÑ    s    c         C   s   |  j  ƒ  d  S(   N(   R_  (   R&   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÒ    s    c         C   s   |  j  ƒ  d S(   s!   called colorbutton marker clickedN(   R_  (   R&   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÓ     s    c         C   s   |  j  ƒ  |  j j ƒ  d  S(   N(   R_  Rç  R„  (   R&   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÔ  $  s    
c         C   s   |  j  j ƒ  d  S(   N(   Rç  R„  (   R&   R�   (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.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(!   R(   R)   R8   Rå  R   t   Line2Dt
   lineStylesRñ  t   stripRé  Rä  R‰  R‹  Rÿ   R  Rì  Rl  R   R   R
  Rr   Rá   Rõ  Rö  R÷  R_  RÏ  RÐ  RÑ  RÒ  RÓ  RÔ  RÕ  (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRÎ  Œ  s2         +1.1	$											t   win32s   matplotlib.pngs   matplotlib.svgR  R  c      	   C   sŸ   | d  k	 r0 | j ƒ  } | j ƒ  s0 d  } q0 n  t |  ƒ sW d j t t |  ƒ ƒ }  n  t j d | d t j	 j
 d t j j d |  ƒ } | j ƒ  | j ƒ  d  S(   Nt   ,R6  t   typeRÃ  t   message_format(   R   t   get_toplevelt   is_toplevelR   R  t   mapRI  R   t   MessageDialogt   MessageTypet   ERRORt   ButtonsTypeR¶  RÉ  Rƒ   (   t   msgR6  t   dialog(    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyRH  4  s    		
(    (M   t
   __future__R    R  R   R   t   git   ImportErrort   require_versiont
   ValueErrort   gi.repositoryR   R   R   R   t   matplotlib._pylab_helpersR	   t   matplotlib.backend_basesR
   R   R   R   R   R   R   R   t   matplotlib.cbookR   R   t   matplotlib.colorsR   t   matplotlib.figureR   t   matplotlib.widgetsR   R   R   R   R   t   get_major_versiont   get_micro_versiont   get_minor_versiont   backend_versionR7   Rq   t   PIXELS_PER_INCHt   Cursort   newt
   CursorTypet   FLEURt   MOVEt   HAND2t   HANDt   LEFT_PTRt   POINTERt   TCROSSt   SELECT_REGIONR  R"   R#   Rá   R*   t   DrawingAreaR9   t   FigureCanvasRË   t   ToolbarRö   Rõ   R:  RÎ  t   platformt   icon_filenameR  R  RÖ   R   RH  (    (    (    sZ   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/site-packages/matplotlib/backends/backend_gtk3.pyt   <module>   sf   	 4%			)óu‡ßK¡	