ó
ÉÝ{Tc           @   s?  d  Z  d d l Z d d l Z d d l m Z m Z d d l Z d d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l Z d d l Td d l Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d	 e j f d
 „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ  d e j f d „  ƒ  YZ! d e j f d „  ƒ  YZ" d e j f d „  ƒ  YZ# d e j f d  „  ƒ  YZ$ d! e j f d" „  ƒ  YZ% d# e j f d$ „  ƒ  YZ& d% e
 j' f d& „  ƒ  YZ( d' e j f d( „  ƒ  YZ) d) e* f d* „  ƒ  YZ+ d+ „  Z, d, e j- f d- „  ƒ  YZ. d. e	 j	 f d/ „  ƒ  YZ/ d0 e j f d1 „  ƒ  YZ0 d2 e
 j' f d3 „  ƒ  YZ1 d4 e j f d5 „  ƒ  YZ2 d6 e j3 f d7 „  ƒ  YZ4 d8 e j3 f d9 „  ƒ  YZ5 d: e j f d; „  ƒ  YZ6 d S(<   s•  
     qtgui/mgWidgets.py: CCP4MG Molecular Graphics Program
     Copyright (C) 2001-2008 University of York, CCLRC
     Copyright (C) 2009-2011 University of York
     Copyright (C) 2012 STFC

     This library is free software: you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public License
     version 3, modified in accordance with the provisions of the 
     license to address the requirements of UK law.
 
     You should have received a copy of the modified GNU Lesser General 
     Public License along with this library.  If not, copies may be 
     downloaded from http://www.ccp4.ac.uk/ccp4license.php
 
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU Lesser General Public License for more details.
iÿÿÿÿN(   t   QtGuit   QtCore(   t   *t
   mgLineEditc           B   s    e  Z d d  „ Z d d „ Z RS(   c         C   s   t  j j |  | ƒ d  S(   N(   R    t	   QLineEditt   __init__(   t   selft   parent(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   .   s    c         C   sH   | j  ƒ  t j j k r1 |  j t j d ƒ ƒ n t j j |  | ƒ d  S(   Nt   apply(	   t   keyR   t   Qtt
   Key_Returnt   emitt   SIGNALR    R   t   keyPressEvent(   R   t   event(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   1   s    N(   t   __name__t
   __module__t   NoneR   R   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   (   s   t   mgCidValidatorc           B   sD   e  Z d d  d „ Z d „  Z d „  Z d d d „ Z d d „ Z RS(	   t   atomc         C   s;   t  j j |  | ƒ | |  _ d |  _ d |  _ d |  _ d  S(   Ni   iÿÿÿÿt    (   R    t
   QValidatorR   t   modet   useMMDBt   selHndt   MolData_name(   R   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   B   s
    			c         C   s^   |  j  s |  j d k  r d  St |  j  ƒ } | rH | j j |  j ƒ n  d |  _  d |  _ d  S(   Ni    R   iÿÿÿÿ(   R   R   t   datat   molHndt   DeleteSelection(   R   t   dobj(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   deleteSelHndR   s      	c         C   s7   |  j  j |  _ |  j  ƒ  j ƒ  } | j j ƒ  |  _ d  S(   N(   R   R   t
   getDataobjR   t   NewSelectionR   (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   createSelHndY   s    R   i    c         C   sì  d d  l  } d d  l } | j ƒ  } | j t | ƒ ƒ } | sO t j j | f S|  j ƒ  j	 ƒ  } | sw t j j | f S|  j
 rÊd d  l } | j j ƒ  |  _ |  j d k  rº |  j ƒ  n  |  j d k r!| j ƒ  } | j j |  j | j | | j ƒ t j | j |  j | ƒ } | j ƒ  }	 ng |  j d k rˆ| j ƒ  }
 | j j |  j | j | | j ƒ t j | j |  j | ƒ }
 | j ƒ  }	 n  | j j |  j ƒ |	 d k r·t j j | f St j j | f Sn | j | d ƒ } t j j | f S(   Niÿÿÿÿi    R   t   residuei   t   /(   t   stringt
   pygl_coordt   intpt   stript   strR    R   t   IntermediateR   R    R   t   mmdb2R   R!   R   R"   R   t
   newPPCAtomt   Selectt
   STYPE_ATOMt   SKEY_NEWt   mmutt   GetAtomSelIndext   valuet   newPPCResiduet   STYPE_RESIDUEt   GetResidueSelIndexR   t
   Acceptablet   split(   R   t   textt   posR%   R&   t	   selindexpR   t   mmdbt   selAtomst   nHitst   selRest	   splitText(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   validate_   s<      	 ""c         C   s   d G| GHd  S(   Ns   mgCidValidator.fixup(    (   R   R8   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   fixup†   s    N(   R   R   R   R   R   R"   R@   RA   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   =   s
   		't   mgSelectionComboc        	   B   s  e  Z e j j Z d  Z d d d d d d d d d g d g  d d	 „ Z d
 „  Z	 d „  Z
 d  d „ Z d „  Z d „  Z d „  Z d „  Z i  d „ Z d „  Z d „  Z d d  d „ Z d „  Z d „  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z d  d „ Z d „  Z RS(    R   t   monomerst   metalt   peptidet   nucleict   solventt   solutet
   saccharidei    c         C   sÆ  t  t |  ƒ j | ƒ t j sI |  j ƒ  j t j j t j j	 ƒ t _ n  d  |  _ d  |  _ d  |  _ d  |  _ | |  _ d |  _ i  |  _ d |  _ | |  _ |  j t j j t j j Bƒ d } t j ƒ  } | j | | | | ƒ | j d ƒ | rt d d d |  ƒ |  _ | j |  j ƒ n	 d  |  _ t |  ƒ |  _ |  j j  ƒ  }	 |  j j! d ƒ d d |	 }
 | ru|
 |	 }
 n  |  j! |
 ƒ | j |  j d ƒ d	 d  l" } t j# | j$ d
 d ƒ ƒ } t j% |  ƒ |  _& |  j& j' t j% j( ƒ |  j& j) | ƒ |  j& j* t+ j, |	 d |	 d ƒ ƒ |  j& j- d ƒ | j |  j& ƒ t j# | j$ d d ƒ ƒ } t j% |  ƒ |  _. |  j. j) | ƒ |  j. j* t+ j, |	 d |	 d ƒ ƒ |  j. j- d ƒ | j |  j. ƒ | rŽt j# | j$ d ƒ ƒ } t j% |  ƒ |  _/ |  j/ j) | ƒ |  j/ j* t+ j, |	 d |	 d ƒ ƒ |  j/ j- d ƒ t j0 |  ƒ } | j1 |  | | d d ƒ|  j/ j2 | ƒ |  j/ j' t j% j( ƒ | j |  j/ ƒ n  |  j3 | ƒ t j sÈ|  j j ƒ  j t j j4 ƒ t _ n  d  |  _5 |  j6 d | ƒ | r|  j7 |  j t+ j8 d ƒ |  j6 ƒ n  |  j7 |  j. t+ j8 d ƒ |  j9 ƒ |  j7 |  j& t+ j8 d ƒ |  j: ƒ |  j7 |  j& t+ j8 d ƒ |  j; ƒ |  j7 |  j t+ j8 d ƒ |  j; ƒ |  j rÂ|  j7 |  j t+ j8 d ƒ |  j< ƒ n  d  S(   NR   i    t   object_typet   MolDataR   iÈ   i   i   iÿÿÿÿt   seleTreet   disptabs   Open selection browsers	   gtk-clears   Clear selectiont   lassos   Open selection widgetst   default_icont   abstractModels   currentIndexChanged(int)s
   released()s	   pressed()R   s   textEdited(const QString)(=   t   superRB   R   t   regularColourt   palettet   colorR    t   QPalettet   Normalt   ButtonR   t   treeViewt   dataViewWindowt
   seleDialogt
   seleWidgett   highlightPendingt   lastLineTextt	   selParamst   seleWidgetModet   modelGroupst   setFrameStylet   QFramet   Panelt   Plaint   QHBoxLayoutt   setContentsMarginst
   setSpacingt   mgDataObjCombot   dataobjCombot	   addWidgetR   t   lineEditt   heightt   setMinimumWidtht   guiUtilst   QIcont
   loadPixmapt   QToolButtont
   iconButtont   setPopupModet   InstantPopupt   setIcont   setMaximumSizeR   t   QSizet
   setToolTipt   clearButtont
   seleButtont   QMenut   populateMenut   setMenut	   setLayoutt   BaseRP   t   setAbstractModelt   connectR   t   cleart   toggleDataViewt   returnPressedt   updateTextHighlight(   R   R   RP   R`   t   multit   selectionWidgetsR\   t   margint   layoutt   htt   widRn   t   icont   menu(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   —   s†    	*										 $$$	$	%""""	c         C   s±  |  j  j ƒ  j ƒ  } |  j |  j  j ƒ  j ƒ  ƒ } | j ƒ  } | j ƒ  } |  j  j ƒ  } |  j sht j	 |  t
 j j ƒ |  _ t j ƒ  } | j d d d d ƒ d d  l } | j |  |  j ƒ |  _ |  j j d ƒ |  j j |  j ƒ | j |  j d d d d ƒ |  j j | ƒ |  j j ƒ  |  j j | | | d ƒ |  j ƒ  |  j |  j t
 j d ƒ |  j ƒ nE |  j j ƒ  r |  j j ƒ  |  j j | | | d ƒ n |  j j ƒ  d  S(   Ni    iÿÿÿÿi   i,  t   changed(   Rk   t   geometryt
   bottomLeftt   mapToGlobalt   xt   yt   widthRY   R    t   QDialogR   R
   t   Popupt   QGridLayoutRf   t
   mgTreeViewRP   RX   t   setExpandsOnDoubleClickt
   loadGroupsR`   Rj   R~   t   showt   setGeometryt   updateTreeViewR�   R   t   updateLineEditt   isHiddent   hide(   R   t   geomR9   t   xxt   yyR‹   R‰   R˜   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRƒ   ò   s.    	
%c         C   s=   |  j  ƒ  |  j ƒ  |  _ |  j ƒ  |  j t j d ƒ ƒ d  S(   NRŽ   (   R�   R8   R]   R…   R   R   R   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR„     s    

c         C   s˜   |  j  s d  S|  j j ƒ  } |  j ƒ  |  j k r\ |  j ƒ  |  _ | j t j j t	 j
 ƒ n( | j t j j t	 j ƒ |  j ƒ  |  _ |  j j | ƒ d  S(   N(   R\   Rk   RS   R8   R]   t   setColorR    RU   R   RB   t   pendingColourRR   t
   setPalette(   R   R8   RS   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR…   (  s    	 c         C   s_   |  j  j ƒ  } |  j j | d d ƒ} | d s[ |  j | d ƒ |  j t j d ƒ ƒ n  d  S(   Nt   returnCommandi   i    RŽ   (   RX   t   selectedIndexesRP   t   interpretTreeSelectiont   setTextR   R   R   (   R   t   selectedt   ret(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRž   9  s
    
c         C   s   t  |  j j ƒ  ƒ S(   N(   R)   Rk   R8   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR8   C  s    c         C   s'   |  j  j | ƒ | |  _ |  j ƒ  d  S(   N(   Rk   Rª   R]   R…   (   R   R8   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRª   H  s    	c         C   s,   |  j  r% |  j j |  j  j ƒ  ƒ n  |  j S(   N(   R[   R^   t   updatet	   getParams(   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR®   O  s    	 c         K   si   | j  | ƒ |  j j  | ƒ |  j r< |  j j |  j ƒ n  |  j j d ƒ re |  j |  j d ƒ n  d  S(   Nt	   selection(   R­   R^   R[   t	   setParamst   has_keyRª   (   R   t   paramst   kw(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR°   U  s    	  c         C   sÁ   |  j  r½ t |  j j ƒ  ƒ } |  j  j | ƒ } | s: d  S|  j ƒ  } | j d | ƒ } | d s½ |  j  j t ƒ |  j  j	 ƒ  |  j  j
 | d ƒ | j j | d ƒ |  j  j t ƒ q½ n  d  S(   Nt   commandi    i   (   RX   R)   Rk   R8   t   setGroupSelectiont   getCurrentDataObjt   parse_selectiont   blockSignalst   Truet   clearSelectiont   loadMMDBSelectionR   R   t   False(   R   t	   sele_textt   rvt   molobj(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR�   ]  s    	 
c         C   sl   |  j  r) |  j  j t ƒ |  j  j ƒ  n  |  j d ƒ |  j  rR |  j  j t ƒ n  |  j t j d ƒ ƒ d  S(   NR   RŽ   (	   RX   R¸   R¹   Rº   Rª   R¼   R   R   R   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR‚   u  s    		iÿÿÿÿc         C   s˜   | r% | |  j  k r d S| |  _  nY |  j rz |  j j ƒ  } | r~ t | d ƒ r~ | j |  j  k rh d S| j |  _  q~ n d Sd |  _ |  j d ƒ d S(   s[   
    Set the abstract model - beware used as slot and receives index from
    comboBox
    Nt	   treeModelR   (   RP   Ri   R¶   t   hasattrRÀ   R   RY   Rª   (   R   t   indexRP   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR€   „  s     	 	c         C   s'   |  j  t j d ƒ ƒ |  j j ƒ  d  S(   Ns   doubleClicked()(   R   R   R   RY   R    (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   handleDoubleClick™  s    c         C   s$   |  j  r |  j  j ƒ  S|  j j Sd  S(   N(   Ri   R¶   RP   t
   MolDataObj(   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR¶      s    	c         C   s    |  j  r |  j  j | ƒ n  d  S(   N(   Ri   t   setCurrentDataObj(   R   RK   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRÅ   ¨  s    	c         C   sÄ  | d k r@ t  d d d d d d d d	 d
 t j |  j | ƒ ƒ S| d k r€ t  d d d d d d d d	 d
 t j |  j | ƒ ƒ S| d k rÀ t  d d d d d d d d	 d
 t j |  j | ƒ ƒ S| d k r t  d d d d d d d d	 d
 t j |  j | ƒ ƒ S| d k r@t  d d d d d d d d	 d
 t j |  j | ƒ ƒ S| d k r€t  d d d d d d d d	 d
 t j |  j | ƒ ƒ S| d k rÀt  d d d d d d d d	 d
 t j |  j | ƒ ƒ Si  S(   Nt   neighbR8   s   Neighbourhood..RŒ   R   t   tips,   Select atoms/residues around central atom(s)t   signals   triggered()t   slott   burieds   Buried area..s4   Select atoms/residues buried by another set of atomst   secStrs   Secondary structure..s#   Select secondary structure elementst   resTypes   Residue types..s   Select residue typest   chainss   Chains..s   Select whole chainst   propertys
   Property..s$   Select by the value of atom propertyt   namedSelections   Save/restore selection..s   Save or restore a selection(   t   dictRn   t   partialt   openSelectionWidget(   R   t   name(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getActionDef¯  sd    c         C   sÃ  d d  l  } |  j r} |  j | k rB |  j j ƒ  |  j j ƒ  d  S|  j j |  j j ƒ  ƒ |  j j	 ƒ  d  |  _ d |  _ n  |  j r– |  j j	 ƒ  n  t j |  ƒ |  _ t j ƒ  } | j d d d d ƒ | j d ƒ | d k r_|  j j d |  j ƒ  j ƒ | j |  j |  j ƒ  j ƒ |  _ |  j j ƒ  |  j |  j t j d ƒ t j |  j d ƒ ƒ n  | d k rç|  j j d |  j ƒ  j ƒ | j |  j |  j ƒ  j ƒ |  _ |  j j ƒ  |  j |  j t j d ƒ t j |  j d ƒ ƒ nj| d	 k r~|  j j d
 |  j ƒ  j ƒ | j |  j |  j ƒ  j d d ƒ|  _ |  j |  j t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ nÓ| d k rF|  j j d |  j ƒ  j ƒ | j |  j |  j ƒ  j ƒ |  _ |  j j  d d | j! | j" ƒ |  j j# | j" d ƒ |  j j$ | j! d ƒ |  j |  j t j d ƒ t j |  j d ƒ ƒ n| d k rÁ|  j j d |  j ƒ  j ƒ | j% |  j |  j ƒ  j ƒ |  _ |  j |  j t j d ƒ t j |  j d ƒ ƒ n�| d k r‰|  j j d |  j ƒ  j ƒ | j& |  j |  j ƒ  j ƒ |  _ |  j j  d d | j! | j" ƒ |  j j# | j" d ƒ |  j j$ | j! d ƒ |  j |  j t j d ƒ t j |  j d ƒ ƒ nÈ | d k rQ|  j j d |  j ƒ  j ƒ | j' |  j |  j ƒ  j ƒ |  _ |  j j  d d | j! | j" ƒ |  j j# | j" d ƒ |  j j$ | j! d ƒ |  j |  j t j d ƒ t j |  j d ƒ ƒ n  | d	 k r||  j r||  j j |  j ƒ n  | j( |  j ƒ |  j j) | ƒ |  j j ƒ  |  j j ƒ  | |  _ d  S(   NiÿÿÿÿR   i    RÆ   s   Select neighbourhood for s
   accepted()RÊ   s   Select buried area for RÏ   s   Save/restore selection for t   deletet   savet   restoreRË   s   Select secondary structure for i   RÎ   s   Select by property for RÌ   s   Select by residue type for RÍ   s   Select chains for (*   t   selectionBrowserR[   R_   RZ   R›   t   raise_R^   R­   R®   t   closeR   R    R•   t   QVBoxLayoutRf   Rg   t   setWindowTitleR¶   t
   name_labelt	   neighbGuiR°   R�   R   R   Rn   RÑ   t   updateFromTabWidgett	   buriedGuit   namedSelectionGuit   saveNamedSelectiont   restoreNamedSelectiont	   secStrGuiRœ   t   tabWidtht	   tabHeightt   setFixedHeightt   setFixedWidtht   propertyGuit
   resTypeGuit	   chainsGuiRj   R~   (   R   RÓ   RØ   R‰   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRÒ   î  s~    			!1!1'"%!1!1!1!1 c         C   s‰   |  j  j ƒ  \ } } | r… d d  l } | j |  j ƒ  j ƒ } | j | ƒ |  j | j ƒ  ƒ ~ |  j	 ƒ  |  j
 t j d ƒ ƒ n  d  S(   NiÿÿÿÿRŽ   (   R[   t   getSelectiont   model_selectiont	   SelHandleR¶   RÓ   t   restoreSelectionRª   t
   getCommandR�   R   R   R   (   R   t   setRÓ   Rí   Rî   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRã   @  s    
c         C   s¸   |  j  j ƒ  } | j d d ƒ } | r´ | j d d ƒ } d d  l } | j |  j ƒ  j ƒ } | j |  j ƒ  ƒ | j	 d | d | d d ƒ ~ t
 ƒ  j |  j ƒ  j ƒ j | ƒ n  d  S(   NRÓ   R   t	   save_modet   thisiÿÿÿÿt	   overwritei   (   R[   t   getSaveParamst   getRí   Rî   R¶   RÓ   t
   setCommandR8   t   saveSelectiont   DISPLAYTABLEt
   getDataObjt   handleSavedSelection(   R   t   parsRÓ   Rò   Rí   Rî   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRâ   O  s    c         C   sl   |  j  j ƒ  } | s d  S|  j | j ƒ  ƒ ~ |  j ƒ  |  j t j d ƒ ƒ |  j rh |  j j	 ƒ  n  d S(   NRŽ   i    (
   R[   t   getSelHandleRª   Rð   R�   R   R   R   RZ   RÚ   (   R   R   t   widgetSelHandle(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRß   `  s     
	c         C   s6   |  j  r" |  j  j ƒ  d  |  _  n  t j j |  ƒ d  S(   N(   RZ   RÚ   R   R    Rb   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRÚ   u  s    	N(   R   R   R   R
   t	   lightGrayR¥   RR   R   R   Rƒ   R„   R…   Rž   R8   Rª   R®   R°   R�   R‚   R€   RÃ   R¶   RÅ   RÔ   RÒ   Rã   Râ   Rß   RÚ   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRB   �   s.   0[	-			
								?	R		Rh   c           B   se   e  Z d  d  d  d	 d „ Z d „  Z d „  Z d  g  d „ Z d „  Z d „  Z g  d „ Z	 d „  Z
 RS(
   R   c         C   s  t  t |  ƒ j | ƒ g  |  _ | |  _ | |  _ |  j d ƒ |  j d | ƒ |  j t	 j
 ƒ  t j d ƒ |  j ƒ |  j t	 j
 ƒ  t j d ƒ |  j ƒ |  j t	 j
 ƒ  t j d ƒ |  j ƒ |  j t	 j
 ƒ  t j d ƒ |  j ƒ |  j t	 j
 ƒ  t j d ƒ |  j ƒ d  S(   Ni    t   defaultt
   addDataObjt   deleteDataObjt   loadAllDataObjR­   t   update_labels(   RQ   Rh   R   t   exclude_listt   nullRJ   t   setEditableR|   R�   t   global_definitionsRù   R   R   t	   resetMenu(   R   RJ   R   R  R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ‰  s    			%%%%c         C   s½   |  j  t j ƒ  t j d ƒ |  j ƒ |  j  t j ƒ  t j d ƒ |  j ƒ |  j  t j ƒ  t j d ƒ |  j ƒ |  j  t j ƒ  t j d ƒ |  j ƒ |  j  t j ƒ  t j d ƒ |  j ƒ d  S(   NR  R  R  R­   R  (   t
   disconnectR  Rù   R   R   R	  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   disconnectGlobalSignalsŸ  s
    %%%%c         C   sh   |  j  d ƒ |  j ƒ  } | r+ | j } n d } |  j t j d ƒ ƒ |  j d | ƒ |  j  d ƒ d  S(   Ni   R   s   currentDataObjDeleted()R   i    (   R¸   R¶   RÓ   R   R   R   R|   (   R   t   currentR   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR	  ¨  s    c         K   s€  |  j  ƒ  |  j r5 |  j |  j t j |  j ƒ ƒ n  t j d |  j ƒ } | r› xs | D]= } |  j j	 | j
 ƒ sW |  j | j t j | j
 ƒ ƒ qW qW Wn+ |  j rÆ |  j |  j t j |  j ƒ ƒ n  d } | rKt j d | ƒ } | r%t | ƒ d k r%| j	 | d ƒ r%| j | d ƒ } n  |  j r;| d } n  |  j | ƒ n1 t | ƒ d k r||  j r|d } |  j | ƒ n  d  S(   NRJ   i    RÓ   i   (   R‚   R  t   addItemR   t   QVariantR  t   get_dataobjRJ   R  t   countRÓ   RÝ   t   lenRÂ   t   setCurrentIndex(   R   R   t
   attributest   keywordst   obj_listt   objt   default_indext   default_obj(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR|   ¶  s*    
	 ")	"+	 c         C   sV   xO t  d |  j ƒ  ƒ D]8 } t |  j | ƒ j ƒ  ƒ | k r |  j | ƒ Pq q Wd  S(   Ni    (   t   rangeR  R)   t   itemDatat   toStringR  (   R   RÓ   t   n(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRÅ   Ý  s    !c         C   s_   |  j  ƒ  d k  r d  St |  j |  j  ƒ  ƒ j ƒ  ƒ } t j d | ƒ } | rW | d Sd  Sd  S(   Ni    RÓ   (   t   currentIndexR   R)   R  R  R  R  (   R   RÓ   R  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR¶   å  s    !c         C   s   | |  _  |  j ƒ  d  S(   N(   R  R	  (   R   t   excluded(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setExcludeDataObjListõ  s    	c         C   s   |  j  S(   N(   R  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getExcludeDataObjListù  s    N(   R   R   R   R   R  R	  R|   RÅ   R¶   R  R   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRh   „  s   			'		t   MGOpenFileDialogc           B   s2   e  Z d d  g  d d d „ Z d „  Z d „  Z RS(   s	   Open fileR   c         C   s�  t  j j |  | ƒ |  j |  j | ƒ ƒ t  j ƒ  } t |  ƒ } | j ƒ  |  _ |  j j	 | ƒ t
 |  j j ƒ  j ƒ  ƒ } t }	 | j d ƒ d k rH| j d ƒ | j d ƒ k rH| | j d ƒ d | j d ƒ !j ƒ  j d ƒ }
 t |
 ƒ d k r|
 d d k s<t |
 ƒ d k r*|
 d d k s<t |
 ƒ d k rHt }	 qHn  | r t |  j j ƒ  ƒ d k r t
 |  j j ƒ  d j ƒ  ƒ j |  j d ƒ ƒ d k s»t |  j j ƒ  ƒ d k rÎ|  j j | ƒ n  | rç|  j j | ƒ n  |  j |  j t j d	 ƒ |  j ƒ |  j j t  j d
 ƒ } xK | D]C } | j ƒ  |  j d ƒ k r(|  j | t j d ƒ |  j ƒ q(q(W| j | ƒ |  j | ƒ d  S(   Nt   (iÿÿÿÿt   )i   t    i    s   *.*s	   All Filess
   rejected()R   s   &Opens	   pressed()(    R    R•   R   RÜ   t   trR—   t   MGFileDialogt   getFileDialogt
   fileDialogt   setNameFiltersR)   t   selectedNameFiltert   toAsciiR¼   t   findR(   R7   R  R¹   t   filterst   setDefaultSuffixt
   selectFileR�   R   R   RÚ   t   findChildrent   QPushButtonR8   t   openFileRj   R~   (   R   R   t   titleR-  t   defaultSuffixt   defaultFileNameR‰   t   filedt   selectedFiltert   needDefaultSuffixt   splitFilterst   childrent   child(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR     s.    32Vs "&c         C   sO   |  j  j ƒ  } | rA |  j t j d ƒ t | d j ƒ  ƒ ƒ n  |  j ƒ  d  S(   Nt   openi    (   R(  t   selectedFilesR   R   R   R)   t   toUtf8RÚ   (   R   t   files(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR2  $  s    ,c         C   s1   |  j  j ƒ  } | r) t | d j ƒ  ƒ Sd Sd  S(   Ni    R   (   R(  R=  R)   R>  (   R   R?  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getFilename*  s    N(   R   R   R   R   R2  R@  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR!     s   	t   MGSaveFileDialogc           B   sP   e  Z d  „  Z d d g  d d d „ Z d „  Z d d „ Z d „  Z d „  Z RS(	   c         C   s   t  j j |  ƒ d  S(   N(   R    R•   t   exec_(   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRB  :  s    s   Save to fileR   c         C   sú  t  j j |  | ƒ |  j |  j | ƒ ƒ t  j ƒ  } t |  ƒ } | j ƒ  |  _ |  j j	 t  j
 j ƒ |  j j t  j
 j ƒ |  j j t ƒ |  j j | ƒ t |  j j ƒ  j ƒ  ƒ } t }	 | j d ƒ d k r„| j d ƒ | j d ƒ k r„| | j d ƒ d | j d ƒ !j ƒ  j d ƒ }
 t |
 ƒ d k rD|
 d d k sxt |
 ƒ d k rf|
 d d k sxt |
 ƒ d k r„t }	 q„n  | rt |  j j ƒ  ƒ d k rÜt |  j j ƒ  d j ƒ  ƒ j |  j d ƒ ƒ d k sýt |  j j ƒ  ƒ d k sý|	 r|  j j | ƒ n  | r)|  j j | ƒ n  |  j |  j t j d	 ƒ |  j ƒ |  j j  t  j! d
 ƒ } xK | D]C } | j" ƒ  |  j d ƒ k rj|  j | t j d ƒ |  j# ƒ qjqjW| j$ | ƒ |  j% | ƒ |  j |  j t j d ƒ |  j& ƒ | |  _' d  S(   NR"  iÿÿÿÿR#  i   R$  i    s   *.*s	   All Filess
   rejected()R   s   &Saves	   pressed()s!   filesSelected(const QStringList&)((   R    R•   R   RÜ   R%  R—   R&  R'  R(  t   setFileModet   QFileDialogt   AnyFilet   setAcceptModet
   AcceptSavet   setConfirmOverwriteR¼   R)  R)   R*  R+  R,  R(   R7   R  R¹   R-  R.  R/  R�   R   R   RÚ   R0  R1  R8   RÖ   Rj   R~   t   saveSelectedR4  (   R   R   R3  R-  R4  R5  R‰   R6  R7  R8  R9  R:  R;  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   =  s8    32Vy "&"c         C   s   |  j  j | ƒ d  S(   N(   R(  R/  (   R   R5  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setDefaultFileNamea  s    c         C   s@   | r2 |  j  t j d ƒ t | d j ƒ  ƒ ƒ n  |  j ƒ  d  S(   NRÖ   i    (   R   R   R   R)   R>  RÚ   (   R   R?  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRI  d  s    ,c         C   s¯  |  j  j ƒ  } t | d j ƒ  ƒ } | r¡| d j d ƒ d k r…t |  j  j ƒ  j ƒ  ƒ } | j d ƒ d k r…| j d ƒ | j d ƒ k r…| | j d ƒ d | j d ƒ !j ƒ  j	 d ƒ } t
 | ƒ d k ræ | d d k st
 | ƒ d k r| d d k st
 | ƒ d k rC|  j } | | j d ƒ } | | } q‚t
 | ƒ d k r‚| d } | | j d ƒ } | | } q‚q…n  |  j t j d	 ƒ | ƒ n  |  j ƒ  d  S(
   Ni    t   .R"  iÿÿÿÿR#  i   R$  s   *.*RÖ   (   R(  R=  R)   R>  R  R*  R+  R,  R(   R7   R  R4  R   R   R   RÚ   (   R   R?  t   theFileR7  R9  t	   useSuffix(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRÖ   i  s"    32V	
c         C   s1   |  j  j ƒ  } | r) t | d j ƒ  ƒ Sd Sd  S(   Ni    R   (   R(  R=  R)   R>  (   R   R?  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR@  |  s    N(	   R   R   RB  R   R   RJ  RI  RÖ   R@  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRA  5  s   	$		R&  c           B   sq   e  Z d  Z d d „ Z d d d „ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   R   c         C   s\   | j  ƒ  t j j k rI d d  l } | j ƒ  j d t | j ƒ  ƒ ƒ n  t	 j
 j |  | ƒ S(   Niÿÿÿÿt   file(   t   typeR   t   QEventt   WhatsThisClickedR  t   HELPBROWSERt
   loadMgHelpR)   t   hrefR    t   QWidgetR   (   R   R   R  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   �  s    %i    c   
      C   s¡  t  j j |  | ƒ |  j |  j d ƒ ƒ t  j ƒ  } t j ƒ  j ƒ  \ } } t	 | ƒ d k sq t	 | ƒ d k r¢t  j
 ƒ  } t  j ƒ  |  _ |  j ƒ  t  j ƒ  } | j d ƒ | rÊ t  j d |  ƒ } n  t  j d ƒ }	 | j | ƒ | j |  j ƒ | r| j | ƒ n  | j |	 ƒ | j ƒ  | j | ƒ |  j |  j t j d ƒ |  j ƒ | rz|  j | t j d ƒ |  j ƒ n  |  j t j ƒ  t j d ƒ |  j ƒ n  t | ƒ |  _ |  j j d	 ƒ | j |  j ƒ t	 | ƒ d k r|  j |  j t j d
 ƒ |  j ƒ n  |  j | ƒ |  j j t  j ƒ d j  t j! j" ƒ t# j$ rZ|  j j% t# j$ ƒ n  t	 | ƒ d k s~t	 | ƒ d k r�|  j |  j j& ƒ  j' ƒ  ƒ n  d  S(   Ns™   A file dialog for opening data files supported by ccp4mg with a wizard to select drawing styles of molecular structure <a href="model.html">more help</a>i    s*   Look in ccp4 project or aliased directory:s   Edit aliasess    or ...s   activated(const QString&)s	   clicked()t   directoriesChangedR(  s   directoryEntered(QString)((   R    RU  R   t   setWhatsThisR%  RÛ   R  t   CCP4DATABASEt   getProjectsListR  Re   t	   QComboBoxt   ccp4i_combot   load_ccp4i_combot   QLabelRª   R1  Rj   t
   addStretcht	   addLayoutR�   R   R   t   ccp4iDirectoryChangedt	   editAliast   MGFileDialog0t
   filedialogt   setObjectNamet   update_ccp4i_comboR~   R0  R   t   setFocusR
   t   ActiveWindowFocusReasonR&  t   last_directoryt   setDirectoryt	   directoryt   path(
   R   R   Ra  R‰   t	   ccp4_dirst   ccp4_aliasest   layout0t   ccp4i_label1t   ccp4i_buttont   ccp4i_label2(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   “  sF    $
 
" "(%&	$c         C   s�   |  j  j ƒ  |  j  j d ƒ t j ƒ  j ƒ  \ } } | G| GHx' | D] } |  j  j t | d ƒ ƒ qE W|  j  j d ƒ x | D] } |  j  j | ƒ q Wd  S(   Ns     -Projects-  s   utf-8s     -Aliases- (   R[  R‚   R  R  RX  RY  t   unicode(   R   Rl  Rm  t   project(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR\  Ã  s    	 c         C   sP   t  j ƒ  j t | j ƒ  ƒ ƒ } | rL |  j j t | d ƒ ƒ | t _	 n  d  S(   Ns   utf-8(
   R  RX  t   get_project_dirR)   R>  Rc  Ri  Rr  R&  Rh  (   R   t   aliasRk  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR`  Î  s    !c         C   s   |  j  S(   N(   Rc  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR'  Ô  s    c         C   s4   |  j  j ƒ  } x | D] } q W|  j  j | ƒ d  S(   N(   Rc  t   sidebarUrlst   setSidebarUrls(   R   t   url_listt   item(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt
   setSidebarØ  s    c         C   s‚   | t  _ t j ƒ  j t | j ƒ  ƒ ƒ } | rn |  j j t	 | d ƒ ƒ } | d k rn |  j j
 | ƒ d  Sn  |  j j
 d ƒ d  S(   Ns   utf-8i    (   R&  Rh  R  RX  t   aliasForDirR)   R>  R[  t   findTextRr  R  (   R   Rj  t   projt   indx(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRe  æ  s    	!c         C   s   d d  l  } | j |  ƒ d  S(   Niÿÿÿÿ(   t   ccp4iGuit   ccp4iAliasGui(   R   R  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRa  ð  s    c         C   s   |  j  j | | ƒ d  S(   N(   Rc  t   setLabelText(   R   R   R8   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR�  õ  s    c         C   s   |  j  j | ƒ d  S(   N(   Rc  R/  (   R   RN  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR/  ø  s    N(   R   R   Rh  R   R   R   R\  R`  R'  Rz  Re  Ra  R�  R/  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR&  †  s   0					
		t   IconProviderc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s&   t  j j |  ƒ i  |  _ i  |  _ d  S(   N(   R    t   QFileIconProviderR   t   _filterst   _icon_cache(   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ý  s    	c         C   s   | |  j  | <d  S(   N(   R„  (   R   RŒ   t   filter(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setIconForFilter  s    c         C   s   | |  _  d  S(   N(   R„  (   R   R-  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setIconsForFilters  s    c         C   s¨   | r• t  | d ƒ r• x} |  j D]o } xf |  j | D]W } t | j ƒ  ƒ j | ƒ r3 |  j j | ƒ s t j | ƒ |  j | <n  |  j | Sq3 Wq Wn  t j	 j
 |  | ƒ S(   Nt   filePath(   RÁ   R„  t   reprR‰  t   endswithR…  R±   R    Ro   Rƒ  RŒ   (   R   t   infot   kt   f(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRŒ     s    (   R   R   R   R‡  Rˆ  RŒ   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR‚  ü  s   			t
   ProxyModelc           B   s   e  Z d d  „ Z d „  Z RS(   c         C   s   t  j j |  | ƒ d  S(   N(   R    t   QSortFilterProxyModelR   (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR     s    c         C   sº   | j  ƒ  d k s | j ƒ  r" t S|  j ƒ  j | d | ƒ } |  j ƒ  j | ƒ rV t Sx] |  j ƒ  j ƒ  D]I } t |  j ƒ  j | ƒ j	 ƒ  ƒ j
 t | ƒ j d ƒ j ƒ  ƒ ri t Sqi Wt S(   Niÿÿÿÿi    R   (   t   rowt   columnR¹   t   sourceModelRÂ   t   isDirt   nameFiltersR)   t   fileNamet   toUpperR‹  t   lstript   upperR¼   (   R   t	   sourceRowt   sourceParentt   index0RŽ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   filterAcceptsRow  s    ?N(   R   R   R   R   R�  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR�    s   Rb  c           B   sq   e  Z d  „  Z d „  Z d d „ Z d „  Z d „  Z d d „ Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   c         C   s;   |  j  ƒ  } x | D] } | j | ƒ q W|  j | ƒ d  S(   N(   R-  t   appendR)  (   R   t
   filters_inR-  R†  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt
   addFilters-  s    c         C   s*   |  j  ƒ  } | j | ƒ |  j | ƒ d  S(   N(   R-  Rž  R)  (   R   R†  R-  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt	   addFilter3  s    i   c         C   s  d d  l  } i  |  _ d } g  } x8| D]0} t | | j ƒ rh | d |  j | d <t | d ƒ } n t | ƒ } t | ƒ d k r® | d  d k r® | j d ƒ d k r® q( | j | ƒ | j d ƒ } | j d ƒ }	 | d k rJ|	 d k rJ|	 | k rJ| | d |	 !j d ƒ d k r9| d	 | | d |	 !} qX| d	 | } q( | d	 | } q( W| d
 } | }
 | r­|  j	 ƒ  t
 j j k rš|
 j | ƒ q­|
 j d | ƒ n  t
 j j |  |
 ƒ |  j r |  j | d d ƒ |  j |  t j d ƒ |  j ƒ n  d  S(   Niÿÿÿÿs   All files (i   i    i   R#  R"  R   R$  s    )s   filterSelected(QString)(   t   typest   suffix_lookupt
   isinstancet   ListTypeR)   R  t   rfindRž  R,  t
   acceptModeR    RD  RG  t   insertR)  t	   setSuffixR�   R   R   (   R   R-  t   allR¢  t   all_filterst   new_filterst   filtR†  t   left_part	   right_part   total_filters(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR)  8  s:    	7$ 
	c         K   s\  y/ d d  l  } d d  l } | j | j t ƒ Wn n Xg  } y> d } | j | g d | j ƒ} | j ƒ  d j d ƒ } Wn d  SXxx | D]p } | r� | j	 d ƒ d k r� | | j	 d ƒ d }	 |	 |	 j	 d ƒ d }
 | j
 |
 |
 j	 d	 ƒ d  ƒ q� q� W| |  j k rX|  j ƒ  } g  } g  } x½ | D]µ } | j ƒ  d
 k r1| j ƒ  d k r1t | j ƒ  j ƒ  ƒ } | d
 k rˆd } n  | j	 d ƒ d k rÉ| | k rã| j
 | ƒ | j
 | ƒ qãqæ| j
 | ƒ | j
 | ƒ q1q1WxR | D]J } | d k rñ| | k r;| j
 t j j | ƒ ƒ | j
 | ƒ q;qñqñW|  j | ƒ | |  _ n  d  S(   Niÿÿÿÿs   /sbin/mountt   stdouti    s   
s	   /dev/diskR$  i   R"  R   R$   s   /Volumes(   t
   subprocessRÈ   t   siginterruptt   SIGCHLDR¼   t   Popent   PIPEt   communicateR7   R,  Rž  t   _old_mountsRv  t   hostt   portR)   t   toLocalFileR+  R   t   QUrlt   fromLocalFileRw  (   R   t   argsR²  RÈ   t   mountst   syscmdt   pt   outputt   ot   tt   t2t   urlst   newUrlst   _urlst   urlRk  t   m(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   checkMounts`  sP    %$ 	c   	      K   sš  |  } | j  ƒ  } xa | D]X } t | j ƒ  j ƒ  ƒ } | j d ƒ d k r t j j | ƒ sr | j | ƒ qr q q W| j	 g  ƒ xi t
 j j t
 j j t
 j j g D]F } t
 j j | ƒ } t j j | ƒ } | | k r¥ | j | ƒ q¥ q¥ Wt j d k rXxW t j d ƒ D]C } t j j t j j d | ƒ ƒ } | | k r| j | ƒ qqWn  t j j d ƒ } | | k r‰| j d | ƒ n  | j	 | ƒ d  S(   Ns   /Volumesi    t   darwins	   /Volumes/R   (   Rv  R)   R»  R+  R,  t   osRk  t   existst   removeRw  R    t   QDesktopServicest   HomeLocationt   DesktopLocationt   DocumentsLocationt   storageLocationR   R¼  R½  Rž  t   syst   platformt   listdirt   joinR¨  (	   R   R¾  t   fdt   sbRÉ  Rk  t   loct   vt   computer(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   checkMountsNewŽ  s,    (!
c         C   s.   t  j j |  | ƒ |  j d ƒ |  j ƒ  d  S(   Ni    (   R    RD  R   t   setSizeGripEnabledRÞ  (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ¸  s    	
c         C   s   d  S(   N(    (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRÚ   Ñ  s    c         C   s   d  S(   N(    (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   doneÔ  s    c         C   s-   |  j  ƒ  r |  j  ƒ  j ƒ  n
 |  j ƒ  d  S(   N(   t   windowRÚ   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   reject×  s    c         C   s9   t  | ƒ } |  j j | ƒ r5 |  j |  j | ƒ n  d  S(   N(   R)   R£  R±   R.  (   R   R†  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR©  Þ  s    c         C   s]   |  j  ƒ  t j j k rF |  j t j d ƒ } | rY | j | ƒ qY n t j j |  | ƒ d  S(   Nt   fileNameEdit(   t   fileModeR    RD  t   ExistingFilet	   findChildR   Rª   R/  (   R   RN  t   widget(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR/  å  s
     N(   R   R   R   R¡  R)  RË  RÞ  R   R   RÚ   Rà  Râ  R©  R/  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRb  &  s   		(	.	*				t   mgGroupSelectorc           B   st   e  Z d g  g  d  d  d d d „ Z g  d „ Z g  d „ Z d d d „ Z d	 „  Z d
 „  Z d „  Z	 g  d „ Z
 RS(   i    iÈ   i�  c         C   s†   t  t |  ƒ j | ƒ g  |  _ i  |  _ g  |  _ i  |  _ | |  _ | |  _ | |  _	 | |  _
 |  j | ƒ |  j | ƒ |  j ƒ  d  S(   N(   RQ   Rè  R   t
   groupOrdert   groupSelectiont	   itemOrdert   itemTextt   reMatcht   closeButtont   widgetHeightt   widgetWidtht   addItemst	   addGroupst   draw(   R   R   t   groupst   itemsRí  Rî  Rl   R”   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ù  s    								c         C   s‹   d d  l  } xx | D]p } t | ƒ d k r t | d | j ƒ r t | d | j ƒ r |  j j | d ƒ | d |  j | d <q q Wd  S(   Niÿÿÿÿi   i    i   (   R¢  R  R¤  t
   StringTypeRë  Rž  Rì  (   R   Rõ  R¢  t   it(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRñ    s
    >c         C   s´   d d  l  } x¡ | D]™ } t | ƒ d k rƒ t | d | j ƒ rƒ t | d | j ƒ rƒ |  j j | d ƒ | d |  j | d <q t | ƒ d k r |  j j | d ƒ q q Wd  S(   Niÿÿÿÿi   i    i   (   R¢  R  R¤  Rö  R¥  Ré  Rž  Rê  (   R   Rô  R¢  t   gp(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRò    s    >R   i   c         C   sd  | r`| d k rW xH|  j  D]4 } |  j j t j | ƒ } | r | j d ƒ q q Wq`| d k r¨ x÷ |  j  D]4 } |  j j t j | ƒ } | rm | j d ƒ qm qm Wq`|  j j | ƒ r`|  j rx” |  j | D]< } |  j j	 t j | ƒ } x | D] } | j | ƒ qö WqÑ Wq]xF |  j | D]4 } |  j j t j | ƒ } | r"| j | ƒ q"q"Wq`n  d  S(   NRª  i   R‚   i    (
   Rë  t   itemListRæ  R    t	   QCheckBoxt
   setCheckedRê  R±   Rí  R0  (   R   t   groupt   stateRy  t   butt   but_list(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   select%  s*      	  c         C   s¢  t  j |  ƒ |  _ d } t  j ƒ  } |  j j t j j ƒ t  j ƒ  |  _	 t  j
 ƒ  } | j | | | | ƒ | j | ƒ xJ |  j D]? } t  j |  j | j ƒ  |  ƒ } | j | ƒ | j | ƒ q‚ W|  j	 j | ƒ |  j j |  j	 ƒ | j |  j ƒ |  j rÚt  j ƒ  |  _ t  j
 ƒ  } | j | | | | ƒ | j | ƒ | j d ƒ xh |  j D]] } t  j | |  ƒ } | j | ƒ | j | ƒ |  j | t j d ƒ t j |  j | ƒ ƒ qVW|  j j | ƒ | j |  j ƒ n  t  j ƒ  } t  j
 ƒ  } | j | | | | ƒ | j | ƒ t  j d |  ƒ }	 |	 j | | | | ƒ | j |	 ƒ |  j |	 t j d ƒ t j |  j d ƒ ƒ t  j d |  ƒ }
 |
 j | | | | ƒ | j |
 ƒ |  j |
 t j d ƒ t j |  j d ƒ ƒ | j d ƒ t  j d |  ƒ } | j | ƒ |  j | t j d ƒ |  j ƒ |  j rjt  j d	 |  ƒ } | j | ƒ |  j | t j d ƒ |  j  ƒ n  | j | ƒ | j! d ƒ | j | ƒ |  j | ƒ d  S(
   Ni    i   s
   released()t   ClearR‚   s
   Select allRª  t   Applyt   Close("   R    t   QScrollAreat   listAreaRe   t   setHorizontalScrollBarPolicyR   R
   t   ScrollBarAlwaysOffRU  Rù  RÛ   Rf   Rg   Rë  Rú  Rì  R(   Rd  Rj   R~   t	   setWidgetRé  t
   custom_boxR^  R1  R�   R   Rn   RÑ   R   R   Rî  RÚ   t
   addSpacing(   R   Rˆ   Rn  R‰   Ry  t   cbRø  t   wt   rboxR‚   Rª  R   RÚ   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRó  ?  sh    	/++	"c         C   s   |  j  t j d ƒ ƒ d  S(   Ns
   accepted()(   R   R   R   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ‡  s    c         C   sX   g  } xK |  j  D]@ } |  j j t j | ƒ } | r | j ƒ  r | j | ƒ q q W| S(   N(   Rë  Rù  Ræ  R    Rú  t	   isCheckedRž  (   R   t	   sele_listRy  Rþ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRì   Œ  s     c         C   sO   xH |  j  D]= } |  j j t j | ƒ } | r
 | j | j | ƒ ƒ q
 q
 Wd  S(   N(   Rë  Rù  Ræ  R    Rú  Rû  R  (   R   t   selectedListRy  Rþ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setSelection–  s     N(   R   R   R   R   Rñ  Rò  R   Ró  R   Rì   R  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRè  ô  s   	H		
t   extendingFramec           B   sª   e  Z d  Z d d d d d d d d d d d „
 Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z	 d d „ Z
 d „  Z d d d „ Z d „  Z i  d d „ Z d d „ Z RS(   i    R   i   i    iÈ   i�  c         C   s³  t  j j |  | ƒ d } | |  _ t j |  _ | |  _ | |  _ | |  _	 | |  _
 |	 |  _ |
 rm |
 |  _ nV |  j |  j ƒ  ƒ } | j t j j ƒ | j ƒ  | j ƒ  t j d |  _ | j ƒ  t  j ƒ  } | j ƒ  | r_t  j d ƒ } | j d ƒ | j t j j ƒ | j d ƒ | j | ƒ |  j | t j d ƒ t j  |  j! t j d ƒ ƒ ƒ n  | rÒt  j d ƒ } | j d ƒ | j d ƒ | j | ƒ |  j | t j d ƒ t j  |  j! t j d	 ƒ ƒ ƒ n  |  j r't  j d
 ƒ } | j d ƒ | j d ƒ | j t j j ƒ | j | ƒ n  |  j	 r|t  j d ƒ } | j d ƒ | j d ƒ | j t j j ƒ | j | ƒ n  | rït  j d ƒ } | j d ƒ | j d ƒ | j | ƒ |  j | t j d ƒ t j  |  j! t j d ƒ ƒ ƒ n  t  j" |  ƒ |  _# t  j$ ƒ  } | j% d ƒ | j& d d d d ƒ t  j' |  ƒ } | j( t j j) ƒ | j | d d d d ƒ |  j# j* | ƒ t  j |  ƒ |  _+ |  j+ j, |  j d ƒ t  j- ƒ  } | j% d ƒ | j& d d d d ƒ |  j+ j* | ƒ | j. |  j+ ƒ t  j- ƒ  } | j% | ƒ | j& | | | | ƒ | j |  j# ƒ | j/ | ƒ |  j* | ƒ |  j	 rw|  j | t j d ƒ |  j0 ƒ n  |  j r¢|  j | t j d ƒ |  j1 ƒ n  |  j2 | ƒ d  S(   Ni    i   R  t   applyButtons
   released()s
   accepted()t   Savet
   saveButtonRÖ   R  Ry   s   Add linet	   addButtonR  Rî  s   close()i   i
   s	   clicked()(3   R    RU  R   t   widgetClassR  t   LINE_HEIGHTt
   lineHeightt   ifCleart
   ifEditablet	   ifAddLinet   ifSaveRï  Rð  R   t   setAttributeR   R
   t   WA_DeleteOnCloseR›   R”   RÚ   Re   R^  R1  Rd  t   setFocusPolicyt
   ClickFocust   setAutoDefaultRj   R�   R   Rn   RÑ   R   Rb   t   scroll_frameR—   Rg   Rf   R  R  R  R~   t   bodyRè   RÛ   R  R_  t   addLineR‚   t   setNofLines(   R   R   Rç  t   nLinest   ifApplyR  t   ifCloseR  R  Rl   R”   Rˆ   t
   tmp_widgett   buttonLayoutt   apply_buttont   save_buttont   clear_buttont
   add_buttont   close_buttont   scroll_layoutt   scrollt   body_layoutt   v_layout(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   «  s–    						


77		7	"	"c         C   s'   |  j  d ƒ |  j t j d ƒ ƒ d  S(   Ni    t   cleared(   R&  R   R   R   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR‚     s    c         C   s¨   |  j  j ƒ  j ƒ  } | | k r% d  S| | k rX xp t | | ƒ D] } |  j ƒ  qA WnL | | k  r¤ | d k r¤ x1 t | | d ƒ D] } |  j d | d ƒ qƒ Wn  d  S(   Ni    iÿÿÿÿt   linei   (   R$  R‰   R  R  R%  t
   deleteLine(   R   R'  t	   curNLinest   ii(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR&    s    c         C   s   |  j  j ƒ  j ƒ  S(   N(   R$  R‰   R  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getNofLines(  s    c         C   s3   |  j  j ƒ  j | ƒ } | s" d  S| j ƒ  j Sd  S(   N(   R$  R‰   t   itemAtR   Rç  R;  (   R   RÂ   Ry  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getLine-  s    c         C   s   | |  _  d  S(   N(   R  (   R   Rç  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  6  s    iÿÿÿÿc         C   s¥   |  j  |  j ƒ  ƒ } t d |  d | d |  j ƒ } | j ƒ  |  j j ƒ  j | | ƒ |  j ƒ  | d k  rˆ |  j j ƒ  j	 ƒ  d } n  |  j
 t j d ƒ | ƒ d  S(   NR   R;  R  i    i   s   lineAdded(int)(   R  R   t   extendingFrameLineR  R›   R$  R‰   t   insertWidgett   setBodyHeightR  R   R   R   (   R   RÂ   Rç  R6  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR%  <  s    

 c         C   s‹   |  j  j ƒ  j ƒ  } |  j d k  rL |  j ƒ  } |  j ƒ  j ƒ  d |  _ n  |  j  j |  j | ƒ |  j  j |  j | ƒ |  j  j ƒ  d  S(   Ni    i   (	   R$  R‰   R  R  R  Rl   t   setMinimumHeightt   setMaximumHeightt   updateGeometry(   R   R'  Rç  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR?  G  s    c         C   sð   | d k r| |  j  j ƒ  j | ƒ } | rì | j ƒ  j ƒ  |  j  j ƒ  j | j ƒ  ƒ |  j ƒ  |  j t j	 d ƒ ƒ qì np | rì |  j  j ƒ  j
 | ƒ } | d k rì | j ƒ  |  j  j ƒ  j | ƒ |  j ƒ  |  j t j	 d ƒ ƒ qì n  d  S(   Ni    t   lineDeleted(   R$  R‰   R;  Rç  RÚ   t   removeWidgetR?  R   R   R   t   indexOf(   R   Rç  R6  Ry  R9  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR7  U  s    


c         C   sh   | d } | d } |  j  j ƒ  j | ƒ } | d k rT | d k rT | d } qT n  |  j d | ƒ d  S(   Ni    i   t   belowRÂ   (   R$  R‰   RE  R%  (   R   R¾  Rç  R   R9  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt
   insertLinel  s    

 c         C   s¢  | j  ƒ  } | d k  r6 d } |  j j ƒ  j ƒ  } n | } | d } xUt | | ƒ D]D} |  j j ƒ  j | ƒ } | rV | j ƒ  j } y> | j ƒ  }	 x+ | D]# }
 | |
 j	 |	 j
 |
 d ƒ ƒ qŸ WWqšxÇ| D]»}
 | j t j |
 ƒ } d } | r~t | t j ƒ rLt | j | j ƒ  ƒ j ƒ  ƒ } | s{t | j ƒ  ƒ } q{q~t | t j ƒ rst | j ƒ  ƒ } q~t | t j ƒ ršt | j ƒ  ƒ } q~t | t j ƒ rÁt | j ƒ  ƒ } q~t | t ƒ råt | j ƒ  ƒ } q~t | t ƒ r	t | j ƒ  ƒ } q~t | t ƒ r-t | j ƒ  ƒ } q~t | t j  ƒ rTt! | j" ƒ  ƒ } q~t | t j# ƒ r~t | j" ƒ  ƒ } q~n  | |
 j	 | ƒ qÔ WqšXqV qV W| S(   Ni    i   R   ($   t   keysR$  R‰   R  R  R;  Rç  R;  R®   Rž  Rö   Ræ  R    RU  R¤  RZ  R)   R  R  R  t   currentTextR]  R8   R   t   QAbstractButtont   intR  RB   t   mgColourCombot
   get_colourt   mgAtomPickerR¯   t   QDoubleSpinBoxt   floatR2   t   QSpinBox(   R   R²   RÂ   t   keyListt   firstt   lastR6  Ry  t
   lineWidgetRü   R	   Rç  R2   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR®   w  sR    
%!  c         C   sÓ  | j  ƒ  } |  j j ƒ  j ƒ  d k r4 |  j ƒ  n  |  j j ƒ  j d ƒ j ƒ  } d  } d } xD | r¤ | t | ƒ d k  r¤ | d } | j	 t
 j | | ƒ } qa W| s¯ d St | | | ƒ } | sÙ |  j | ƒ n  d } yv xo t | ƒ D]a }	 i  }
 x  | D] } | | |	 |
 | <qW|  j j ƒ  j | |	 ƒ j ƒ  } | j j |
 ƒ qï WWn d } n X| sÏxa| D]V} xMt d t | t | | ƒ ƒ ƒ D])}	 |  j j ƒ  j | |	 ƒ j ƒ  } | j	 t
 j | ƒ } | rÃt | t
 j ƒ r^| j t j | | |	 ƒ ƒ } | d k  r?| j t j | | |	 ƒ ƒ } n  | d k rÀ| j | ƒ qÀqÄt | t
 j ƒ rŽ| j t | | |	 ƒ ƒ qÄt | t
 j ƒ r¾| j t | | |	 ƒ ƒ qÄt | t
 j ƒ rè| j | | |	 ƒ qÄt | t ƒ r| j | | |	 ƒ qÄt | t  ƒ r6| j! | | |	 ƒ qÄt | t" ƒ r`| j# d | | |	 ƒ qÄt | t
 j$ ƒ r�| j% t& | | |	 ƒ ƒ qÄt | t
 j' ƒ rÄ| j% t( | | |	 ƒ ƒ qÄq›Pq›WqrWn  | S(   Ni    iÿÿÿÿi   t   atomName()   RH  R$  R‰   R  R%  R;  Rç  R   R  Ræ  R    RU  R&  R  R;  R°   t   minR¤  RZ  R|  R   t   QStringt   findDataR  R  R   Rª   R)   R]  RJ  Rû  RB   RL  t
   set_colourRN  R  RO  t   setValueRP  RQ  RK  (   R   R²   RÂ   RR  RU  Rç  R9  t   nLRà  t   jjRü   R	   t   ic(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR°   §  sl      
   "
)" # !N(   R   R   R  R   R   R‚   R&  R:  R<  R  R%  R?  R7  RG  R®   R°   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  £  s   c								0R=  c           B   s    e  Z d Z d d d  d „ Z RS(   i   c         C   sq  t  j j |  | ƒ | |  _ t  j ƒ  } d } | j | ƒ | j | | | | ƒ | rg | j | ƒ n  t j	 sŽ t
 j d d d d ƒ t _	 n  | r`t  j t j	 ƒ } t  j |  ƒ } | j t  j j ƒ | j | ƒ | j t j t j d t j d ƒ ƒ | j d ƒ t  j |  ƒ } t  j d | ƒ }	 |  j |	 t j d	 ƒ t
 j | j |  ƒ ƒ | j |	 ƒ t  j d
 | ƒ }
 |  j |
 t j d	 ƒ t
 j | j |  d g ƒ ƒ | j |
 ƒ t  j d | ƒ } |  j | t j d	 ƒ t
 j | j |  d g ƒ ƒ | j | ƒ t  j d | ƒ } |  j | t j d	 ƒ |  j j ƒ | j | ƒ | j  | ƒ | j | ƒ n  |  j! | ƒ d  S(   Ni    RÓ   R=  Rü  t   actionsi   s   Add or delete a rowt   Deletes   triggered()s   Insert abovet   aboves   Insert belowRF  t   Reset("   R    RU  R   R;  Re   Rg   Rf   Rj   R=  t
   iconPixmapRn   Rp   Ro   Rq   Rs   Rt   Ru   Rv   R   Rw   R  R  Rx   R{   t   QActionR�   R   RÑ   R7  t	   addActionRG  t
   setDefaultR}   R~   (   R   R   R;  R  R‰   Rˆ   RŒ   Rr   t   iconMenut   deleteActiont   aboveActiont   belowActiont   resetAction(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ÿ  sB    		'+11"N(   R   R   R   Rc  R   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR=  ø  s   t	   frameLinec           B   s   e  Z d d  „ Z RS(   c         C   s   t  j j |  | ƒ d  S(   N(   R    RU  R   (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ,  s    N(   R   R   R   R   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRl  *  s   RL  c           B   sG   e  Z d d  d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(	   t   blacki    c         C   s�   t  j j |  | ƒ | |  _ |  j ƒ  | |  _ |  j | ƒ |  j t ƒ  t	 j
 d ƒ |  j ƒ |  j r‰ |  j |  t	 j
 d ƒ |  j ƒ n  d  S(   Nt   coloursChangeds"   currentIndexChanged(const QString)(   R    RZ  R   t	   ifBrowsert   loadColourst
   old_colourRZ  R�   t   ColourBrowserManagerR   R   t   handleIndexChanged(   R   R   t   colourt   browser(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ;  s    	
	"	c         C   s	  |  j  ƒ  } |  j d ƒ |  j ƒ  xŽ t j ƒ  j ƒ  D]z } t j ƒ  j | ƒ } t j | d | d | d ƒ } t j	 d d ƒ } | j
 | ƒ t j | ƒ } |  j | | ƒ q6 W|  j | ƒ } | d k rß |  j | ƒ n  |  j rø |  j d ƒ n  |  j d ƒ d  S(   Ni   i    i   i   i
   s   Colour browser(   RI  R¸   R‚   R  t   MGCOLOURt
   colourlistt   RGB255R    t   QColort   QPixmapt   fillRo   R  R|  R  Ro  (   R   t   current_colourt   colRt  t   qcolt   pixmapRŒ   t   idx(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRp  H  s     
! 	 c         C   s—   | d k r“ t  j ƒ  j |  j ƒ } | d k r@ |  j | ƒ n  t |  d ƒ sƒ t |  ƒ |  _ |  j |  j t	 j
 d ƒ |  j ƒ q“ |  j j ƒ  n  d  S(   Ns   Colour browseri    Ru  t   ColourSelected(   R  Rv  RÂ   Rq  R  RÁ   t   mgColourBrowserRu  R�   R   R   t   handleBrowserR›   (   R   t   labelR€  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRs  ^  s     %c         C   s   |  j  ƒ  |  j | ƒ d  S(   N(   Rp  RZ  (   R   R}  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRƒ  l  s    
c         C   su   | d k r= |  j  |  j ƒ } | d k rq |  j | ƒ qq n4 |  j  | ƒ } | d k rq |  j | ƒ | |  _ n  d  S(   Ns   Colour browseri    (   R|  Rq  R  (   R   R}  R€  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRZ  s  s     c         C   s   t  |  j ƒ  ƒ S(   N(   R)   RI  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRM  ƒ  s    N(	   R   R   R   R   Rp  Rs  Rƒ  RZ  RM  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRL  5  s   				RN  c           B   sþ   e  Z d  „  Z d d „ Z d d „ Z d d „ Z d „  Z d „  Z d „  Z d	 „  Z	 d d d d d
 „ Z d „  Z d „  Z d „  Z d d „ Z d d „ Z d d „ Z d d „ Z d d d d d „ Z d „  Z d „  Z d d „ Z d „  Z d „  Z RS(   c         C   s"   t  |  j j ƒ  ƒ } |  j | ƒ S(   N(   R)   t   textBoxR8   t   textChanged(   R   t   txt(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   textChanged0’  s    R   c   	      C   sB  |  j  d ƒ t | ƒ j ƒ  } |  j ƒ  j | d d ƒ\ } } } } } |  j r˜ |  j j t j	 | ƒ t j
 j ƒ } | d k r˜ |  j j | ƒ q˜ n  | r» |  j r» |  j j d ƒ nM |  j j | t j
 j ƒ } | d k r|  j j | ƒ |  j | d d ƒn  | r+|  j r+|  j j d ƒ n{ |  j j | t j
 j ƒ } | d k  rt|  j j | d t j
 j ƒ } n  | d k r¦|  j j | ƒ |  j | d d ƒn  |  j d k r| rØ|  j rØ|  j j d ƒ q¨|  j j | t j
 j ƒ } | d k r¨|  j j | ƒ q¨n“ |  j d k r¨| r•|  j j | t j
 j ƒ } | d k  rs|  j j | d t j
 j ƒ } n  | d k r¥|  j j | ƒ q¥q¨|  j j d ƒ n  |  j  d ƒ |  j ƒ  } |  j r>| j | | | | | f |  j k r>|  j t j d ƒ | j | | | | | f ƒ | j | | | | | f |  _ n  d  S(	   Ni   t	   res_rangei    t
   updateTextR"  R   R  t   AtomChanged(   t   blockComboSignalsR)   R(   R    t   splitAtomIDt   showModelCombot
   modelComboR|  R   RX  R
   t   MatchExactlyR  t   blankOptiont
   chainCombot   chainChangedt   residueCombot   MatchStartsWitht   residueChangedR   t	   atomCombot
   rangeCombot   signalBlockedRÓ   t   lastEmitSelectionR   R   (	   R   R8   t   modelt   chainR#   t   residue2R   t   matchR   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR†  —  sR    *	$  " " ..i   c         C   s–  | d k  r d  S|  j  r2 |  j j ƒ  d k r2 d  S|  j rT |  j j ƒ  d k rT d  S|  j j ƒ  d k rm d  S|  j j ƒ  d k r† d  S|  j ƒ  } |  j ƒ  } |  j j	 ƒ  } |  j j	 ƒ  } t
 } |  j  rò | j |  j k rò | j |  _ t } n  | |  j k r| |  _ t } n  | |  j k r4| |  _ t } n  | |  j k rU| |  _ t } n  | |  j k rv| |  _ t } n  | r’| r’|  j ƒ  q’n  d  S(   Ni    (   t   showDataCombot	   dataComboR  RŽ  R�  R’  R”  R    t   getModelNumberR  R¼   RÓ   t   dataNameR¹   t   imodelt   ichaint   iresiduet   iatomt   updateTextBox(   R   R¦  RŠ  R   R£  R¤  R¥  RŽ   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   atomChangedÐ  sB         									 c         C   s   | r |  j  ƒ  n  d  S(   N(   R§  (   R   t   iresRŠ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   rangeChangedð  s     c         C   sX  |  j  ƒ  } |  j ƒ  } |  j j ƒ  |  j } |  j j ƒ  |  j } d } d } d } |  j r~ | d k r~ d t | ƒ } n  | d k r¥| j j	 | ƒ j
 | ƒ j ƒ  } | rÌ | d t | ƒ d } n+ t | ƒ d k rñ t | ƒ d } n d } | j j	 | ƒ j
 | ƒ j | ƒ }	 |	 r¥| t |	 j ƒ  ƒ } |  j d k rÆ|  j j ƒ  |  j } | d k rŸ|	 j | ƒ }
 |
 j ƒ  } | d | j ƒ  } |
 j ƒ  j ƒ  } | rÃ| d | } qÃqŸq¢|  j d k r¢|  j j ƒ  |  j } | d k rŸ| j j	 | ƒ j
 | ƒ j | ƒ j ƒ  } | | k rD| d	 t | ƒ } nO | | k r“d t | ƒ d t | ƒ d t | ƒ d	 t |	 j ƒ  ƒ } n  | } qŸq¢q¥n  |  j j d
 ƒ |  j j | ƒ |  j j d ƒ |  j sT|  j | j | | | | | f k rT|  j t j d ƒ | j | | | | | f ƒ | j | | | | | f |  _ qTn  d  S(   NiÿÿÿÿR   i    R$   s   // /R   t   :R  t   -i   R‹  (   R    R¡  R’  R  R‘  R”  RŽ  R)   R   t   GetModelt   GetChaint
   GetChainIDR  t
   GetResiduet	   GetSeqNumR   R—  t   GetAtomt   GetAtomNameR(   t	   GetAltLocR˜  R…  R¸   Rª   R™  Rš  RÓ   R   R   R   (   R   R   R£  R¤  R¥  t	   iresidue2R¦  R8   t   chainIDt   pRest   theAtomt   atomIDt   altLoct   iranget   resNo2(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR§  õ  sX     !$*C	$.c         C   sl   |  j  r |  j j d ƒ n  |  j r8 |  j j d ƒ n  |  j j d ƒ |  j j d ƒ |  j j d ƒ d  S(   Ni    (   RŸ  R   R  RŽ  R�  R’  R”  R˜  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   reset(  s    	 	 c         C   s   | |  _  d  S(   N(   R™  (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR¸   /  s    c         C   sˆ   |  j  r |  j j | ƒ n  |  j r8 |  j j | ƒ n  |  j j | ƒ |  j j | ƒ |  j rt |  j j | ƒ n  |  j j | ƒ d  S(   N(	   RŸ  R   R¸   RŽ  R�  R’  R”  R˜  R—  (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRŒ  2  s    	 	 	 c         C   sô   | r | } | j  } n$ | r0 t j | ƒ } n |  j ƒ  } | sF d  S| r[ | j ƒ  } n  | r³ |  j r³ |  j j | t j	 j
 ƒ d k r³ |  j j |  j j | t j	 j
 ƒ ƒ n  |  j j d ƒ |  j j | ƒ |  j j d ƒ |  j | ƒ d S(   Niÿÿÿÿi   i    (   RÓ   R  R   R    t	   GetAtomIDRŸ  R   R|  R   R
   R�  R  R…  R¸   Rª   R†  (   R   t	   modelNameRV  RK   t   pAtomR   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  ;  s"      0( c         C   s   t  |  j j ƒ  ƒ S(   N(   R)   R…  R8   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR¯   p  s    c         C   sG   |  j  ƒ  } | s d S| j | t |  j j ƒ  ƒ d d ƒ} | | f S(   Nt   force_one_atomi   (   NN(   R    R   t   interpretAtomIDR)   R…  R8   (   R   R   t   atm_ptr(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   modelAtomPtrs  s
     'c         C   s:   |  j  ƒ  } | r2 | d j t |  j j ƒ  ƒ f Sd Sd  S(   Ni    (    (   RÄ  RÓ   R)   R…  R8   (   R   R¬   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   modelNameAtomName{  s     c         C   s:  | d k  r d  S|  j  r2 |  j j ƒ  d k r2 d  S|  j rT |  j j ƒ  d k rT d  S|  j j ƒ  d k rm d  S|  j ƒ  } |  j ƒ  } |  j j ƒ  |  j	 } | |  j	 } |  j
 d k r#|  j j ƒ  |  j	 rà |  j j d ƒ n  | d k r6| d k r6| d k r6| j j | ƒ j | ƒ j | ƒ j ƒ  } | d k r>d  S| j j | ƒ j | ƒ j | ƒ } d } x} t | ƒ D]o }	 | j |	 ƒ }
 |
 j ƒ  j ƒ  } | d k r±|	 } n  |
 j ƒ  rÔ| d |
 j ƒ  } n  |  j j | ƒ quW|  j j | k r|  j j | ƒ n  |  j | | ƒ q6n | r6|  j ƒ  n  d  S(   Ni    R   R   t   CAR«  (   RŸ  R   R  RŽ  R�  R’  R    R¡  R  R‘  R   R—  R‚   R  R   R­  R®  R°  t   GetNumberOfAtomsR  R²  R³  R(   R´  R  R¨  R§  (   R   R©  RŠ  R   R£  R¤  t   natomst   prest	   init_atomt   jt   patR¹  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR–  „  sF        	 $*$ 	   c         C   sN  | d k  r d  S|  j  r2 |  j j ƒ  d k r2 d  S|  j rT |  j j ƒ  d k rT d  S| |  j } |  j j ƒ  |  j j ƒ  |  j r§ |  j j	 d ƒ |  j j	 d ƒ n  |  j
 ƒ  } |  j ƒ  } | d k rð| d k rð| j j | ƒ j | ƒ j ƒ  } | d k r'|  j d k r#|  j j ƒ  n  d  S| j j | ƒ j | ƒ } x« t | ƒ D]š } | j | ƒ } | j ƒ  }	 | j ƒ  }
 | j ƒ  } | r±t |
 ƒ d | d |	 d } n t |
 ƒ d |	 d } |  j j	 | ƒ |  j j	 | ƒ qOWn  |  j d | ƒ |  j j d k r%|  j j d ƒ n  |  j j d k rJ|  j j d ƒ n  d  S(   Ni    R   R   RK  R"  R#  (   RŸ  R   R  RŽ  R�  R‘  R”  R‚   R˜  R  R    R¡  R   R­  R®  t   GetNumberOfResiduesR   R—  R  R°  t
   GetResNameR±  t
   GetInsCodeR)   R–  R  R  (   R   R¤  RŠ  R   R£  t   nrest   pchRË  RÉ  t   resIDt   resNot   resInsRÓ   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR“  ¡  sH       	! #  c         C   s{  | d k  r d  S|  j  r2 |  j j ƒ  d k r2 d  S| |  j d } |  j j ƒ  |  j rl |  j j d ƒ n  |  j j ƒ  |  j d k r˜ |  j	 j ƒ  n  |  j d k r· |  j
 j ƒ  n  | d k rw|  j ƒ  } | j j | ƒ j ƒ  } | d k r÷ d  SxE t | ƒ D]7 } | j j | ƒ j | ƒ j ƒ  } |  j j | ƒ qW|  j d | ƒ |  j j d k rw|  j j d ƒ qwn  d  S(   Ni    i   s     R   R  (   RŸ  R   R  R‘  R’  R‚   R  R”  R   R—  R˜  R    R   R­  t   GetNumberOfChainsR  R®  R¯  R“  R  R  (   R   R£  RŠ  R   t   nchainsRË  R¶  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   modelChangedÆ  s0      	    ! c         C   s?  |  j  ƒ  } | s d  S|  j r(|  j j ƒ  | j j ƒ  } | d k r£ |  j j ƒ  |  j j ƒ  |  j d k r€ |  j	 j ƒ  n  |  j d k rŸ |  j
 j ƒ  n  d  S|  j r¿ |  j j d ƒ n  x. t | ƒ D]  } |  j j t | d ƒ ƒ qÌ W|  j d | ƒ |  j j d k r;|  j j d ƒ q;n |  j |  j | ƒ d  S(   Ni    R  R   R   i   (   R    RŽ  R�  R‚   R   t   GetNumberOfModelsR’  R”  R   R˜  R—  R‘  R  R  R)   R×  R  R  (   R   t   iRŠ  R   t   nmodelsRË  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   dataObjChangedÙ  s,     	  	  R   i    c         C   sÐ  t  j j |  ƒ |  j t  j j t  j j Bƒ d |  _ | |  _ | r‡ d |  _ t	 j
 | ƒ } | r� | j j ƒ  d k r� d |  _ q� n	 d |  _ | |  _ | |  _ d |  _ d |  _ d |  _ d |  _ d |  _ |  j d d d d d g |  _ t  j ƒ  } | j d d d d ƒ | j d ƒ |  j rPt d d d |  ƒ |  _ | j |  j ƒ n  |  j r›t  j ƒ  |  _ |  j j d ƒ |  j j d ƒ | j |  j ƒ n  t  j ƒ  |  _ |  j j d ƒ |  j j d ƒ | j |  j ƒ t  j ƒ  |  _  |  j  j d ƒ |  j  j d ƒ | j |  j  ƒ t  j ƒ  |  _! |  j! j d ƒ |  j d	 k rZ| j |  j! ƒ n  t  j" d
 |  ƒ |  _# t  j ƒ  |  _$ |  j$ j d ƒ |  j d k rÀ| j |  j# ƒ | j |  j$ ƒ n |  j# j% ƒ  |  j$ j% ƒ  t& ƒ  |  _' d } t  j( ƒ  } | j) ƒ  }	 t  j* |	 ƒ }
 |
 j+ | ƒ } | j |  j' ƒ | j, d ƒ |  j' j- | ƒ |  j. d ƒ |  j r�|  j j/ ƒ  d k r�|  j j0 d ƒ n  |  j r»|  j1 |  j t2 j3 d ƒ |  j. ƒ n  |  j ré|  j1 |  j t2 j3 d ƒ |  j4 ƒ n  |  j5 ƒ  |  j1 |  j t2 j3 d ƒ |  j6 ƒ |  j1 |  j  t2 j3 d ƒ |  j7 ƒ |  j1 |  j! t2 j3 d ƒ |  j8 ƒ |  j1 |  j$ t2 j3 d ƒ |  j9 ƒ |  j1 |  j' t2 j3 d ƒ |  j: ƒ |  j1 |  j' t2 j3 d ƒ |  j: ƒ |  j; | ƒ d  S(   Ni   i    RJ   RK   R   i
   i   i   R   t   toR  s   /99/Z/999.2/HG51i   s   currentIndexChanged(int)s   editingFinished()R   (<   R    Rb   R   Ra   t   BoxRd   RŽ  R   RŸ  R  R   R   RØ  R‘  R¢  R£  R¤  R¥  R¦  R™  Rš  Re   Rf   Rg   Rh   R   Rj   RZ  R�  t   setMaxVisibleItemst   setMinimumContentsLengthR’  R”  R—  R]  t   to_labelR˜  R    R   R…  t	   QTextEditt   currentFontt   QFontMetricsR”   R^  Rm   RÛ  R  R  R�   R   R   R×  Rx   R“  R–  R¨  Rª  Rˆ  R~   (   R   R   R   R   t   blankR   t   vblayoutt   someTextt   dummyt   fnt   fmt	   textWidth(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ð  s’    			 										  	 %	 %
""""""c         C   sC   |  j  r- t |  j j |  j j ƒ  ƒ ƒ } n	 |  j } t j | ƒ S(   N(   RŸ  R)   R   Rì  R  R¢  R  R   (   R   RÓ   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR    >	  s    	$	c         C   s)   |  j  r! |  j j ƒ  |  j d Sd Sd  S(   Ni   (   RŽ  R�  R  R‘  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR¡  E	  s    	c         C   sß   | r | d } n  |  j  r3 |  j j | d ƒ n  |  j rS |  j j | d ƒ n  |  j j | d ƒ |  j j | d ƒ |  j d k r¡ |  j j | d ƒ n  |  j d k rÇ |  j	 j | d	 ƒ n  |  j
 j | d
 ƒ d  S(   NR$  s%   Model object - equivalent to PDB files   'NMR' or symmetry model numbers   Chain IDs    Residue sequence number and typeR   s	   Atom nameR  s   end of residue ranges   Full atom id(   RŸ  R   Rx   RŽ  R�  R’  R”  R   R—  R˜  R…  (   R   R8   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRx   K	  s     		  c         C   sU   t  ƒ  j ƒ  } | s d  S| j ƒ  } t | ƒ d k rQ |  j | d j ƒ  ƒ n  d  S(   Ni   i    (   t
   MAINWINDOWt   getLastPickEventt   getPickedAtomsR  R†  R¾  (   R   t	   pickeventt   atoms(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   pasteFromAtomPickW	  s     c         C   sÃ  | |  j  k r d  S|  j d ƒ |  j  d k rb |  j j ƒ  |  j ƒ  j |  j ƒ |  j j ƒ  ne |  j  d k rÇ |  j ƒ  j |  j ƒ |  j ƒ  j |  j ƒ |  j j ƒ  |  j j ƒ  |  j j ƒ  n  |  j ƒ  j	 |  j
 ƒ } | d k r*|  j j ƒ  |  j ƒ  j | |  j ƒ |  j |  j j ƒ  ƒ nu | d k rŸ|  j j ƒ  |  j j ƒ  |  j ƒ  j | |  j ƒ |  j ƒ  j | d |  j ƒ |  j |  j j ƒ  ƒ n  | |  _  |  j ƒ  |  j d ƒ d  S(   Ni   R   R  i    (   R   R¸   R—  R‚   R‰   RD  R    Rà  R˜  RE  R…  R›   R>  R–  R”  R  R“  R’  R§  (   R   R   R€  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setModec	  s6     	
N(   R   R   Rˆ  R†  R¨  Rª  R§  R½  R¸   RŒ  R   R  R¯   RÄ  RÅ  R–  R“  R×  RÛ  R   R    R¡  Rx   Rð  Rñ  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRN  Œ  s,   	9 	3				5				%N			t   CartesianPickerDialogc           B   sM   e  Z d  Z d „  Z d „  Z d „  Z d d d d d d „ Z i  d „ Z RS(	   s)   
  Pick a point in 3D Cartesian space.
  c         C   s   |  j  t j d ƒ | ƒ d  S(   Nt   PositionChanged(   R   R   R   (   R   R9   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   Apply2‰	  s    c         C   s—   d d g } |  j  d k r+ | j d ƒ n  g  } xF | D]> } |  j j | j ƒ  } | sc d } n  | j t | ƒ ƒ q8 W|  j t j d ƒ | ƒ d  S(   NR’   R“   i   t   zg        Ró  (	   t   dimRž  t	   cartesiant   widgetsR8   RP  R   R   R   (   R   t   xyzR9   Ry  RÁ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  Œ	  s      	c         C   s   |  j  ƒ  |  j ƒ  d  S(   N(   R  R  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   ApplyAndClose—	  s    
g        i   c   
   
   C   sw  t  j j |  | ƒ |  j |  j d ƒ ƒ | |  _ t j ƒ  } t |  d | d | d | d | ƒ|  _	 t
 j d k rœ t j d k rœ |  j	 j j |  j ƒ n" |  j |  j	 t
 j d ƒ |  j ƒ | j |  j	 ƒ t j ƒ  } | j t j j ƒ } | j t j j ƒ }	 |  j |	 t
 j d	 ƒ |  j ƒ |  j | t
 j d	 ƒ |  j ƒ | j | ƒ |  j | ƒ |  j d
 ƒ |  j ƒ  d  S(   Ns   Cartesian point pickerR’   R“   Rõ  Rö  i  i  Ró  s	   clicked()i    (   t   MGSimpleDialogt   MultiDialogR   RÜ   R%  Rö  R    RÛ   t   CartesianPickerR÷  R   t   PYQT_VERSIONt   sipt   SIP_VERSIONRó  R�   Rô  R   Rj   t   QDialogButtonBoxR  R  t   CancelR  R~   Rß  t   CreateMenuEntry(
   R   R   R’   R“   Rõ  Rö  t   mylayoutt   dialog_buttonsR,  t   cancel_button(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ›	  s$    	'"c         K   s!   | j  | ƒ |  j j | ƒ d  S(   N(   R­   R÷  R°   (   R   R²   R³   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR°   ´	  s    N(	   R   R   t   __doc__Rô  R  Rú  R   R   R°   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRò  ‚	  s   			Rý  c           B   s_   e  Z e j d  k r6 e j d k r6 e j e ƒ Z n  d d i  d „ Z
 i  d „ Z d „  Z RS(   i  i  i   c   	      K   sF  t  j j |  | ƒ t  j ƒ  } i  |  _ d d g } | d k rP | j d ƒ n  t  j d d d |  ƒ |  _ xº | D]² } t  j | d ƒ } t  j	 |  ƒ |  j | <|  j | j
 |  j ƒ |  j | j d	 | ƒ |  j |  j | t j d
 ƒ |  j ƒ | j | ƒ | j |  j | ƒ |  j | ƒ qr W| j | ƒ |  j | ƒ d  S(   NR’   R“   i   Rõ  g     @�Àg     @�@i   R«  s   CartesianPicker-s   valueChanged(double)(   R    RU  R   Re   Rø  Rž  t   QDoubleValidatort	   validatorR]  R   t   setValidatorRd  R�   R   R   R  Rj   R~   R­   R°   (	   R   R   Rö  R²   R³   t   hlayoutRõ  Ry  R„  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   Ã	  s$    	 &c         K   s]   | j  | ƒ xI | j ƒ  D]; \ } } |  j j | ƒ r |  j | j t | ƒ ƒ q q Wd  S(   N(   R­   Rõ  Rø  R±   Rª   R)   (   R   R²   R³   R	   R2   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR°   Ü	  s    c         C   sÈ   g  } d d g } |  j  j d ƒ r4 | j d ƒ n  xC t D]; } |  j  | j ƒ  } | sc d } n  | j t | ƒ ƒ q; Wt j d k r« t j	 d k r« |  j
 j | ƒ n |  j t j d ƒ | ƒ d  S(   NR’   R“   Rõ  g        i  i  Ró  (   Rø  R±   Rž  Rõ  R8   RP  R   Rþ  Rÿ  R   Ró  R   R   (   R   R9   Rù  Ry  RÁ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  ã	  s      	N(   R   R   R   Rþ  Rÿ  R   t
   pyqtSignalt   listRó  R   R   R°   R  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRý  »	  s
   t   animationIntervalWidgetc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sk   t  j |  t j j | ƒ |  j d d d d ƒ|  j t j ƒ  j	 ƒ  ƒ |  j
 |  t j d ƒ |  j ƒ d  S(   Ni   iè  t   integers   valueChanged(int)(   t   mgSliderR   R   R
   t
   Horizontalt   setRangeR[  R  Rë  t   animationIntervalR�   R   R   (   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   ú	  s    c         C   s#   t  j ƒ  j t |  j ƒ  ƒ ƒ d  S(   N(   R  Rë  t   setAnimationIntervalRK  R2   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   
  s    (   R   R   R   R   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  õ	  s   	c           C   s   t  j s t  ƒ  n  t  j S(   N(   t   ColBrowserManagert   insts(    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRr  
  s    	
R  c           B   s    e  Z d Z d  „  Z d „  Z RS(   c         C   s   t  j j |  ƒ |  t _ d  S(   N(   R   t   QObjectR   R  R  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   
  s    c         C   s   |  j  t j d ƒ ƒ d  S(   NRn  (   R   R   R   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRn  
  s    N(   R   R   R   R  R   Rn  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  
  s   	R‚  c           B   sG   e  Z d d  d „ Z d „  Z g  d „ Z d „  Z d „  Z d „  Z RS(   R   c         C   s  t  j ƒ  } | d k r! d } n  t j j |  | d | j ƒ  d | j ƒ  d | j d | ƒ|  j ƒ  |  j |  t	 j
 d ƒ |  j ƒ |  j |  t	 j
 d ƒ |  j ƒ |  j |  t	 j
 d	 ƒ |  j ƒ |  j |  t	 j
 d
 ƒ |  j ƒ |  j t ƒ  t	 j
 d ƒ |  j ƒ d  S(   Nt
   complementt   whitet   standard_colourst   custom_colourst   new_name_numbert   selected_colourt   clearCustomColourst   deleteColourt	   newColours   colourNameEdit(PyQt_PyObject)Rn  (   R  Rv  t   ColourBrowserR   t   get_standard_colourst   get_custom_coloursR  R›   R�   R   R   t   handleClearCustomColourst   handleDeleteColourt   handleNewColourt   handleRenameColourRr  t   updateCustomColours(   R   R   R  t   COL(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   "
  s     	:
c         C   s#   t  j  j |  t j ƒ  j ƒ  ƒ d  S(   N(   R!  R(  R  Rv  R#  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR(  0
  s    c         C   sl   g  } x8 t  d d ƒ D]' } | j t | | ƒ t d ƒ ƒ q Wt j ƒ  j | d | ƒ t ƒ  j ƒ  d  S(   Ni   i   g      p@i    (   R  Rž  RP  R  Rv  t   newRr  Rn  (   R   Rt  t   rgbR9  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR&  4
  s
    %c         C   sE   t  | ƒ d k s d  St j ƒ  j | d | d ƒ t ƒ  j ƒ  d  S(   Ni   i    i   (   R  R  Rv  t   renameRr  Rn  (   R   R¾  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR'  >
  s     c         C   s$   t  j ƒ  j | ƒ t ƒ  j ƒ  d  S(   N(   R  Rv  RÕ   Rr  Rn  (   R   Rt  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR%  F
  s    c         C   s!   t  j ƒ  j ƒ  t ƒ  j ƒ  d  S(   N(   R  Rv  t   clear_custom_coloursRr  Rn  (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR$  L
  s    N(	   R   R   R   R   R(  R&  R'  R%  R$  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR‚  
  s   	
		t
   GridWidgetc           B   s   e  Z d d  d  d „ Z RS(   i    c         C   s¢   t  j j |  | ƒ t  j ƒ  } |  j | ƒ t  j |  ƒ |  _ x] t | ƒ D]O } xF t | ƒ D]8 } t  j |  ƒ } | j	 |  j ƒ | j
 | | | ƒ q^ WqK Wd  S(   N(   R    RU  R   R—   R~   R  R	  R  R   R
  Rj   (   R   R   t   rowst   colsR‰   RÙ  RË  t   le(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   R
  s    N(   R   R   R   R   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR.  Q
  s   t   TransformMatrixDialogc           B   sb   e  Z d
 d  d „ Z i  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(   s   Transformation matrixc         C   s¿  t  j j |  | ƒ |  j | ƒ t j ƒ  } t j d |  ƒ } | j | ƒ t |  d d ƒ |  _	 |  j	 j
 t j d d ƒ ƒ | j |  j	 ƒ t j ƒ  } t j d |  ƒ } | j | ƒ t j d |  ƒ } | j | ƒ |  j | t j d ƒ |  j ƒ | j | ƒ t j d |  ƒ } | j | ƒ t |  d	 d ƒ |  _ | j |  j ƒ t j ƒ  } t j |  j d
 ƒ ƒ } | j | ƒ t j ƒ  |  _ |  j j |  j d ƒ ƒ |  j j |  j d ƒ ƒ | j |  j ƒ | j ƒ  | j | ƒ t j ƒ  } | j t j j ƒ }	 | j d t j j ƒ }
 | j t j j ƒ } |  j | t j d ƒ |  j ƒ |  j |	 t j d ƒ |  j ƒ |  j |
 t j d ƒ |  j ƒ | j | ƒ |  j  | ƒ |  j! d ƒ |  j" ƒ  d  S(   Ns   Rotation matrix:i   i�  id   s    Not doing what you expected? Trys   Flip matrixs	   clicked()s   Translation vector:i   s   Apply transformation to s   absolute coordinatess   current views   Undo transformationi    (#   Rû  Rü  R   RÜ   R    RÛ   R]  Rj   R.  t   rotmatRv   R   Rw   Re   R1  R�   R   t
   flipMatrixR_  t	   transvectR%  RZ  t   absComboR  R^  R  R  R  t	   ResetRoleR  R  t   UndoR~   Rß  R  (   R   R   R3  R‰   Rç  t   line_layoutt	   absLayoutt   absLabelR  R,  t   undo_buttonR  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   e
  sN    
c         K   s­  | j  | ƒ d d  l } d d  l } d d  l } | j d ƒ rí t | d | j ƒ sl t | d | j ƒ rœ t | d ƒ d k rœ |  j	 |  j
 | d ƒ qí t | d | j ƒ rí | j | j d d | d ƒ ƒ } |  j	 |  j
 | ƒ qí n  | j d ƒ r©t | d | j ƒ s(t | d | j ƒ rXt | d ƒ d k rX|  j	 |  j | d ƒ q©t | d | j ƒ r©| j | j d d | d ƒ ƒ } |  j	 |  j | ƒ q©n  d  S(   Niÿÿÿÿt   rotationi	   t   ,R$  t   translationi   (   R­   R¢  t   reR%   R±   R¤  R¥  t	   TupleTypeR  t   setGridR3  Rö  R7   t   subR5  (   R   R²   R³   R¢  R@  R%   R3  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR°   —
  s    B"B"c   	   	   C   sÐ  d d  l  } d d  l } i  } |  j j ƒ  } |  j | ƒ |  j d ƒ k rX d | d <n
 d | d <t r~ d d d g | d <n1 |  j |  j ƒ } t | ƒ d k r¯ | | d <n  t rÝ d	 d d d d	 d d d d	 g	 | d
 <nï |  j |  j	 ƒ } | GHt | ƒ d k rÌ| d | d | d | d | d | d | d | d | d | d | d | d | d | d | d } d G| GHd d  l
 } | j | ƒ } | d k rÌ| d k  rÌ| | d
 <qÌn  | S(   Niÿÿÿÿs   absolute coordinatest   absolutet	   transmodet   relativeg        R?  i   g      ð?R=  i	   i    i   i   i   i   i   i   i   t   detg®Gáz®ï?g)\�Âõ(ð?(   R@  R%   R6  RI  R%  R¼   t   extractGridR5  R  R3  t   matht   fabs(	   R   R@  R%   Rü   R8   t   numlistt   tmtrxRG  RI  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR®   ®
  s0    
 (O+	c         C   sÄ   d } x· t  | j ƒ  j ƒ  ƒ D]� } x” t  | j ƒ  j ƒ  ƒ D]z } y3 | j ƒ  j | | ƒ j ƒ  j t | | ƒ ƒ Wn4 | Gd G| j ƒ  j ƒ  Gd G| j ƒ  j ƒ  GHn X| d 7} q> Wq Wd  S(   Ni    s   out of range ? inR’   i   (   R  R‰   t   rowCountt   columnCountt   itemAtPositionRç  Rª   R)   (   R   t   gridt   valst   ijRÙ  RË  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRB  Ï
  s    31c         C   s�   g  } xt t  | j ƒ  j ƒ  ƒ D]Z } xQ t  | j ƒ  j ƒ  ƒ D]7 } | j t | j ƒ  j | | ƒ j ƒ  j ƒ  ƒ ƒ q> Wq W| S(   N(	   R  R‰   RM  RN  Rž  RP  RO  Rç  R8   (   R   RP  RQ  RÙ  RË  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRH  Ù
  s
    9c         C   sr   d d  l  } d d  l } | j | j d d | ƒ ƒ } g  } x/ | D]' } y | j t | ƒ ƒ WqC qC XqC W| S(   NiÿÿÿÿR>  R$  (   R@  R%   R7   RC  Rž  RP  (   R   R8   R@  R%   t   strlistRK  Ry  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   extractVectorâ
  s    c         C   s�   |  j  ƒ  } d } | j d ƒ s. | d } n  | j d ƒ sJ | d } n  | rs t j j d  |  j ƒ  d | ƒ n |  j t j	 d ƒ ƒ d  S(   NR   R=  s   Rotation is not correct
R?  s   Translation is not correct
s   Can not apply transformation
t   transformationChanged(
   R®   R±   R    t   QMessageBoxt   warningR   t   windowTitleR   R   R   (   R   Rü   t   errmess(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  ï
  s      #c         C   s0   |  j  d d d d ƒ |  j t j d ƒ ƒ d  S(   NR=  g      ð?g        R?  t   transformationUndone(	   g      ð?g        g        g        g      ð?g        g        g        g      ð?(   g        g        g        (   R°   R   R   R   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR8  û
  s
    	 c         C   s“   |  j  ƒ  } | j d ƒ s6 t j j d  d d ƒ d  S| d } |  j d | d | d | d | d | d | d	 | d
 | d | d f	 ƒ d  S(   NR=  s   Can not flip matrix
s   Rotation is not correcti    i   i   i   i   i   i   i   i   (   R®   R±   R    RV  RW  R   R°   (   R   R²   t   mx(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR4    s    
N(   R   R   R   R   R°   R®   RB  RH  RT  R  R8  R4  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR2  `
  s   2	!	
						t   saveMultiDataObjc           B   s/   e  Z d  d d d d „ Z d „  Z d „  Z RS(   s   Save all data filesR   c         C   s÷  t  j j |  | ƒ |  j | ƒ t  j ƒ  } | rq t  j ƒ  } | j t  j | ƒ ƒ | j d ƒ | j	 | ƒ n  t  j ƒ  } | j t  j d |  ƒ ƒ t  j
 |  ƒ |  _ | j |  j ƒ | j t  j d ƒ ƒ |  j j | ƒ t  j |  ƒ |  _ |  j j d d ƒ |  j j d ƒ |  j j | ƒ | j |  j ƒ | j d ƒ | j	 | ƒ t  j |  ƒ |  _ t  j ƒ  } t  j d |  ƒ |  _ |  j j |  j d ƒ | j |  j ƒ | j d ƒ | j	 | ƒ t  j ƒ  } t  j d |  ƒ |  _ |  j j |  j d ƒ | j |  j ƒ | j d ƒ | j	 | ƒ t  j ƒ  } | j d	 t  j j ƒ }	 | j d
 t  j j ƒ }
 |  j |	 t j d ƒ t j |  j  t j d ƒ ƒ ƒ |  j |	 t j d ƒ |  j! ƒ |  j |
 t j d ƒ |  j" ƒ | j | ƒ |  j# | ƒ |  j$ ƒ  d  S(   Ni   s   Save files with tags   and version numberi    id   i   s"   Save to filename with tag appendeds1   Save to same filename and backup to file with tagR  R  s	   clicked()RÖ   (%   R    R•   R   RÜ   RÛ   Re   Rj   R]  R^  R_  R   t   tagRª   RQ  t   versionR  t   setSingleStepR[  t   QButtonGroupR   t   QRadioButtont
   append_tagR  t   backupR  t	   ApplyRolet
   RejectRoleR�   R   R   Rn   RÑ   R   R  RÚ   R~   R›   (   R   R   R3  R]  R^  t   messageR‰   R9  R  R,  R  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR     sV    4c         C   s   d d g t  |  j j ƒ  ƒ S(   NRž  Rc  (   RK  R   t	   checkedId(   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getModeJ  s    c         C   s&   t  |  j j ƒ  ƒ t  |  j j ƒ  ƒ S(   N(   R)   R]  R8   R^  R2   (   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getTagM  s    (   R   R   R   Rh  Ri  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR\    s   3	t   RoundToMultipleSpinc           B   s8   e  Z d d  „ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s$   t  j j |  | ƒ |  j d ƒ d  S(   Ni   (   R    RQ  R   t   setMultiple(   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   W  s    c         C   s   | |  _  |  j | ƒ d  S(   N(   t   multipleR_  (   R   R2   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRk  [  s    	c         C   s<   |  j  ƒ  } | |  j d |  j |  j } |  j | ƒ d  S(   Ni   (   R2   Rl  R[  (   R   RÜ  t   vnew(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   fixValue_  s    c         C   sT   t  | j ƒ  ƒ } | |  j d |  j |  j } | j d t | ƒ t | ƒ ƒ d  S(   Ni   i    (   RK  R+  Rl  t   replaceR  R)   (   R   t   inputRÜ  Rm  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRA   d  s    c         C   sg   y@ t  | j ƒ  ƒ } | |  j |  j | k r? t j j | f SWn t j j | f SXt j j | f S(   N(   RK  R+  Rl  R    R   R6   t   InvalidR*   (   R   Rp  R9   RÜ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR@   i  s    N(   R   R   R   R   Rk  Rn  RA   R@   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRj  S  s
   			t   RestrictedSpinBoxc           B   s/   e  Z d d  „ Z d „  Z d „  Z d „  Z RS(   c         C   s    t  j j |  | ƒ g  |  _ d  S(   N(   R    RQ  R   t   restriction(   R   R   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   x  s    c         C   s   | |  _  d  S(   N(   Rs  (   R   R2   (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   setRestriction{  s    c         C   s|   t  | j ƒ  ƒ } t |  j ƒ d k rx |  j j | ƒ d k rx | j d t t |  j d ƒ ƒ t |  j d ƒ ƒ qx n  d  S(   Ni    (   RK  R+  R  Rs  R  Ro  R)   (   R   Rp  RÜ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRA   }  s    c         C   s�   yf t  | j ƒ  ƒ } t |  j ƒ d k rU |  j j | ƒ d k re t j j | f Sn t j j | f SWn t j j | f SXt j j	 | f S(   Ni    (
   RK  R+  R  Rs  R  R    R   R6   Rq  R*   (   R   Rp  R9   RÜ  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR@   ‚  s    N(   R   R   R   R   Rt  RA   R@   (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRr  t  s   		t   DoubleColourSliderc           B   s;   e  Z d d  „ Z d „  Z d „  Z d „  Z d d „ Z RS(   c         C   sâ  t  j j |  | ƒ t  j ƒ  } t  j |  j d ƒ |  ƒ } t |  d d d ƒ|  _ t  j |  j d ƒ |  ƒ } t  j |  j d ƒ |  ƒ } t  j |  ƒ |  _	 |  j	 j
 d d d	 g ƒ t t j j |  ƒ |  _ |  j j d
 d d d ƒt |  d d d ƒ|  _ t |  d d d ƒ|  _ t  j d ƒ } | j | d
 d
 ƒ | j |  j d
 d ƒ | j | d
 d ƒ | j |  j d
 d ƒ | j |  j	 d d d d ƒ | j |  j d d
 d d ƒ | j | d d
 ƒ | j |  j d d ƒ | j | d d ƒ |  j | ƒ |  j |  j t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ |  j |  j	 t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ |  j |  t j d ƒ |  j ƒ |  j | t j d ƒ |  j ƒ d  S(   Ns   Unaligned colourR  Ru  i   s   Blend from s    to s   Between RGB valuess   Colour wheel clockwises   Colour wheel anti-clockwisei    t   minDecimalsi   t   yellowt   reds   Change max. valuei   i   s#   currentIndexChanged(const QString&)Rª  s   finished(int)s   clicked(bool)(   R    RU  R   R—   R]  R%  RL  t   nonAlignedComboRZ  t   interpComboRñ  t   UpperLowerSliderR   R
   R  t   sliderR  t   lowColourCombot   highColourComboR1  Rj   R~   R�   R   t   valuesChangedR    t   editMaximumValue(   R   R   t   colourLayoutt   unAlignedLabelt   interpLabelt   interpLabel2t   editMax(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR   �  s<    """""c            s¿   t  j ƒ  } t  j ƒ  } t  j ƒ  ‰  t  j ˆ  ƒ } ˆ  j t ˆ j j ƒ  ƒ ƒ ˆ  j	 | ƒ | j
 ˆ  ƒ | j | ƒ | j d ƒ ‡  ‡ f d †  } ˆ j ˆ  t j d ƒ | ƒ | j ƒ  d  S(   Ns   Set maximum slider valuec             s”   ˆ j  j ƒ  }  t ˆ  j ƒ  ƒ } ˆ j  j ƒ  } ˆ j  j j ƒ  } ˆ j  j j ƒ  } ˆ j  j |  | | ƒ ˆ j  j j	 | ƒ ˆ j  j j	 | ƒ d  S(   N(
   R|  t   minimumRP  R8   t   decimalst	   lowerSpinR2   t	   upperSpinR  R[  (   t   minValt   maxValR‡  t   lowerR™  (   Rk   R   (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt
   setEditMaxº  s    s   textEdited(const QString&)(   R    R•   RÛ   R   R  Rª   R)   R|  t   maximumR
  Rj   R~   RÜ   R�   R   R   RB  (   R   R  R‰   R	  R�  (    (   Rk   R   s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR€  °  s    	c         C   s  d d  l  } d } | j } t |  j j ƒ  j ƒ  ƒ d k rE d } n  t |  j j ƒ  j ƒ  ƒ d k rx d } | j } n  i t |  j j ƒ  j ƒ  ƒ d 6t |  j j ƒ  j ƒ  ƒ d 6|  j	 j
 ƒ  d d	 6|  j	 j
 ƒ  d d
 6| d 6| d 6t |  j j ƒ  j ƒ  ƒ d 6} | S(   Niÿÿÿÿi   s   Colour wheel clockwisei   s   Colour wheel anti-clockwiset   lowerColourt   upperColouri    RŒ  R™  R   t	   directiont
   noneColour(   t	   atom_utilt   COLOUR_WHEEL_CLOCKR)   Rz  RI  R>  t   COLOUR_WHEEL_ANTICLOCKR}  R~  R|  t	   getValuesRy  (   R   R“  R   t   dirnt
   colourInfo(    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR–  Æ  s    	!	!�c      	   C   sö   d d  l  } d } | j } t |  j j ƒ  j ƒ  ƒ d k rE d } n  t |  j j ƒ  j ƒ  ƒ d k rx d } | j } n  t j t |  j	 j ƒ  j ƒ  ƒ t |  j
 j ƒ  j ƒ  ƒ |  j j ƒ  d |  j j ƒ  d | | t |  j j ƒ  j ƒ  ƒ ƒ } | S(   Niÿÿÿÿi   s   Colour wheel clockwisei   s   Colour wheel anti-clockwisei    (   R“  R”  R)   Rz  RI  R>  R•  t   mgappt   DoubleColourSliderInfoR}  R~  R|  R–  Ry  (   R   R“  R   R—  R˜  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   getValuesAsColourInfoÒ  s    	!	!zc      	   C   s(  d d  l  } t j d ƒ | k r% d  Sd } | j } t |  j j ƒ  j ƒ  ƒ d k r^ d } n  t |  j j ƒ  j ƒ  ƒ d k r‘ d } | j } n  t	 j
 t |  j j ƒ  j ƒ  ƒ t |  j j ƒ  j ƒ  ƒ |  j j ƒ  d |  j j ƒ  d | | t |  j j ƒ  j ƒ  ƒ ƒ } |  j t j d ƒ | ƒ d  S(	   Niÿÿÿÿs   Colour browseri   s   Colour wheel clockwisei   s   Colour wheel anti-clockwisei    R  (   R“  R   RX  R”  R)   Rz  RI  R>  R•  R™  Rš  R}  R~  R|  R–  Ry  R   R   (   R   t   valR“  R   R—  R˜  (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyR  ß  s    	!	!zN(   R   R   R   R   R€  R–  R›  R  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyRu  Ž  s
   !			(7   R  RÕ  RÍ  t   PyQt4R    R   Rÿ  Rn   R  R!  Rû  t   copyt	   mgSlidersR™  R   R   R   R   Rb   RB   RZ  Rh   R•   R!  RA  RU  R&  Rƒ  R‚  R�  R�  RD  Rb  Rè  R  R=  Rl  RL  RN  Rü  Rò  Rý  R  R  Rr  R  R  R‚  R.  R2  R\  RQ  Rj  Rr  Ru  (    (    (    s<   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgWidgets.pyt   <module>   sT   
Rÿ ö|5QvÎ¯ÿ V2Wÿ ÷9:	5²A!