ó
ÉÝ{Tc           @   s�  d  Z  d d l Z d d l Z d d l Z d d l m Z m Z m Z d d l Td 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 Z d d l Z d d l Z d d l Z d d l Z d „  Z d „  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 f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e 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# e	 j f d$ „  ƒ  YZ& d% e j' f d& „  ƒ  YZ( d' e	 j f d( „  ƒ  YZ) d) e	 j f d* „  ƒ  YZ* d S(+   sŸ  
     qtgui/displayTableObjects.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   QtCoret   QtSvg(   t   *c         C   sì  d } d } t  } d } d } t } |  j j d ƒ rR d |  j d k rR t  } n  |  j j d ƒ rÈ |  j d } d | k r† t } n  d | k r› d	 } qÈ d
 | k r° d
 } qÈ d | k rÈ d } qÈ n  |  j j d ƒ r|  j j d ƒ rd |  j d k r|  j d } n  |  j j d ƒ r˜d d  l } | j j |  j d ƒ }	 t |	 d d ƒ }
 t |	 d d ƒ } t |	 d d ƒ } d |
 | | f } n  |  j j d ƒ r!d d  l } | j j |  j d ƒ }	 t |	 d d ƒ }
 t |	 d d ƒ } t |	 d d ƒ } d |
 | | f } n  t  } t  } | j ƒ  d k rNt } t } n6 | j ƒ  d k rit } n | j ƒ  d k r„t } n  d } | d k rÚ| d 7} | r»| d | d 7} n | d | d 7} | d 7} n  | rÿ| d 7} | d  | d! 7} n  | d k rV| rV| d" 7} | d# | d$ 7} | d% 7} | d | d$ 7} | d& 7} n  | d k r­| r­| d" 7} | d | d$ 7} | d' 7} | d | d$ 7} | d( 7} n  | d	 k r/| rä| d) | d* | d+ | d, 7} n | d) | d- 7} | r| d. | d/ 7} n  | r/| d. | d0 7} q/n  | d
 k rP| d. | d1 7} n  | d2 7} t	 j
 | ƒ } t j ƒ  } | j | ƒ t j d3 d3 ƒ } | j t j d d d d ƒ ƒ t j | ƒ } | j | ƒ | j ƒ  t j | ƒ } | S(4   Ns   #ff0000t    t   linet
   label_modes   no labelt
   line_stylet   dashedt   cylindert   solidt   cones   no linet
   arrow_headt   arrowt   line_colouriÿÿÿÿi    iÿ   i   i   s   #%02x%02x%02xt   label_colourt   botht   startt   ends  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="256"
   height="256"
   id="svg2"
   version="1.1"
   inkscape:version="0.48.1 r9760"
   sodipodi:docname="vectorsolid.svg">
  <defs
     id="defs4">
    <inkscape:perspective
       sodipodi:type="inkscape:persp3d"
       inkscape:vp_x="0 : 526.18109 : 1"
       inkscape:vp_y="0 : 1000 : 0"
       inkscape:vp_z="744.09448 : 526.18109 : 1"
       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
       id="perspective10" />
    <inkscape:perspective
       id="perspective2932"
       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
       inkscape:vp_z="1 : 0.5 : 1"
       inkscape:vp_y="0 : 1000 : 0"
       inkscape:vp_x="0 : 0.5 : 1"
       sodipodi:type="inkscape:persp3d" />
    <inkscape:perspective
       id="perspective3727"
       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
       inkscape:vp_z="1 : 0.5 : 1"
       inkscape:vp_y="0 : 1000 : 0"
       inkscape:vp_x="0 : 0.5 : 1"
       sodipodi:type="inkscape:persp3d" />
    <inkscape:perspective
       id="perspective3727-8"
       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
       inkscape:vp_z="1 : 0.5 : 1"
       inkscape:vp_y="0 : 1000 : 0"
       inkscape:vp_x="0 : 0.5 : 1"
       sodipodi:type="inkscape:persp3d" />
    <inkscape:perspective
       id="perspective3758"
       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
       inkscape:vp_z="1 : 0.5 : 1"
       inkscape:vp_y="0 : 1000 : 0"
       inkscape:vp_x="0 : 0.5 : 1"
       sodipodi:type="inkscape:persp3d" />
  </defs>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="2"
     inkscape:cx="59.286972"
     inkscape:cy="125.82645"
     inkscape:document-units="px"
     inkscape:current-layer="layer1"
     showgrid="true"
     inkscape:window-width="870"
     inkscape:window-height="761"
     inkscape:window-x="319"
     inkscape:window-y="0"
     inkscape:window-maximized="0">
    <inkscape:grid
       type="xygrid"
       id="grid2816"
       empspacing="5"
       visible="true"
       enabled="true"
       snapvisiblegridlinesonly="true" />
  </sodipodi:namedview>
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(0,-796.36217)">
  s   
    <path
    s        style="fill:none;stroke:sŒ   ;stroke-width:14;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:20,20;stroke-dashoffset:0" sb   ;stroke-width:14;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;" se   
       d="m 35,962.36217 185,0"
       id="path3045"
       inkscape:connector-curvature="0" />
    sò  <text
       xml:space="preserve"
       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:#000000;font-family:Bitstream Vera Sans;stroke-opacity:1;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none"
       x="10"
       y="917.36218"
       id="text3815"
       sodipodi:linespacing="125%"><tspan
         sodipodi:role="line"
         id="tspan3817"
         x="10"
         y="917.36218"
    sB          style="font-size:72px;stroke:#000000;stroke-opacity:1;fill:s_   ;fill-opacity:1;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none">Vector</tspan></text>s   
      <path
    s       style="fill:none;stroke:sx   ;stroke-width:14;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" sp   
       d="m 30,962.36217 35,-25"
       id="path4637"
       inkscape:connector-curvature="0" />
    <path
    sg   
       d="m 30,962.36217 35,25"
       id="path4637-3"
       inkscape:connector-curvature="0" />
    sr   
       d="m 216,962.3621 -35,25"
       id="path4637-0"
       inkscape:connector-curvature="0" />
    <path
    sl   
       d="m 216,962.36213 -35,-25"
       id="path4637-3-1"
       inkscape:connector-curvature="0" />
    s   
    <rect
       style="fill:s7  ;stroke:#000000;stroke-width:6.92820311;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
       id="rect4689-2"
       width="30"
       height="24.999987"
       x="50"
       y="952.36218"
       ry="0" />
    <rect
       style="fill:s:  ;stroke:#000000;stroke-width:6.92820311;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
       id="rect4689-2-3"
       width="30"
       height="24.999987"
       x="115"
       y="952.36218"
       ry="0" />
    <rect
       style="fill:s#  ;stroke:#000000;stroke-width:6.92820311;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
       id="rect4689-2-1"
       width="30"
       height="24.999987"
       x="180"
       y="952.36218"
       ry="0" />
      s  ;stroke:#000000;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
       id="rect4689"
       width="160"
       height="25.000013"
       x="50"
       y="952.36218"
       ry="0" />
      s   
    <path
       style="fill:s@  ;stroke:#000000;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
       d="m 15,962.36217 55,-25 c 0,0 15,15.28175 15,25 0,9.71825 -15,25 -15,25 z"
       id="path4691"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="ccacc" />
      sB  ;stroke:#000000;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
       d="m 245,962.36217 -55,-25 c 0,0 -15,15.2817 -15,25 0,9.7182 15,25 15,25 z"
       id="path4691-4"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="ccacc" />
      sK  ;stroke:#000000;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
       d="m 245,962.36217 -195,-25 c 0,0 -15,15.28175 -15,25 0,9.71825 15,25 15,25 z"
       id="path4691-4"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="ccacc" />
    text += s   
  </g>
</svg>
    i   (   t   Falset   Truet   stylet   has_keyt   cprimt   RGBRepst	   GetColourt   intt   lowerR   t
   QByteArrayR   t   QSvgRenderert   loadR    t   QPixmapt   fillt   QColort   QPaintert   renderR   t   QIcon(   t   targetR   R   R   R   R   t   doLabelt   theStyleR   t   colt   rt   gt   bt   start_arrowt	   end_arrowt   textt   bat   svgt   pixmapt   paintert   icon(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   getVectorIcon   sÔ    %				7			d



c         C   s´   t  d ƒ j ƒ  d } | s  d  Sd  } |  ƒ  } | t j k r° t j | } | r° t j j t j j t j	 d d d d | ƒ ƒ r­ t j j t j	 d d d d | ƒ } q­ q° n  | S(   Nt   advanced_optionst   iconized_display_tablet   CCP4MGt   qticonst   disptabt
   selections(
   t   PMt	   getparamst   Nonet   model_selectiont   SELECTION_ICONSt   ost   patht   existst   joint   environ(   t   label_commandt   useIconsR3   t   label(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   getIconFromSelectionFunctionF  s     	1.t   GAtomicDispObjc           B   sF  e  Z d  d d d g Z d d d g Z d d d	 d
 d d g Z d' d' d d d d „ Z d d d' d „ Z d d d' d „ Z d d d „ Z	 d d „ Z
 d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z d# „  Z d$ „  Z d% „  Z d& „  Z RS((   t   atomtypet   bychaint   bymodelt   mainsidet   restypet   res_sast
   res_buriedt   bvaluet	   occupancyt   altloct   charget   atom_sast   atom_buriedR   c      
   C   s,   t  j j |  d | d | d | d | ƒd  S(   Nt   parentt   tablet   namet   object_type(   t   displayTablet   GDispObjt   __init__(   t   selfRW   RX   RY   RZ   t   mode(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   a  s    c            s(  t  ˆ  ƒ } ˆ | ‰ t j j ˆ ƒ rŽ ‡  ‡ ‡ f d †  } t d t j j ˆ d ƒ d d d d d | d	 t j ˆ j i ˆ d
 6ˆ  d 6ƒ ƒ Sˆ d k rÅ t d	 t j ˆ j	 ˆ  ƒ d ˆ j
 d ƒ ƒ Sˆ d k rü t d	 t j ˆ j ˆ  ƒ d ˆ j
 d ƒ ƒ Sˆ d k r3t d	 t j ˆ j ˆ  ƒ d ˆ j
 d ƒ ƒ Sˆ d k rUt d ˆ j
 d ƒ ƒ Sˆ d k rŒt d	 t j ˆ j ˆ  ƒ d ˆ j
 d ƒ ƒ Sˆ d d !d k r(‡  ‡ ‡ f d †  } t ˆ d ƒ } t d	 t j ˆ j i ˆ d
 6ˆ  d 6ƒ d | j j | d d | j j | d
 d d d d | ƒ Sˆ d d !d k r¦‡  ‡ ‡ f d †  } t ˆ d ƒ } t d	 t j ˆ j i ˆ d
 6ˆ  d 6ƒ d | j j | d d d | ƒ Sˆ d d !d  k r$‡  ‡ ‡ f d! †  } t ˆ d ƒ } t d	 t j ˆ j i ˆ d
 6ˆ  d 6ƒ d | j j | d d d | ƒ Si  S("   Nc              s   ˆ j  ˆ ˆ  ƒ S(   N(   t   isSelection(    (   RG   RY   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   cp  s    R.   t   ERRORt   groupt   selectt	   checkablei   t   checkedt   slotRY   RG   t   selection_browsers   Selection browser..t   name_selections   Name this selection..t   restore_selections   Restore selection..t   solventt   Solventt
   as_dispobjs   As display object..i    i   t   sites_c              s   ˆ j  ˆ ˆ  ƒ S(   N(   R`   (    (   RG   RY   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   “  s    t   descriptions    (t   )i	   t	   monomers_c              s   ˆ j  ˆ ˆ  ƒ S(   N(   R`   (    (   RG   RY   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   �  s    t   chain_c              s   ˆ j  ˆ ˆ  ƒ S(   N(   R`   (    (   RG   RY   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ¨  s    (   t   lenR>   t   SELECTION_LABELSR   t   dictt   gett   guiUtilst   partialt   set_atom_selectiont   atom_selection_browsert   trt   name_atom_selectiont   restore_atom_selectiont   open_as_dispobj_guiR   RW   t   _sitest   monomerst   chains(   R^   RY   RG   R%   t	   len_labelRa   t   ii(    (   RG   RY   R^   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   getSelectionActionDefg  sl    
$#.##c            s´  t  | ƒ } ˆ  | ‰  d d d d d d d d d	 g	 j ˆ  ƒ rb t d
 ˆ  d t j |  j ˆ  ƒ ƒ Sˆ  d k r� t d
 |  j d ƒ d |  j ƒ Sˆ  d k rÍ ‡ f d †  } t d
 |  j d ƒ d |  j d | ƒ Sˆ  d k rt d
 |  j d ƒ d |  j d ƒ d |  j	 ƒ Sˆ  d k rMt d
 |  j d ƒ d |  j d ƒ d t j |  j	 d ƒ ƒ Sˆ  d k r“t d
 |  j d ƒ d |  j d ƒ d t j |  j d ƒ ƒ Sˆ  d k r_t
 d ƒ j ƒ  d  } | ròd! } t j j t j j t j d" ƒ d# d$ d% ƒ } n d  } d& } ‡  ‡ f d' †  }	 t d
 |  j d( ƒ d) d* d+ d, d t j |  j d- ƒ d. d d/ | d0 | d1 |	 ƒ Sˆ  d2 k rÀ‡  ‡ f d3 †  }	 t d
 |  j d4 ƒ d) d* d+ d, d t j |  j d5 ƒ d. d d1 |	 ƒ Sˆ  d6 k r!‡  ‡ f d7 †  }	 t d
 |  j d8 ƒ d) d* d+ d, d t j |  j d9 ƒ d. d d1 |	 ƒ St j j j ˆ  ƒ rZd& } d& } t
 d ƒ j ƒ  d  } | réˆ  t j j k rét j j ˆ  } | j d: ƒ rœ| d;  } n | j d< ƒ r¸| d;  } n  t j j t j j t j d" ƒ d# d$ d% ƒ } n  ‡  ‡ f d= †  }	 t j j j ˆ  ƒ }
 t d
 t j j |
 d) d* d t j |  j ˆ  ƒ d/ | d0 | d. d d1 |	 ƒ Sˆ  d> k r¬‡ f d? †  }	 t d
 |  j d@ ƒ d t j |  j ˆ  ƒ d. d d1 |	 ƒ Si  Sd  S(A   Nt
   complementt   blackt   whitet   redt   greent   bluet   yellowt   cyant   magentaR.   Rg   t   browsers   Colour browser..t   legendc              s
   ˆ  j  ƒ  S(   N(   t   isLegendPossible(    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   eÇ  s    s   Add colour legendt   enabledt   stick_colours   One colour..t   toolTips"   Colour of sticks in ball-and-stickt
   stick_atoms   As atoms:   Sticks in ball-and-stick same colour as neighbouring atomsi   t	   interfaces   Interface to..s4   Colour by area of atoms/residues buried in interfacet   colour_interfacet   blendR5   R6   t   blendthroughR7   R8   R9   t   colourR   c              s   t  t ˆ j d ƒ ˆ  k ƒ S(   Nt   colour_mode(   R   t   getattrt   model_colour(    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   í  s    s   Blend through model..Rc   R›   t   signalt   mouseReleaset   colour_blendRe   t	   icon_pathR3   Rf   t   rulesc              s   t  t ˆ j d ƒ ˆ  k ƒ S(   NR›   (   R   Rœ   R�   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ú  s    s   Edit colour scheme..t   colour_rulest   schemec              s   t  t ˆ j d ƒ ˆ  k ƒ S(   NR›   (   R   Rœ   R�   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa     s    s   Restore colour scheme..t   colour_schemes   .svgiüÿÿÿs   .pngc              s   t  t ˆ j d ƒ ˆ  k ƒ S(   NR›   (   R   Rœ   R�   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa     s    t   non_C_atomtypec              s   t  ˆ  j d ƒ S(   NR¦   (   Rœ   R�   (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   '  s    s   Non carbon by atom type(   Rs   t   countRu   Rw   Rx   t
   set_colourR{   t   colour_browsert
   showLegendR“   R;   R<   R@   RA   RC   t   abspathRD   R=   R�   t   colour_commandst   colour_commands_iconst   endswitht   indext   colour_menu(   R^   RY   RG   R%   R‚   R‘   RF   R3   R¡   Ra   Rƒ   (    (   RY   R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   getColourActionDefµ  s¾    
*
	
11i    c   
      C   se  | d | d g } | j  j j d ƒ } | j  j j d ƒ } | sJ | r| r€ | rk |  j d ƒ g } q› |  j d ƒ g } n | r› |  j d ƒ g } n  | rÉ x% t j D] } | j | | ƒ q« Wn  | r÷ x% t j D] } | j | | ƒ qÙ Wn  | j | ƒ n  | j  j r”| s| r4|  j d ƒ g } n |  j d	 ƒ g } x; t	 t
 | j  j ƒ ƒ D]! }	 | j | d
 t |	 ƒ ƒ q_W| j | ƒ n  | j  j r·| j | d g ƒ n  | j  j r×| j | d ƒ n  | j  j ryt
 | j  j ƒ d k rb|  j d ƒ | d g } x; t	 t
 | j  j ƒ ƒ D]! }	 | j | d t |	 ƒ ƒ q-W| j | ƒ qy| j | d g ƒ n  t | j  d ƒ rþ| j  j rþ|  j d ƒ | d g } x; t	 t
 | j  j ƒ ƒ D]! }	 | j | d t |	 ƒ ƒ qÉW| j | ƒ n  | j d ƒ | r%| j | d ƒ n  | j | d | d g ƒ | j d ƒ | j | d g ƒ | S(   Nt   allt
   allnotsolvt   PROTEINt   NUCLEICs   Peptide/nucleict   Peptides   Nucleic acids   .. of chainst   ChainsRr   Rk   t
   saccharidei   t   MonomersR€   Rq   t   sitess   Active sitesRn   t   sepRm   Rj   Rh   Ri   (   RW   t   molecule_typeR§   R{   R>   t   PEPTIDE_ATOMTYPE_MENUt   appendt   NUCLEIC_ATOMTYPE_MENUR�   t   rangeRs   t   strt   solvent_chainst   extendt   saccharidesR€   t   hasattrR   (
   R^   R%   RG   t   ifAsDispobjt   menut   ifprott   ifnuclt   submenut   itemRƒ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   getSelectionMenu3  s^         c         C   sY  g  } x" |  j  D] } | j | | ƒ q W| j j j d ƒ rT | j | d ƒ n  |  j d ƒ g } x0|  j D]%} t | ƒ t k r„g  } | j | d ƒ xÒ | d D]Æ } d | k r_d } x« t	 | j d ƒ ƒ D]€ }	 | | }
 |
 |
 j
 d ƒ d |
 j
 d ƒ d !} |
 j
 d ƒ d } | d	 j ƒ  | j j j ƒ  k rØ | j | | ƒ qØ qØ Wqª | j | | ƒ qª W| j | ƒ qp | j | | ƒ qp W|  j d
 ƒ g } x0|  j D]%} t | ƒ t k rÉg  } | j | d ƒ xÒ | d D]Æ } d | k r¤d } x« t	 | j d ƒ ƒ D]€ }	 | | }
 |
 |
 j
 d ƒ d |
 j
 d ƒ d !} |
 j
 d ƒ d } | d	 j ƒ  | j j j ƒ  k r| j | | ƒ qqWqï| j | | ƒ qïW| j | ƒ qµ| j | | ƒ qµW| j | d d g ƒ | j | g ƒ | j | g ƒ | j | d | d d g ƒ | j | d ƒ | j | d ƒ | S(   NR´   t   secstrs   Residue propertyi    i   t   _pdbi   i   i   s   Atom propertyR˜   R»   R–   R¢   R¦   RŽ   (   t   molecule_propsR¾   RW   R¼   R§   R{   t   residue_propst   typet   listRÀ   t   findt   upperRY   t
   atom_propsRÃ   (   R^   R%   RG   RÇ   t   pRÐ   t   theListt   p2t   offsett   it   pnewt   pdbRÕ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   getAtomColourMenuo  s\     
'"
'"c   
      C   s  t  d |  j ƒ  ƒ } d d g j | ƒ r3 d } n d t | d ƒ } t | | ƒ } | s` d St j j | ƒ s„ t j j | ƒ rª | | j j	 d d ƒ k r£ d Sd Sn  | d d	 !d
 k rt
 | d	 ƒ } | j ƒ  j	 d g  ƒ j | j j | ƒ rü d Sd SnÎ | d d	 !d k rxt
 | d	 ƒ } | j ƒ  j	 d g  ƒ } | j j | d } t | ƒ j t | ƒ ƒ rqd Sd SnY | d d !d k rÑt
 | d ƒ } | j ƒ  j	 d g  ƒ j | j j | ƒ rÊd Sd Sn  t | | ƒ rt | | ƒ j ƒ  }	 |	 | k rd Sn  d S(   NRY   R   t   sel_t	   SelHandlei   i    RJ   i   i   Rr   R�   Rn   Rº   t	   selectioni	   Rq   R€   (   t   get_dispobjt
   objectNameR§   RÁ   Rœ   R>   R½   R¿   t	   selparamsRv   R   t   getSelParamsRW   R�   R   t   sett   issubsetR€   RÅ   t
   getCommand(
   R^   RY   RG   R%   R_   t	   selHandleRƒ   Rº   t   theSelt   sele_com(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR`   ­  sB    	 $++c         C   s  d d l  } t d |  j ƒ  ƒ } |  j | ƒ } d G| G| G| G|  j ƒ  GHt |  d | ƒ sÜ | j  |  | j j ƒ } |  j | t j	 d ƒ t
 j |  j | ƒ ƒ | j t | d | ƒ ƒ | j ƒ  t |  d | | ƒ n t |  d | ƒ } | j ƒ  | j ƒ  d S(   sƒ   
    Open either selection browser for either first or second set of
    atoms (dependent on mode which is sel1... or sel2...)
    iÿÿÿÿNRY   Rz   t   selectionBrowsers
   accepted()Rß   (   Rë   Rá   Râ   t   getSelectionModeRÅ   RW   RY   t   connectR   t   SIGNALRw   Rx   t   handle_atom_selectiont   setSelHandleRœ   t   openToolForCurrentSelectiont   setattrt   showt   raise_(   R^   RG   Rë   R%   R_   RŽ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz   á  s    +

c         C   sÿ   |  j  | ƒ } t |  d | ƒ sÊ d d  l } t d |  j ƒ  ƒ } | j d | j j g d d g d |  j ƒ  g ƒ } | j d | ƒ | j	 d ƒ |  j
 | t j d	 ƒ |  j ƒ t |  d | | ƒ n t |  d | ƒ } | j ƒ  | j ƒ  | j ƒ  d  S(
   Nt	   asDispobjiÿÿÿÿRY   t   dataobj_listt   object_typest   MolDispt   excludes   Selection for HBonds same as..t   apply(   Rì   RÅ   t
   modelUtilsRá   Râ   t   AsDispObjGuiRW   RY   t   setObjectNamet   setWindowTitleRí   R   Rî   t   handle_as_dispobjRò   Rœ   t   populateRó   Rô   (   R^   RG   R_   Rû   R%   t   gui(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR~   û  s    3

c         C   s»   t  | ƒ d k r d  St | d j ƒ  ƒ d } t | d j ƒ  ƒ } t d |  j ƒ  ƒ } | se d  St | d | d  ƒ } | r¡ | j | d d ƒ| j ƒ  n  t	 j
 d	 | d
 |  ƒ d  S(   Ni   i    i	   i   RY   Rß   RG   R   R%   t   controllingWidget(   Rs   RÁ   t   toStringRá   Râ   Rœ   R=   t	   setSameAst   set_do_redrawt   rebuildt   UpdateDisplay(   R^   t   argsR_   t   dispobjR%   Rè   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÿ     s      c         C   s®   t  d |  j ƒ  ƒ } | s d  St ƒ  j t j d ƒ | ƒ t | d d ƒ r` |  j d d ƒ n  | j ƒ  |  j	 j
 d | ƒ r” |  j d | ƒ n  t j d | d |  ƒ d  S(	   NRY   t   SelectionChangedt   hide_on_selection_updatei    t   visibleRà   R%   R  (   Rá   Râ   t   DISPLAYTABLEt   emitR   Rî   Rœ   t   set_visibilityt   set_reapply_selectiont   widgetsR   t   updateLabelR  R  (   R^   R_   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRï      s     
c         C   s&   | d d !d k r d S| d d !Sd  S(   Ni    i   RÞ   R   i   (    (   R^   RG   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRì   2  s    c      	   C   sÁ  | j  d d ƒ } | j  d d ƒ } |  j | ƒ } t d |  j ƒ  ƒ } t ƒ  j t j d ƒ | ƒ | rz| j ƒ  t	 | d | d  ƒ } | rz| d k r² | j d | j ƒ qwt j j | ƒ sÖ t j j | ƒ rt d | d | d	 | j ƒ  j  d	 g  ƒ ƒ } | j | ƒ qw| d
 d !d k r<| j j t | d ƒ d } | j ƒ  j  d g  ƒ }	 |  j t j | | ƒ }
 |
 rÿ|
 j ƒ  r³t | ƒ j t |	 ƒ ƒ r³|	 j | ƒ qÿ|
 j ƒ  rÿt | ƒ j t |	 ƒ ƒ rÿx | D] } |	 j | ƒ qâWqÿn  t d d d |	 d	 | j ƒ  j  d	 g  ƒ ƒ } | j | ƒ qw| d
 d !d k r8| j j t | d ƒ } | j ƒ  j  d g  ƒ } |  j t j | | ƒ }
 |
 rû|
 j ƒ  rÌ| j | ƒ rÌ| j  | ƒ qû|
 j ƒ  rû| j | ƒ rû| j | ƒ qûn  t d d d | d	 | j ƒ  j  d	 g  ƒ ƒ } | j | ƒ qw| d
 d !d k rF| j j! t | d ƒ } | j ƒ  j  d	 g  ƒ } |  j t j | | ƒ }
 |
 r÷|
 j ƒ  rÈ| j | ƒ rÈ| j  | ƒ q÷|
 j ƒ  r÷| j | ƒ r÷| j | ƒ q÷n  | j ƒ  j  d ƒ } | sd } n  t d | d | d	 | ƒ } | j | ƒ qwt d | d	 g  d g  d g  ƒ } | j | ƒ qzn  |  j" d | ƒ t	 |  d | d  ƒ } | r½| j# ƒ  | j$ ƒ  n  d  S(   NRY   R   RG   R
  Rß   t   same_asRd   RJ   R�   i    i   Rn   Rà   Rº   i	   Rq   R€   Rr   t   peptideR_   Rë   (%   Rv   Rì   Rá   Râ   R  R  R   Rî   R  Rœ   R=   R  RY   R>   R½   R§   R¿   Ru   Rä   t   setSelParamsRW   R   R   t	   findChildR    t   QActiont	   isCheckedRå   Ræ   RÃ   t   removeR€   R¾   R�   Rï   t	   updateCidt   updateTreeView(   R^   t   infoRY   RG   R_   R%   Rè   t   parst   monRº   t   at   xR€   t   chnR�   RJ   RŽ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRy   9  s„    
$(( 		!
c            s  t  d ˆ j ƒ  ƒ ‰ ˆ j | ƒ ‰ ˆ j ƒ  } t j ˆ ƒ } t j ˆ ƒ } | j | ƒ t j ˆ ƒ ‰  | j	 ˆ  ƒ ˆ  j
 | ƒ t j ˆ ƒ } | j t j j ƒ } | j t j j ƒ } | j ˆ j d ƒ t j j ƒ } | j	 | ƒ ‡  ‡ ‡ ‡ f d †  }	 ‡ ‡ ‡ f d †  }
 | j j |	 ƒ | j j |
 ƒ | j j | j ƒ | j j | j ƒ | j j | j ƒ | j ƒ  d  S(   NRY   s   Remove namec              s(   ˆ j  ˆ  j ƒ  ƒ ˆ j d ˆ ƒ d  S(   NRà   (   t   setCustomSelectionNameR.   R  (    (   t   lineEditR_   R^   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR"     s    c              s"   ˆ j  d ƒ ˆ j d ˆ  ƒ d  S(   NR   Rà   (   R"  R  (    (   R_   R^   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   clearCustomSelectionName¤  s    (   Rá   Râ   Rì   t   get_selection_labelR    t   QDialogt   QVBoxLayoutt	   setLayoutt	   QLineEditt	   addWidgett   setTextt   QDialogButtonBoxt	   addButtont   Okt   CancelR{   t   DestructiveRolet   clickedRí   t   closeRó   (   R^   RG   R.   t   wint   layoutt   buttonst   okt   cancelt   unnameR"  R$  (    (   R#  R_   R^   R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR|   Ž  s.    !
c   	      C   s¡  d d  l  } |  j | ƒ } t |  d | d  ƒ } t |  d | d  ƒ } | rd | j ƒ  | j ƒ  n9| rš | j ƒ  rš | j ƒ  | j ƒ  | j d ƒ nt d |  j	 ƒ  ƒ } t
 j
 |  ƒ } | j d ƒ t j ƒ  } | j |  | j j d d d	 d
 ƒ} | j | ƒ | j | ƒ | j ƒ  |  j | t j d ƒ t j |  j | ƒ ƒ |  j | t j d	 ƒ t j |  j | ƒ ƒ t |  d | | ƒ t |  d | | ƒ d  S(   Niÿÿÿÿt   restore_guiRë   t   generalRY   s   Save/restore selectiont   savei    R2  i   t   restoret   namedSelection(   Rë   Rì   Rœ   R=   Ró   Rô   t	   isVisiblet   openToolRá   Râ   t   MGSimpleDialogRþ   R    R'  t   namedSelectionGuiRW   RY   R*  R(  Rí   R   Rî   Rw   Rx   t   restoreNamedSelectiont   closeNamedSelectionRò   (	   R^   RG   Rë   R_   R9  RŽ   R%   R4  R=  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR}   ²  s.    


$
++c         C   sO   t  |  d | d  ƒ } | rK | j ƒ  t |  d | ƒ t |  d | ƒ n  d  S(   NR9  R=  (   Rœ   R=   R2  t   delattr(   R^   R_   R9  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRC  Ï  s
    
c         C   s°   t  d |  j ƒ  ƒ } t |  d | d  ƒ } t | d | d ƒ } | r¬ | r¬ | j j ƒ  \ } } | r¬ | j | ƒ | j ƒ  |  j d | ƒ t	 j
 d | d |  ƒ q¬ n  d  S(   NRY   R=  Rß   R   Rà   R%   R  (   Rá   Râ   Rœ   R=   t   list_widgett   selectedItemt   restoreSelectionR  R  R  R  (   R^   R_   R%   R=  Rß   Rå   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRB  Ø  s    
c         C   s  d d l  } t d |  j ƒ  ƒ } | rõ| d k rm |  j t j d ƒ } | rò| j j d | j ƒ  ƒ qòqõd d d g j	 | ƒ r°| d k r@t
 |  d	 ƒ s« |  j r#| j |  d
 | j j ƒ|  _ | j j ƒ  } | j d ƒ rþ |  j j | d ƒ n  |  j |  j t j d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  qò| d k rßt
 |  d ƒ sf|  j rÂ| j |  d
 | j j ƒ|  _ |  j j | j j ƒ  ƒ |  j |  j t j d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  qò| d k ròt
 |  d ƒ s|  j rj| j |  d
 | j j ƒ|  _ |  j |  j t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ n  | j j ƒ  |  j j | j j ƒ  ƒ |  j j ƒ  |  j j ƒ  qòqõt
 | d ƒ râ| j j d | ƒ | j  d ƒ qõ| j d | ƒ n  |  j! d ƒ t" j# d | d |  ƒ d S(   s-   
    Send a colour command to the target
    iÿÿÿÿNRY   R¦   t   colour_non_C_atomtypeR    R—   R£   t   colour_blend_guit   MolDatas
   accepted()t   colour_interface_guit   colour_rules_guiRú   s$   restore_colour_scheme(PyQt_PyObject)R�   R›   Rš   R%   R  ($   t   modelColourGuiRá   Râ   R  R    R  R�   R¨   R  R§   RÅ   RI  t   colourBlendGuiRW   RY   t	   colparamsR   t	   setParamsRí   R   Rî   t   set_colour_blendRó   Rô   RK  t   colourInterfaceGuit   set_colour_interfaceRL  t   ModelColourEditort   set_colour_editort   restore_colour_schemet   create_user_colour_definitionst   update_dependentsR  R  R  (   R^   RY   RM  R%   R¦   t   params(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¨   ç  sN     %%"%c         C   sz   |  j  t j |  j ƒ  d ƒ j ƒ  } t d |  j ƒ  ƒ } | j j d | d d ƒ |  j d ƒ t	 j
 d | d |  ƒ d  S(   NR    RY   R›   R˜   Rš   R%   R  (   R  R    t   QWidgetRâ   t	   getParamsRá   R�   R¨   R  R  R  (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRQ    s
    %c         C   s„   |  j  t j |  j ƒ  d ƒ j ƒ  } d | d <t d |  j ƒ  ƒ } | j j d | d d ƒ |  j d ƒ t	 j
 d | d |  ƒ d  S(	   Nt   colour_editorR¢   R›   RY   RO  Rš   R%   R  (   R  R    RZ  Râ   R[  Rá   R�   R¨   R  R  R  (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRU  &  s    %
c         C   sa   | \ } } t  d |  j ƒ  ƒ } | j j d | d | ƒ |  j d ƒ t j d | d |  ƒ d  S(   NRY   RG   Rå   Rš   R%   R  (   Rá   Râ   R�   RV  R  R  R  (   R^   R  R¥   Rå   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRV  3  s
    c         C   sz   |  j  t j |  j ƒ  d ƒ j ƒ  } t d |  j ƒ  ƒ } | j j d | d d ƒ |  j d ƒ t	 j
 d | d |  ƒ d  S(	   NR—   RY   RO  R›   R–   Rš   R%   R  (   R  R    RZ  Râ   R[  Rá   R�   R¨   R  R  R  (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRS  @  s
    %c         C   s®   xD d d d g D]3 } t  |  d | ƒ r t |  d | ƒ j ƒ  q q W|  j t j |  j ƒ  d ƒ } | rš t d |  j ƒ  ƒ } | j | j	 j
 ƒ  ƒ n  t j j |  ƒ d  S(   NR   t   1t   2Rë   R    RY   (   RÅ   Rœ   t   updateR  R    RZ  Râ   Rá   RP  R�   RO  R[   R\   (   R^   R_   t   blend_widgetR%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR_  M  s    c         C   sD   t  |  d ƒ s3 t |  d |  j ƒ  j ƒ  ƒ|  _ n  |  j j ƒ  d  S(   Nt   interfaceGuiRJ  (   RÅ   Ra  RW   Râ   Ró   (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR—   [  s    $c         C   s�   t  d |  j ƒ  ƒ } | s d  Sd d  l } | j d | j d | j ƒ } | j | j j ƒ t ƒ  j	 d | j j d d d | j ƒ t
 ƒ  d  S(   NRY   iÿÿÿÿRW   t   mastert   parent_nameRZ   t   ColourLegend(   Rá   Râ   Rd  RW   RY   t   set_textR�   t   colour_legendR  t
   addDispObjt   UPDATEDISPLAY(   R^   R%   Rd  R�   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRª   d  s     N(   t   __name__t
   __module__RÏ   RÐ   RÕ   R=   R]   R„   R±   RÌ   RÝ   R`   Rz   R~   Rÿ   Rï   Rì   Ry   R|   R}   RC  RB  R¨   RQ  RU  RV  RS  R_  R—   Rª   (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRI   V  s6   N~<>	4					U	$					1							t   GMapDatac           B   sJ   e  Z d d  d  d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z RS(	   R   c      	   C   sB   t  j j |  | d | d | d | ƒ|  j j |  j d ƒ ƒ d  S(   NRX   RY   RG   s   Tools for map data object(   R[   t   GDataObjR]   t
   iconButtont
   setToolTipR{   (   R^   RW   RX   RY   RG   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   w  s    %R3   c         C   sJ   t  d |  j ƒ  ƒ d } d d d d d |  j d ƒ d	 d
 g d g } | S(   NRY   i    t   data_visiblet   data_centre_ont
   add_objectt   sampling_ratet   data_list_datat   Clonet
   data_clonet   data_clone_dispobjt   data_delete(   t   get_dataobjRâ   R{   (   R^   RY   R%   t   menudef(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt	   getGuiDef|  s    -c         C   sf   t  d |  j ƒ  ƒ d } | j j ƒ  } | j ƒ  | j ƒ  | j ƒ  f } t ƒ  j j	 | d d ƒd  S(   NRY   i    t   glidei   (
   Rx  Râ   t   clipper_mapt	   GetOrigint   get_xt   get_yt   get_zt
   MAINWINDOWt   glWidgett   centreOn(   R^   R%   t   map_orig_cartt   map_orig(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  ‚  s    !c      
   K   s+  t  d |  j ƒ  ƒ d } t | d ƒ rk | j rk | d k rk t d |  j d ƒ d |  j d |  j d ƒ ƒ S| d	 k r· t d |  j d
 ƒ d t j |  j	 | d g ƒ d |  j d ƒ ƒ S| d k rt d |  j d ƒ d |  j
 d | j d k pü | j d k d |  j d ƒ ƒ St j j |  d | d | ƒS(   NRY   i    t	   is_em_mapRp  R.   s	   Centre onRg   R”   Rq  s   Add map contour display objectt   MapDisps   Add a map display objectRr  s   Sampling rateR’   t   MTZt   CIFs   Change the map sampling rateR%   (   Rx  Râ   RÅ   R†  Ru   R{   Rƒ  Rw   Rx   t   add_dispobjt   samplingRateGuit   filetypeR[   Rl  t   getActionDef(   R^   RY   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ‰  s$    $		c         C   s  |  j  t j d ƒ } | r3 | j ƒ  | j ƒ  d  St d |  j ƒ  ƒ d } t j |  ƒ } | j d ƒ | j	 t
 j j ƒ | j |  j d ƒ |  j ƒ  ƒ t j ƒ  } t j ƒ  } t j |  j d ƒ |  ƒ } t j t
 j j |  ƒ } | j d ƒ | j d d	 ƒ | j | j ƒ | j | ƒ | j | ƒ | j | ƒ t j ƒ  } | j ƒ  t j |  j d
 ƒ |  ƒ }	 | j |	 ƒ t j |  j d ƒ |  ƒ }
 | j |
 ƒ | j | ƒ | j | ƒ | j ƒ  |  j |	 t
 j d ƒ |  j ƒ |  j |
 t
 j d ƒ | j  ƒ d  S(   Nt   samplingrateGuiRY   i    R‹  s   Sampling rate for s   Sampling rateRr  gš™™™™™¹?g      @t   Applyt   Closes
   released()(!   R  R    R&  Ró   Rô   Rx  Râ   R@  Rý   t   setAttributeR   t   Qtt   WA_DeleteOnCloseRþ   R{   R'  t   QHBoxLayoutt   QLabelt	   mgWidgetst   mgSlidert
   Horizontalt   setRanget   setValuet   rateR*  t	   addLayoutt
   addStretcht   QPushButtonR(  Rí   Rî   t   handleSamplingRateR2  (   R^   R  R%   t   dialogR4  t   line_layoutRG   t   widgett   layout0Rú   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR‹  §  s>    

 

c         C   sO   |  j  t j d ƒ j ƒ  } t d |  j ƒ  ƒ d } | j | ƒ t j ƒ  d  S(   NRr  RY   i    (	   R  R    RZ  t   valueRx  Râ   t   set_sampling_rateR  R  (   R^   R›  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRŸ  Ð  s    N(	   Ri  Rj  R=   R]   Rz  Rƒ  R�  R‹  RŸ  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRk  s  s   			)t   GMapDispc           B   sÂ   e  Z d d  d „ Z d „  Z d d d „ Z d „  Z d d „ Z d „  Z d d	 „ Z	 d  d
 „ Z
 d  d „ Z d „  Z d „  Z d  d „ Z d  d „ Z d „  Z d „  Z d  d „ Z d „  Z RS(   R   c      	   C   sa   t  j j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ t d ƒ j |  j ƒ d |  _	 d  S(   NRX   RY   RZ   R‡  s   Tools for map display objectt   MapDispParamsManagers   Map display object(
   R[   R\   R]   Rm  Rn  R{   R;   t   add_dependentt   resetContourScalet
   type_label(   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   Þ  s    %c         C   s*   t  d ƒ j |  j ƒ t j j |  ƒ d  S(   NR§  (   R;   t   remove_dependentR©  R[   R\   t   delete(   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¬  ä  s    t   rowc         C   sV  t  d |  j ƒ  ƒ } | d k r© | j ƒ  \ } } t d d d d d | j d | j d |  j d	 ƒ ƒ t d d
 d d d |  j d | d | d | j d |  j d ƒ ƒ g S| d k rü|  j d ƒ g } | j | j	 ƒ |  j d ƒ g } | j d d d d g ƒ |  j d ƒ g } d d g }	 d d g }	 xa t
 d d ƒ D]P }
 |
 j d d ƒ \ } } x/ t t | ƒ ƒ D] } |	 j d | | ƒ qmWq<W| j |	 ƒ |  j d  ƒ g } | j d! d" d# d$ d% d& d' d( d) g	 ƒ d* d+ d, d- | d. | | | d/ d0 g S| d k rd1 d2 d3 d4 g S| d5 k r:d6 d  l } | j j	 St j j |  d | d7 | ƒS(8   NRY   R­  Rš   R_   t   MENUt   getIcont   getLabelR”   s   Set the map contour colourt   contourt   VALUESLIDERt   callbackt   minimumt   maximumt   getValues   Set the map contouring levelR3   s   Surface stylet   Extentt   extent_5t	   extent_10t	   extent_20t
   extent_guit   Clipt   clip_sel_nonet   clip_sel_pointRZ   RJ  t   intermoli    t   clip_sel_MolDisp_s   Clip radiust   clip_radius_1t   clip_radius_125t   clip_radius_15t   clip_radius_175t   clip_radius_2t   clip_radius_25t   clip_radius_3t   clip_radius_4t   clip_radius_guiR  t	   centre_ont   flasht   transparencyt   contour_detailst   cloneR¬  t   colour_complementR©   t   colour_by_radius_greyscalet   colour_by_radius_colourR   iÿÿÿÿR%   (   Rá   Râ   t   get_contour_rangeRu   t   get_colour_labelR{   t   sliderValueChangedt   get_contour_levelRÃ   t   surface_style_aliasRx  t   get_selobj_menuRÀ   Rs   R¾   t   mapR‡  R[   R\   Rz  (   R^   RY   t	   pickeventR%   R´  Rµ  t   surface_stylet   extentt   clipt   full_alias_listt   molobjt	   menu_listt
   alias_listt   iitemt   clip_radiusRØ  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  é  s6    3C(%
c         K   s‡   t  d |  j ƒ  ƒ } | s< t | d ƒ s< t | j ƒ r@ d  S| j ƒ  \ } } |  j d j | | ƒ |  j d j | j ƒ  ƒ d  S(   NRY   RÒ  R±  (	   Rá   Râ   RÅ   t   callableRÒ  R  R™  Rš  RÕ  (   R^   t   kwR%   R´  Rµ  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR©    s    ' i    c         C   s[   t  d |  j ƒ  ƒ } | s< t | d ƒ s< t | j ƒ r@ d  S| j | ƒ t j ƒ  d  S(   NRY   t   set_contour(   Rá   Râ   RÅ   Rã  Rå  R  R  (   R^   R¤  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÔ    s
    ' c         C   sÅ   t  |  d ƒ s§ d d  l } | j |  ƒ |  _ t d |  j ƒ  ƒ } | r‚ t  | d ƒ r‚ | j d  k	 r‚ |  j j | j j ƒ  ƒ n  |  j	 |  j t
 j d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  d  S(   Nt   sliceDetailsiÿÿÿÿRY   t	   map_planeRú   (   RÅ   t   ContourSliceDialogRæ  Rá   Râ   Rç  R=   RP  RY  Rí   R   Rî   t   setPlaneRó   Rô   (   R^   Rè  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleContourSlice%  s    $%c         C   sÏ   t  d |  j ƒ  ƒ } | s< t | d ƒ s< t | j ƒ r@ d  S|  j j ƒ  } | rË | rË d d g j t | d d ƒ ƒ sŒ | j d ƒ n  | j	 j | ƒ | j	 j
 ƒ  d | _ t j d | d	 |  ƒ n  d  S(
   NRY   t
   set_paramst   surface_style_slicet   surface_style_maskRÚ  R   i   R%   R  (   Rá   Râ   RÅ   Rã  Rë  Ræ  R[  R§   Rœ   Rç  t   update_planet	   do_redrawR  R  (   R^   t   planeR%   RY  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRé  2  s    ' !	c         C   s–   t  d |  j ƒ  ƒ } | s< t | d ƒ s< t | j ƒ r@ d  S| j | ƒ |  j j d ƒ r| |  j d j | j ƒ  ƒ n  t	 j
 d | d |  ƒ d  S(   NRY   Rë  R   R%   R  (   Rá   Râ   RÅ   Rã  Rë  R  R   R+  t   get_style_labelR  R  (   R^   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleSurfaceStyleA  s    ' c         C   s\  | d k rót  |  d ƒ s�t j |  ƒ |  _ |  j j |  j d ƒ |  j ƒ  j ƒ  ƒ t j ƒ  } t j	 ƒ  |  _
 |  j
 j d d ƒ t j ƒ  } | j t j j ƒ } | j t j j ƒ } | j t j j ƒ } |  j | t j d ƒ |  j ƒ |  j | t j d ƒ |  j j ƒ |  j | t j d ƒ |  j ƒ |  j | t j d ƒ |  j j ƒ | j |  j
 ƒ | j | ƒ |  j j | ƒ n  t d |  j ƒ  ƒ } | rÖt  | d ƒ rÖt  |  d ƒ rÖ|  j
 j t | j ƒ ƒ n  |  j j ƒ  |  j j ƒ  ne | d	  d
 k rXt d |  j ƒ  ƒ } | j d t | d	 ƒ ƒ |  j  d ƒ t! j" d | d |  ƒ n  d  S(   NR»  s   Map extent for i    iè  s   clicked(bool)RY   t   radiust   spini   t   extent_RÛ  R%   R  (#   RÅ   R    R&  R»  Rþ   R{   RW   Râ   R'  t   QDoubleSpinBoxRô  R™  R,  R-  R.  R�  R/  Rí   R   Rî   t   handleExtentGuit   hideR*  R(  Rá   Rš  t   floatRó  Ró   Rô   t   set_selectionR   R  R  R  (   R^   RY   R4  R5  t   okButtont   applyButtont   cancelButtonR%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleExtentM  s8    )""$ c         C   sm   t  |  d d  ƒ } | ri t d |  j ƒ  ƒ } | j d | j ƒ  ƒ |  j d ƒ t j d | d |  ƒ n  d  S(   NRô  RY   Ró  RÛ  R%   R  (	   Rœ   R=   Rá   Râ   Rú  R¤  R  R  R  (   R^   R¢  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR÷  n  s    c      
   C   sj   t  d |  j ƒ  ƒ } | j d d d | d d | d d | d	 ƒ |  j d
 ƒ t j d | d |  ƒ d  S(   NRY   t	   clip_modet   POINTt   clip_xi    t   clip_yi   t   clip_zi   RÛ  R%   R  (   Rá   Râ   Rú  R  R  R  (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleClipPointx  s    .c         C   s~  t  d |  j ƒ  ƒ } | d k r4 | j d d ƒ n  | d k rt | d ƒ ry | j d } | j d } | j d	 } n d } } } t |  d
 ƒ sÖ t j |  d | d | d | ƒ|  _ |  j j |  j	 d ƒ ƒ n  |  j j
 ƒ  |  j |  j t j d ƒ |  j ƒ n  | d  d k rWt  d d d | d ƒ } | rW| j d d d | d ƒ qWn  t j d | d |  ƒ |  j d ƒ d  S(   NRY   R½  Rÿ  t   OFFR¾  t
   clip_pointi    i   i   t   cartesianPickerR   t   yt   zs   Clip map around pointt   PositionChangedi   RÀ  RZ   Rø   t	   SELECTIONt   clip_MolDispR%   R  RÛ  (   Rá   Râ   Rú  RÅ   R  R–  t   CartesianPickerDialogR  Rþ   R{   t   UnCloseRí   R   Rî   R  R  R  R  (   R^   RY   R%   R   R  R	  t   clip_dispobj(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleClipSelection€  s(    $% c   
   	   C   sV  t  | ƒ t k r| d k rt |  d ƒ sžt j |  ƒ |  _ |  j j |  j d ƒ |  j ƒ  j	 ƒ  ƒ t j
 ƒ  } t j ƒ  |  _ t j ƒ  } | j t j j ƒ } | j t j j ƒ } | j t j j ƒ } |  j | t j d ƒ t j |  j |  j ƒ ƒ |  j | t j d ƒ |  j j ƒ |  j | t j d ƒ t j |  j |  j ƒ ƒ |  j | t j d ƒ |  j j ƒ | j |  j ƒ | j | ƒ |  j j | ƒ n  t d |  j	 ƒ  ƒ } | rót | d ƒ rót |  d ƒ ró|  j j t | j ƒ ƒ n  |  j j ƒ  |  j j  ƒ  nBt  | ƒ t k rÜ| d  d	 k rÜd
 d d d d d d d g j! | ƒ } t d d d d d d d d g | ƒ }	 t d |  j	 ƒ  ƒ } | j" d |	 ƒ | j" d |	 ƒ t# j$ d | d |  ƒ |  j% d ƒ nv t | d ƒ rRt d |  j	 ƒ  ƒ } | j" d | j& ƒ  ƒ | j" d | j& ƒ  ƒ |  j% d ƒ t# j$ d | d |  ƒ n  d  S(   NRÉ  t   clip_guis   Clip radius for s   clicked(bool)RY   t   atom_clip_radiust   clipSpini   t   clip_radius_RÁ  RÂ  RÃ  RÄ  RÅ  RÆ  RÇ  RÈ  s   1.0s   1.25s   1.5s   1.75s   2.0s   2.5s   3.0s   4.0t   point_clip_radiusR%   R  RÛ  R¤  ('   RÑ   RÁ   RÅ   R    R&  R  Rþ   R{   RW   Râ   R'  Rö  R  R,  R-  R.  R�  R/  Rí   R   Rî   t	   functoolsRx   t   handleClipRadiusRø  R*  R(  Rá   Rš  Rù  R  Ró   Rô   R¯   Rú  R  R  R  R¤  (
   R^   RY   R4  R5  Rû  Rü  Rý  R%   Rƒ   t   val(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  ž  sH    )."."$ "'(c         C   se   t  d |  j ƒ  ƒ } | j j j ƒ  } | j ƒ  | j ƒ  | j ƒ  f } t ƒ  j	 j
 | d d ƒd  S(   NRY   R{  i   (   Rá   Râ   RW   R|  R}  R~  R  R€  R�  R‚  Rƒ  (   R^   R%   R„  R…  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  Ç  s    !c            sf  t  d ˆ j ƒ  ƒ ‰ t ˆ j d ƒ rm ˆ j j rm ˆ d k rm t d ˆ j d ƒ d ˆ j d ˆ j d ƒ ƒ Sˆ d k r˜ t d ˆ j d	 ƒ d ˆ j ƒ Sˆ d
 d !d k r.‡ ‡ f d †  } t  d ˆ j ƒ  ƒ ‰ ˆ j	 j
 ˆ ƒ } t d d d | d d d ˆ j | d t j ˆ j ˆ ƒ d ˆ j d ƒ ƒ Sˆ d
 d !d k râ‡ ‡ f d †  } ˆ d k rhd ‰ n= ˆ d k r}d ‰ n( t  d ˆ d ƒ ‰  ‡  f d †  } | ‰ t d d d | d ˆ d t j ˆ j ˆ ƒ d ˆ j d ƒ ƒ Sˆ d k r+t d d d d
 d d  d t j ˆ j ˆ ƒ d ˆ j d! ƒ ƒ Sˆ d
 d" !d# k rÍ‡ ‡ f d$ †  } d% d& d' d( d) d* d+ d, g j
 ˆ ƒ } d- d. d/ d0 d1 d2 d3 d4 g | ‰ t d d d | d d d ˆ d t j ˆ j ˆ ƒ ƒ Sˆ d5 k rt d d
 d d6 d ˆ j d  ƒ d t j ˆ j ˆ ƒ d ˆ j d7 ƒ ƒ Sˆ d
 d8 !d9 k r¬‡ ‡ f d: †  } d; d< d= g j
 ˆ ƒ } t d d d | d d6 d d> d? d@ g | d t j ˆ j ˆ ƒ d ˆ j dA ƒ ƒ St ˆ j d ƒ rFˆ j j rFˆ dB k rFdC d  l ‰ ‡ ‡ f dD †  } ‡ ‡ ‡ f dE †  } t d ˆ j dF ƒ d ˆ j dG ƒ d | d d d dH d | ƒ St ˆ j d ƒ ràˆ j j ràˆ dI k ràdC d  l ‰ ‡ ‡ f dJ †  } ‡ ‡ ‡ f dK †  } t d ˆ j dL ƒ d ˆ j dM ƒ d | d d d dH d | ƒ Sˆ dN k rJdC d  l ‰ ‡ ‡ f dO †  } t d ˆ j dP ƒ d ˆ j dQ ƒ d ˆ j d d d dH d | ƒ St j j ˆ d ˆ dR ˆ ƒS(S   NRY   R†  RÊ  R.   s	   Centre onRg   R”   RÍ  s   Contour slice details..i    i   t   surface_style_c              s   t  t ˆ d d ƒ ˆ  k ƒ S(   NRÚ  R   (   R   Rœ   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   à  s    Re   i   Rf   Rc   RÚ  s   Set contour drawing stylei	   t	   clip_sel_c              sl   ˆ  d k r ˆ j  d k r d Sˆ  d k r> ˆ j  d k r> d Sˆ j  d k rd ˆ j ˆ  d k rd d Sd Sd  S(	   NR½  R  i   R¾  R   R  i   i    (   Rÿ  R  (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   í  s    "R½  R=   R¾  s   Point ..i   c              s   ˆ  j  j d ˆ  j ƒ  S(   Nt    (   RW   t
   name_labelR%  (    (   R	  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   tý  s    s2   Clip the map contour to an atom selection or pointRÉ  Râ  s   Select..s$   Set the clipping cutoff distance (A)i   R  c              s   t  t ˆ  d ƒ t ˆ ƒ k ƒ S(   NR  (   R   Rœ   Rù  (    (   R%   R.   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa     s    RÁ  RÂ  RÃ  RÄ  RÅ  RÆ  RÇ  RÈ  s   1.0s   1.25s   1.5s   1.75s   2.0s   2.5s   3.0s   4.0R»  RÛ  s%   Set the extent of the map contour (A)i   Rõ  c              s#   t  t ˆ d ƒ t  ˆ  d ƒ k ƒ S(   NRó  i   (   R   Rœ   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   $  s    R¸  R¹  Rº  t   5t   10t   20s%   Set the entent of the map contour (A)RÐ  iÿÿÿÿc              s   ˆ  j  j j ƒ  ˆ j k S(   N(   t   graphmodt   objt   GetColourByRadiust   COLOUR_BY_RADIUS_GREYSCALE(    (   R%   t   xmapview(    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   0  s    c              sZ   ˆ j  ˆ _ ˆ j j j ˆ j  ƒ ˆ j j j ƒ  ˆ j d ƒ ˆ  j d ƒ t j	 ƒ  d  S(   Nt	   GreyscaleRš   (
   R$  t   colour_by_radiusR!  R"  t   SetColourByRadiust   update_map_trianglesR¨   R  R  R  (    (   R^   R%   R%  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   d1  s    s   Greyscale ramps.   Colour by shades of grey outwards from centre.t
   map_colourRÑ  c              s   ˆ  j  j j ƒ  ˆ j k S(   N(   R!  R"  R#  t   COLOUR_BY_RADIUS_COLOUR(    (   R%   R%  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   C  s    c              sZ   ˆ j  ˆ _ ˆ j d ƒ ˆ j j j ˆ j  ƒ ˆ j j j ƒ  ˆ  j d ƒ t j	 ƒ  d  S(   Nt   RainbowRš   (
   R,  R'  R¨   R!  R"  R(  R)  R  R  R  (    (   R^   R%   R%  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR*  D  s    s   Colour ramps'   Colour by rainbow outwards from centre.R©   c              s   ˆ  j  j j ƒ  ˆ j k S(   N(   R!  R"  R#  t   COLOUR_BY_RADIUS_NONE(    (   R%   R%  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   V  s    s   Colour browser..s   Choose a single colourR%   (   Rá   Râ   RÅ   RW   R†  Ru   R{   Rƒ  Rê  RÖ  R¯   t   surface_style_menuRw   Rx   Rò  R  R  Rþ  R%  R©   R[   R\   R�  (   R^   RY   R  Ra   Rƒ   R  R*  (    (   R	  RY   R^   R%   R.   R%  sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  Î  sÎ    *	

		'"**	c         C   s¶   | r² t  d |  j ƒ  ƒ } t | j d ƒ rz | j j rz d d  l } | j | _ | j j	 j
 | j ƒ | j j	 j ƒ  n  | j | ƒ | j j	 j ƒ  GH|  j d ƒ t j ƒ  n  d  S(   NRY   R†  iÿÿÿÿRš   (   Rá   Râ   RÅ   RW   R†  R%  R.  R'  R!  R"  R(  R)  R¨   R#  R  R  R  (   R^   Rš   R%   R%  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   set_browser_colourd  s    c         C   s&   t  |  d ƒ r n  t j j |  ƒ d  S(   NRæ  (   RÅ   R[   R\   R_  (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR_  u  s    N(   Ri  Rj  R=   R]   R¬  Rz  R©  RÔ  Rê  Ré  Rò  Rþ  R÷  R  R  R  Rƒ  R�  R0  R_  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¦  Ù  s"   	'	
	!	
	)		–t   GMolDatac           B   sè  e  Z d6 d  d  d „ Z d „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d  d „ Z d  „  Z  d! „  Z! d" „  Z" d# „  Z# d$ „  Z$ d  d  d% d& „ Z% d' „  Z& d( „  Z' d) „  Z( d* „  Z) d+ „  Z* d, „  Z+ d- „  Z, d. „  Z- d/ „  Z. d0 „  Z/ d1 „  Z0 d2 „  Z1 d3 „  Z2 d4 „  Z3 d  d5 „ Z4 RS(7   R   c      	   C   sB   t  j j |  | d | d | d | ƒ|  j j |  j d ƒ ƒ d  S(   NRX   RY   RG   s   Tools for model data object(   R[   Rl  R]   Rm  Rn  R{   (   R^   RW   RX   RY   RG   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   €  s    %c         C   s.   t  j j |  ƒ t ƒ  j d |  j ƒ  ƒ d  S(   Ns   Animation of (   R[   Rl  R¬  R�  t   removeAnimationHandlerRâ   (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¬  †  s    R3   c         K   sí   | d k rÓ d d d d d |  j  d ƒ d d	 d
 d g |  j  d ƒ d d d d g d |  j  d ƒ d d d d d d d d d d d g |  j  d ƒ d d  d! g d" d# |  j  d$ ƒ d% d& g |  j  d' ƒ d( d) g d* g St j j |  d+ | ƒSd  S(,   NR3   Ro  Rp  t   picture_wizardt	   copy_fromt   add_moldisps   Add display objectt   add_surfacet
   add_hbondst   add_contactst   add_annotations   File save/restoreR;  t   save_with_screen_transt   rename_to_file_nameR<  Rs  s   Structure definitiont   load_warningst   list_secstrt   edit_secstrt	   load_DSSPt   edit_restypest   edit_ciffilest
   edit_bondst
   edit_linkst   list_chargest   aromatict   show_2d_pictures   Transform coordinatest   movet   transformation_matrixt   undo_transformt   symmetry_matest   create_crystal_from_dataobjt	   Animationt   load_animationt   run_animationRt  Ru  Rv  Rw  RY   (   R{   R[   Rl  Rz  (   R^   RY   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  �  s    0c         C   sÌ  |  j  | | g ƒ } t d | j ƒ  ƒ } | s4 d  Sd d  l } | d k râ t | d ƒ râ t | j d ƒ râ t | j j ƒ râ | j j	 i d d 6d d 6ƒ | j j	 i d d 6d	 d 6ƒ | j
 ƒ  | j d
 ƒ | j d ƒ n¢ | d k r„t | d ƒ r„t | j d ƒ r„t | j j	 ƒ r„| j j	 i d d 6d d 6ƒ | j j	 i d d 6d	 d 6ƒ | j
 ƒ  | j d
 ƒ | j d ƒ n  | d  k	 r¾t | d ƒ r¾t | j ƒ r¾| j d ƒ n  | j ƒ  d  S(   NRY   iÿÿÿÿt   HBondst
   SelHandle2t
   setCommandt   cidRd   R   R²   t
   selection1t
   selection2t   ContactsR  Rz   t   sel1(   RŠ  Rá   Râ   R  RÅ   RP  Rã  RQ  t
   SelHandle1R  R  R  R=   Rz   R  (   R^   R%   R   t   hbR  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   addHBondsContactsInteractively�  s(    ?
?
*c            sÍ  t  d ˆ  j ƒ  ƒ ‰ ˆ s d  Sˆ d ‰ | d k rT t d ˆ  j d ƒ d ˆ  j ƒ S| d k rŽ t d ˆ  j d ƒ d ˆ  j d	 ˆ  j d
 ƒ ƒ S| d k rÈ t d ˆ  j d ƒ d ˆ  j d	 ˆ  j d ƒ ƒ S| d k rt d ˆ  j d ƒ d t j ˆ  j	 ˆ d g ƒ d	 ˆ  j d ƒ ƒ S| d k rEt d ˆ  j d ƒ d ˆ  j
 d d ƒ S| d k rvt d ˆ  j d ƒ d ˆ  j d d ƒ S| d k r§t d ˆ  j d ƒ d ˆ  j d d ƒ S| d k rØt d ˆ  j d ƒ d ˆ  j d d ƒ S| d k r$t d ˆ  j d ƒ d t j ˆ  j	 ˆ d g ƒ d	 ˆ  j d ƒ ƒ S| d  k rmt d ˆ  j d! ƒ d t j ˆ  j ˆ d! ƒ d	 ˆ  j d" ƒ ƒ S| d# k r¶t d ˆ  j d$ ƒ d t j ˆ  j ˆ d$ ƒ d	 ˆ  j d% ƒ ƒ S| d& k rt d ˆ  j d' ƒ d t j ˆ  j	 ˆ d' g ƒ d	 ˆ  j d( ƒ ƒ S| d) k r<t d ˆ  j d* ƒ d ˆ  j d	 ˆ  j d+ ƒ ƒ S| d, k rvt d ˆ  j d- ƒ d ˆ  j d	 ˆ  j d. ƒ ƒ S| d/ k r¶t d ˆ  j d0 ƒ d	 ˆ  j d1 ƒ d ˆ  j d d ƒ S| d2 k r‡ f d3 †  } t d ˆ  j d4 ƒ d	 ˆ  j d5 ƒ d ˆ  j d | ƒ S| d6 k r[‡  f d7 †  } t d ˆ  j d8 ƒ ˆ  j ƒ  d ˆ  j d9 d d: | d; d ƒ S| d< k r•t d ˆ  j d= ƒ d	 ˆ  j d> ƒ d ˆ  j ƒ S| d? k rÛ‡  f d@ †  } t d ˆ  j dA ƒ d ˆ  j d | d; d ƒ S| dB k rt d ˆ  j dC ƒ d	 ˆ  j dD ƒ d ˆ  j ƒ S| dE k rOt d ˆ  j dF ƒ d	 ˆ  j dG ƒ d ˆ  j ƒ S| dH k r­‡ f dI †  } t d ˆ  j dJ ƒ d	 ˆ  j dK ƒ d9 d d: | d t j ˆ j ƒ ƒ S| dL k rçt d ˆ  j dM ƒ d	 ˆ  j dN ƒ d ˆ  j ƒ S| dO k r!t d ˆ  j dP ƒ d	 ˆ  j dQ ƒ d ˆ  j ƒ S| dR k r[t d ˆ  j dS ƒ d	 ˆ  j dT ƒ d ˆ  j ƒ S| dU k r•t d ˆ  j dV ƒ d	 ˆ  j dW ƒ d ˆ  j ƒ S| dX k rÏt d ˆ  j dY ƒ d	 ˆ  j dZ ƒ d ˆ  j ƒ S| d[ k r	t d ˆ  j d\ ƒ d	 ˆ  j d] ƒ d ˆ  j ƒ S| d^ k rCt d ˆ  j d_ ƒ d	 ˆ  j d` ƒ d ˆ  j ƒ S| da k r}t d ˆ  j db ƒ d	 ˆ  j dc ƒ d ˆ  j  ƒ S| dd k r´t d ˆ  j de ƒ d	 ˆ  j df ƒ d d ƒ St! j" j# ˆ  | dg ˆ ƒS(h   NRY   i    Rp  R.   s	   Centre onRg   R3  s   Picture wizard..R”   s#   Set the display style for the modelR4  s   Copy picture style from..s.   Copy display objects from another loaded modelR5  s   Add model display objectRø   s   Add a model display objectR;  s   Save to fileR’   i   R;  s   Rename to file nameR:  s   Save with screen transformationR<  s   Restore from fileR6  t   Surfacet   SurfaceDispobjs+   Add a surface display object for this modelR7  RO  s/   Add hydrogen bond display object for this modelR8  RU  s/   Add close contact display object for this modelR9  t
   Annotations   Add annotation to this modelRJ  s   Generate symmetry mates..s%   Show selected symmetry related copiesRK  s   Create crystal objects   Generate fast symmetryRM  s   Load new animations2   Load coordinates from PDB file to create animationRN  c             s$   t  ˆ  d d  ƒ }  |  r d Sd Sd  S(   Nt	   animationi   i    (   Rœ   R=   (   t   aobj(   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR‘   #  s    s   Run animations   Run currently loaded animationRG  c              s   ˆ  j  d k r d Sd Sd  S(   Ni   i    (   t   status(    (   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   1  s    s   Move Re   Rf   t   deleteLaterRH  s   Enter transformations0   View or change the current transformation matrixRI  c              s
   ˆ  j  ƒ  S(   N(   t   isTransformed(    (   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR‘   F  s    s   Undo transformR<  s   Show load warningss0   List any warning messages from loading the modelR=  s   List secondary structures:   List all residues and their secondary structure assignmentRE  c              s   t  ˆ  j d k ƒ S(   Ni   (   R   t   show_aromatic_rings(    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ]  s    s   Calculate aromatic rings.s*   Determine aromaticity in conjugated rings.RF  s   Show 2D ligand pictures..s(   Show 2-D representation of ligands, etc.RD  s   List chargess'   List charges currently assignd to modelR>  s   Edit secondary structures1   Override automatic secondary structure assignmentR?  s   Load DSSP secondary str.s-   Use secondary structure from DSSP output fileRA  s   Specify cif dictionariessH   Specify custom cif dictionary files to describe bonding in ligands, etc.R@  s   Edit residue type assignments   Assign residue typeRB  s
   Edit bondss    Add or delete bonds in structureRC  s   Add inter-residue linkss#   Define possible inter-residue bondst   custom_monomer_librarys   Use monomer librarys   Use alternative monomer libraryR%   ($   Rx  Râ   Ru   R{   Rƒ  t   drawingStyleGuit   copyPictureStyleRw   Rx   RŠ  R;  R;  R:  t   restore_dataRY  t   symmetryMatesGuit   createCrystalt   drawLoadAnimationGuit   drawAnimationGuit   toggleMovingt   transformationMatrixGuit   undoTransformationt   loadWarningst   listSecondaryStructuret   toggleAromaticityt
   show2DListt   listChargest   editSecondaryStructuret   loadDSSPt   editCIFFilest   editRestypest	   editBondst	   editLinksR[   Rl  R�  (   R^   RY   R  R‘   Ra   (    (   R^   R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ¹  sP    

											
	









c         C   s  d d  l  } t ƒ  j ƒ  } | j d d d ƒt ƒ  rk t t ƒ  d ƒ rk t ƒ  j j d d d | j ƒ n  t	 d |  j
 ƒ  ƒ d	 } | j | j ƒ | j | j ƒ t ƒ  rt t ƒ  d
 ƒ rt ƒ  j j } | d	 | d | d f } t ƒ  j j | d d	 ƒn  d  S(   Niÿÿÿÿt
   CONTINUOUSt   forcei   t   MGDisplayTableRZ   t   CrystalRY   i    R‚  i   R{  (   R|  t   CRYSTALMANAGERRq  t	   set_styleR�  RÅ   R{  Rg  RY   Rx  Râ   t
   set_sourcet   setMasterCrystalR‚  t   rposRƒ  (   R^   R|  t   xtlR%   R�  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRh  ¢  s    "c         C   s,   t  d |  j ƒ  ƒ d } | j j ƒ  } | S(   NRY   i    (   Rx  Râ   t   molHndt   GetIsTransformed(   R^   R%   Rƒ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa  °  s    c         C   s   t  d |  j ƒ  ƒ d } t j j t j j | j d ƒ d ƒ } | r^ | j | | j ƒ n  |  j	 ƒ  t
 ƒ  j d d ƒ d  S(   NRY   i    i   R²   i   (   Rx  Râ   R@   RA   t   basenamet   splitextt   filenamet   renameuniquenameRY   R  R  R_  (   R^   R%   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR;  ¶  s    )
c         C   sK   t  j |  d d d g g ƒ } |  j | t j d ƒ |  j ƒ | j ƒ  d  S(   Ns   Save coordinatess   Coordinate file (*.pdb *.cif)t
   coordinateR;  (   R–  t   MGSaveFileDialogRí   R   Rî   t   handleSaveWithTranst   exec_(   R^   t   saveGui(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR:  Á  s    c         C   sK   t  j |  d d d g g ƒ } |  j | t j d ƒ |  j ƒ | j ƒ  d  S(   Ns   Save coordinatess   Coordinate file (*.pdb *.cif)R‰  R;  (   R–  RŠ  Rí   R   Rî   t
   handleSaveRŒ  (   R^   R�  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR;  È  s    c         C   s  t  ƒ  rt t  ƒ  d ƒ rd d  l } d d  l } t  ƒ  j } | j } d d d g } | d | d | d g } | j j ƒ  } | j ƒ  }	 |	 d d |	 d d |	 d d |	 d d |	 d d |	 d d |	 d d |	 d d |	 d d g	 }
 d d d d d d d d d g	 } t	 |  j
 ƒ  ƒ } | j j ƒ  } | j j | d d | j d | j d d d d d | j ƒ | j | j j | ƒ ƒ } | j | j j | ƒ ƒ } | j j | ƒ | j j ƒ  } | j } | j j | | t ƒ | | j | ƒ } | j ƒ  | j ƒ  | j ƒ  g } | j j |
 | t ƒ | j j ƒ  } | j j | d d | j d | j d d d d d | j ƒ | j | j j | ƒ ƒ } | j | j j | ƒ ƒ } | j j | ƒ | j d | ƒ } | rôt j j d  d d	 | ƒ n  | j j | t! ƒ | j" | ƒ n  d  S(
   NR‚  iÿÿÿÿi    i   i   R   R‡  s   Error saving to files   Error writing file (#   R�  RÅ   t
   pygl_coordt   mmdb2R‚  R�  t   quatt	   getMatrixt   GetAsDoubleVectorst   dataRâ   Rƒ  t   NewSelectiont   SelectAtomst   ANY_RESt   SKEY_ORt   CartesianPtrt   CentreOfCoordinatesAsCartesiant   CentreOfMassAsCartesiant   DeleteSelectiont   GetTransformR‡  t   SetTransformR   t	   CartesianR~  R  R€  t	   save_fileR    t   QMessageBoxt   warningR=   R   t   setFilename(   R^   R‡  R�  t   mmdbR‚  t   vtranspt   vtrans1t   vtrans2t   theMatt   matt   vrot2t   vrot1R*  t   selHndt   coct   comt   old_transformt   old_filenamet   vt2ct   rv(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR‹  Ï  sJ    	!!'		:	!:c         C   sE   t  |  j ƒ  ƒ j d | ƒ } | rA t j j d  d d | ƒ n  d  S(   NR‡  s   Error saving to files   Error writing file (   R”  Râ   R   R    R¡  R¢  R=   (   R^   R‡  R²  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRŽ  ø  s    c         C   sÐ   t  |  j ƒ  ƒ } | s d  S|  j t j d ƒ } | rN | j ƒ  | j ƒ  nt t j |  d |  j ƒ  d ƒ} | j	 d ƒ |  j
 | t j d ƒ |  j ƒ |  j
 | t j d ƒ |  j ƒ | j ƒ  |  j ƒ  d  S(   NRl  t   titles    transformation matrixt   transformationChangedt   transformationUndone(   R”  Râ   R  R    R&  Ró   Rô   R–  t   TransformMatrixDialogRý   Rí   R   Rî   t   applyTransformationRm  t   resetTransformationMatrixGui(   R^   R%   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRl     s     

c         C   sF   |  j  t j |  j ƒ  d ƒ } | r2 | j ƒ  n  t j j |  ƒ d  S(   Nt   SymmetryMates(   R  R    R&  Râ   t   loadDataR[   Rl  R_  (   R^   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR_    s     c         C   s¸   |  j  t j d ƒ } | s d  St |  j ƒ  ƒ } | s; d  S| j j ƒ  } | j d | d | d | d | d | d | d | d	 | d
 | d f	 d | d | d | d f ƒ d  S(   NRl  t   rotationi    i   i   i   i   i   i   i	   i
   t   translationi   i   i   (   R  R    R&  R”  Râ   Rƒ  R�  RP  (   R^   R  R%   t   trmat(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¸    s      c         C   s:   t  |  j ƒ  ƒ } | s d S|  j ƒ  | j d d ƒ d S(   sx    The MolData object has been moved (eg by Superpose) and we need to
    make sure the transformationMatrixGui is updatedNt	   attributet	   transform(   R”  Râ   R¸  RX  (   R^   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   updateGuiAfterTransformation,  s
     
c         C   s-  t  |  j ƒ  ƒ } | s d  S|  j t j d ƒ } | s; d  S| j ƒ  } | j d ƒ r)| j d ƒ r)| j d ƒ rÜ| d d k rÜ| d } | d } t ƒ  rút t ƒ  d ƒ rúd d  l	 } | j
 t ƒ  j d j ƒ } | j ƒ  } | j d	 d	 ƒ }	 | d |	 d d <| d
 |	 d d
 <| d |	 d d <| d |	 d
 d <| d	 |	 d
 d
 <| d |	 d
 d <| d |	 d d <| d |	 d d
 <| d |	 d d <d |	 d d <| j ƒ  |	 | }
 |
 d d | d <|
 d d
 | d
 <|
 d d | d <|
 d
 d | d <|
 d
 d
 | d	 <|
 d
 d | d <|
 d d | d <|
 d d
 | d <|
 d d | d <| j | d | d
 | d ƒ } | j ƒ  | } | j ƒ  | d <| j ƒ  | d
 <| j ƒ  | d <| j j | | t ƒ qún | j j | d | d t ƒ | j d d ƒ d d  l } | j d |  ƒ n  d  S(   NRl  R¼  R»  t	   transmodet   relativet	   glWidgetsiÿÿÿÿi    i   i   i   i   i   i   i   i   g      ð?R¾  R¿  R  (   R”  Râ   R  R    R&  R[  R   R�  RÅ   R�  t   QuatRÃ  R‘  R’  t   matrixt   InverseRŸ  R~  R  R€  Rƒ  Rž  R   RX  R  R  (   R^   R%   R  RY  R¼  R»  R�  R‘  t   mat2R©  t   prodt   transCt	   transCrotR  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR·  7  s\      

!c         C   s˜   t  |  d ƒ s‡ d d  l } | j |  d t |  j ƒ  ƒ g ƒ|  _ |  j j d t |  j ƒ  ƒ ƒ |  j |  j t j	 d ƒ |  j
 ƒ n  |  j j ƒ  d  S(   Nt   copyPictureStyleGuiiÿÿÿÿt   exclude_lists   Copy picture style from Rú   (   RÅ   Rû   t   AsDataObjGuiRÁ   Râ   RË  Rþ   Rí   R   Rî   t   handleCopyPictureStyleRó   (   R^   Rû   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRe  j  s    ' %c         C   sø   t  | ƒ d k r d  St | d j ƒ  ƒ d } t | d j ƒ  ƒ } t | d j ƒ  d ƒ } t |  j ƒ  ƒ } | j d | d | ƒ } | d rÎ | d rô t j	 j
 |  |  j d ƒ | j | d ƒ qô n& d	 d  l } | j d
 |  ƒ |  j ƒ  d  S(   Ni   i    i	   i   i   R4  t   clears   Copy picture style iÿÿÿÿR  (   Rs   RÁ   R  R   t   toIntR”  Râ   t   copy_displayR    R¡  R¢  R{   R  R  R  t   updateDispObj(   R^   R  R_   t   dataobjRÏ  R%   R²  R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÎ  t  s     

 0c         C   sf   t  |  j ƒ  ƒ } | s d  S| j j t ƒ | j d d ƒ d d  l } | j d |  ƒ |  j ƒ  d  S(   NR¾  R¿  iÿÿÿÿR  (	   R”  Râ   Rƒ  t   UnSetTransformR   RX  R  R  RÀ  (   R^   R%   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRm  †  s     c         C   sk   |  j  t j d ƒ } | r3 | j ƒ  | j ƒ  d  Sd d  l } | j |  d |  j ƒ  ƒ} | j d ƒ d  S(   NRd  iÿÿÿÿt   moldata_name(   R  R    R&  Ró   Rô   t   pictureWizardGuiRâ   Rý   (   R^   R  RÖ  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRd  ”  s    

c         C   sû   |  j  t j d ƒ } | s d  S| j ƒ  |  _ |  j  t j d ƒ } t | j ƒ  ƒ } | r¡ g  } x* |  j j ƒ  D] } | j	 | j
 ƒ  ƒ qq W|  j j | ƒ n  t d |  j
 ƒ  ƒ d } | j d |  j d d | ƒ t j d | d	 |  ƒ |  j ƒ  d  S(
   Nt   drawingStylet   drawingStyle_deleteRY   i    t   drawing_stylet   keep_display_objectsi   R%   R  (   R  R    RZ  t   getStyleR×  R   R  t   bodyt   childrenR¾   Râ   RX   t   deleteDispObjRx  t   applyDrawingStyleR  R  RÒ  (   R^   R¢  R¬  t   dellistR	  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleDrawingStyle¥  s     c         C   s¡  d d  l  } t d |  j ƒ  ƒ d } | j d d ƒ } t | ƒ d k rM d  St | ƒ d k rŽ | j ƒ  j d | j d | d j j	 ƒ  ƒ ng  } x' | D] } | j
 r› | j | ƒ q› q› Wt | ƒ d k rÙ | } n  t | ƒ d k r| j ƒ  j d | j d | d j j	 ƒ  ƒ nƒ d d  l } | j j ƒ  } x6 | D]. } | j j | | j | j j	 ƒ  | j ƒ q<W| j ƒ  j d | j d | ƒ | j j | ƒ d  S(	   NiÿÿÿÿRY   i    RZ   Rø   i   Rƒ  R¬  (   t   MGApplicationRx  Râ   Rá   Rs   t   GetMainWindowRƒ  Rƒ  Rß   t	   getSelHndR  R¾   R�  R•  t   Selectt
   STYPE_ATOMR˜  Rœ  (   R^   Râ  R%   t   dispobj_listt   vis_objR"  R¤  R¬  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  ¾  s0    	  	,c         C   s   d  S(   N(    (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRf  â  s    c         C   s	  t  |  d ƒ sø t j |  ƒ |  _ |  j j |  j d ƒ ƒ t j ƒ  } t j |  ƒ } | j	 | ƒ | j
 ƒ  } | j | j ƒ |  j d ƒ d |  j d ƒ d g } | j | d d ƒ|  j j | ƒ |  j | t j d ƒ t j |  j | j ƒ ƒ n  |  j j ƒ  d  S(	   Nt   loadAnimationGuis   Open Animations#   The FIRST coordinate file in seriess    (*.pdb *.cif)s*   Coordinate file containing multiple modelsR²   i    s"   filesSelected (const QStringList&)(   RÅ   R@  Ré  Rþ   R{   R    R'  R–  t   MGFileDialogR*  t   getFileDialogt   setFileModet   ExistingFilest   setNameFiltersR(  Rí   R   Rî   R  Rx   t   loadAnimationt   selectedNameFilterRó   (   R^   R4  R¢  t
   filedialogt   filter_list(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRi  æ  s    
1c         C   sE  t  | ƒ d k r> t j j d  |  j d ƒ |  j d ƒ ƒ d  St  | ƒ d k  rT d  St d |  j ƒ  ƒ d } t | d ƒ rŒ | j	 j
 ƒ  n  d d  l } i  } d t | d ƒ d	 g | d
 <| ƒ  |  j d ƒ d k rä d | d <n  | j d | d | d d ƒ | _	 | j	 j ƒ  } | r*| j	 j
 ƒ  n |  j j ƒ  |  j ƒ  d  S(   Ni   s   Error in Open Animations-   Please select only the FIRST coordinate file.RY   i    R]  iÿÿÿÿt   FULLPATHR   R‡  s*   Coordinate file containing multiple modelss    (*.pdb *.cif)t
   NMR_modelst   file_formatRW   RY  R   (   Rs   R    R¡  R¢  R=   R{   Rx  Râ   RÅ   R]  R¬  RL  RÁ   t   loaddataRé  Rø  Rj  (   R^   t   filterCommandt   selectedFilesR%   RL  RY  R²  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRï  	  s&    ( !c   
      C   s·  t  |  d ƒ sœt d |  j ƒ  ƒ d } t j |  ƒ |  _ t j |  d t j j d t	 ƒ|  _ |  j j
 |  j d t |  j ƒ  ƒ ƒ ƒ |  j j d ƒ t j ƒ  } | j j } t j ƒ  } t j |  j d t | d d	 ƒ d
 t | d	 d	 ƒ d ƒ ƒ } | j | ƒ t j t j j |  ƒ } | j | d d	 | d	 d	 d d	 ƒ| j j } | j | d d	 ƒ | j d ƒ |  j | t j d ƒ |  j ƒ | j | ƒ | j | ƒ t j ƒ  } t j |  j d ƒ ƒ } | j | ƒ | j | ƒ t j  |  ƒ } t j! |  j d ƒ |  ƒ } | j d ƒ |  j | t j d ƒ t" j# |  j$ d ƒ ƒ | j | ƒ | j% | ƒ t j! |  j d ƒ |  ƒ } | j d ƒ |  j | t j d ƒ t" j# |  j$ d ƒ ƒ | j | ƒ | j& ƒ  | j% | ƒ t j ƒ  } t j |  j d ƒ ƒ } | j | ƒ t j' |  ƒ } | j | ƒ | j | ƒ t j( |  ƒ } | j) t j j ƒ | j% d t j( j* ƒ }	 |	 j+ t j, t- j. j/ t- j0 d d d d ƒ ƒ ƒ |	 j1 d ƒ |	 j d ƒ |  j |	 t j d ƒ t" j# |  j$ d ƒ ƒ | j% d t j( j* ƒ }	 |	 j+ t j, t- j. j/ t- j0 d d d d ƒ ƒ ƒ |	 j1 d ƒ |  j |	 t j d ƒ t" j# |  j$ d ƒ ƒ | j | ƒ | j& d ƒ |  j j2 | ƒ n  |  j3 ƒ  |  j j4 ƒ  d  S(    Nt   animationGuiRY   i    t   defaultDockAreat   tabifys   Animation of i    s   Animation frame (i   t   -s   ):t   integert   animation_frames   valueChanged(int)s   Run in directiont   forwardt   animation_forwards	   clicked()t   backwardt   animation_backwards   Animation time interval (ms):R   R7   R8   t   actionss   movie_play.svgt   animation_runt   runs   movie_frameadvance.svgt   nexti   (5   RÅ   Rx  Râ   R@  Rù  t   MGSimpleDockDialogR   R’  t   RightDockWidgetAreaR   Rþ   R{   RÁ   t   setMinimumHeightR    R'  R]  t   frame_rangeR”  R•  R*  R–  R—  R˜  R™  t   current_frameRš  Rý   Rí   Rî   t   handleAnimationFrameRœ  t   QButtonGroupt	   QCheckBoxRw   Rx   t   handleAnimationR-  R�  t   animationIntervalWidgetR,  t   setOrientationt
   ActionRolet   setIconR$   R@   RA   RC   RD   t   setAutoDefaultR(  t   updateAnimationGuiR  (
   R^   R%   R4  RÀ   R¡  R¢  t   currentt	   dir_groupt	   buttonBoxt   button(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRj  	  sr    $)D&++
2+2+
iÿÿÿÿc         C   sM   | d k r? t  d |  j ƒ  ƒ d j j d t | ƒ d ƒ n  t j ƒ  d  S(   Ni    RY   t   framei   (   Rx  Râ   R]  t	   set_frameR   R  R  (   R^   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  p	  s    3c         C   sÃ  | d k r? t  ƒ  j |  j d ƒ |  j ƒ  ƒ |  j j ƒ  n€| d k r¤ |  j j t j d ƒ } t	 d |  j ƒ  ƒ d j
 j ƒ  t j ƒ  |  j ƒ  |  j ƒ  nd d g j | ƒ r|  j j t j d	 ƒ } | j t ƒ |  j | t j d
 ƒ |  j ƒ | j t ƒ | d k r–t  ƒ  j d |  j ƒ  |  j ƒ | j t j t j j  t j! d d d d ƒ ƒ ƒ |  j" | t j d
 ƒ t# j$ |  j d ƒ ƒ q¿t  ƒ  j d |  j ƒ  ƒ | j t j t j j  t j! d d d d ƒ ƒ ƒ |  j" | t j d
 ƒ t# j$ |  j d ƒ ƒ n¯ | d k rBt	 d |  j ƒ  ƒ d j
 j% d ƒ n} | d k rtt	 d |  j ƒ  ƒ d j
 j% d ƒ nK | d k r¿t	 d |  j ƒ  ƒ d } | j
 j& ƒ  t j d | d |  ƒ n  d  S(   NR2  s   Animation of R  Rþ  RY   i    R  t   stopR  s	   clicked()R7   R8   R  s   movie_pause.svgs   movie_play.svgRÿ  i   R  iÿÿÿÿR�   R%   R  ('   R�  R2  R{   Râ   Rù  R2  R  R–  R—  Rx  R]  t
   next_frameR  R  R_  R  R§   R    Rž  t   blockSignalsR   t
   disconnectR   Rî   R  R   t   addAnimationHandlert   incrementAnimationR  R$   R@   RA   RC   RD   Rí   Rw   Rx   t   setIncrementt
   add_legend(   R^   R_   R¢  R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  x	  s:    # 

 2.2.&&c         C   sD   t  d |  j ƒ  ƒ d j j ƒ  |  j ƒ  d d  l } | j ƒ  d  S(   NRY   i    iÿÿÿÿ(   Rx  Râ   R]  R  R  R  R  (   R^   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR!  ¡	  s     
c         C   s«   t  t d |  j ƒ  ƒ d d d  ƒ } | r§ |  j j t j d ƒ j | j	 ƒ  ƒ | j
 d d k r… |  j j t j d ƒ j d ƒ q§ |  j j t j d ƒ j d ƒ n  d  S(   NRY   i    R]  Rþ  i   R   R  (   Rœ   Rx  Râ   R=   Rù  R  R–  R—  Rš  t   getFrameR  R    R  t
   setChecked(   R^   t   anim_obj(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  ª	  s    %%"c         C   sŸ   t  d ƒ } t d |  j ƒ  ƒ d } | j | j d ƒ } | r› d G| GH| j d d ƒ |  j | t j d ƒ |  j	 ƒ |  j | t j d	 ƒ |  j
 ƒ n  d  S(
   Nt   data_listingRY   i    i   t   listDataR   t   fixed_widtht   lineClickedt   lineDoubleClicked(   t
   FILEVIEWERRx  Râ   t   openR‡  t   setFontRí   R   Rî   t   handleListDataClickt   handleListDataDoubleClick(   R^   t   viewerR%   t   window(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR(  ·	  s    	c         C   s   |  j  | d d ƒd  S(   NR_   t   double(   t   handleListDataSelection(   R^   R   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR0  Ã	  s    c         C   s   |  j  | d d ƒd  S(   NR_   t   single(   R4  (   R^   R   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR/  È	  s    R5  c   
      C   sc  t  |  j ƒ  ƒ } | s d  St | ƒ d k rA | d d !d k sT | d d !d k rr t  |  j ƒ  ƒ j | ƒ } n  | s| d  S| j d | ƒ } | d d k r¢ d  S| d k rÑ t ƒ  j d | j d	 | d
 ƒ n  | j d | d	 | d
 ƒ } | rK| j	 d | ƒ } | rKt
 ƒ  j d | d | ƒ } | rHd d  l }	 |	 j ƒ  qHqKn  | j j | d
 ƒ d  S(   Ni   i    i   t   ATOMt   HETATMt   commandR3  Rƒ  R¬  i   t   molt   atm_ptrR	  iÿÿÿÿ(   R”  Râ   Rs   t   pdbATOM2cidt   parse_selectionR�  Rƒ  Rƒ  t   interpretAtomIDt   findDispobjContainingAtomt	   PICKLABELt   addLabelR  R  Rœ  (
   R^   R   RR  R_   RÞ  t   retR:  R	  R²  R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR4  Î	  s*     8  #c         C   s°   t  |  j ƒ  ƒ } | j ƒ  d } |  j d ƒ t | j ƒ |  j d ƒ t | j ƒ d |  j d ƒ t | j ƒ |  j d ƒ | j d d | ƒ} t	 j
 j |  | | ƒ d  S(	   Ni    s   Temp factor: s    Occupancy: s   
s   Charge: s    Atom energy type: t   energy_typet   PAtom(   R”  Râ   t   getPickedAtomsR{   RÁ   t
   tempFactorRR   RT   t   get_attributeR[   Rl  t   pickInfo(   R^   t   eventR%   t   pAtomR.   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRG  ì	  s    tc         C   sL   t  |  j ƒ  ƒ } | s d  St d ƒ j | j |  j ƒ  |  j d ƒ ƒ d  S(   NR'  s    load warnings(   R”  Râ   R,  t   loadTextR<  R{   (   R^   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRn  ø	  s     c         C   sy   t  |  j ƒ  ƒ } | s d  S| j d d | j j ƒ  } t d ƒ j | |  j ƒ  |  j d ƒ ƒ } | j d d ƒ d  S(   Ni   s   
R'  s    secondary structureR   R)  (	   R”  Râ   R‡  Rƒ  t   PrintSecStructureR,  RJ  R{   R.  (   R^   R%   R.   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRo  ÿ	  s     +c            sb  t  ˆ j ƒ  ƒ ‰ ˆ s d  St ƒ  j t j d ˆ j ƒ  ƒ } | d  k	 rg t | d ƒ rg | j ƒ  d  St ˆ d ƒ r^t ˆ j	 d ƒ r^ˆ j	 j
 ƒ  ‰ t j ˆ d t j j d t ƒ} t j ƒ  } t j ƒ  ‰ x' ˆ j ƒ  D] \ } } ˆ j | ƒ qÝ Wt j ƒ  ‰  | j ˆ ƒ | j ˆ  ƒ ‡  ‡ f d †  } ˆ j j | ƒ ˆ j d ƒ | j | ƒ t j ƒ  } | j | ƒ | j d	 t j j ƒ } | j d
 t j j ƒ }	 | j t j j ƒ }
 ‡ ‡ f d †  } ‡ ‡ ‡ f d †  } ‡ ‡ f d †  } |	 j j | ƒ | j j | ƒ |
 j j | ƒ | j d ˆ j ƒ  ƒ | j ƒ  | j  d ˆ j ƒ  ƒ n  d  S(   Ns   2D Ligand pictures of R  Rƒ  t   GetMonomerSVGsRú  Rû  c   	         s;  x4ˆ j  ƒ  D]&\ } } |  | k r t j t | ƒ ƒ j ƒ  } t j | ƒ } d } t | j ƒ  j	 ƒ  ƒ | j ƒ  j
 ƒ  } d | | k rµ t j | t | | ƒ t j j ƒ } n% t j t d | ƒ d t j j ƒ } | j d ƒ t j ƒ  } | j | ƒ | j | ƒ | j ƒ  ˆ  j t j j | ƒ ƒ q q Wd  S(   Ni,  i    (   t   itemsR   t   QStringRÁ   t   toUtf8R   R   Rù  t   defaultSizet   widtht   heightR    t   QImageR   t   Format_ARGB32R    R"   t   beginR#   R   t	   setPixmapR   t	   fromImage(	   t   keyint   keyR0   t   svgBAt   renderert   maxWidtht   ratiot   imageR2   (   RG   t   svg_list(    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   drawSVG
  s    ((%
i    s	   Centre ons
   Large viewc            sÙ  ˆ  j  ƒ  j ƒ  } xÀˆ j ƒ  D]²\ } } | | k r t j t | ƒ ƒ j ƒ  } t j | ƒ } d } d } t	 | j
 ƒ  j ƒ  ƒ | j
 ƒ  j ƒ  } | | | k rt | | ƒ | k rã t j t | | ƒ | t j j ƒ }	 q0t j | t | | ƒ t j j ƒ }	 n% t j t | | ƒ | t j j ƒ }	 |	 j d ƒ t j ƒ  }
 |
 j |	 ƒ | j |
 ƒ |
 j ƒ  t j ƒ  } | j t j j |	 ƒ ƒ t j ƒ  } t j ƒ  } | j | ƒ | j | ƒ | j ƒ  q q Wd  S(   Ni   i¼  i    (   t   currentItemR.   RM  R   RN  RÁ   RO  R   R   Rù  RP  RQ  RR  R   R    RS  RT  R    R"   RU  R#   R   R•  RV  R   RW  R&  R'  R(  R*  RŒ  (   t   truthRX  RY  R0   RZ  R[  R\  t	   maxHeightR]  R^  R2   t   bigLabelt	   bigWidgett	   bigLayout(   t
   listWidgetR_  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   enlarge5
  s2    (((%
c            s[  ˆ j  ƒ  j ƒ  } xBˆ j ƒ  D]4\ } ‰ | | k r t j t ˆ ƒ ƒ j ƒ  } t j | ƒ ‰ t	 ˆ j
 ƒ  j ƒ  ƒ ˆ j
 ƒ  j ƒ  ‰ t j ƒ  } t j ƒ  ‰ t j ƒ  ‰  ˆ j t ˆ j
 ƒ  j ƒ  ƒ ƒ ˆ  j t ˆ j
 ƒ  j ƒ  ƒ ƒ t j d ƒ } t j d ƒ } | j | ƒ | j ˆ ƒ | j | ƒ | j ˆ  ƒ ‡  ‡ f d †  } ‡ ‡ f d †  } ˆ j j | ƒ ˆ  j j | ƒ t j ƒ  ‰ t j ƒ  }	 t j ˆ ƒ }
 |
 j ƒ  } | j t j j ƒ | j t j j ƒ | j t  ƒ ‡  ‡ ‡ ‡ ‡ f d †  } ˆ j | t j! d ƒ | ƒ |	 j" | ƒ |	 j |
 ƒ ˆ j# |	 ƒ ˆ j$ ƒ  Pq q Wd  S(   Ns   Width: s   Height: c            sA   y3 t  t |  ƒ ƒ } ˆ  j t t  | ˆ ƒ ƒ ƒ Wn n Xd  S(   N(   R   RÁ   R+  (   R.   t   w(   t   heightWidgetR]  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   widthEditedd
  s
    !c            sA   y3 t  t |  ƒ ƒ } ˆ j t t  | ˆ  ƒ ƒ ƒ Wn n Xd  S(   N(   R   RÁ   R+  (   R.   t   h(   R]  t   widthWidget(    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   heightEditedj
  s
    !c            s  yí t  t ˆ j ƒ  ƒ ƒ } t  t ˆ  j ƒ  ƒ ƒ } t |  ƒ j d ƒ r} t t |  ƒ d ƒ } | j t ˆ ƒ ƒ | j ƒ  ne t j | | t j j	 ƒ } | j
 d ƒ t j ƒ  } | j | ƒ ˆ j | ƒ | j ƒ  | j |  ƒ ˆ j ƒ  Wn& t j j d  d d t j j ƒ n Xd  S(   Ns   .svgs   w+i    s   Failed to write image filesB   Failed to write image file. Possibly problem with width or height?(   R   RÁ   R.   R®   R-  t   writeR2  R    RS  RT  R    R"   RU  R#   R   R;  R¡  t   criticalR=   R.  (   R‡  Ri  Rl  t   fR^  R2   (   Rj  R[  t
   saveDialogR0   Rm  (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   saveSVGFiley
  s"    
s   fileSelected(const QString&)(%   Ra  R.   RM  R   RN  RÁ   RO  R   R   Rù  RP  RQ  RR  R    R”  R)  R+  R•  R*  t
   textEditedRí   R&  R'  R–  Rê  Rë  Rì  t   QFileDialogt   AnyFilet   setAcceptModet
   AcceptSavet   setConfirmOverwriteR   Rî   Rœ  R(  RŒ  (   Rb  RX  RY  RZ  t
   lineLayoutt
   widthLabelt   heightLabelRk  Rn  t
   saveLayoutt   fileDialogMaint
   fileDialogRs  (   Rg  R^   R_  (   Rj  R]  R[  Rr  R0   Rm  sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   saveSVGR
  sF    (
c            s=   ˆ  j  ƒ  j ƒ  } t ƒ  j i ˆ j d 6t | ƒ d 6ƒ d  S(   Nt   centre_MolDatat   centre_selection(   Ra  R.   R�  t   setViewParamsRY   RÁ   (   Rb  RX  (   Rg  R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  “
  s    (!   R”  Râ   R�  R  R@  R  R=   RÅ   R  Rƒ  RL  R   R’  R  R   R    R'  t   QListWidgetRM  t   addItemR•  R*  t   currentTextChangedRí   t   setCurrentRowR(  R,  R-  R  t   SaveR1  Rþ   Rý   (   R^   t   dwR¢  R4  RY  R0   R`  t   dbbt   centreButtont   enlargeButtont
   saveButtonRh  R€  Rƒ  (    (   RG   Rg  R^   R_  R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRq  
  sF     "
!!A
c         C   sy   t  |  j ƒ  ƒ } | s d  S| j d d | j j ƒ  } t d ƒ j | |  j ƒ  |  j d ƒ ƒ } | j d d ƒ d  S(   Ni   s   
R'  s    chargesR   R)  (	   R”  Râ   R‡  Rƒ  t   PrintChargesR,  RJ  R{   R.  (   R^   R%   R.   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRr   
  s     +c         C   s”   t  |  j ƒ  ƒ } | s d  S|  j t j |  j ƒ  d ƒ } | s| d d  l } | j |  | j ƒ } | j |  j ƒ  d ƒ n  | j	 ƒ  | j
 ƒ  d  S(   Nt   ModelSecStrEditoriÿÿÿÿ(   R”  Râ   R  R    R&  Rû   R�  RY   Rý   Ró   Rô   (   R^   R%   R  Rû   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRs  ©
  s     

c         C   s    |  j  t j |  j ƒ  d ƒ } | s’ t j |  d |  j d ƒ d |  j d ƒ d g ƒ} | j |  j ƒ  d ƒ |  j | t j d ƒ |  j	 ƒ n  | j
 ƒ  d  S(   NRt  R³  s   Open DSSP filet   filterss   DSSP secondary structure files	    (*.dssp)R-  (   R  R–  t   MGOpenFileDialogRâ   R{   Rý   Rí   R   Rî   t   handleLoadDSSPRó   (   R^   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRt  ·
  s    4"c         C   sL   t  |  j ƒ  ƒ } | s d  S| j d | | g ƒ d d  l } | j ƒ  d  S(   NRó  iÿÿÿÿ(   R”  Râ   t   setDSSPFileR  R  (   R^   R‡  R%   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR’  Ã
  s     c         C   s‰   d d  l  } |  j | j t |  j ƒ  ƒ d ƒ } | s{ d d  l  } | j |  t |  j ƒ  ƒ ƒ } | j |  j ƒ  d ƒ n  | j ƒ  d  S(   Niÿÿÿÿt   editRestype(   Rû   R  t   editCIFFilesGuiRÁ   Râ   Rý   Ró   (   R^   Rû   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRu  Í
  s    %c         C   s‰   d d  l  } |  j | j t |  j ƒ  ƒ d ƒ } | s{ d d  l  } | j |  t |  j ƒ  ƒ ƒ } | j |  j ƒ  d ƒ n  | j ƒ  d  S(   NiÿÿÿÿR”  (   Rû   R  t   editRestypesGuiRÁ   Râ   Rý   Ró   (   R^   Rû   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRv  Ù
  s    %c         C   s‰   d d  l  } |  j | j t |  j ƒ  ƒ d ƒ } | s{ d d  l  } | j |  t |  j ƒ  ƒ ƒ } | j |  j ƒ  d ƒ n  | j ƒ  d  S(   NiÿÿÿÿRw  (   Rû   R  t   editBondsGuiRÁ   Râ   Rý   Ró   (   R^   Rû   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRw  å
  s    %c         C   s‰   d d  l  } |  j | j t |  j ƒ  ƒ d ƒ } | s{ d d  l  } | j |  t |  j ƒ  ƒ ƒ } | j |  j ƒ  d ƒ n  | j ƒ  d  S(   NiÿÿÿÿRx  (   Rû   R  t   editLinksGuiRÁ   Râ   Rý   Ró   (   R^   Rû   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRx  ñ
  s    %c         C   s   t  |  j ƒ  ƒ } | s d  S|  j t j |  j ƒ  d ƒ } | sò | j j ƒ  sƒ t j j |  |  j	 d ƒ | j
 |  j	 d ƒ ƒ d  Sd d  l } | j |  | j ƒ } | j |  j ƒ  d ƒ |  j | t j d ƒ t j |  j t j d ƒ ƒ ƒ n  | j ƒ  d  S(   NR¹  s   Symmetry mates for s1   There is no crystal symmetry defined in this fileiÿÿÿÿt   nofModelsChanged(   R”  Râ   R  R    R&  t   model_symmetryt   nofCrystalSymopsR¡  R¢  R{   R  Rû   t   SymmetryMatesGuiRY   Rý   Rí   R   Rî   Rw   Rx   R  R  (   R^   R%   R  Rû   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRg  ý
  s     7
c         C   s   |  j  t j d ƒ ƒ d  S(   Nt   symmetryMatesChanged(   R  R   Rî   (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleSymmetryMatesChanged  s    c         C   s\   | d k rB xI t  d d ƒ D] } t ƒ  j | j ƒ j ƒ  q Wn |  j t j d ƒ ƒ d  S(   Nt   genericRZ   RJ  t   savedNamedSelection(   Rx  R  t
   getDataObjRY   t   handleSavedSelectionR  R   Rî   (   R^   Rå   R"  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¢    s     N(5   Ri  Rj  R=   R]   R¬  Rz  RY  R�  Rh  Ra  R;  R:  R;  R‹  RŽ  Rl  R_  R¸  RÀ  R·  Re  RÎ  Rm  Rd  Rá  Rƒ  Rf  Ri  Rï  Rj  R  R  R!  R  R(  R0  R/  R4  RG  Rn  Ro  Rq  Rr  Rs  Rt  R’  Ru  Rv  Rw  Rx  Rg  Rž  R¢  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR1  ~  sd   			é						)						3	
					$				Q)											˜					
						t   GMolDispc           B   sÅ   e  Z d d  d „ Z d d d „ Z d „  Z d „  Z d „  Z d d „ Z d  d	 „ Z	 d
 „  Z
 d „  Z d „  Z d  d „ Z d „  Z d „  Z d „  Z d d „ Z d d „ Z d „  Z d „  Z RS(   R   c      	   C   sH   t  j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d |  _ d  S(   NRX   RY   RZ   Rø   s   Tools for model display objects   Model display object(   RI   R]   Rm  Rn  R{   Rª  (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   "  s    "R­  c         C   s,  t  d |  j ƒ  ƒ } | s g  S| d k r› t d d d d d | j d | j ƒ t d d d d d | j d | j ƒ t d d	 d d d | j d | j ƒ g S| d
 k rd|  j	 d ƒ g } | j
 t j ƒ | j
 d d g ƒ d d d d | d d d d g d g } | j
 d d g ƒ d d d d d d g j | j j ƒ rM| j d ƒ n  | j
 d  d! g ƒ | S| d k r±|  j | d" d# ƒ} | j
 d |  j	 d$ ƒ d% d& g d' g ƒ | S| d	 k rÃg  } | j
 t j j t j j j d( ƒ d)  ƒ d* g } xJ t j j t j j j d( ƒ d) D]% } | j d+ ƒ r| j | ƒ qqWt | ƒ d) k re| j | ƒ n  xJ t j j t j j j d( ƒ d) D]% } | j d+ ƒ s‰| j | ƒ q‰q‰W| j d, ƒ | S| d k r÷t  d |  j ƒ  ƒ } |  j | d" d- ƒS| d. k r| rn t j j |  d | d/ | ƒSd  S(0   NRY   R­  Rà   R_   R®  R°  R¯  Rš   R   R3   s   Atom labelsR»   t   labels_detailsR  RÊ  RË  RÌ  t   Symmetryt   apply_symmetryt   draw_centralt   apply_biomoleculet   custom_drawing_styleRÒ   t   savelistRU   RO   RV   RP   RÍ   R–   t   list_colour_dataRÎ  R¬  RG   t   colour_s   Stick colourt   colour_stick_atomt   colour_stick_colourRf  t   FATWORMi   s   Worm scaled byt   VARIABLEWORMt   inter_dispobj_bondRÞ   t   contextR%   (   Rá   Râ   Ru   R%  t   get_selection_iconRÓ  t   get_colour_iconRñ  t   get_style_iconR{   RÃ   t   MolLabelt   LABEL_SELECTION_ALIASR§   R�   R›   R¾   RÝ   t   modelRø   t   style_commandsR¯   t
   startswithRs   RÌ   R[   R\   Rz  (   R^   RY   RÙ  R%   t   labelsRÇ   t	   scaleMenut   s(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  *  sR    $$('' (*	**c   
         sä  d d  l  } t d |  j ƒ  ƒ ‰ ˆ  d k r[ t d |  j d ƒ d |  j d |  j d ƒ ƒ Sˆ  d	 d
 !d k r‡ |  j ˆ  d d d ˆ ƒSˆ  d	 d !d k r³ |  j ˆ  d d d ˆ ƒSˆ  d	 d !d k r%‡  ‡ f d †  } t j	 j
 ˆ  ƒ } t d d d d d | d t j | d t j |  j ˆ  ƒ ƒ Sˆ  d k r_t d |  j d ƒ d |  j d |  j d ƒ ƒ Sˆ  d k r±‡ f d †  } t d |  j d ƒ d t j |  j d ƒ d d d | ƒ St j j j ˆ  ƒ rd  } d } t d  ƒ j ƒ  d! } | ryˆ  t j j k ryt j j ˆ  } | j d" ƒ r,| d#  } n | j d$ ƒ rH| d#  } n  t j j t j j t j d% ƒ d& d' d( ƒ } n  t j j j
 ˆ  ƒ } ‡  ‡ f d) †  } t d t j j | d d* d t j |  j ˆ  ƒ d d d | d+ | d, | d |  j d- ƒ t j j | ƒ Sˆ  d. k r8t d |  j d/ ƒ d |  j  d0 d ƒ Sˆ  d1 k rit d |  j d2 ƒ d |  j! d0 d ƒ Sˆ  d3 k rÄ‡ f d4 †  }	 t d |  j d5 ƒ d |  j d6 ƒ d t j |  j  d7 ƒ d0 |	 ƒ St" j# j$ |  d ˆ  d ˆ ƒSd  S(8   NiÿÿÿÿRY   RÊ  R.   s	   Centre onRg   R”   s   Centre on this display objecti    i   R¬  RG   R%   i   RÞ   i   t   label_c              s   t  ˆ j j ˆ  k ƒ S(   N(   R   RG   t   label_select(    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   q  s    Rc   t
   atom_labelRe   i   Rf   R¤  s	   Details..s(   Set information to appear in atom labelsR±  c              s   t  ˆ  d ƒ S(   NR±  (   Rœ   (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ƒ  s    s   Join display objectsRC   R   R5   R6   s   .svgiüÿÿÿs   .pngR7   R8   R9   R   c              s   t  t ˆ d ƒ ˆ  k ƒ S(   NR   (   R   Rœ   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ˜  s    t
   style_modeR¡   R3   s(   Set the display object drawing style to RÒ   s   List selected atomsR’   Rª  s   Save selected atomsR«  c              s   ˆ  j  j ƒ  d  S(   N(   R�   t   colour_data_listable(    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR‘   °  s    s   List colour datas*   List the data currently shown by colouringRš   (%   R�   Rá   Râ   Ru   R{   Rƒ  R±   R„   R¶  R·  R¯   t   LABEL_SELECTION_MENURw   Rx   t   handleAtomLabelst   atomLabelsGuiR~  R¸  Rø   R¹  R§   R=   R;   R<   t   style_commands_iconsR®   R@   RA   RC   R«   RD   t
   style_menuR(  t   saveListDataR[   R\   R�  (
   R^   RY   R  R�   Ra   Rƒ   R3   R¡   RF   R‘   (    (   RY   R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ]  sŠ    		1		c      
   C   sô   t  d |  j ƒ  ƒ } | \ } } | j ƒ  d d  l } | j | d ƒ d k rX d } n d } t ƒ  j | j j ƒ } xw | D]o } x\ | d D]P }	 | j	 |	 ƒ }
 |  j
 |
 t j d ƒ t j |  j | | d d	 |	 ƒ ƒ qŽ W| j ƒ  q} Wd  S(
   NRY   iÿÿÿÿt   Delei    t   _REMOt   _USERi   s   triggered()s   ::(   Rá   Râ   RÏ  t   stringRÓ   t	   MODELINFOt   getColourSchemeNamesRW   R  t	   addActionRí   R   Rî   Rw   Rx   t   handle_colour_schemet   addSeparator(   R^   R  R%   t   sub_menuR_   RÌ  t   prefixt   colour_schemesRc   R¤   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¥   ¼  s    
	?c         C   s)   t  d |  j ƒ  ƒ } | j d | ƒ d  S(   NRY   R›   (   Rá   Râ   R¨   (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÐ  Ò  s    i    c         C   sž   t  d |  j ƒ  ƒ } | r; | j j d d ƒ t j ƒ  n_ t |  d d  ƒ s� t j	 d | j
 ƒ  ƒ |  _ |  j |  j t j d ƒ |  j ƒ n  |  j j ƒ  d  S(   NRY   R“   R6  t   stickColourGuit   selected_colourt   ColourSelected(   Rá   Râ   R�   R¨   R  R  Rœ   R=   R–  t   mgColourBrowsert
   get_colourRÕ  Rí   R   Rî   t   set_stick_colourRó   (   R^   t   as_atomR%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR“   Ú  s    %c         C   s?   | r; t  d |  j ƒ  ƒ } | j j d | ƒ t j ƒ  n  d  S(   NRY   R“   (   Rá   Râ   R�   R¨   R  R  (   R^   Rš   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÚ  ç  s    c         C   sš   t  d |  j ƒ  ƒ } | s d  S| d k rc |  j t j d ƒ } | sJ d  S| j d | j ƒ  ƒ n | j d | ƒ t j d | d |  ƒ |  j	 d ƒ d  S(   NRY   RC   R±  RÁ  R%   R  R   (
   Rá   Râ   R  R    R  R~  R  R  R  R  (   R^   RY   R%   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR~  ñ  s      c         C   s  t  |  d ƒ sè t d |  j ƒ  ƒ } d d  l } t j |  ƒ |  _ |  j j |  j d ƒ | j j	 ƒ t
 j ƒ  } | j |  j d | j j ƒ  ƒ} | j |  j ƒ  d ƒ | j | ƒ |  j j | ƒ |  j | t j d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  d  S(   Nt
   atomLabelsRY   iÿÿÿÿs   Atom labels forRY  t   atom_labelsRú   (   RÅ   Rá   Râ   t   mgPreferencesR@  RÜ  Rþ   R{   RW   RY   R    t   QGridLayoutt   moldispAtomLabelStyleGuiRG   RY  Rý   R*  R(  Rí   R   Rî   t   handleAtomLabelsGuiRó   Rô   (   R^   R%   RÞ  R4  R¢  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÅ  ÿ  s    #!"c         C   s   d  S(   N(    (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   initAtomLabels  s    c         C   s›   t  d |  j ƒ  ƒ } t j j | ƒ rG | j j d | ƒ t j ƒ  n  t	 |  d d ƒ r— |  j
 j t j |  j ƒ  d ƒ } | r— | j d | ƒ q— n  d  S(   NRY   R¿  RÜ  R   RÝ  (   Rá   Râ   R¶  R·  R§   RG   t	   setparamsR  R  Rœ   RÜ  R  R    RZ  RP  (   R^   RY   R%   R¢  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÄ    s    " c         C   sÖ   t  d |  j ƒ  ƒ } t |  d d ƒ r‡ |  j j t j |  j ƒ  d ƒ } | r‡ | j ƒ  } | j j	 | ƒ t
 j d | d |  ƒ q‡ n  xH t j D]= } |  j t j | ƒ } | r‘ | j | j j | k ƒ q‘ q‘ Wd  S(   NRY   RÜ  R   RÝ  R%   R  (   Rá   Râ   Rœ   RÜ  R  R    RZ  R[  RG   Rã  R  R  R¶  R·  R  R%  R¿  (   R^   R%   R¢  R  RY   t   action(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRá  %  s    " c         C   s  d d  l  } t d |  j ƒ  ƒ } t | d ƒ rð| j rðt | j d ƒ rðd d  l } | j d ƒ } | j | j	 | j j
 j | j j ƒ  ƒ ƒ ƒ } | d | d | d f | d | d	 | d
 f } } | d | d d | d | d d | d | d d f } | j j
 j d d ƒ }	 | d | d d | d | d d | d | d d f } d d d g }
 d d d g } x|	 D]} | | j | ƒ } | j ƒ  | d k  rÊ| j ƒ  | d <n  | j ƒ  | d k  ró| j ƒ  | d <n  | j ƒ  | d k  r| j ƒ  | d <n  | j ƒ  |
 d k rE| j ƒ  |
 d <n  | j ƒ  |
 d k rn| j ƒ  |
 d <n  | j ƒ  |
 d k rˆ| j ƒ  |
 d <qˆqˆW| d |
 d d | d |
 d d | d |
 d d f } t ƒ  j d | ƒ n( t ƒ  j d | j j
 d | j j ƒ  ƒ d  S(   NiÿÿÿÿRY   t   doBiomoleculeRƒ  i   i    i   i   i   i   g       @g    ÐcÁg    ÐcAt   positionR¬  (   R�  Rá   Râ   RÅ   Rå  RW   R�  t   doubleat   frompointert   realtype_to_doubleRƒ  R·  Rß   Rä  t   GetBiomoleculeAsMatricesRŸ  R~  R  R€  R�  Rƒ  (   R^   R¤  R%   R�  t   tmpt   rtdet   minet   maxet   midet   matricest
   total_maxet
   total_mineR©  t   midet(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  6  s:    *07??      ?c         C   sp   t  |  d ƒ r_ t d |  j ƒ  ƒ } |  j j t j |  j ƒ  d ƒ } | j | j j	 ƒ  ƒ n  t
 j |  ƒ d  S(   NRÜ  RY   RÝ  (   RÅ   Rá   Râ   RÜ  R  R    RZ  RP  RG   RY  RI   R_  (   R^   R%   R¢  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR_  S  s
    "t   atomsc            s,  t  d |  j ƒ  ƒ ‰  ˆ  s d  S| d k r(ˆ  j j ˆ  j ƒ } | d d k r(| d } d  d  ‡  f d † } d g } t j |  d | d t j	 j
 | d ƒ ƒ} | j d	 t j	 j
 | d ƒ ƒ |  j | t j d
 ƒ t j | | ƒ ƒ |  j | t j d
 ƒ | j ƒ | j t ƒ | j ƒ  q(n  d  S(   NRY   Rô  i    i   c            s[   | j  d ƒ rG ˆ  j j ˆ  j d d ƒ} | d } t j | | ƒ n t j |  | ƒ d  S(   Nt   cifRõ  R‰  i   (   R®   RW   t   list_data_fileRY   t   shutilt   copy2(   t   dlfnamet   fnamet   rv2t   dlfname2(   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handlerh  s
    
s,   Model coordinate files (*.pdb *.mmcif *.cif)R�  t   defaultFileNames   Save R;  (   Rá   Râ   RW   Rö  RY   R=   R–  RŠ  R@   RA   R…  Rþ   Rí   R   Rî   Rw   t   partialWithSignalR2  t   setModalR   Ró   (   R^   R_   R²  Rù  Rý  R�  t   fd(    (   R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÈ  `  s     
	+!(c         C   sS  t  d |  j ƒ  ƒ } | s d  S| d k rC | j j | j ƒ } n | d k ra | j j ƒ  } n  | d r t j | d ƒ nÐ t	 d ƒ } | sª t j |  j
 d ƒ ƒ n¥ | d k rÌ | j | d ƒ } nj | d k r6| j | d d | d	 ƒ} |  j | t j d
 ƒ |  j ƒ |  j | t j d ƒ |  j ƒ n  | rO| j d d ƒ n  d  S(   NRY   Rô  Rš   i    i   R'  s   ERROR opeing viewerR³  i   t   wordClickedt   wordDoubleClickedR   R)  (   Rá   Râ   RW   Rö  RY   R�   R«  t   MGGUIt   WarningMessageR,  R{   R-  RJ  Rí   R   Rî   R/  R0  R.  (   R^   R_   R%   R²  R1  R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR(  y  s(     
" c         C   s>   t  ƒ  j d |  j ƒ  ƒ } | r: | j d | d d ƒ n  d  S(   Nt   DispObjRR  R_   R5  (   R  R¡  Râ   R4  (   R^   t   wordRW   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR/  •  s     c         C   s>   t  ƒ  j d |  j ƒ  ƒ } | r: | j d | d d ƒ n  d  S(   NR  RR  R_   R3  (   R  R¡  Râ   R4  (   R^   R  RW   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR0  œ  s     N(   Ri  Rj  R=   R]   Rz  R�  R¥   RÐ  R“   RÚ  R~  RÅ  Râ  RÄ  Rá  Rƒ  R_  RÈ  R(  R/  R0  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR£    s$   3	_		
							t	   GContactsc           B   sG   e  Z d d  d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z RS(	   R   c      	   C   sH   t  j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d |  _ d  S(   NRX   RY   RZ   RU  s!   Tools for Contacts display object(   RI   R]   Rm  Rn  R{   Rª  (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   ¦  s    "R­  c         C   s£  t  d |  j ƒ  ƒ } | d k râ t d d d d d t j t | j j ƒ d | j j d |  j d	 ƒ ƒ t d d
 d d d t j t | j	 j ƒ d | j	 j d |  j d ƒ ƒ t d d d d d | j
 d | j d |  j d ƒ ƒ g S| d k rd d d d d d d g S| d k r2|  j | d d d d ƒ} | S| d
 k rm|  j | d d d d ƒ} | j d d ƒ | S| d k rƒd d g St j j |  d | d | ƒSd  S(    NRY   R­  RS  R_   R®  R¯  R°  R”   s   Select first set of atomsRT  s   Select second set of atomsRš   s   Set colour of contactsR3   R  RË  RÌ  R©  t	   list_datat   export_vectorsR¬  RG   t   sel1_RÆ   i   t   sel2_i    t   sel2_same_asRÏ  R©   R%   (   Rá   Râ   Ru   R  Rx   RH   RW  R°  R{   RP  R´  RÙ  RÌ   t   insertR[   R\   Rz  (   R^   RY   R%   RÇ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  ­  s"    EE7
c      	   C   sb  t  d |  j ƒ  ƒ } | d d !d k rW |  j | d | d d !d | ƒ} | rW | Sn  | d d !d	 k r’ |  j | d d	 d | ƒ} | r’ | Sn  | d
 k rÌ t d |  j d ƒ d |  j d ƒ d |  j ƒ S| d k rt d |  j d ƒ d |  j d ƒ d |  j ƒ S| d k rFt d |  j d ƒ d |  j d ƒ d |  j d d ƒ St	 j
 j |  d | d | ƒS(   NRY   i    i   t   selRG   i   R%   i   R¬  R©  R.   s   Drawing styleR”   s&   Set contact line width and text labelsRg   R	  s   List contactss   List or write Contacts to fileR
  s   Export vectorss   Write contacts to vector fileR’   i   (   Rá   Râ   R„   R±   Ru   R{   t   displayStyleGuiR(  t   exportVectorGuiR[   R\   R�  (   R^   RY   R%   R²  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  Ë  s.    "  

	c         C   sí   t  d |  j ƒ  ƒ } t |  d ƒ sÃ d d  l } t j |  ƒ } t j ƒ  } | j d d d d ƒ } | j | d | d t	 ƒ|  _
 | j |  j
 ƒ | j | ƒ |  j |  j
 t j d	 ƒ |  j ƒ n  |  j
 j ƒ  j ƒ  |  j
 j ƒ  j ƒ  d  S(
   NRY   t   styleGuiiÿÿÿÿt   customi   t	   auto_savet   pmt   doHbondst   changed(   Rá   Râ   RÅ   RÞ  R@  R    R'  t   getDrawingStylePMt   hbondStyleGuiR   R  R*  R(  Rí   R   Rî   t   handleStyleGuiR2  Ró   Rô   (   R^   R%   RÞ  R   R4  R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  ï  s    %c         C   sI   t  d |  j ƒ  ƒ } | j ƒ  j |  j j ƒ  ƒ | j ƒ  t j ƒ  d  S(   NRY   (	   Rá   Râ   R  Rã  R  R[  R  R  R  (   R^   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR    s    
c         C   sZ   t  |  d ƒ r |  j j ƒ  n7 t |  d ƒ |  _ |  j |  j t j d ƒ |  j j ƒ d  S(   Nt	   exportGuiRU  R;  (   RÅ   R  Ró   Rí   R   Rî   t   saveFile(   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR    s    N(	   Ri  Rj  R=   R]   Rz  R�  R  R  R  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  £  s   	$		t   GHBondsc           B   sG   e  Z d d  d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z RS(	   R   c      	   C   sH   t  j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d |  _ d  S(   NRX   RY   RZ   RO  s   Tools for HBonds display object(   RI   R]   Rm  Rn  R{   Rª  (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]     s    "R­  c         C   s¦  t  d |  j ƒ  ƒ } | d k râ t d d d d d t j t | j j ƒ d | j j d |  j d	 ƒ ƒ t d d
 d d d t j t | j	 j ƒ d | j	 j d |  j d ƒ ƒ t d d d d d | j
 d | j d |  j d ƒ ƒ g S| d k r
d d d d d d d d g S| d k r5|  j | d d d d ƒ} | S| d
 k rp|  j | d d d d ƒ} | j d d ƒ | S| d k r†d d g St j j |  d | d  | ƒSd  S(!   NRY   R­  RS  R_   R®  R¯  R°  R”   s   Select first set of atomsRT  s   Select second set of atomsRš   s   Set colour of HBondsR3   R  RË  RÌ  R©  R	  R
  RÎ  R¬  RG   R  RÆ   i   R  i    R  RÏ  R©   R%   (   Rá   Râ   Ru   R  Rx   RH   RW  R°  R{   RP  R´  RÙ  RÌ   R  R[   R\   Rz  (   R^   RY   R%   RÇ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  "  s"    EE7
c      	   C   s(  t  d |  j ƒ  ƒ } | d d !d k rW |  j | d | d d !d | ƒ} | rW | Sn  | d d !d	 k r’ |  j | d d	 d | ƒ} | r’ | Sn  | d
 k rÌ t d |  j d ƒ d |  j d ƒ d |  j ƒ S| d k rt d |  j d ƒ d |  j d ƒ d |  j d d ƒ St j	 j
 |  d | d | ƒS(   NRY   i    i   R  RG   i   R%   i   R¬  R©  R.   s   Drawing styleR”   s$   Set HBond line width and text labelsRg   R
  s   Export vectorss   Write HBonds to vector fileR’   i   (   Rá   Râ   R„   R±   Ru   R{   R  R  R[   R\   R�  (   R^   RY   R%   R²  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  @  s&    "  
	c         C   sí   t  d |  j ƒ  ƒ } t |  d ƒ sÃ d d  l } t j |  ƒ } t j ƒ  } | j d d d d ƒ } | j | d | d t	 ƒ|  _
 | j |  j
 ƒ | j | ƒ |  j |  j
 t j d	 ƒ |  j ƒ n  |  j
 j ƒ  j ƒ  |  j
 j ƒ  j ƒ  d  S(
   NRY   R  iÿÿÿÿR  i   R  R  t
   doContactsR  (   Rá   Râ   RÅ   RÞ  R@  R    R'  R  R  R   R  R*  R(  Rí   R   Rî   R  R2  Ró   Rô   (   R^   R%   RÞ  R   R4  R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  _  s    %c         C   sI   t  d |  j ƒ  ƒ } | j ƒ  j |  j j ƒ  ƒ | j ƒ  t j ƒ  d  S(   NRY   (	   Rá   Râ   R  Rã  R  R[  R  R  R  (   R^   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  t  s    
c         C   sZ   t  |  d ƒ r |  j j ƒ  n7 t |  d ƒ |  _ |  j |  j t j d ƒ |  j j ƒ d  S(   NR  RO  R;  (   RÅ   R  Ró   Rí   R   Rî   R  (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  }  s    N(	   Ri  Rj  R=   R]   Rz  R�  R  R  R  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR    s   				t   GSurfaceDispobjc           B   sY   e  Z d  „  Z d „  Z d
 d d „ Z d d „ Z d „  Z d „  Z d „  Z	 d	 „  Z
 RS(   c         C   s�   t  j |  | ƒ t d |  j ƒ  ƒ } t | j j j ƒ  ƒ d k r™ | j j j ƒ  t	 ƒ  r™ t
 t	 ƒ  d ƒ r™ t
 t	 ƒ  j d ƒ r™ t	 ƒ  j j ƒ  q™ n  d  S(   NRY   i    R‚  t   updateGL(   RI   t   setTransparencyRá   Râ   Rs   R!  R"  t   GetSurfacePrimitivest   forceRegenerateSurfaceArraysR�  RÅ   R‚  R   (   R^   R¤  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR!  ‹  s    0c         C   s�   t  j |  | ƒ t d |  j ƒ  ƒ } t | j j j ƒ  ƒ d k r™ | j j j ƒ  t	 ƒ  r™ t
 t	 ƒ  d ƒ r™ t
 t	 ƒ  j d ƒ r™ t	 ƒ  j j ƒ  q™ n  d S(   s-   
    Send a colour command to the target
    RY   i    R‚  R   N(   RI   R¨   Rá   Râ   Rs   R!  R"  R"  R#  R�  RÅ   R‚  R   (   R^   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¨   •  s    0R   c      	   C   sH   t  j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d |  _ d  S(   NRX   RY   RZ   R[  s    Tools for surface display objectRZ  (   RI   R]   Rm  Rn  R{   Rª  (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   ¡  s    "R­  c         C   s  t  d |  j ƒ  ƒ } | d k r€ |  j d ƒ g } | j | j ƒ d d d d |  j d ƒ d	 d
 d g | d d d d d d g S| d k rSt d d d d d t j t | j	 j
 ƒ d | j	 j
 d |  j d ƒ ƒ t d d d d d t j t | j j
 ƒ d | j j
 d |  j d ƒ ƒ t d d d d d | j j
 d | j j d |  j d ƒ ƒ g S| d k rx|  j | d d ƒ} | S| d k r­|  j | d d  ƒ} | j d! d" ƒ | S| d k rï|  j | d d# ƒ} | j d! d$ ƒ | j d% ƒ | St j j |  d | d& | ƒSd  S('   NRY   R3   s   Surface typeR  RÊ  RË  RÌ  s   Surface stylet   surface_style_solidt   surface_style_dotst   surface_style_meshs   apply_symmetry,R¨  R©  R	  RÎ  R¬  R­  RS  R_   R®  R¯  R°  R”   s%   Select atoms to be covered by surfaceRT  s   Select set of context atomsRš   s   Set colour of surfaceRG   R  R  i    R  R¬  t   colour_electrostaticRf  R%   (   Rá   Râ   R{   RÃ   t   surface_type_aliasRu   R  Rx   RH   RW  R°  RP  R�   R¯  RÌ   R  RÝ   R¾   R[   R\   Rz  (   R^   RY   R%   t   surface_typeRÇ   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  §  s,    =EE=c            sß  t  d |  j ƒ  ƒ ‰ ˆ  d k r@ t d |  j d ƒ d |  j ƒ Sˆ  d t d ƒ !d k r“ ‡ f d †  } t d d	 d t j ˆ j ƒ d
 d d | ƒ Sˆ  d t d ƒ !d k ræ ‡ f d †  } t d d d t j ˆ j	 ƒ d
 d d | ƒ Sˆ  d d !d k r(|  j
 ˆ  d ˆ  d d !d ˆ ƒ} | r(| Sn  ˆ  d d !d k r�‡  ‡ f d †  } ˆ  d } t d | d t j |  j ˆ  d ƒ d d d
 d d | ƒ Sˆ  d t d ƒ !d k r)‡  ‡ f d †  } ˆ  t d ƒ d } ˆ j j ˆ  ƒ } t d ˆ j | d t j |  j ˆ  t d ƒ d ƒ d d d
 d d | ƒ Sˆ  d k r`t d |  j d ƒ d t j |  j d ƒ ƒ Sˆ  d d !d  k r›|  j ˆ  d d  d ˆ ƒ} | rÃ| Sn( ˆ  d! k rÃt d |  j d" ƒ d# d ƒ St j j |  d ˆ  d ˆ ƒS($   NRY   RÊ  R.   s	   Centre onRg   i    R¦  c              s   t  ˆ  j t k ƒ S(   N(   R   t
   doSymmetryR   (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   Ù  s    s   Apply symmetryRe   i   Rf   R¨  c              s   t  ˆ  j t k ƒ S(   N(   R   Rå  R   (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   á  s    s   Show biomoleculei   R  RG   i   R%   i   RÚ  c              s   t  ˆ j ˆ  d k ƒ S(   Ni   (   R   RÚ  (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   î  s    i   Rc   R)  c              s!   t  ˆ j ˆ  t d ƒ d k ƒ S(   NR)  i   (   R   R)  Rs   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ù  s    R'  s   Electrostatic potentialt   electrostatici   R¬  R�   s   Add colour legendR’   (   Rá   Râ   Ru   R{   Rƒ  Rs   Rw   Rx   t   toggleSymmetryStatust   toggleBiomoleculeR„   t   setSurfaceStyleR(  R¯   t   surface_type_menut   setSurfaceTypeR¨   R±   R[   R\   R�  (   R^   RY   Ra   R²  R.   Rƒ   (    (   RY   R%   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  Ì  sd    
" 
# c         C   s?   t  d |  j ƒ  ƒ } | j d | ƒ t j d | d |  ƒ d  S(   NRY   RÚ  R%   R  (   Rá   Râ   t   set_surface_styleR  R  (   R^   R   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR.    s    c         C   s9   t  d |  j ƒ  ƒ } | j d | ƒ |  j d d ƒ d  S(   NRY   R)  R  i    (   Rá   Râ   t   set_surface_typeR  (   R^   R   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR0    s    c         C   sA   t  d |  j ƒ  ƒ } t ƒ  j d | j j d | j j ƒ  ƒ d  S(   NRY   Rƒ  R¬  (   Rá   Râ   R�  Rƒ  RW   Rƒ  RW  Rä  (   R^   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  %  s    N(   Ri  Rj  R!  R¨   R=   R]   Rz  R�  R.  R0  Rƒ  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  ‡  s   	
	%	J			t   GAnnotationc           B   s}   e  Z d d  d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z RS(   R   c      	   C   sT   d |  _  t j j |  | d | d | d d ƒd |  _ |  j j |  j d ƒ ƒ d  S(   Ni    RX   RY   RZ   R\  s#   Tools for annotation display object(   t   textCentreStateR[   R\   R]   Rª  Rm  Rn  R{   (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   /  s    	%	R­  c         C   s¸   t  d |  j ƒ  ƒ } | d k r‹ t d d d d d | j d |  j d |  j d	 ƒ ƒ t d d
 d d d | j d |  j d |  j d ƒ ƒ g S| d k r° d d d d d d d g Sg  Sd  S(   NRY   R­  R.   R_   t
   PUSHBUTTONR°  R³  R”   s%   Enter text and select font and colourRæ  s   Set position of annotationR3   R  RÊ  RË  RG  t   optionsRÎ  R¬  (   Rá   Râ   Ru   t   get_text_labelt   editTextR{   t   get_position_labelt   editPosition(   R^   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  7  s    37c      	   C   st   t  d |  j ƒ  ƒ } | s d  S| j d t | d ƒ d t | d ƒ d t | d ƒ ƒ |  j d ƒ t j ƒ  d  S(	   NRY   R   i    R  i   R	  i   Ræ  (   Rá   Râ   t   set_positionRù  R  R  R  (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   handleEditPositionE  s     :c      	   C   s¯   t  d |  j ƒ  ƒ } | j ƒ  } t |  d ƒ s| t j |  d | d d | d d | d ƒ|  _ |  j j |  j d	 ƒ ƒ n  |  j j	 ƒ  |  j
 |  j t j d
 ƒ |  j ƒ d  S(   NRY   R  R   i    R  i   R	  i   s   Pick point in 3D coordinatesR
  (   Rá   Râ   t   get_positionRÅ   R–  R  R  Rþ   R{   R  Rí   R   Rî   R<  (   R^   R%   t   pos(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR:  O  s    0c         C   s   | |  _  |  j ƒ  d  S(   N(   R4  t   handleEditText(   R^   t   state(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   setTextCentreStateZ  s    	c         C   s=  t  |  d ƒ st j ƒ  |  _ |  j j d ƒ |  j j |  j d ƒ |  j ƒ  ƒ t j |  j d ƒ ƒ } t	 d |  j ƒ  ƒ } | rÔ t  | d ƒ rÔ | j
 |  _ |  j r¾ | j t j j ƒ qÔ | j t j j ƒ n  t j ƒ  } | j | ƒ |  j j | ƒ |  j | t j d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  d  S(   Nt
   optiondGuit   annotationOptionss   Annotation options s   Centre text on coordinatesRY   t   centereds   stateChanged (int)(   RÅ   R    RZ  t
   optionsGuiRý   Rþ   R{   Râ   R  Rá   RD  R4  t   setCheckStateR   R’  t   Checkedt	   UncheckedR'  R*  R(  Rí   Rî   RA  Ró   Rô   (   R^   t   cbR%   R4  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR6  `  s"    #	"c         C   s>   t  d |  j ƒ  ƒ } | j ƒ  } t ƒ  j j | d d ƒd  S(   NRY   R{  i   (   Rá   Râ   R=  R�  R‚  Rƒ  (   R^   R%   R>  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  u  s    c      	      s:  t  d ˆ  j ƒ  ƒ } | d k rC t d d d t j | j d ƒ ƒ S| d k rn t d ˆ  j d ƒ d ˆ  j ƒ S| d k r™ t d ˆ  j d	 ƒ d ˆ  j ƒ S| d
 k rÎ t d ˆ  j d ƒ ˆ  j ƒ  d ˆ  j	 ƒ S| d k r‡  f d †  } t d ˆ  j d ƒ ˆ  j ƒ  d ˆ  j
 d d d | ƒ St j j ˆ  d | d | ƒS(   NRY   RÏ  R.   R…   Rg   R©   s   Colour browserRÊ  s	   Centre onR6  s   Options for RG  c              s   t  ˆ  j d k ƒ S(   Ni   (   R   R_  (    (   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   •  s    s   Move Re   i   Rf   R%   (   Rá   Râ   Ru   Rw   Rx   R¨   R{   R©   Rƒ  R6  Rk  R[   R\   R�  (   R^   RY   R  R%   Ra   (    (   R^   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  {  s.    


	c   
      C   sÙ  |  j  t j d ƒ } | r3 | j ƒ  | j ƒ  d  St d |  j ƒ  ƒ } t j |  ƒ } | j d ƒ | j t	 j
 j ƒ | j |  j d ƒ |  j ƒ  ƒ t j ƒ  } d d  l } | j |  ƒ } | j d ƒ | j d t ƒ  j d ƒ ƒ | j t	 j | j ƒ ƒ | j | ƒ t j ƒ  } | j ƒ  t j |  j d ƒ |  ƒ } | j | ƒ t j |  j d	 ƒ |  ƒ }	 | j |	 ƒ | j | ƒ | j | ƒ | j ƒ  |  j | t	 j d
 ƒ |  j ƒ |  j |	 t	 j d
 ƒ | j  ƒ d  S(   Nt   editTextGuiRY   s   Annotation text iÿÿÿÿR8  t
   definitiont
   annotationR�  R�  s
   released()(!   R  R    R&  Ró   Rô   Rá   Râ   Rý   R‘  R   R’  R“  Rþ   R{   R'  t   TextEditt   TextEditWidgett   setCurrentFontt   FONTMANAGERt   getFontR+  RN  R.   R*  R”  R�  Rž  Rœ  R(  Rí   Rî   R?  R2  (
   R^   R  R%   R   R4  RM  R¢  R£  Rú   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR8  ¢  s8    

 

c         C   s–   |  j  t j d ƒ } t d |  j ƒ  ƒ } | rT t |  j  t j d ƒ j ƒ  ƒ } n	 | j } | GH| j | ƒ |  j | _	 |  j
 d ƒ t j ƒ  d  S(   NR8  RY   R.   (   R  R    RZ  Rá   Râ   RÁ   R.   Re  R4  RD  R  R  R  (   R^   R¢  R%   R.   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR?  Ê  s     $	c   	      C   s®  |  j  t j d ƒ } | r3 | j ƒ  | j ƒ  d  St d |  j ƒ  ƒ } t j |  ƒ } | j |  j	 d ƒ ƒ | j
 d ƒ | j t j j ƒ | j |  j	 d ƒ |  j ƒ  ƒ t j ƒ  } t j d ƒ } | j
 d ƒ | j | ƒ t j ƒ  } | j ƒ  t j |  j	 d ƒ |  ƒ } | j | ƒ t j |  j	 d ƒ |  ƒ } | j | ƒ | j | ƒ | j | ƒ | j ƒ  |  j | t j d	 ƒ |  j ƒ |  j | t j d	 ƒ | j ƒ d  S(
   Nt   fontGuiRY   s   Font for annotations   Font R\  t   fontR�  R�  s
   released()(   R  R@  Ró   Rô   Rá   Râ   R    R&  Rþ   R{   Rý   R‘  R   R’  R“  R'  R–  t   MGFontSelectorR*  R”  R�  Rž  Rœ  R(  Rí   Rî   t
   handleFontR2  (	   R^   R  R%   R   R4  R¢  R£  Rú   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRR  Û  s4    

 

c         C   sÉ   |  j  t j d ƒ } | j ƒ  } i t | j ƒ  ƒ d 6t | j ƒ  ƒ d 6} | j ƒ  rf d | d <n
 d | d <| j	 ƒ  t
 j j k r• d | d <n
 d	 | d <t d
 |  j ƒ  ƒ j | ƒ t j ƒ  d  S(   NRS  t   familyt   sizeRÚ   t   slantR)   t   boldt   weightt   mediumRY   (   R  R–  RT  RQ  RÁ   RV  R   t	   pointSizet   italicRZ  R    t   QFontt   BoldRá   Râ   t   set_fontR  R  (   R^   R¢  t   qt_fontRS  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRU  þ  s    

N(   Ri  Rj  R=   R]   Rz  R<  R:  RA  R6  Rƒ  R�  R8  R?  RR  RU  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR3  ,  s   	
					'	(		#t   GCrystalContainerc           B   s;   e  Z d d  d  d „ Z d d „ Z d „  Z d  d „ Z RS(   R   c         C   sH   t  j j |  | d | d | d d d d ƒ|  j j |  j d ƒ ƒ d  S(   NRX   RY   RG   t   Crystalst	   autoClosei   s   Tools for handling crystals(   R[   Rl  R]   Rm  Rn  R{   (   R^   RW   RX   RY   RG   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]     s    +R3   c         C   s   d g S(   Nt   create(    (   R^   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz     s    c         K   sH   t  d |  j ƒ  ƒ d } | d k rD t d |  j d ƒ d |  j ƒ Si  S(   NRY   i    Re  R.   s   Create crystalRg   (   Rx  Râ   Ru   R{   Rg  (   R^   RY   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  %  s    
c         C   sA   d d  l  } t ƒ  j ƒ  } t ƒ  j d d d d d | j ƒ d  S(   NiÿÿÿÿRc  t   CrystalDataRZ   R|  RY   (   R|  R}  Rq  R  Rg  RY   (   R^   RY   R|  R‚  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRg  0  s    N(   Ri  Rj  R=   R]   Rz  R�  Rg  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRb    s   	t   GCrystalc           B   sk   e  Z d d  d „ Z d  d „ Z d d d „ Z d „  Z d „  Z d „  Z d „  Z	 d	 d
 „ Z
 d „  Z RS(   R   c      	   C   sT   t  ƒ  } t j j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d |  _ d  S(   NRX   RY   RZ   R|  s   Tools for crystal(   R}  R[   R\   R]   Rm  Rn  R{   Rª  (   R^   RW   RX   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   9  s    	%c   
      C   s  t  | ƒ t k r| d k rt |  d ƒ sžt j |  ƒ |  _ |  j j |  j d ƒ ƒ t j ƒ  } t j	 ƒ  |  _
 |  j
 j d ƒ t j ƒ  } | j t j j ƒ } | j t j j ƒ } | j t j j ƒ } |  j | t j d ƒ t j |  j |  j
 ƒ ƒ |  j | t j d ƒ |  j j ƒ |  j | t j d ƒ t j |  j |  j
 ƒ ƒ |  j | t j d ƒ |  j j ƒ | j |  j
 ƒ | j | ƒ |  j j | ƒ n  t d |  j ƒ  ƒ } | rót | d ƒ rót |  d ƒ ró|  j
 j t | j ƒ ƒ n  |  j j ƒ  |  j j  ƒ  nt  | ƒ t k r´| d	  d
 k r´d d d d g j! | ƒ } t d d d d g | ƒ }	 t d |  j ƒ  ƒ } | j" d |	 ƒ t# j$ d | d |  ƒ |  j% d ƒ n` t | d ƒ rt d |  j ƒ  ƒ } | j" d | j& ƒ  ƒ |  j% d ƒ t# j$ d | d |  ƒ n  d  S(   Nt   symm_radius_guit   symm_guis   Symmetry search radiusi'  s   clicked(bool)RY   t   atom_symm_radiust   symmSpini   t   symm_radius_t   symm_radius_25t   symm_radius_50t   symm_radius_75t   symm_radius_100t   25t   50t   75t   100Ró  R%   R  R   R¤  ('   RÑ   RÁ   RÅ   R    R&  Ri  Rþ   R{   R'  Rö  Rk  t
   setMaximumR,  R-  R.  R�  R/  Rí   R   Rî   R  Rx   t   handleSymmRadiusRø  R*  R(  Rá   Râ   Rš  Rù  Rj  Ró   Rô   R¯   R~  R  R  R  R¤  (
   R^   RY   R4  R5  Rû  Rü  Rý  R%   Rƒ   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRv  ?  sF    ."."$ "R­  c         C   sd  t  d |  j ƒ  ƒ } | d k r¦ t d d d d d d d |  j d	 ƒ ƒ t d d
 d d d d d |  j d ƒ ƒ t d d d d d | j d | j d |  j d ƒ ƒ g S| d k r=g  } x+ t d d ƒ D] } | j d | j ƒ qÈ Wx= t d d ƒ D], } t	 | d ƒ rö | j d | j ƒ qö qö W| j
 d d g ƒ | S| d
 k r�g  } x+ t d d ƒ D] } | j d
 | j ƒ q_W| S| d k r5g  } | j
 t j j ƒ d t j j k rù| j t j j j d ƒ d |  j d ƒ d d d d d g ƒ n  | j |  j d ƒ d  d! d" g ƒ | j
 d# d$ d% g ƒ | S| d& k r`|  j d' ƒ d( d) d* g d+ g Sg  S(,   NRY   R­  t
   xtl_paramsR_   R®  RG   s   Xtl parametersR”   s$   Set the crystal space group and cellt   contentss   Crystal contentss5   Specify which models should have the crystal symmetryR   R¯  R°  s"   Draw the crystal contents in styleRZ   t   MapDataRJ  t   originalSymmetryR»   t   xtl_params_detailsRy  i   s   within radiusRm  Rn  Ro  Rp  Rh  s   Extend unit cellt   extend_xt   extend_yt   extend_zt   symm_diff_colourt
   cell_edgest   symmetry_labelsR3   s   Align view ont   align_abt   align_act   align_bcR¬  (   Rá   Râ   Ru   R{   Rµ  Rñ  Rx  R¾   RY   RÅ   RÃ   R|  t   style_aliasR  R¯   (   R^   RY   RÙ  R%   RÇ   RË   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  f  s<    ''7A"c            s  t  d |  j ƒ  ƒ ‰ ˆ d d !d k rˆ t d ˆ d ƒ ‰  ˆ  rˆ ‡  ‡ f d †  } t d ˆ d d d d	 t j |  j ˆ ƒ d
 | ƒ Sn  ˆ d k rÑ t d d d d d d d	 t j |  j ˆ ƒ d |  j d ƒ ƒ Sˆ t	 d ƒ  d k r^‡ ‡ f d †  } d d d d g j
 ˆ ƒ } d d d d g | ‰ t d d d
 | d d d ˆ d	 t j |  j ˆ ƒ ƒ Sˆ d k r¤t d |  j d ƒ d |  j d ƒ d	 t j |  j ˆ ƒ ƒ Sˆ d d !d k rt d ˆ d ƒ ‰  ˆ  r‡  ‡ f d  †  } t d ˆ d d d! d d d	 t j |  j ˆ ƒ d
 | ƒ Sn  t j j j ˆ ƒ rVd" } d" } t d# ƒ j ƒ  d$ } | råˆ t j j k råt j j ˆ } | j d% ƒ r˜| d&  } n | j d' ƒ r´| d&  } n  t j j t j j t j d( ƒ d) d* d+ ƒ } n  t j j t j j j
 ˆ ƒ ‰ ‡ ‡ f d, †  } t d ˆ d	 t j |  j ˆ ƒ d d+ d- | d. | d d d
 | ƒ Sˆ d d/ !d0 k r½‡ ‡ f d1 †  } t d |  j d2 ˆ d3 d !ƒ d d d
 | d	 t j |  j ˆ ƒ ƒ Sˆ d4 k r‡ f d5 †  } t d |  j d6 ƒ d d d	 t j |  j d4 ƒ d
 | ƒ Sˆ d7 k ra‡ f d8 †  } t d |  j d9 ƒ d d d	 t j |  j d7 ƒ d
 | ƒ Sˆ d: k r³‡ f d; †  } t d |  j d< ƒ d d d	 t j |  j d: ƒ d
 | ƒ Sˆ d d= !d> k rüt d |  j ˆ d/ d !d? ƒ d	 t j |  j ˆ ƒ ƒ St j j |  d ˆ d@ ˆ ƒS(A   NRY   i    i   Rx  c              s   t  ˆ  d j ˆ j k ƒ S(   Ni    (   R   t   masterCrystalRY   (    (   Rö   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ’  s    R.   Re   i   Rg   Rf   Rh  Rc   t   symm_radiuss   Select..R”   s"   Set the symmetry search radius (A)Rl  c              s   t  t ˆ  d ƒ t ˆ ƒ k ƒ S(   NRj  (   R   Rœ   Rù  (    (   R%   R.   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ¡  s    Rm  Rn  Ro  Rp  Rq  Rr  Rs  Rt  R{  s	   Details..s$   Edit space group and cell parametersi
   Rw  c              s   t  ˆ  d j ˆ j k ƒ S(   Ni    (   R   RY   t   source(    (   Rö   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ³  s    t   xtl_params_groupR   R5   R6   s   .svgiüÿÿÿs   .pngR7   R8   R9   R   c              s   t  ˆ  ˆ j k ƒ S(   N(   R   R   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   Ç  s    R¡   R3   i   RÃ   c              s$   ˆ j  d d d g j ˆ  d d !ƒ S(   NR   R  R	  i   i   (   t   unit_cell_shiftR¯   (    (   RY   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   Ò  s    s
   Extend in i   R  c              s   ˆ  j  S(   N(   R  (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   Ù  s    s   Colour by symmetryR�  c              s   ˆ  j  S(   N(   R�  (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   á  s    s   Apply symm. to atom labelsR€  c              s   ˆ  j  S(   N(   R€  (    (   R%   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   è  s    s   Show cell edgesi   t   aligns    faceR%   (   Rá   Râ   Rx  Ru   Rw   Rx   t
   handle_guiRv  R{   Rs   R¯   R|  R…  R§   R;   R<   t   style_alias_iconsR®   R@   RA   RC   R«   RD   RÇ  R[   R\   R�  (   R^   RY   R  Ra   Rƒ   R3   R¡   RF   (    (   Rö   RY   R%   R.   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ‹  s°    

1  c         C   sM  |  j  t j | ƒ } t d |  j ƒ  ƒ } | r?| r?| d k ra | j d t | j ƒ  ƒ ƒ q?| d k rŒ | j d t | j ƒ  ƒ ƒ q?| d k r· | j d t | j ƒ  ƒ ƒ q?| d d !d k ró t | j g  i t | j ƒ  ƒ | 6ƒ q?t	 j	 j
 j | ƒ r(| j d | ƒ |  j d ƒ q?| d d	 !d
 k rˆt | d	 ƒ } | r<| j ƒ  rt| d j | j ƒ q…| d j ƒ  q<q?| d k r¢|  j ƒ  d  S| d d !d k rùt | d ƒ } | ré| j | d ƒ | j ƒ  n  |  j d ƒ q?| d d !d k r#| j | d d	 !ƒ q?| d k r?| j ƒ  q?n  t j ƒ  d  S(   NRY   R  R€  R�  i    i   RÃ   R   i   Rx  R{  i
   Rw  i   R‹  R¬  (   R  R    R  Rá   Râ   R~  R   R  Rú   R|  R…  R§   R  Rx  R€  RY   t   xtlParamsGuiR  t   updateContentst   handle_alignR¬  R  R  (   R^   RY   R¢  R%   Rö   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRŒ  ö  sD    )
c         C   sP  t  |  d ƒ s"t d |  j ƒ  ƒ } d d  l } t j |  ƒ |  _ |  j j |  j d ƒ | j ƒ |  j j	 t
 j j ƒ t j ƒ  } t j ƒ  } t j |  j d ƒ |  j ƒ } t j |  j ƒ } | j d ƒ | j | ƒ | j | ƒ | j | ƒ t j ƒ  } d } xý d d	 d
 g d g d d d g d g g D]Ñ }	 t j d |	 d d |  j ƒ }
 d } x™ |	 d D]� } t j | |  j ƒ } t j |  j ƒ } | j |
 ƒ | j | ƒ | d } | j | | | d d ƒ | d } | j | | | d d ƒ qgW| d } q1W| j | ƒ t j |  ƒ } | j t
 j j ƒ | j |  j d ƒ t j j ƒ } |  j | t
 j d ƒ |  j ƒ | j |  j d ƒ t j j  ƒ } | j! d ƒ |  j | t
 j d ƒ |  j" ƒ | j |  j d ƒ t j j# ƒ } |  j | t
 j d ƒ |  j$ ƒ | j | ƒ |  j j% | ƒ n  |  j$ d d ƒ |  j j& ƒ  |  j j' ƒ  d  S(   Nt	   xtlParamsRY   iÿÿÿÿs   Crystal parameters fors   Space groupt   space_groupi    R  R+   Ra   g     ˆ³@t   alphat   betat   gammag     €f@g        i   i   s   &Closes	   clicked()s   &Applys   &Resett   reset((   RÅ   Rá   Râ   RÞ  R@  R‘  Rþ   R{   RY   R‘  R   R’  R“  R    R'  R”  R•  R)  Rý   R*  Rœ  Rß  t   QDoubleValidatort   setValidatorR,  R  R˜  R-  R0  Rí   Rî   t   closeXtlParamst	   ApplyRolet
   setDefaultt   applyXtlParamst	   ResetRolet   setXtlParamsR(  Ró   Rô   (   R^   R%   RÞ  R4  R¡  RG   R¢  t   grid_layoutR­  t	   item_listt	   validatorRƒ   RË   R  R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRŽ    sX     1

!!!c         C   s   |  j  j ƒ  |  `  d  S(   N(   R‘  R2  (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR™  V  s    i   c   	   	   C   sr  t  d |  j ƒ  ƒ } | s d  Sd } | r¢ t | j ƒ } | r¢ | d } t | d ƒ rŸ | j j d d ƒ rŸ | j j d d ƒ } | j j d d ƒ } qŸ q¢ n  | sá t | d d ƒ } t | d d d d d d d g ƒ } n  |  j j	 t
 j d	 ƒ j t j | ƒ ƒ d
 } x\ d d d d d d g D]B } | d } |  j j	 t
 j | ƒ j t j t | | ƒ ƒ ƒ q(Wd  S(   NRY   R   i    Rz  R_  i   t   sgt   cellR’  iÿÿÿÿR  R+   Ra   R“  R”  R•  (   Rá   Râ   Rx  Rˆ  RÅ   Rz  Rv   Rœ   R‘  R  R    RZ  R+  R   RN  RÁ   (	   R^   R–  R%   R¢  Rö   Rˆ  R£  Rƒ   RË   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRž  \  s&     
%'(
c         C   s¿   t  d |  j ƒ  ƒ } | s d  Si  } t |  j j t j d ƒ j ƒ  ƒ | d <xN d d d d d d g D]4 } t t |  j j t j | ƒ j ƒ  ƒ ƒ | | <qf Wt	 | j
 g  | ƒ t j ƒ  d  S(	   NRY   R’  R  R+   Ra   R“  R”  R•  (   Rá   Râ   RÁ   R‘  R  R    RZ  R.   Rù  Rú   t   set_xtl_paramsR  R  (   R^   R%   RY  RË   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRœ  u  s     (2N(   Ri  Rj  R=   R]   Rv  Rz  R�  RŒ  RŽ  R™  Rž  Rœ  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRg  6  s   '%	k	)	7	t   GGL2dScreenc           B   s;   e  Z d d  d  d „ Z d d „ Z d „  Z d  d „ Z RS(   R   c         C   so   | s d } n  | s d } n  t  ƒ  } t j j |  | d | d | d | d d ƒ|  j j |  j d ƒ ƒ d  S(   Ns   Legends&ImagesRX   RY   RG   Rd  i   s%   Tools for handling Legends and Images(   t   GL2DMANAGERR[   Rl  R]   Rm  Rn  R{   (   R^   RW   RX   RY   RG   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   ‹  s     	 		+R3   c         C   s   | d k r d d g Sg  Sd  S(   NR3   R#  t	   add_image(    (   R^   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  —  s    
c         K   ss   t  ƒ  } | d k rB i |  j d ƒ d 6t j t ƒ  j d ƒ d 6S| d k ro i |  j d ƒ d 6t ƒ  j d 6Si  S(   NR#  s
   Add legendR.   R�   Rg   R§  s	   Add image(   R¦  R{   Rw   Rx   R�  t   createObjectt
   handleOpen(   R^   RY   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ž  s    	c         C   s%   d d  l  } | j  d t ƒ  ƒ } d  S(   NiÿÿÿÿRW   (   t   LegendR¦  (   R^   RY   Rª  t   xl(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRg  ª  s    N(   Ri  Rj  R=   R]   Rz  R�  Rg  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¥  …  s   	t   GLegendc           B   sb   e  Z d d  d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z RS(   R   c      	   C   sK   t  j j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d |  _ d  S(   NRX   RY   RZ   Rª  s   Tools for legend display object(   R[   R\   R]   Rm  Rn  R{   Rª  (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   ´  s    %R­  c         C   sö   t  d |  j ƒ  ƒ } | d k r‹ t d d d d d | j d |  j d |  j d	 ƒ ƒ t d d
 d d d | j d |  j d |  j d ƒ ƒ g S| d k r­ d d d d d d g S| d k rÃ d d g S| d k rÖ d g St j	 j
 |  d | d | ƒSd  S(   NRY   R­  R.   R_   R5  R°  R³  R”   s%   Enter text and select font and colourRæ  s   Set position of textR3   R  RÊ  RË  RG  RÎ  R¬  Rš   RÏ  R©   R²  R%   (   Rá   Râ   Ru   R7  R8  R{   R9  R:  R[   R\   Rz  (   R^   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  »  s    37
c            s×   t  d ˆ  j ƒ  ƒ } | d k rb ‡  f d †  } t d d ˆ  j ƒ  d ˆ  j d d d	 | d
 d ƒ S| d k r� t d d d t j | j d ƒ ƒ S| d k r» t d ˆ  j d ƒ d ˆ  j ƒ St	 j
 j ˆ  d | d | ƒS(   NRY   RG  c              s   t  ˆ  j d k ƒ S(   Ni   (   R   R_  (    (   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   Ó  s    R.   s   Move Rg   Re   i   Rf   R`  i    RÏ  R…   R©   s   Colour browserR%   (   Rá   Râ   Ru   Rk  Rw   Rx   R¨   R{   R©   R[   R\   R�  (   R^   RY   R  R%   Ra   (    (   R^   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  Í  s     	
c   
      C   sâ  |  j  t j d ƒ } | r3 | j ƒ  | j ƒ  d  St d |  j ƒ  ƒ } t j |  ƒ } | j d ƒ | j t	 j
 j ƒ | j |  j d ƒ |  j ƒ  ƒ t j ƒ  } d d  l } | j |  ƒ } | j d ƒ | j d t ƒ  j d ƒ d t ƒ | j t	 j | j ƒ  ƒ ƒ | j | ƒ t j ƒ  } | j ƒ  t j |  j d	 ƒ |  ƒ } | j | ƒ t j |  j d
 ƒ |  ƒ }	 | j |	 ƒ | j | ƒ | j | ƒ | j ƒ  |  j | t	 j d ƒ |  j  ƒ |  j |	 t	 j d ƒ | j! ƒ d  S(   NRJ  RY   s   Legend text iÿÿÿÿR8  RK  R�   t
   setGuiFontR�  R�  s
   released()("   R  R    R&  Ró   Rô   Rá   Râ   Rý   R‘  R   R’  R“  Rþ   R{   R'  RM  RN  RO  RP  RQ  R   R+  RN  t   get_textR*  R”  R�  Rž  Rœ  R(  Rí   Rî   R?  R2  (
   R^   R  R%   R   R4  RM  R¢  R£  Rú   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR8  é  s8    

 "

c         C   ss   |  j  t j d ƒ } t |  j  t j d ƒ j ƒ  ƒ } t d |  j ƒ  ƒ } | j | ƒ |  j d ƒ t	 j
 ƒ  d  S(   NR8  RY   R.   (   R  R    RZ  RÁ   R.   Rá   Râ   Re  R  R  R  (   R^   R¢  R.   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR?    s    !c         C   s}   d d  l  } t d |  j ƒ  ƒ } | GH| GH| j j ƒ  | j d t | d ƒ d t | d ƒ ƒ |  j d ƒ t j	 ƒ  d  S(   NiÿÿÿÿRY   R   i    R  i   Ræ  (
   t   sysRá   Râ   t   stdoutt   flushR;  Rù  R  R  R  (   R^   R  R¯  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR<    s    *c         C   s«   t  d |  j ƒ  ƒ } | j ƒ  } t |  d ƒ sx t j |  d | d d | d d d ƒ|  _ |  j j |  j d	 ƒ ƒ n  |  j j	 ƒ  |  j
 |  j t j d
 ƒ |  j ƒ d  S(   NRY   R  R   i    R  i   t   dimi   s+   Pick point in fractional screen coordinatesR
  (   Rá   Râ   R=  RÅ   R–  R  R  Rþ   R{   R  Rí   R   Rî   R<  (   R^   R%   R>  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR:  (  s    ,c         C   s¢   t  d |  j ƒ  ƒ } |  j t j d ƒ } | rO | j t j | j ƒ  ƒ ƒ n  t	 |  d ƒ rŽ | j
 ƒ  } |  j j d | d d | d ƒ n  t j j |  ƒ d  S(   NRY   R8  R  R   i    R  i   (   Rá   Râ   R  R    RZ  R+  R   RN  R®  RÅ   R=  R  RP  R[   R\   R_  (   R^   R%   R¢  R>  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR_  3  s    $c         C   s_   |  j  d ƒ t |  d ƒ r[ t d |  j ƒ  ƒ j ƒ  } |  j j d | d d | d ƒ n  d  S(   NRæ  R  RY   R   i    R  i   (   R  RÅ   Rá   Râ   R=  R  RP  (   R^   R>  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   updateAfterMovingA  s    N(   Ri  Rj  R=   R]   Rz  R�  R8  R?  R<  R:  R_  R³  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¬  ±  s   		&				t   GColourLegendc           B   s   e  Z d d  d „ Z RS(   R   c         C   s9   t  j |  | d | d | ƒ|  j j |  j d ƒ ƒ d  S(   NRX   RY   s&   Tools for colour legend display object(   R¬  R]   Rm  Rn  R{   (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   K  s    N(   Ri  Rj  R=   R]   (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR´  I  s   t   GImagec           B   sq   e  Z d  d d „ Z d d d „ Z d d d „ Z d d „ Z d	 d
 „ Z d „  Z d „  Z	 d „  Z
 d „  Z RS(   iÿÿÿÿi   c         C   s§   d d  l  } | j d |  j ƒ  ƒ } | d k  rC d | j ƒ  } n  |  j d | ƒ } | rn |  j j | ƒ n  | j d |  j ƒ  ƒ j d | ƒ | r£ t j	 ƒ  n  d  S(   NiÿÿÿÿRY   i    i   R  t
   visibility(
   t   global_definitionsRá   Râ   t   get_visibilityR¯  Rm  R  R  R  R  (   R^   R  t   redrawR·  R%   R3   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  W  s      " i    c         C   s4  d d  l  } | j d |  j ƒ  ƒ } t j | | ƒ } t j d d d d ƒ } | j | ƒ t j ƒ  } | j | ƒ t	 | j
 d ƒ t k r¿ | j d d t j | j
 d ƒ j | | ƒ ƒ n8 | j d d t j t | j
 d d ƒ ƒ j | | ƒ ƒ | j ƒ  | s!| j ƒ  }	 t }
 |	 j ƒ  r.t }
 n  xÞ t |	 j ƒ  ƒ D]Ê } xÁ t |	 j ƒ  ƒ D]­ } |	 j | | ƒ } | rZ|
 r»t j | ƒ } t j | ƒ } t j | | | | d ƒ } n6 t j | ƒ } t j | ƒ } t j | | | | ƒ } |	 j | | | ƒ qZqZWqAW| j |	 ƒ } n  t j | ƒ } | S(   NiÿÿÿÿRY   i   i    i   s   utf-8(   R·  Rá   Râ   R    R   R!   R    R"   RU  RÑ   R‡  t   unicodet
   drawPixmapt   scaledR   t   toImageR   t   isGrayscaleR   RÀ   RR  RQ  t   pixelt   qAlphat   qGrayt   qRgbat   setPixelRW  R$   (   R^   R  RQ  RR  R·  R%   R1   R(   R2   R^  R²  RÚ   t   jR¿  R“  t   greyt   g4R3   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR¯  a  s>    28
 	R   c      	   C   s¬   t  d | ƒ } | j rY t j j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ n  d |  _ t  d |  j	 ƒ  ƒ } |  j
 d | j ƒ  ƒ } | r¨ |  j j | ƒ n  d  S(   NRY   RX   RZ   t   Images   Tools for image display objectR  (   Rá   t   isValidR[   R\   R]   Rm  Rn  R{   Rª  Râ   R¯  R¸  R  (   R^   RW   RX   RY   R%   R3   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   †  s    	%	 i    c         C   s6   t  d |  j ƒ  ƒ } | j t | ƒ ƒ t j ƒ  d  S(   NRY   (   Rá   Râ   t	   set_scaleRù  R  R  (   R^   R¤  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt	   editScale”  s    R­  c         C   só   t  d |  j ƒ  ƒ } | s d  S| d k r¡ t d d d d d d d g d	 | j d
 |  j d ƒ d |  j ƒ t d d d d d | j d |  j d
 |  j d ƒ ƒ g S| d k rÀ d d d d d g S| d k rÓ d g St j	 j
 |  d | d | ƒSd  S(   NRY   R­  t   scaleR_   R²  RÀ   i    i
   R¶  R”   s   Scale imageR³  Ræ  R5  R°  s   Set position of imageR3   R  RË  RG  RÎ  R¬  R²  R%   (   Rá   Râ   Ru   t	   get_scaleR{   RÊ  R9  R:  R[   R\   Rz  (   R^   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  ›  s     ?7c            s›   t  d ˆ  j ƒ  ƒ } ‡  f d †  } | d k rk t d ˆ  j d ƒ | j ƒ  d ˆ  j d d d	 | d
 d ƒ S| d k r d GHn  t j j ˆ  d | d | ƒS(   NRY   c              s   t  ˆ  j d k ƒ S(   Ni   (   R   R_  (    (   R^   (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRa   ²  s    RG  R.   s   Move Rg   Re   i   Rf   R`  i    RË  R%   (	   Rá   Râ   Ru   R{   R%  Rk  R[   R\   R�  (   R^   RY   R  R%   Ra   (    (   R^   sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ­  s    	c         C   sZ   t  d |  j ƒ  ƒ } | j d t | d ƒ d t | d ƒ ƒ |  j d ƒ t j ƒ  d  S(   NRY   R   i    R  i   Ræ  (   Rá   Râ   R;  Rù  R  R  R  (   R^   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR<  Á  s    *c         C   s«   t  d |  j ƒ  ƒ } | j ƒ  } t |  d ƒ sx t j |  d | d d | d d d ƒ|  _ |  j j |  j d	 ƒ ƒ n  |  j j	 ƒ  |  j
 |  j t j d
 ƒ |  j ƒ d  S(   NRY   R  R   i    R  i   R²  i   s+   Pick point in fractional screen coordinatesR
  (   Rá   Râ   R=  RÅ   R–  R  R  Rþ   R{   R  Rí   R   Rî   R<  (   R^   R%   R>  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR:  É  s    ,c         C   s_   |  j  d ƒ t |  d ƒ r[ t d |  j ƒ  ƒ j ƒ  } |  j j d | d d | d ƒ n  d  S(   NRæ  R  RY   R   i    R  i   (   R  RÅ   Rá   Râ   R=  R  RP  (   R^   R>  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR³  Õ  s    N(   Ri  Rj  R  R¯  R=   R]   RÊ  Rz  R�  R<  R:  R³  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRµ  S  s   
%			R  c           B   sM   e  Z d d  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(	   RO  c         C   s4   t  j j |  | ƒ | |  _ |  j ƒ  |  j ƒ  d  S(   N(   R    R&  R]   t	   data_typet   drawRó   (   R^   RW   RÍ  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   ä  s    	
c         C   sL  |  j  |  j d |  j ƒ ƒ t j ƒ  } t j |  ƒ } | j t j j t j j Bƒ t j ƒ  } t j	 |  j d ƒ |  ƒ |  _
 |  j
 j |  j d ƒ |  j ƒ | j |  j
 ƒ | j t j |  j d ƒ |  ƒ ƒ t j |  ƒ |  _ |  j j |  j d ƒ ƒ | j |  j ƒ | j | ƒ | j | ƒ t j |  ƒ } | j ƒ  |  _ |  j j t j j ƒ |  j j t j j ƒ |  j j t ƒ |  j j |  j d ƒ d d g g ƒ |  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(   Ns   Export s%   Read exported vector file into CCP4mgs#   Create a new vector object for the s"   Comments to include in file headers   Add comments to file headers   Vector files    (*.vector)t   vectors
   rejected()R   s   &Saves	   pressed()(%   Rþ   R{   RÍ  R    R'  t   QFramet   setFrameStylet   Boxt   PlainR  t   reloadWidgetRn  R*  R•  t   QPlainTextEditt   commentWidgetR(  R–  Rê  Rë  R  Rì  Ru  Rv  Rw  Rx  Ry  R   Rî  Rí   R   Rî   R2  t   findChildrenRž  R.   t   emitSave(   R^   R4  R  t   frame_layoutt   fileRÝ  t   child(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÎ  ë  s6     "&"&c         C   s   |  j  t j d ƒ ƒ d  S(   NR;  (   R  R   Rî   (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRØ    s    c      
   C   s  t  |  j ƒ  j ƒ  ƒ } | s" d S| d } |  j ƒ  } | sB d  S| j d | d |  j ƒ  ƒ } | d r— t j j |  |  j	 d ƒ |  j
 | d ƒ n  |  j ƒ  r
d d  l } | j d | ƒ } | r
|  j ƒ  j j d | j d | j d	 t | d
 d ƒ d d ƒ q
n  |  j ƒ  d  S(   Ni   i    R‡  t   commentss   Error exporting iÿÿÿÿRZ   RY   RG   R  R   t
   getDispObj(   Rá   RW   Râ   t   getFilet   export_datat   getCommentsR    R¡  R¢  R{   RÍ  t	   getReloadt   VectorsDispobjt   openvectorfileRX   t
   addDataObjRZ   RY   Rœ   R2  (   R^   R%   t   exfileR²  Râ  t   new_data(    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR    s"     
 
-$c         C   s\   |  j  j ƒ  } | s d St | d j ƒ  ƒ } t j j | ƒ d d k rX | d } n  | S(   NR   i    i   s   .vector(   R  Rø  RÁ   RO  R@   RA   R†  (   R^   Rå  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRÞ  /  s     c         C   s   t  |  j j ƒ  j ƒ  ƒ S(   N(   RÁ   RÖ  t   documentt   toPlainText(   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRà  9  s    c         C   s   |  j  j ƒ  S(   N(   RÔ  R  (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRá  >  s    N(
   Ri  Rj  R=   R]   RÎ  RØ  R  RÞ  Rà  Rá  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  ß  s   	&			
	t   GVectorsDatac           B   s‰   e  Z d  „  Z d „  Z d d d d „ Z d d „ Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sü   t  |  d ƒ r| t  |  j d ƒ r| t  |  j j d ƒ r| t  |  j j j d ƒ r| t |  j j j j ƒ r| |  j j j j ƒ  n  t  |  d ƒ rø t  |  j d ƒ rø t  |  j j d ƒ rø t  |  j j j d ƒ rø t |  j j j j ƒ rø |  j j j j ƒ  n  d  S(   Nt   editVectorGuit   endAtomPickert	   dataCombot   disconnectGlobalSignalst   startAtomPicker(   RÅ   Rê  Rë  Rì  Rã  Rí  Rî  (   R^   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   __del__I  s    ffc         C   s   |  j  t j d ƒ | ƒ d  S(   Nt   DataChanged(   R  R   Rî   (   R^   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   emitTheMovementO  s    R   c      	   C   sš   t  j j |  | d | d | d | ƒ|  j j |  j d ƒ ƒ d  |  _ d  |  _ y< t	 d |  j
 ƒ  ƒ d } |  j | t j d ƒ |  j ƒ Wn n Xd  S(   NRX   RY   RG   s   Tools for vector data objecti    Rð  (   R[   Rl  R]   Rm  Rn  R{   R=   Rê  R�  Rx  Râ   Rí   R   Rî   Rñ  (   R^   RW   RX   RY   RG   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   Q  s    %		#R3   c         C   sÂ   t  d |  j ƒ  ƒ d } |  j d ƒ g } |  j d ƒ g } t |  j ƒ  ƒ j ƒ  } x0 | D]( } | j d | ƒ | j d | ƒ q\ Wd d d	 d
 d | | d |  j d ƒ d d g d g
 } | S(   NRY   i    s   Align view ons   Centre view ont   align_t   centre_Ro  t   data_centret
   add_vectorRq  Rs  t	   data_saveRt  Ru  Rv  Rw  (   Rx  Râ   R{   R”  t   getVectorMenuR¾   (   R^   RY   R%   t	   alignMenut
   centreMenut   vector_listt   vRy  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  _  s    6c         C   s¢  d d  l  } d d  l } d } d } d } t |  j ƒ  ƒ j ƒ  } d } xø t t t | ƒ ƒ | ƒ D]Û \ } }	 t |  j ƒ  ƒ j | ƒ }
 |
 rd t	 |
 d ƒ rd |
 j
 d ƒ rd |
 j
 d ƒ rd |
 d } |
 d } | d | d d } | d | d d } | d | d d } | | } | | } | | } | d } qd qd W| d k rž| t | ƒ } | t | ƒ } | t | ƒ } t ƒ  j j | | | g ƒ n  d  S(	   Niÿÿÿÿi    R   t	   start_xyzt   end_xyzg      à?i   i   (   R�  t   mathR”  Râ   R÷  t   zipRÀ   Rs   t   get_vector_dataRÅ   R   Rù  R�  R‚  Rƒ  (   R^   R�  Rþ  t   total_xt   total_yt   total_zRú  t   numvRÚ   Rû  t   vecDataR   R   R   R  R	  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRƒ  n  s0    (3




c         C   s=  d d  l  } d d  l } t |  j ƒ  ƒ j ƒ  } xt t t | ƒ ƒ | ƒ D]é \ } } | | t d ƒ k rL t |  j ƒ  ƒ j | ƒ } | r5t	 | d ƒ r5| j
 d ƒ r5| j
 d ƒ r5| d } | d }	 |	 d | d d }
 |	 d | d d } |	 d	 | d	 d } t ƒ  j j |
 | | g ƒ Pq5qL qL Wd  S(
   NiÿÿÿÿRó  R   Rü  Rý  i    g      à?i   i   (   R�  Rþ  R”  Râ   R÷  Rÿ  RÀ   Rs   R   RÅ   R   R�  R‚  Rƒ  (   R^   RY   R�  Rþ  Rú  RÚ   Rû  R  R   R   R   R  R	  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   centreVectorŠ  s    (3

c         C   sñ  d d  l  } d d  l } t |  j ƒ  ƒ j ƒ  } xºt t t | ƒ ƒ | ƒ D]�\ } } | | t d ƒ k rL t |  j ƒ  ƒ j | ƒ } | rét	 | d ƒ ré| j
 d ƒ ré| j
 d ƒ ré| d } | d }	 |	 d | d }
 |	 d | d } |	 d | d } | j |
 | | ƒ } | j ƒ  | j d d d ƒ } | j | j j | | ƒ ƒ } | d k r´| j j | | ƒ } | j | j ƒ  | j ƒ  | j ƒ  d | d	 | j ƒ } n | j d d d d d ƒ } t ƒ  j j | ƒ PqéqL qL Wd  S(
   NiÿÿÿÿRò  R   Rü  Rý  i    i   i   g     €f@(   R�  Rþ  R”  Râ   R÷  Rÿ  RÀ   Rs   R   RÅ   R   RŸ  t	   normalizet   acost
   DotProductt   CrossProductRÄ  R~  R  R€  t   piR�  R‚  t   setQuat(   R^   RY   R�  Rþ  Rú  RÚ   Rû  R  R   R   R   R  R	  t   cartt   cartzt   anglet   cartNR‘  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR‹  œ  s,    (3


;c      	   K   s  t  d |  j ƒ  ƒ d } | d t d ƒ !d k rm t d | t d ƒ d t j |  j | ƒ d |  j d ƒ ƒ S| d t d ƒ !d k rÁ t d | t d ƒ d t j |  j | ƒ d |  j d	 ƒ ƒ S| d
 k rû t d |  j d ƒ d |  j	 d |  j d ƒ ƒ S| d k r5t d |  j d ƒ d |  j
 d |  j d ƒ ƒ S| d k rot d |  j d ƒ d |  j d |  j d ƒ ƒ S| d k r»t d |  j d ƒ d t j |  j | d g ƒ d |  j d ƒ ƒ S| d k rût d |  j d ƒ d |  j d |  j d ƒ d d ƒ St j j |  d | d | ƒS(   NRY   i    Rò  R.   Rg   R”   s   Align graphics view on vectorRó  s   Centre graphics view on vectorRö  s   Save to files   Save the vector data to a filet	   edit_tagss	   Edit tagss*   Create and edit tags used to group vectorsRõ  s   Edit vectorss-   Change an existing vector or create a new oneRq  s   Add vector display objectRâ  s   Add a vector display objectRô  s	   Centre ons   Centre display on the vectorsR’   i   R%   (   Rx  Râ   Rs   Ru   Rw   Rx   R‹  R{   R  R;  t   editTagt
   editVectorRŠ  Rƒ  R[   Rl  R�  (   R^   RY   R  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  ·  sL    				c         C   sf  t  |  j ƒ  ƒ } | j ƒ  sÁ t j |  ƒ } | j |  j d ƒ ƒ | j |  j d ƒ ƒ | j |  j d ƒ t j j	 ƒ } | j |  j d ƒ t j j	 ƒ } | j
 ƒ  } | j d d g | ƒ n  |  j sHd d  l } | j ƒ  } | d k r| j |  d |  j ƒ  d	 d
 d
 g ƒ|  _ qH| j |  d |  j ƒ  d	 d d g ƒ|  _ n  |  j j ƒ  |  j j ƒ  d  S(   Ns   Creating vectorss8   Create vectors between pairs of atoms or pairs of pointss   Between atomss   Between pointsRô  t   pointsiÿÿÿÿt   VectorsDataNameR_   t   atomt   point(   R”  Râ   t   getDataModeR    R¡  Rþ   R{   R+  R-  t
   AcceptRoleRŒ  t   setDataModeRê  t
   vectorsGuit   editVectorDialogRó   Rô   (   R^   R%   R   R  R_   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR  ñ  s"    !!	--c         C   s„   t  |  j ƒ  ƒ j ƒ  \ } } | rO t j j |  |  j d ƒ |  j d ƒ ƒ n  t d ƒ j | d |  j ƒ  ƒ} | j	 d d ƒ d  S(   Ns   Listing vector datas   Error creating data listingR'  R³  R   R)  (
   R”  Râ   Rß  R    R¡  R¢  R{   R,  RJ  R.  (   R^   R_  R.   R2  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR(    s
    +!c         C   sa   t  j |  |  j d ƒ |  j d ƒ d d g g ƒ } |  j | t j d ƒ |  j ƒ | j ƒ  d  S(   Ns   Save vectorss   vector files    (*.vector)RÏ  R;  (   R–  RŠ  R{   Rí   R   Rî   RŽ  RŒ  (   R^   R�  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR;    s    4c         C   s   t  |  j ƒ  ƒ j | ƒ d  S(   N(   R”  Râ   R   (   R^   R‡  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRŽ    s    c         C   sµ   t  |  j ƒ  ƒ j r± |  j sX t j |  |  j d ƒ |  j d ƒ d d g g ƒ |  _ n |  j j ƒ  |  j j ƒ  } | s± |  j j	 ƒ  } | r® t  |  j ƒ  ƒ j
 | ƒ q® q± n  d  S(   Ns   Save vectorss   vector files    (*.vector)RÏ  (   R”  Râ   t   editedR�  R–  RŠ  R{   Rø  RŒ  t   getFilenameR   (   R^   R²  R‡  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   Exit  s    	: N(   Ri  Rj  Rï  Rñ  R=   R]   Rz  Rƒ  R  R‹  R�  R  R(  R;  RŽ  R  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRé  E  s   						:					t   GVectorsDispobjc           B   sY   e  Z d
 d  d „ Z d d
 d „ Z d  d „ Z d „  Z d „  Z d d „ Z d	 „  Z	 RS(   R   c      	   C   s]   t  j j |  | d | d | d d ƒ|  j j |  j d ƒ ƒ d  |  _ d  |  _ d |  _	 d  S(   NRX   RY   RZ   Râ  s    Tools for vectors display objects   Vector display object(
   R[   R\   R]   Rm  Rn  R{   R=   t   lineStyleGuit   selectionGuiRª  (   R^   RW   RX   RY   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR]   4  s
    %		R­  c         C   sØ   t  d |  j ƒ  ƒ } | d k r� t d d d d d | j d |  j d |  j d	 ƒ ƒ t d d
 d d d t j t | ƒ d | j	 d |  j
 d |  j d ƒ ƒ g S| d k r¼ d d d d d g St j j |  d | d | ƒS(   NRY   R­  Rà   R_   R5  R°  R³  R”   s   Select vectors to displayR   R¯  s(   Edit vector drawing style and text styleR3   R  RË  RÌ  RÎ  R¬  R%   (   Rá   Râ   Ru   R%  t   handleSelectionR{   R  Rx   R4   Rñ  t   handleStyleR[   R\   Rz  (   R^   RY   RÙ  R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRz  <  s    3Ic         C   s1   t  d |  j ƒ  ƒ } t j j |  d | d | ƒS(   NRY   R%   (   Rá   Râ   R[   R\   R�  (   R^   RY   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR�  I  s    c         C   s  t  d |  j ƒ  ƒ } | s d  St | j j ƒ  ƒ } | d k  rl t j j |  |  j d ƒ |  j d ƒ ƒ d  S|  j	 sÄ d d  l
 } | j |  d | j j ƒ|  _	 |  j |  j	 t j d ƒ |  j ƒ n |  j	 j ƒ  |  j	 j | j ƒ |  j	 j ƒ  |  j	 j ƒ  d  S(   NRY   i   s   Selecting vectorss1   Vectors do not have tags so no selection possibleiÿÿÿÿR  R  (   Rá   Râ   Rs   RW   t
   getTagListR    R¡  R¢  R{   R"  R  t   VectorSelectionRY   Rí   R   Rî   Rú  R   t   setSelectionRà   Ró   Rô   (   R^   R%   t   nlR  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR#  O  s     (	%c         C   s•   t  d |  j ƒ  ƒ } |  j sa d d  l } | j |  ƒ |  _ |  j |  j t j d ƒ |  j ƒ n  |  j j	 | j
 ƒ  ƒ |  j j ƒ  |  j j ƒ  d  S(   NRY   iÿÿÿÿR  (   Rá   Râ   R!  R  t   VectorLineStyleRí   R   Rî   R~  RP  RY  Ró   Rô   (   R^   R%   R  (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR$  b  s    	%R   c         C   s„   t  d |  j ƒ  ƒ } | s d  S| d k rD | j |  j j ƒ  ƒ n% | d k ri | j |  j j ƒ  ƒ n  t j ƒ  |  j	 d ƒ d  S(   NRY   R   RS  (
   Rá   Râ   R~  R!  R[  R`  RQ  R  R  R  (   R^   R_   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR~  o  s     
c         C   sP   t  d |  j ƒ  ƒ } | s d  S| j |  j j ƒ  ƒ t j ƒ  |  j d ƒ d  S(   NRY   Rà   (   Rá   Râ   Rú  R"  t   getSelectionR  R  R  (   R^   R%   (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyRú  ~  s     
N(
   Ri  Rj  R=   R]   Rz  R�  R#  R$  R~  Rú  (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyR   /  s   		(+   t   __doc__R  R@   R÷  t   PyQt4R    R   R   R·  R[   Rw   R¸  R�   R>   RÓ  R¶  R|  R  R@  R–  R4   RH   R\   RI   Rl  Rk  R¦  R1  R£  R  R  R  R3  Rb  Rg  R¥  R¬  R´  Rµ  R&  R  Ré  R   (    (    (    sF   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTableObjects.pyt   <module>   sN   
H	ÿ (	ÿ ÿ ÿ  fÿ ¦ÿ ÿ ÿ ÿ ¥ÿ …uo¥é!ÿ P,˜
Œfê