ó
ÉÝ{Tc           @   sx  d  Z  d d l m Z m Z d d l Z d d l Z d d l Td d l Z d d l Z d d l	 Z	 d d l
 Z
 d Z d e j k r“ e j ƒ  Z n  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 f  d „  ƒ  YZ d e e	 j	 f d „  ƒ  YZ d e e	 j f d „  ƒ  YZ d e j f d „  ƒ  YZ d S(   s˜  
     qtgui/displayTable.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ÿÿÿÿ(   t   QtGuit   QtCoreN(   t   *i    s   -quitt   MGDisplayTablec           B   sÍ  e  Z d  Z d Z d Z d Z d Z d Z i  Z i  Z	 d Z
 d Z d Z i  Z i  Z g  Z i  Z d „  Z d „  Z d	 „  Z d
 „  Z d) e e d „ Z d d d d „ Z d d d d d „ Z d „  Z d d „ Z d „  Z d d „ Z d „  Z d „  Z d d „ Z  d d „ Z! d d d d d „ Z" d d d „ Z# d d „ Z$ d 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 d d& „ Z. d' „  Z/ d( „  Z0 RS(*   i   id   i2   i   i   i    i   c         C   s   t  |  _ d  S(   N(   t   Falset   docked(   t   self(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setFloatingE   s    c         C   sF   t  j t  _ t  j t  _ t  j t  _ t  j d |  j t  j t  _ d  S(   Ni   (	   R   t   floatingWidtht   widtht   floatingBodyWidtht	   bodyWidtht   floatingMaxLabelLengtht   maxLabelLengtht   status_opent	   rowHeight(   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setFloatingSizeH   s    c         C   s   t  |  _ d  S(   N(   t   TrueR   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt	   setDockedN   s    c         C   sF   t  j t  _ t  j t  _ t  j t  _ t  j d |  j t  j t  _ d  S(   Ni   (	   R   t   dockedWidthR	   t   dockedBodyWidthR   t   dockedMaxLabelLengthR   R   R   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setDockedSizeQ   s    c         C   sï  g  |  _  g  |  _ t t |  ƒ j | ƒ i  |  _ d |  _ d |  _ | rU d t _ n	 d t _ | r{ |  j	 ƒ  |  j
 ƒ  n |  j ƒ  |  j ƒ  t |  j ƒ  ƒ t _ t j d |  j t j t _ t j t j t _ |  j d t j ƒ d d  l } d d d d	 d
 g t _ i | j d 6| j d 6| j d 6| j d
 6| j d	 6t _ i | j d 6| j d 6| j d 6| j  d 6| j! d 6| j" d 6| j# d 6| j$ d 6| j% d 6| j& d 6| j' d 6t _( d d g t _) i d d 6d
 d 6d
 d 6t _* d  S(   Ni    i   i   R	   iÿÿÿÿt   CrystalDatat   MolDatat   MapDatat   VectorsDatat
   GL2dScreent   MolDispt   MapDispt   SurfaceDispobjt   HBondst   Contactst
   Annotationt   Crystalt   Imaget   Legendt   ColourLegendt   VectorsDispobjs   Legends&Images(+   t   movingObjectst   movingTargetst   superR   t   __init__t	   GDataObjst
   block_emitR   R   R   R   R   R   t   intt   fontSizeR   R   R	   t   compactWidtht   compact_widtht   loadPixmapst   displayTableObjectst   fixed_ordert   GMolDatat   GMapDatat   GCrystalContainert   GGL2dScreent   GVectorsDatat   dataobj_typest   GMolDispt   GMapDispt   GSurfaceDispobjt   GHBondst	   GContactst   GAnnotationt   GCrystalt   GImaget   GLegendt   GColourLegendt   GVectorsDispobjt   dispobj_typest   dataobj_hide_if_emptyt   dispobj_make_parent(   R   t   parentR   t   super_compactR2   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   W   sR    						
















t    i    c         C   s  d d  l  } d d  l } d d  l } | sI | j j | j d d ƒ } n  i  t _ | d k rg | } n  x“ d g D]ˆ } x d d g D]q } xh | j | j j | | | ƒ ƒ D]E }	 | j j |	 ƒ d d d !}
 t	 j
 |	 ƒ j d	 d	 ƒ t j |
 <q¬ Wq„ Wqq Wd  S(
   Niÿÿÿÿt   CCP4MGt   qticonsi    t   disptabs   *.pngs   *.svgiüÿÿÿi    (   t   ost   globt   stringt   patht   joint   environR   t   pixmapst   splitR    t   QPixmapt   scaled(   R   t   dirR	   t   heightRN   RO   RP   t   subdt   extt   filet   name(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR1   Œ   s    $ 	 	(i   c      
   C   s_  d d  l  } d d  l } d d  l } | sI | j j | j d d ƒ } n  | d k r^ | } n  | sq | d } n  t j j | ƒ rŽ t j | SxŽ | j j | d | d ƒ | j j | d | d ƒ g D]T }	 | j j	 |	 ƒ rÇ t
 j |	 ƒ j | | ƒ }
 t
 j |
 ƒ t j | <t j | SqÇ W| d d	 !d
 k rW|  j d d d d | d | d | ƒSd  Sd  S(   NiÿÿÿÿRK   RL   i    t   _offt   dispobjs   .svgs   .pngi   t   unknt   unknownt   visiblei   RX   RY   R	   (   RN   RO   RP   RQ   RR   RS   R   t   loaded_iconst   has_keyt   existsR    RV   RW   t   QIcont   getIcont   None(   R   R]   Rb   RX   R	   RY   RN   RO   RP   R\   t   pix(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRg   Ÿ   s&    $  	 #%c         C   s   t  j d |  j t  j d S(   Ni   i   (   R   R   R   R   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   getWidth»   s    c         C   s<   |  j  s8 |  j t j | ƒ ƒ |  j t j d ƒ ƒ n  d  S(   Nt   DisplayTableChanged(   R,   t   emitR   t   SIGNAL(   R   t   mode(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt
   emitSignal¾   s    	c         C   s.   x' |  j  t ƒ D] } | j ƒ  r d Sq Wd S(   Ni   i    (   t   findChildrent   GDataObjt   isOpen(   R   t   obj(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   DispObjOpenÅ   s     c         C   s;   x* |  j  t ƒ D] } | j | d d ƒq Wt j ƒ  d  S(   Nt   redrawi    (   Rp   Rq   t   set_visibilityt   rebuildt   UpdateDisplay(   R   Rb   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   showAllDataObjÊ   s    c         C   sò   x0 |  j  t ƒ D] } |  j | j ƒ  d d ƒq Wg  } x9 t ƒ  D]. } t | d ƒ o^ | j sC | j | ƒ qC qC W| r‡ d G| GHn  x4 | D], } | j ƒ  t | d ƒ rŽ | j	 ƒ  qŽ qŽ W|  j
 sé d Gd GH|  j t j d ƒ ƒ n d GHd  S(	   Nt   updatei    t   master_applicationsQ   DISPLAYTABLE.deleteAllDataObj found objects without graphical interface to deletet   closet   Emittingt   removeAllDataObjs   Emits blocked(   Rp   Rq   t   deleteDataObjt
   objectNamet   get_dataobjt   hasattrR{   t   appendt   deleteR|   R,   Rl   R   Rm   (   R   Rs   t   dellistt   dataobj(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   deleteAllDataObjÑ   s      
		c         C   sŸ   d |  _  t ƒ  } xp | D]h } t j j | j ƒ rD | j ƒ  rD q |  j t | j ƒ r\ q |  j	 d | j d | j
 d | j ƒ q Wd |  _  |  j d ƒ d  S(   Ni   R]   t   labelt   object_typei    t   loadAllDataObj(   R,   R�   R   RF   t   countR]   t   get_dispobjt	   findChildRq   t
   addDataObjt
   name_labelR‰   Ro   (   R   t   obj_listRs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRŠ   ê   s    		")	c         C   s    | s
 d  S|  j t | ƒ } | S(   N(   Rh   R�   Rq   (   R   R]   t   widget(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt
   getDataObjú   s     c         C   s    | s
 d  S|  j t | ƒ } | S(   N(   Rh   R�   t   GDispObj(   R   R]   R‘   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt
   getDispObj  s     R   c         C   s¯   | s | d } n  |  j  j | ƒ sA t  |  d | ƒ|  j  | <n  |  j t | ƒ } | s� |  j  | j d |  d | d | ƒ } n  | s‹ d  S| rž | j ƒ  n  |  j d ƒ | S(   Nt    R‰   t   tableR]   Rˆ   RŽ   (   R+   Rd   R�   Rq   t   addGDataObjRh   t   updateDispObjRo   (   R   R‰   R]   Rˆ   R”   t	   graph_obj(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRŽ   
  s     (  c         C   sG  d |  _  |  j d | ƒ t d | ƒ } | rË | d j ƒ  } | d j ƒ  | rË xs | D]h } t d | ƒ } | r’ | d j ƒ  |  j | ƒ qY t d | ƒ } | rY | j ƒ  |  j | ƒ qY qY WqË n  d |  _  |  j d ƒ | rô t j	 ƒ  n  |  j  s&d Gd G| GH|  j
 t j d ƒ | ƒ n d GHt d d	 ƒ } t | ƒ d k rkd
 d  l } d | j j d <n  |  j t ƒ }	 t }
 d
 d  l } xJ |  j t ƒ D]9 } t | ƒ | j k sÌt | ƒ | j k rœt }
 qœqœW|
 rCt t ƒ  d ƒ rCt ƒ  j rCg  t ƒ  _ t ƒ  j j ƒ  t ƒ  j ƒ  t ƒ  j  ƒ  t t ƒ  _ n  d  S(   Ni   R]   i    R   R}   t   removeDataObjByNames   Emits blockedR‰   R   iÿÿÿÿRJ   t   bymolt   usingOldColours(!   R,   t   removeDataObjR�   t   getDependentsForDeletionR„   RŒ   t   removeDispObjRo   Rw   Rx   Rl   R   Rm   t   lent   modelR   t   colour_counterRp   Rq   R   R2   t   typeR4   R5   R   R‚   t   MGCOLOURRœ   t   rgbrepst   RGBRepst   cleart   load_defaultt   initialiseRGBReps(   R   R]   Rz   t   targett
   dependentst   dept
   dep_targett   dobjsR¡   t	   remainingt   mapMolDataLeftR2   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR     sP    	
	 	*%c         C   s}  g  } | d k r$ |  j  t ƒ } n. g  } |  j t | ƒ } | rR | j | ƒ n  x3 | D]+ } |  j j | ƒ rY |  j j | ƒ qY qY WxÆ | D]¾ } |  j  t ƒ } xB | D]: } t | d ƒ r« | |  j k rå |  j j | ƒ qå q« q« W| j	 ƒ  } | j | ƒ s| j | ƒ n  | j
 ƒ  | j t ƒ | r� t | d ƒ r� | j ƒ  q� q� Wx | D] } | j ƒ  qXW|  j d ƒ d  S(   Nt   allt   statusWidgetR|   R�   (   Rp   Rq   R�   Rƒ   R'   R‹   t   removeR“   R‚   t   parentWidgetR„   t	   setParentt   theDummyR|   t   setDataObjGeometryRo   (   R   R]   t
   group_listt   dataobj_listR†   t   dispobjsR_   t   group(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR�   N  s4       
c         C   sç   |  j  t | ƒ } | s¸ t j j | d ƒ } | r± | G| GH| d k ri |  j d | d d d d ƒ } qµ | d k r– |  j d | d d d d ƒ } qµ |  j d | d d ƒ } q¸ d  Sn  | j d | d | d	 | ƒ } |  j d
 ƒ | S(   NRJ   R   R‰   R”   i    R]   s   Legends&ImagesR   t   resizet
   addDispobj(   R�   Rq   R   RG   t   getRŽ   t   addGDispObjRo   (   R   t   parent_nameR‰   R]   R¼   R†   t   parent_typeRs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt
   addDispObjl  s    	!!c         C   s§   |  j  t | ƒ } | s d  St | d ƒ rP | |  j k rP |  j j | ƒ qP n  | j ƒ  j ƒ  } | j t ƒ | j ƒ  | j	 ƒ  | r– | j
 ƒ  n  |  j d ƒ d  S(   NR²   t   removeDispobj(   R�   R“   R‚   R'   R³   RH   Rµ   R¶   R„   R|   t   setBodyGeometryRo   (   R   R]   R¼   R_   R†   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRŸ   �  s     

 c         C   s‹   d d  l  } t | | j ƒ r' | } n	 | g } xJ | D]B } |  j | ƒ t d | ƒ } d G| G| GH| r7 | j ƒ  q7 q7 Wt j ƒ  d  S(   NiÿÿÿÿR]   t   deleteDispObj(   t   typest
   isinstancet   ListTypeRŸ   RŒ   R„   Rw   Rx   (   R   R]   RÆ   t   namelistRª   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÅ   ’  s    		c         C   s4   |  j  ƒ  } t j | ƒ } t t | j ƒ  ƒ d ƒ S(   Ni    (   t   fontR    t   QFontMetricsFt   maxR-   RY   (   R   RÊ   t   fm(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR.   ¢  s    c         C   s˜   d } xf |  j  t ƒ D]U } xL | j  t ƒ D]; } | d } | j ƒ  r, | t | j j  t ƒ ƒ } q, q, Wq W|  j ƒ  } | t j	 } t
 j | | ƒ S(   Ni    i   (   Rp   R+   Rq   Rr   R    t   bodyR“   Rj   R   R   R   t   QSize(   R   t   nrR®   t   datobjt   wt   h(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   sizeHintª  s    
'c         C   s
   |  j  ƒ  S(   N(   RÔ   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   minimumSizeHintµ  s    c   	      C   s¨  d } |  j  ƒ  } t j } xe t j D]Z } |  j j | ƒ r% |  j | j } |  j | j d | | | | | ƒ | | } q% q% Wxk |  j j ƒ  D]Z } t j j	 | ƒ s“ |  j | j } |  j | j d | | | | | ƒ | | } q“ q“ W| | } |  j
 | ƒ |  j ƒ  j ƒ  } d } | t | d ƒ k  rGt | d ƒ } n | | k r\| } n  d  S| d k r¤|  j ƒ  j t j |  j ƒ  j ƒ  j ƒ  | d ƒ ƒ n  d  S(   Ni    iÿÿÿÿi,  i   (   Rj   R   R   R3   R+   Rd   t   nRowst   setGeometryt   keysR‹   t   setFixedHeightRH   RY   t   mint   windowR¼   R   RÏ   t   sizeR	   (	   R   t   nrTotR	   RY   R‰   RÐ   t   required_heightt   current_heightt
   new_height(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setDataObjsGeometryº  s0    	%%
	c         C   s  d |  _  | sá xæ t ƒ  j D]¾ } | d d k r^ |  j d | d ƒ } | rÚ | j ƒ  qÚ q | d d k r³ t d | d ƒ } | rÚ | d } |  j d | j d | j ƒ qÚ q | d d k r |  j	 d | d ƒ q q Wn |  j	 d ƒ |  j
 ƒ  d |  _  | s|  j d	 ƒ n  d  S(
   Ni   i    t   update_DataObjR]   t   add_DataObjR‰   t   delete_DataObjR±   Rz   (   R,   t   HISTORYt
   update_guiR’   Rz   R�   RŽ   R‰   R]   R�   RŠ   Ro   (   R   R±   t   itemR‘   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRz   Û  s&    	 
"
	 c         C   s>   x! |  j  t ƒ D] } | j ƒ  q W|  j t j d ƒ ƒ d  S(   Nt   update_labels(   Rp   Rq   t   updateLabelRl   R   Rm   (   R   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   updateDataObjLabelsö  s    c         C   sÚ   |  j  j | ƒ r. | re |  j  j | ƒ qe n7 x |  j  D] } | j ƒ  q8 Wg  |  _  |  j  j | ƒ g  |  _ xe |  j  D]Z } | j ƒ  } t | t ƒ r¹ |  j j t	 d | ƒ d ƒ qx |  j j t
 d | ƒ ƒ qx Wd  S(   NR]   i    (   R'   R‹   R³   t   toggleMovingRƒ   R(   R€   RÇ   Rq   R�   RŒ   (   R   t   objectt   unsetRs   R]   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setMovingObjectû  s     		 c         C   sf   x |  j  D] } | j | ƒ q
 Wx |  j D] } | j ƒ  q+ Wd d  l } | j ƒ  t ƒ  j ƒ  d  S(   Niÿÿÿÿ(   R(   t	   transformR'   t   updateAfterMovingRw   Rx   t
   MAINWINDOWt   updateGLWindows(   R   t   glwidgetRs   Rw   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   handleObjectMoving  s    
c         C   s(   x! |  j  t ƒ D] } | j ƒ  q Wd  S(   N(   Rp   Rq   t   Exit(   R   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRõ     s    N(1   t   __name__t
   __module__R   R   R   R
   R   R/   RT   Rc   t   label_columnsR   R   R9   RE   RF   RG   R   R   R   R   Rh   R   R*   R1   Rg   Rj   Ro   Rt   Ry   R‡   RŠ   R’   R”   RŽ   R   R�   RÂ   RŸ   RÅ   R.   RÔ   RÕ   Rá   Rz   Rê   Rî   Rô   Rõ   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR   1   sZ   				5				5				!		R+   c           B   s2   e  Z d d  d „ Z d d  d  d „ Z d „  Z RS(   RJ   c         C   s,   t  t |  ƒ j | ƒ | |  _ d |  _ d  S(   Ni    (   R)   R+   R*   R‰   RÖ   (   R   RH   R‰   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   "  s    	c         C   sT   d  } t j j |  j ƒ rF t j |  j |  d | d | d | ƒ} n  |  j ƒ  | S(   NR–   R]   Rˆ   (   Rh   R   R9   Rd   R‰   R·   (   R   R–   R]   Rˆ   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR—   '  s
    +
c         C   sÊ   |  j  ƒ  d } t j } |  j ƒ  j ƒ  } x |  j t ƒ D]n } | j ƒ  r; | j ƒ  rx d t	 | j
 j t ƒ ƒ } n d } | j d | | | | | ƒ | | } q; q; W| |  _ |  j ƒ  j ƒ  d  S(   Ni    i   (   t   showR   R   RH   Rj   Rp   Rq   t	   isVisibleRr   R    RÎ   R“   R×   RÖ   R´   Rá   (   R   RÝ   RY   R	   RÑ   RÐ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR·   /  s    
		N(   Rö   R÷   Rh   R*   R—   R·   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR+      s   Rq   c           B   sF  e  Z d  d „ Z d d „ Z d d „ Z d „  Z d  d  d d d d	 „ Z d
 „  Z d „  Z	 d d „ Z
 d d „ Z d „  Z d „  Z d „  Z d d „ Z d d d d „ Z d „  Z d „  Z g  d  d d „ Z d d „ Z d „  Z d d d „ Z d d „ Z d  d „ Z d „  Z d „  Z d „  Z d d „ Z d d d „ Z RS(!   t   iconc         C   s`   | d k r\ t  j |  j ƒ |  j d d ƒ } | r\ t  j |  |  j | |  j d d ƒq\ n  d  S(   NRû   R]   t   default_iconRJ   (   t   guiUtilst	   clearMenut   iconMenut	   getGuiDeft   populateMenut   getActionDef(   R   R]   t   defn(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt
   updateMenuB  s
    i   c         C   s¢   d |  j  } | r& |  j j d ƒ n |  j j d ƒ |  j j | ƒ | |  _  t d |  j ƒ  ƒ d j d |  j  ƒ |  j ƒ  j	 ƒ  | rž t
 ƒ  j j ƒ  n  d  S(   Ni   s	   toc-minuss   toc-plusR]   i    t   expanded(   t   opent
   treeWidgett	   resetIconRÎ   t
   setVisibleR�   R€   t   set_expandedR´   R·   Rñ   t   wMGDisplayTablet   updateWidth(   R   R  Rb   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   toggleBodyVisibilityK  s    	& iÿÿÿÿc         C   s¦   | d k  rW |  j  d k r. |  j d d ƒ n |  j d d ƒ |  j j |  d d ƒnK |  j d | ƒ | d k rŒ |  j j |  d d ƒn |  j j |  d d ƒd  S(   Ni    i   t   movingRí   (   t   statust	   setStatusR–   Rî   (   R   Rn   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRë   Z  s    c         C   s   d  S(   N(    (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRð   k  s    RJ   i    c         C   s  d |  _  | |  _ d |  _ | |  _ t t |  ƒ j | ƒ |  j t j	 j
 ƒ |  j | ƒ t j } t j |  ƒ |  _ t j |  ƒ |  _ |  j j d d |  j j ƒ  | ƒ |  j j d | |  j j ƒ  d ƒ t |  d ƒ |  _ t |  d ƒ |  _ |  j |  j t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ |  j ƒ  j } t | ƒ } | rc| j ƒ  }	 n d }	 | r~| j ƒ  }
 n d }
 |
 d k r£|  j d d ƒ n  t  |  d | j! | d	 |	 ƒƒ|  _" t j# |  ƒ |  _$ |  j" j% |  j$ ƒ |  j |  j$ t j d
 ƒ t& j' |  j( d ƒ ƒ |  j |  j" t j d ƒ |  j) ƒ t j* |  ƒ } | j d ƒ |  j+ ƒ  |  j j d d | | ƒ |  j j |  j j, | d | | ƒ |  j" j d |  j j, | d | | ƒ | j d |  j j, | d d d | | ƒ |  j j- d ƒ t& j. d |  ƒ }	 d  S(   Ni   i    t   blanks	   toc-minust   contextMenut   mouseReleaseR  Rû   Rb   s   aboutToShow()t   rightMouseReleaseRˆ   i   i
   t   data_visible(/   R  t	   autoCloseR  R–   R)   Rq   R*   t   setAttributeR   t   Qtt   WA_DeleteOnCloset   setObjectNameR   R   R    t   QWidgett   titleRÎ   R×   Rj   t   GTreeFeatureR²   R  t   connectRm   t   drawTreeMenuR  R´   R‰   t   datat   get_visibilityt   get_expandedt   mgIconButtonRg   t
   iconButtont   QMenuRÿ   t   setMenuRý   t   partialR  t   handleButtonClickt   QLabelRé   R   R	  t   createAction(   R   RH   R–   R]   Rˆ   R  RY   R‰   Rª   t   visR  t   lab(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   n  sP    					""""$."
#',c         C   s   d  S(   N(    (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRõ   «  s    c         C   s[   |  j  t ƒ } x | D] } | j ƒ  q W|  j  t j ƒ } x | D] } | j ƒ  qC Wd  S(   N(   Rp   R“   R„   R    t   QDialogR|   (   R   t   childrent   cc(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR„   ®  s    c         C   s�  |  j  t j d ƒ } | r‹| r1 | j | ƒ q‹t d |  j ƒ  ƒ } t | ƒ d k rh| d rht | d d ƒ rht | d j d ƒ rht	 | d j j
 ƒ rht | d j j
 ƒ  ƒ d  } t | d j d ƒ rUt	 | d j j ƒ rU| d j j ƒ  } d | k rU| | j d ƒ t d ƒ j d	 ƒ d j ƒ  d  } | d
 | d } qUn  | j | ƒ qhn  | r‹| j | d j ƒ  ƒ q‹n  d  S(   NRˆ   R]   i    t   molHndt   StructureTitlei–   t   Sources   ORGANISM_SCIENTIFIC:t   ;s    (t   )(   R�   R    R)  t   setTextR�   R€   R    R‚   R0  t   callableR1  t   strR2  t   findRU   t   stript
   setToolTipt	   get_label(   R   t   textR,  Rª   t   toolTipt   sourcet   organism(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRé   ¹  s     /,,4c         C   s›   d d g } |  j  d ƒ |  j  d ƒ g } d } | d k r` |  j | k r` d } | |  _ q` n  | r— |  j j | |  j ƒ |  j j | |  j ƒ n  d  S(   NR  R  s   This object is not actives9   Move this object holding down x key and left/middle mousei    i   (   t   trR  R²   R  R:  (   R   R  t   iconst   toolTipsRz   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  Í  s    c         K   s,   |  j  t j d ƒ } | r( | j ƒ  n  d  S(   NR  (   R�   R    t   QActiont   trigger(   R   t   argsR+  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR(  Ý  s     c         C   s   |  j  S(   N(   R  (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRr   ã  s    c         C   s;  d d  l  } t |  d ƒ s0 t j |  ƒ |  _ n | j |  j ƒ |  j ƒ  r« |  j j |  j d ƒ ƒ } | j	 |  j d ƒ ƒ |  j
 | t j d ƒ | j |  j d ƒ ƒ n\ |  j j |  j d ƒ ƒ } | j	 |  j d ƒ ƒ |  j
 | t j d ƒ | j |  j d	 ƒ ƒ |  j j |  j d
 ƒ ƒ } | j	 |  j d ƒ ƒ |  j
 | t j d ƒ | j |  j d ƒ ƒ |  j j |  j d ƒ ƒ } | j	 |  j d ƒ ƒ |  j
 | t j d ƒ | j |  j d ƒ ƒ |  j j |  j d ƒ ƒ } | j	 |  j d ƒ ƒ |  j
 | t j d ƒ | j |  j d ƒ ƒ |  j j t j | | ƒ ƒ d  S(   Niÿÿÿÿt   treeMenus   Hide display objectss/   Do not show display object in the display tables   triggered()R|   s   Show display objectss(   Show display object in the display tableR  s   Show for this data onlys;   Show display object for only this data in the display tablet	   open_thiss   Show all display objectss,   Show all display object in the display tablet   open_alls   Hide all display objectss,   Hide all display object in the display tablet	   close_all(   Rý   R‚   R    R%  RF  Rþ   Rr   t	   addActionR@  R:  R  R   Rm   R'  t   handleTreeMenut   popupt   QPoint(   R   t   xt   yRý   t   action(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  æ  s*    .++++c         C   s`  | d k r( |  j  ƒ  s\|  j ƒ  q\n4| d k rP |  j  ƒ  r\|  j ƒ  q\n| d k rÆ |  j  ƒ  s{ |  j d d ƒ n  xÞ |  j j t ƒ D]1 } | |  k rŽ | j  ƒ  rŽ | j d d ƒ qŽ qŽ Wn– | d k rx‡ |  j j t ƒ D]% } | j  ƒ  så | j d d ƒ qå qå WnK | d k r\x< |  j j t ƒ D]% } | j  ƒ  r0| j d d ƒ q0q0Wn  d  S(   NR  R|   RG  R  i    RH  RI  (   Rr   R  R–   Rp   Rq   (   R   Rn   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRK    s(          c         C   s\   t  j j | ƒ rK t  j | |  d |  j d | ƒ} | rG |  j ƒ  n  | Sd G| GHd  Sd  S(   NR–   R]   s4   Do not know how to make display table display object(   R   RE   Rd   R–   RÄ   Rh   (   R   R‰   R]   R¼   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR¿     s    " 	c         C   sM   |  j  j t ƒ } x* | D]" } t | d ƒ r | j ƒ  q q W|  j ƒ  d  S(   Nt
   for_delete(   RÎ   Rp   R“   R‚   R|   RÄ   (   R   t	   disp_listRs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   cleanupGDispObj!  s
    c         C   s,  |  j  r4 t |  j j t ƒ ƒ d k r4 |  j ƒ  nä t j } |  j j	 ƒ  } |  j j t ƒ } d } xI | d d !D]: } | j
 d | | | | ƒ | j j d ƒ | d } qr W| rë | d j
 d | | | | ƒ | d j j d ƒ n  |  j j
 d | | t | ƒ | ƒ |  j ƒ  |  j ƒ  j ƒ  d  S(   Ni    iÿÿÿÿt   tjunci   t   ljunc(   R  R    RÎ   Rp   R“   t   hideR   R   R–   Rj   R×   R  R  Rù   R´   R·   (   R   RY   R	   RR  RÐ   Rs   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÄ   )  s     '	#
c         C   s½   | r | d } | d } n  | s; t  d |  j ƒ  ƒ } n  | j d | ƒ } | r¹ t |  j t ƒ ƒ } |  j j d | j d | d | j ƒ } t	 j
 ƒ  | d k rµ t ƒ  j ƒ  n  | Sd S(   sf   
    Create a display object for parent 'target'  and add
    display object to the display table
    i    i   R]   R‰   RÀ   N(   R�   R€   t
   add_objectR    Rp   R“   R–   RÂ   R]   Rw   Rx   Rñ   t   handleRecentre(   R   RE  Rª   R‰   t   dobjt   ndispobjt   created_obj(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   add_dispobjB  s    
 
c         C   s6   t  d | ƒ } | r" | j ƒ  n  |  j j | ƒ d  S(   NR]   (   RŒ   R„   R–   RŸ   (   R   R]   Rª   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   del_dispobj_  s     c      
   C   s·   x3 |  j  j ƒ  D]" } |  j j | j ƒ  d d ƒq W|  j ƒ  } t d | ƒ } | r� xC | d j D]1 } |  j j d | d | j d | j	 d d ƒ qe Wn  |  j j
 | ƒ j ƒ  d  S(   NR¼   i    R]   RÀ   R‰   (   RÎ   R.  R–   RŸ   R€   R�   t   objinstsRÂ   R]   R‰   R’   RÄ   (   R   R_   R]   R†   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR˜   f  s     2c         C   s´   |  j  ƒ  j } | d k  r? t |  j t j d ƒ j ƒ  ƒ } n  |  j j |  j	 j
 | d | ƒƒ t d |  j ƒ  ƒ d j d | ƒ t ƒ  j t j d ƒ ƒ | r° t j ƒ  n  d  S(   Ni    R  Rb   R]   t
   visibilityt   visibilityChanged(   R´   R‰   R-   R�   R    RC  t	   isCheckedR$  t   setIconR–   Rg   R�   R€   Rv   t   DISPLAYTABLERl   R   Rm   Rw   Rx   (   R   Rb   Ru   R‰   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRv   v  s     $"# c         K   s   | d k r g  Sg  Sd  S(   Nt   context(    (   R   R]   t   info(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR   „  s    c         K   s³  | d k rI t  d |  j d ƒ d |  j d ƒ d |  j d d d	 | j ƒ S| d
 k r¢ t  d |  j d ƒ |  j ƒ  d |  j d ƒ d |  j d d d	 |  j d d ƒ S| d k rñ t  d |  j d ƒ d |  j d ƒ d t j |  j	 j
 |  j ƒ  ƒ ƒ S| d k r+t  d |  j d ƒ d |  j d ƒ d |  j ƒ S| d k ret  d |  j d ƒ d |  j d ƒ d |  j ƒ S| d k r«t  d |  j d ƒ d |  j d ƒ d t j |  j d ƒ ƒ Si  Sd  S(   NR  R<  t   Visiblet   tips3   Toggle all of this data object visible or invisiblet   slott	   checkablei   t   checkedt   moves   Move s$   Move this data object with the mouset   deleteLateri    t   data_deletet   Deletes   Delete this data objectt   data_list_datas	   List datas   List data file in file viewert
   data_clonet   Clones2   Load the data object again with one display objectt   data_clone_dispobjs   Clone all displays8   Load the data object again with the same display objects(   t   dictR@  Rv   R!  R€   Rë   t   isMovingRý   R'  R–   R   t   listDatat   clone(   R   R]   Rª   Re  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  �  sB    	
		

c         C   s   |  j  d k S(   Ni   (   R  (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRt  Á  s    c   	   	   C   sƒ  t  d |  j ƒ  ƒ } | s d  S| d } xJ| j D]?} | d d k r€ |  j ƒ  j } |  j j |  j j | d | j	 ƒƒ q3 | d d k rÛ t
 d | d ƒ } | rr|  j j d |  j ƒ  d | j d | d ƒ qrq3 | d d k r|  j j | d ƒ q3 | d d	 k r/|  j t | d ƒ j ƒ  q3 | d d
 k r3 d d  l } x$|  j t j ƒ D]} | j ƒ  |  k r^| j ƒ  } d g j | ƒ sk|  j | ƒ } | j d ƒ rt | d | j ƒ râ| j t | d ƒ ƒ qy | j | d ƒ  ƒ WqqXn  | j d ƒ rht | d | j ƒ r@| j | d ƒ qey | j | d ƒ  ƒ WqeqeXqhqkq^q^Wq3 q3 Wg  | _ d  S(   NR]   i    Rb   t   addi   RÀ   R‰   R„   t   update_DispObjRz   iÿÿÿÿRj  t   enabled(   R�   R€   Ræ   R´   R‰   R$  Rb  R–   Rg   Rb   RŒ   RÂ   RŸ   R�   R“   Rz   RÆ   Rp   R    RC  RH   R‹   R  Rd   RÇ   t   IntTypet
   setCheckedR-   t
   setEnabled(	   R   Rª   Rç   R‰   Rs   RÆ   R‘   R]   R  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRz   Æ  sL     
(2c         C   sY   t  |  j ƒ  ƒ } | rU | j ƒ  } | rU t d ƒ } | j | | j d ƒ } qU n  d  S(   Nt   data_listingi   (   R   R€   t	   list_datat
   FILEVIEWERt   loadTextt   filename(   R   Rª   R<  t   viewerRÛ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRu  õ  s    c         C   s  | j  ƒ  } d | d | d | d f } |  j d ƒ | j d d ƒ d |  j d	 ƒ | d |  j d
 ƒ | j ƒ  j d |  j d ƒ | j ƒ  j d |  j d ƒ | j ƒ  j d d | d } t j	 |  ƒ } | j
 d | j ƒ  ƒ | j | ƒ | j t j j ƒ | j ƒ  d  S(   Ns   %8.2f %8.2f %8.2fi    i   i   s   Picked t   formatt   fulls   
s
   Position: s   Display object: s   Data object: s   Data file: s   

s   Info (   t   getPickPositionR@  t   getLabelR”   R]   R’   R�   R�  R    t   QMessageBoxt   setWindowTitleR5  t   setWindowModalityR   R  t   NonModalRù   (   R   t   eventR<  t   post   pos_textt   outt   box(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   pickInfoý  s    žc         C   sû   t  d |  j ƒ  ƒ } | s d  S| d } | j d | d | ƒ } | sK d  S| r¶ xl | j D]T } | j d | j d | j d | j ƒ  d | j ƒ  d | j	 ƒ  d	 | j
 ƒ  ƒ } q[ Wn
 | j ƒ  |  j j d | j d | j d
 t | d d ƒ d d ƒ d  S(   NR]   i    t   withDispobjR‰   Rb   t   paramst	   selparamst	   colparamst   styleparamsRˆ   R�   RJ   R”   i   (   R�   R€   Rv  R^  RW  R‰   Rb   R’  R“  R”  R•  R–   RŽ   R]   t   getattr(   R   R‘  R]   Rª   t   new_datat   dispt   new_disp(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRv    s     
 "
N(   Rö   R÷   R  R  Rë   Rð   Rh   R*   Rõ   R„   Ré   R  R(  Rr   R  RK  R¿   RS  RÄ   R\  R]  R˜   Rv   R   R  Rt  Rz   Ru  R�  Rv  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRq   @  s6   		=										4		/	R“   c           B   sé   e  Z d d  d  d „ Z d „  Z d „  Z d d „ Z d „  Z d d „ Z d „  Z	 d  d	 „ Z
 d
 „  Z d  d „ Z 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 RS(   RJ   c      
   C   s’  | |  _  d |  _ t t |  ƒ j | j ƒ |  j | ƒ | |  _ d |  _ t	 j
 } t |  d ƒ |  _ |  j j d d | | ƒ t |  d ƒ |  _ |  j j d |  j  j | d | | ƒ t d | ƒ } | sÙ | d k râ d } n | j ƒ  } t |  d | j | d | ƒƒ|  _ |  j j d	 |  j  j | d | | ƒ t j |  ƒ |  _ |  j j |  j ƒ |  j |  j t j d
 ƒ t j |  j d ƒ ƒ |  j |  j t j d ƒ |  j ƒ t d |  j ƒ |  _  t	 j! } d }	 d |  j  j | }
 |  j" ƒ  } d } | d k  rFx? | D]4 } | j# d ƒ } t$ | ƒ d k r| d } qqWn  | rit% | ƒ t& | ƒ | } n | } d } x| D]} |	 d }	 | j# d ƒ } | d d k r,t' j( |  ƒ |  j  | <|  j  | j) t' j( j* ƒ t j |  ƒ } |  j  | j | ƒ |  j | t j d
 ƒ t j |  j | ƒ ƒ nÙ| d d k rd d  l+ } d } d } | j, d ƒ r‚| d d } | d d } n  | j- t j. j/ |  ƒ |  j  | <|  j  | j0 | j# d | ƒ | j# d | ƒ ƒ | j1 t j. j/ |  ƒ |  j  | d <|  j  | d j0 | j# d | ƒ | j# d | ƒ ƒ | d k  rx|  j  | d j |
 d t2 | | d	 ƒ | ƒ | t2 | | ƒ } n+ |  j  | d j |
 d t2 | | ƒ | ƒ |  j  rá|  j  j3 rá|  j  | d j4 ƒ  |  j  | j5 ƒ  n& |  j  | d j5 ƒ  |  j  | j4 ƒ  | j# d d ƒ r|  j |  j  | t j d ƒ | d ƒ |  j |  j  | d t j d ƒ | d ƒ |  j |  j  | t j d ƒ t6 j |  j7 |  j  | d |  j  | ƒ ƒ |  j |  j  | d t j d ƒ t6 j |  j7 |  j  | |  j  | d ƒ ƒ qn| d d k r t' j8 t j. j/ |  ƒ |  j  | <|  j  | j0 | j# d d ƒ | j# d d ƒ ƒ | j# d d ƒ r|  j |  j  | t j d ƒ | d ƒ qne | d d k rt' j( |  ƒ |  j  | <| j# d d ƒ r|  j |  j  | t j d ƒ | d ƒ qn  |  j9 | ƒ |  j  | j |
 d t2 | | ƒ | ƒ |
 t2 | | ƒ | }
 | j# d d ƒ } | r||  j  | j: | ƒ q|q|W|  j4 ƒ  d  S(   Ni    RJ   R  RT  i   R]   Rû   Rb   i   s   aboutToShow()R  i   i   Rn   t   VALUESLIDERt   MENUiÿÿÿÿiç  t   ranget   minimumt   maximumt   _docked_t   callbacks   valueChanged(double)t   SLIDERs   valueChanged(int)t
   PUSHBUTTONs
   released()R=  (;   R–   R  R)   R“   R*   RÎ   R  R‰   t
   type_labelR   R   R  R²   R×   R  R   RŒ   R!  R#  Rg   R$  Rý   t   mgMenuRÿ   R&  R  R   Rm   R'  R  R(  Rs  t   widgetsR   R   R¾   R7  t   floatR    R    t   QToolButtont   setPopupModet   InstantPopupt	   mgWidgetsRd   t   mgSliderR  t
   Horizontalt   setRanget   DropDownSliderWithValueR-   R   Rù   RV  t	   functoolst   updateAlternativet   QSliderRé   R:  (   R   RH   R–   R]   R‰   RÒ   Rª   Rb   t   bwt   iRN  t   format_listt   nsliderRƒ  Rn   t   widthFactort   offsett   menuRª  R�  Rž  R=  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   4  s¬    					'	$'."	
./#3/+'+GQ/--' c         C   s7   | j  ƒ  } | j t ƒ | j | ƒ | j t ƒ d  S(   N(   t   valuet   blockSignalsR   t   setValueR   (   R   t   toChanget   changedt   val(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR°  š  s    c         C   s1   |  j  t j ƒ } x | D] } | j ƒ  q Wd  S(   N(   Rp   R    R-  R|   (   R   R.  R/  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR„      s    iÿÿÿÿc         C   sk   | d k  rA |  j  d k r. |  j d d ƒ qQ |  j d d ƒ n |  j d | ƒ |  j j |  d d ƒd  S(   Ni    i   R  Rí   (   R  R  R–   Rî   (   R   Rn   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRë   ¦  s    c         C   s   d  S(   N(    (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRð   ³  s    c         C   sf   d d g } d } | d k rB |  j  | k rB d } | |  _  qB n  | rb |  j j | |  j  ƒ n  d  S(   NR  R  i    i   (   R  R²   R  (   R   R  RA  Rz   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  ¶  s    c         K   s>   |  j  t j d ƒ } | s0 t j d |  ƒ } n  | j ƒ  d  S(   NRb   (   R�   R    RC  Rý   R*  RD  (   R   RE  R+  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR(  Ã  s    c         C   sM   t  j |  j | j ƒ  ƒ t  j |  |  j | j ƒ  |  j | ƒ d d ƒd  S(   NRü   RJ   (   Rý   Rþ   R¥  R¸  R  R   (   R   t   menuName(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  Ð  s    c         C   sš   t  d |  j ƒ  ƒ } | j ƒ  } t |  d ƒ s| d d  l } | j t ƒ  d | ƒ|  _ |  j |  j t	 j
 d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  d  S(   NR]   t   colour_browser_guiiÿÿÿÿt   selected_colourt   ColourSelected(   RŒ   R€   t   get_colour_labelR‚   Rª  t   mgColourBrowserRñ   RÀ  R  R   Rm   t   set_browser_colourRù   t   raise_(   R   Rª   RÁ  Rª  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   colour_browser×  s    %c         C   sF   | rB t  d |  j ƒ  ƒ } | j | ƒ |  j d ƒ t j ƒ  n  d  S(   NR]   t   colour(   RŒ   R€   t
   set_colourRé   Rw   Rx   (   R   RÈ  Rª   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÅ  ã  s
    c         K   s   g  S(   N(    (   R   R]   Re  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR   í  s    c            sZ  | d k ra t  ˆ  d ƒ rVt d |  j d ƒ d |  j d ƒ d |  j d d d	 ˆ  j d
 d ƒ Snõ| 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 t d ƒ !d k rZ‡  f d †  } t d d d t j ˆ  j
 ƒ d d d	 | ƒ S| d k rµ‡  f d †  } t d |  j d ƒ d |  j d ƒ d ˆ  j d d d	 | d
 d ƒ S| d k r‡  f d †  } t d |  j d ƒ d |  j d ƒ d |  j d d d	 | d
 d ƒ S| d k r_t d |  j d ƒ d |  j d ƒ d t j |  j j |  j ƒ  ƒ ƒ S| d  k rŸt d |  j d! ƒ d |  j d" ƒ d |  j d# d ƒ S| d$ k rÇt d |  j d% ƒ d# d ƒ S| d& k r‡  f d' †  } t d |  j d( ƒ d |  j d d d	 | d) |  j d* ƒ ƒ S| d+ k rVt d |  j d, ƒ d) |  j d- ƒ d |  j ƒ Si  S(.   s1   
    Generic action definitions for GDispObj
    Rb   R<  Rf  Rg  s,   Toggle this display object visible/invisibleRh  Ri  i   Rj  Rl  i    t   apply_biomoleculec              s   t  ˆ  j t k ƒ S(   N(   R-   t   doBiomoleculeR   (    (   Rª   (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   c  s    s   Show biomoleculet   apply_symmetryc              s   t  ˆ  j t k ƒ S(   N(   R-   t
   doSymmetryR   (    (   Rª   (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÌ    s    s   Apply symmetryt   draw_centralc              s   t  ˆ  j t k ƒ S(   N(   R-   t   doCentralSymmetryR   (    (   Rª   (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÌ    s    s   Draw central copyt   flashc              s
   ˆ  j  ƒ  S(   N(   t
   isFlashing(    (   Rª   (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÌ    s    t   Flashs*   Start or stop this display object flashingt   transparencyc              s   t  ˆ  j d k ƒ S(   Ng®Gáz®ï?(   R-   t   opacity(    (   Rª   (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÌ  )  s    s   Set transparencys*   Set the transparency level for this objectR„   Rn  s   Delete this display objectRv  Rq  s.   Make a new display object the same as this oneRy  t   helpt   Helpt   custom_drawing_stylec              s   t  ˆ  d ƒ S(   Nt   drawingStylePM(   R‚   (    (   Rª   (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÌ  I  s    s   Custom drawing styleR=  s&   Customise display style of this objectR~  s	   List datas   List or write to file(   R‚   Rs  R@  Rv   R!  R    Rý   R'  t   toggleBiomoleculet   toggleSymmetryStatust   toggleCentralSymmetryStatust   set_flashingt   openTransparencyGuiR–   RÅ   R€   Rv  t   displayStyleGuiRu  (   R   R]   Rª   Re  RÌ  (    (   Rª   s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  ò  s�    		
				
c         C   sŸ   t  d |  j ƒ  ƒ } | d k  r4 d | j ƒ  } n  |  j j |  j j |  j d | ƒƒ t  d |  j ƒ  ƒ j d | ƒ t	 ƒ  j
 t j d ƒ ƒ t j ƒ  d  S(   NR]   i    i   Rb   R_  R`  (   RŒ   R€   R!  R$  Rb  R–   Rg   R‰   Rv   Rc  Rl   R   Rm   Rw   Rx   (   R   Rb   Rª   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRv   [  s     %c         C   s„   t  d |  j ƒ  ƒ } | s d  S| j ƒ  } t d ƒ } | sA d  Sd G| GH| j | d |  j d | j j ƒ} | j d d ƒ d  S(   NR]   R}  s   GDispObj.listDataR  R•   t   stylet   fixed_width(	   RŒ   R€   R~  R  R€  R£  RH   R�   t   setFont(   R   Rª   R<  R‚  RÛ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRu  k  s      	&c         C   sU  t  |  d ƒ s7d d  l } t d |  j ƒ  ƒ } t j |  ƒ |  _ |  j j |  j ƒ  d ƒ t j ƒ  } | j	 t j
 d ƒ ƒ | j t j j |  ƒ |  _ |  j j d ƒ |  j j d d ƒ |  j j d	 ƒ |  j j | j ƒ |  j j j d
 ƒ | j	 |  j ƒ |  j j | ƒ |  j |  j t j d ƒ |  j ƒ n  |  j j ƒ  |  j j ƒ  d  S(   Nt   transparencyGuiiÿÿÿÿR]   RÔ  t   Opacityi    g        g      ð?g{®Gáz”?i   s   valueChanged(double)(   R‚   Rª  RŒ   R€   R    R-  Rã  Rˆ  t   QHBoxLayoutt	   addWidgetR)  R«  R   R  R¬  t   transpararencySlidert   setImmediateModeR­  t   setSingleStepR»  RÕ  t   slidert   setTrackingt	   setLayoutR  Rm   t   setTransparencyRù   RÆ  (   R   Rª  Rª   t   layout(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRÞ  x  s$    %c         C   s=   t  |  d ƒ s d  St d |  j ƒ  ƒ j | ƒ t j ƒ  d  S(   NRç  R]   (   R‚   RŒ   R€   t   set_opacityRw   Rx   (   R   R¹  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRí  �  s     c         C   s'  t  d |  j ƒ  ƒ } | j d d ƒ } |  j t j | j ƒ sd d  l } t j |  ƒ } | j	 t
 j j ƒ | j | j ƒ t j ƒ  } t j |  ƒ } | j | ƒ | j | d | ƒ} | j | j ƒ | j | ƒ | j d ƒ | j t
 j j ƒ | j |  ƒ } xT d d d d	 g D]@ }	 |  j | j t j |	 ƒ t
 j d
 ƒ t j |  j |	 ƒ ƒ qWt j d ƒ }
 t j  d k r„d } n d } |
 j! |
 j" d | d ƒ ƒ |  j |
 t
 j d ƒ t j |  j d ƒ ƒ | j# ƒ  j |
 ƒ | j | ƒ | j$ | ƒ n  | j% ƒ  j& ƒ  | j% ƒ  j' ƒ  d  S(   NR]   t   customi   iÿÿÿÿt   pmt   applyt   resetRÖ  R|   s
   released()s   Reset to globalt   darwint   QtMGt   Editsa   Remove custom preferences for this object
and put back under control of global preferences.
i.e. s1   ->Preferences->Model display->Model drawing styles   clicked(bool)t   global((   RŒ   R€   t   getDrawingStylePMR�   R    R  R]   t   mgPreferencesR-  R  R   R  R  Rˆ  R  t   QVBoxLayoutt   QScrollAreaRæ  t   paramsManagerGuiR  t	   setWidgett   setWidgetResizablet   setHorizontalScrollBarPolicyt   ScrollBarAlwaysOfft   preferenceButtonsR  Rm   Rý   R'  t   handleStyleGuit   QPushButtont   syst   platformR:  R@  Rî  Rì  RÛ   Rù   RÆ  (   R   Rª   Rñ  Rù  t   dialogRî  t
   scrollareat   styleGuit   buttonsRç   t   resetDefaultst   prefMenu(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRß  —  s:    >	+c         C   s  t  d |  j ƒ  ƒ } | j ƒ  } |  j t j | j ƒ } | d k r[ | j | j ƒ  ƒ n¾ | d k rt | j	 ƒ  n¥ | d k r� | j
 ƒ  nŒ | d k r¬ | j ƒ  j ƒ  nm | d k rt d ƒ } | j ƒ  j ƒ  | j ƒ  } | j | j ƒ  ƒ | j ƒ  t ƒ  j t j d ƒ ƒ n  d  S(	   NR]   Rò  Ró  RÖ  R|   R÷  t   model_drawing_stylet   CustomDrawingStyleChanged(   RŒ   R€   Rø  R�   R    R  R]   t	   setparamst	   getParamsR
  RÖ  RÛ   R|   t   PMt	   getparamst   removeCustomDrawingStyleRc  Rl   R   Rm   (   R   Rç   Rª   Rñ  R  t   globalPMt   oldpm(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  À  s$    
c         C   sß  d d  l  } |  j d ƒ } d } t d ƒ j ƒ  d } x¡| D]™} | j d d ƒ | k r> | r� | j d ƒ r� | d ƒ  } n  | j d ƒ r  | d ƒ  } n; | j d	 ƒ r¿ | d	 ƒ  } n | j d
 ƒ rÛ | d
 } n  d d g j | d ƒ rI|  j | j | ƒ |  j j | d ƒ rÔ|  j | d j |  j | j	 ƒ  ƒ qÔq×t
 | ƒ t j k r‡|  j | j | d t j d !d ƒ n |  j | j | ƒ | d k rÂ|  j | j d | ƒ n  | d k ré|  j | j d | ƒ n  | d k r|  j | j d | ƒ n  t |  j | d ƒ r×t |  j | d ƒ r‚t ƒ  j re|  j | j t j j ƒ q‚|  j | j t j j ƒ n  d d  l } | r±t | ƒ t j k r»t j | ƒ }	 n¿ | j j | ƒ rßt j | ƒ }	 n› | j ƒ  j | ƒ d k rn| j ƒ  j | ƒ }
 t j  ƒ  } | j! |
 d |
 d |
 d d ƒ t j" d d ƒ } | j# | ƒ t j | ƒ }	 n t j ƒ  }	 |  j | j$ |	 ƒ |  j | j% t j& d d ƒ ƒ qÔt j ƒ  }	 |  j | j$ |	 ƒ q×q> q> Wd  S(   Niÿÿÿÿt   rowRJ   t   advanced_optionst   iconized_display_tableR]   Rg   R†  t   getValueRˆ   R¡  Rš  Rn   RŸ  i    i   s   ..t	   selections(   Select atoms to draw.<br><br>Currently: RÈ  s(   Select colour scheme.<br><br>Currently: Rà  s    Select style.<br><br>Currently: Rb  t   setToolButtonStylei   i   ('   RN   R   R  R  R¾   Rd   R‹   R¥  R»  R¹  R    R   R   R5  R:  R‚   Rc  R   R  R   R  t   ToolButtonIconOnlyt   ToolButtonTextBesideIcont   cprimR£   R    Rf   RQ   Re   R¦   t   GetColourNumbert	   GetColourt   QColort   setRgbFRV   t   fillRb  t   setIconSizeRÏ   (   R   R‘   RN   t   row_defnRû   t   useIconsR  R<  R  t   theIcont   colst   colt   pixmap(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRé   Ú  sd    +)"#c         C   s–  t  d |  j ƒ  ƒ } xq| j D]f} | d d k r` |  j j |  j j |  j d | j ƒƒ q | d d k r |  j	 d ƒ } x | D] } |  j
 | d ƒ q† Wxá |  j t j ƒ D]Ê } | j ƒ  } d g j | ƒ s´ |  j | ƒ } | j d ƒ r1t | d ƒ r| j | d ƒ  ƒ q1| j | d ƒ n  | j d ƒ r~t | d ƒ rg| j | d ƒ  ƒ q{| j | d ƒ q~q´ q´ Wq q Wg  | _ d  S(   NR]   i    Rb   Rz   R  Rj  Ry  (   RŒ   R€   Ræ   R$  Rb  R–   Rg   R‰   Rb   R   Ré   Rp   R    RC  R‹   R  Rd   R6  R{  R|  (   R   Rª   Rç   t   row_defR  R‘   R]   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRz     s,    "c         C   sÒ  t  d |  j ƒ  ƒ } | s d  St j | j ƒ  ƒ } | j ƒ  } | j ƒ  } | j ƒ  } t } | j	 d ƒ rt
 } t j d k rµ d d  l } d  | _ d  | _ | j ƒ  j ƒ  } n6 d d  l }	 |	 j ƒ  j d ƒ j d ƒ j d d ƒ } t | d ƒ }
 | d | } | j d ƒ n  | j j d	 | j d
 d d | d | d | d | ƒ } | sYd  S| r�| j d | d d ƒ } | j |
 j ƒ  ƒ n  |  j j  d | j j! d	 | j d | j! ƒ d d  l" } | j# ƒ  d  S(   NR]   t   drawing_stylet   win32iÿÿÿÿt   {t   }t   -RJ   R‰   Rb   i   R’  R“  R”  R•  Rð  RÀ   ($   RŒ   R€   t   copyt   deepcopyR’  R“  R”  R•  R   Rd   R   R  R  t   uuidRh   t   _uuid_generate_timet   _uuid_generate_randomt   uuid4t   get_hext   msilibt   gen_uuidR9  t   replaceR  t   popRH   RW  R‰   Rø  R  R  R–   RÂ   R]   Rw   Rx   (   R   Rª   R’  R“  R”  R•  t   doDrawingStyleR2  t   uuid_strR7  t   pmoldR]   RY  Rñ  Rw   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRv  9  s@     		* N(   Rö   R÷   Rh   R*   R°  R„   Rë   Rð   R  R(  R  RÇ  RÅ  R   R  Rv   Ru  RÞ  Rí  Rß  R  Ré   Rz   Rv  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR“   .  s*   f					
i				)	<	#R  c           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sp   t  t |  ƒ j | ƒ t j } | j | ƒ rl |  j | | ƒ | | j ƒ  rl |  j | | j	 ƒ  ƒ ql n  d  S(   N(
   R)   R  R*   R   RT   Rd   t	   setPixmapt	   isQBitmapt   setMaskt   mask(   R   RH   t   featuret   pmaps(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   l  s    	 c         C   sq   | j  ƒ  t j j k rM | j ƒ  |  j t j d ƒ | j ƒ  | j ƒ  ƒ n  | j ƒ  |  j t j d ƒ ƒ d  S(   NR  R  (	   t   buttonR   R  t   RightButtont   acceptRl   Rm   t   globalXt   globalY(   R   R‹  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   mouseReleaseEventt  s
    
+
c         C   sZ   t  j } | j | ƒ rV |  j | | ƒ | | j ƒ  rV |  j | | j ƒ  ƒ qV n  d  S(   N(   R   RT   Rd   R>  R?  R@  RA  (   R   RB  RC  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  ~  s
    	 (   Rö   R÷   R*   RI  R  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  g  s   		
t   DispWindowCorec           B   sA   e  Z d  „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   t	   theWidget(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setObjectsChangedˆ  s    i    c         C   sg   d G|  j  G| GH| |  j  k r# d  S| rC |  j t j |  j ƒ n |  j t j |  j ƒ | |  _  d  S(   Ns   DispWindow.setWidth(   t   compactt   setFixedWidthR   R0   t   scrollWidthR	   (   R   RM  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   setWidth‹  s     c         C   s$   |  j  d |  j j ƒ  j ƒ  ƒ d  S(   Ni   (   RP  R  R‘   Rt   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR  •  s    c         C   s   |  j  ƒ  d  S(   N(   RV  (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   Close™  s    c         C   s°   |  j  j ƒ  |  j  j d ƒ } |  j  j d ƒ } x9 d d g D]+ } t j | |  j ƒ  ƒ } | j | ƒ q> Wx< d d d g D]+ } t j | |  j ƒ  ƒ } | j | ƒ q} Wd  S(   Ns   For all datas   For all display objectst   all_data_hidet   all_data_showt   all_disp_labelst   all_disp_flashingt   all_disp_transparency(   t	   stuffMenuR§   t   addMenuRý   R*  RH   RJ  (   R   t   alldatat   alldot   action_nameRP  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   populateStuffMenuœ  s    c         C   s_   |  j  j ƒ  xK |  j ƒ  j d d d D]. } t j | |  j ƒ  ƒ } |  j  j | ƒ q) Wd  S(   Nt   _file_createi    i   (   t
   createMenuR§   RH   t   menuDefinitionsRý   R*  RJ  (   R   R[  RP  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   populateCreateMenu§  s    "(   Rö   R÷   RL  RP  R  RQ  R\  R`  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRJ  †  s   	
			t   DispWindowNoDockc           B   s)   e  Z d  „  Z d d d „ Z d „  Z RS(   c         C   s1   |  j  t ƒ t ƒ  j d d ƒ |  j  t ƒ d  S(   NR±   i   (   Rº  R   Rc  Rz   R   (   R   RK  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRL  ¯  s    c         C   sò  t  j  j |  | ƒ d |  _ d |  j d <t j ƒ  } t j ƒ  } t j |  ƒ } | j d ƒ t j	 |  ƒ |  _
 | j |  j
 ƒ | j t j j ƒ | j | ƒ t j |  ƒ } t j	 |  ƒ |  _ | j |  j ƒ | j t j j ƒ | j d ƒ | j | ƒ | j d ƒ | j | ƒ |  j ƒ  |  j ƒ  |  j | ƒ | j t t t t ƒ t j ƒ  |  _ | j |  j ƒ |  j j | ƒ |  j j d ƒ |  j j t j j ƒ |  j j ƒ  j  ƒ  |  _! d |  _" |  j# ƒ  |  j$ |  j% d	 ƒ ƒ |  j& ƒ  d  S(
   Nt   Windowss   Ctrl+Dt   shortcuts   Create objectt   Toolsi   i   iÿÿÿÿs   Display Table('   t   MGSimpleDialogR*   R¸  t	   menu_defnR    Rú  Rå  R§  R5  R%  R^  R&  R¨  R©  Ræ  RW  t
   addStretcht	   addLayoutR`  R\  Rì  t   setContentsMarginst   marginRû  R  Rý  Rþ  Rÿ  R   R  R   t   verticalScrollBarRY   RO  RM  RP  Rˆ  R@  t   CreateMenuEntry(   R   RH   R   Rî  t   tbLayoutt   tbt   tb2(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   ´  sB    	

	
c         C   s'   t  j  j |  ƒ t ƒ  j d d ƒ d  S(   NR±   i   (   Re  t   UnCloseRc  Rz   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRp  ß  s    N(   Rö   R÷   RL  Rh   R*   Rp  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRa  ­  s   	+t   DispWindowDockc           B   sŒ   e  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d d e
 j j d „ Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z RS(   sŽ  
  def resizeEvent(self,e):
      if self.size().width()>=500 and e.oldSize().width()<500:
          MAINWINDOW().MGDisplayTable.setFloatingSize()
          self.redoDockFloatingSize(self.dockWidget.isTopLevel())
      if self.size().width()<500 and e.oldSize().width()>=500:
          MAINWINDOW().MGDisplayTable.setDockedSize()
          self.redoDockFloatingSize(self.dockWidget.isTopLevel())
  i    c         C   s   d  S(   N(    (   R   RM  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRP  ò  s    c         C   s   d G| GHt  j j ƒ  d  S(   Nt   dockLocationChanged(   R  t   stdoutt   flush(   R   t   loc(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRr  õ  s    	 c         C   s�   t  ƒ  r™ t t  ƒ  d ƒ r™ | rD t  ƒ  j j ƒ  t  ƒ  j j ƒ  nE |  j ƒ  d k  ri t  ƒ  j j ƒ  n t  ƒ  j j ƒ  t  ƒ  j j ƒ  |  j | ƒ n  d  S(   NR   iô  (	   Rñ   R‚   R   R   R   R	   R   R   t   redoDockFloatingSize(   R   t   topLevel(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   topLevelChangedø  s    c         C   s1  t  ƒ  j j t ƒ } t j } t j } x{| D]s} d } d | j j | } | j ƒ  } d }	 | d k  r® x? | D]4 }
 |
 j	 d ƒ } t
 | ƒ d k rs |	 d }	 qs qs Wn  | rÑ t | ƒ t | ƒ |	 } n | } d } xÁ| D]¹}
 | d } |
 j	 d ƒ } |
 j	 d ƒ } t
 | ƒ d k r@| sþ| j j | d ƒ rê| j | d j ƒ  | d k  r§| j | d j | d t | | d	 ƒ | ƒ | t | | ƒ } n+ | j | d j | d t | | ƒ | ƒ | j | d j ƒ  n  | j | j ƒ  q@| j j | d ƒ r,| j | d j ƒ  n  | j | j ƒ  n  | j | j | d t | | ƒ | ƒ | j | j ƒ  | t | | ƒ | } | j | ƒ qä Wq. Wt  ƒ  j j t ƒ } t  ƒ  j j ƒ  } t  ƒ  j j ƒ  } x | D] } | j ƒ  qåW| r|  j j | d
 | d
 ƒ n  t  ƒ  j j ƒ  d  S(   Ni    i   i   Rn   Rš  i   R]   RŸ  i   i(   (   Rñ   R   Rp   R“   R   R   R–   R   R   R¾   R7  R¦  R    R¥  Rd   Rù   R×   R-   Rz   RV  Ré   Rq   Rj   RY   RÄ   t
   dockWidgetR¼   (   R   Rw  R¥  R²  RÒ   R‘   R³  RN  R´  Rµ  Rƒ  Rn   R¶  R·  R]   R	   RY   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRv    s\    		
/+'c         C   s  |  j  j ƒ  |  j  j d ƒ } |  j  j d ƒ } x? d d g D]1 } t j | |  j ƒ  j ƒ  ƒ } | j | ƒ q> WxB d d d g D]1 } t j | |  j ƒ  j ƒ  ƒ } | j | ƒ qƒ Wt j d |  j ƒ  j ƒ  ƒ } |  j  j | ƒ } t j d	 |  j ƒ  j ƒ  ƒ } |  j  j | ƒ } d  S(
   Ns   For all datas   For all display objectsRR  RS  RT  RU  RV  t   collapse_allt   show_all(   RW  R§   RX  Rý   R*  RH   RJ  (   R   RY  RZ  R[  RP  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR\  9  s    c         C   sk   |  j  j ƒ  xW |  j ƒ  j ƒ  j d d d D]4 } t j | |  j ƒ  j ƒ  ƒ } |  j  j | ƒ q/ Wd  S(   NR]  i    i   (   R^  R§   RH   R_  Rý   R*  RJ  (   R   R[  RP  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR`  H  s    (c         C   s�  t  j j |  d | ƒd |  _ d |  j d <t j ƒ  } t j ƒ  } t j |  ƒ } | j	 d ƒ t j
 |  ƒ |  _ | j |  j ƒ | j t j j ƒ | j | ƒ t j |  ƒ } t j
 |  ƒ |  _ | j |  j ƒ | j t j j ƒ | j	 d ƒ | j | ƒ | j t j j ƒ | j t j j ƒ | j t j j ƒ | j t j j ƒ | j | ƒ |  j ƒ  |  j ƒ  |  j | ƒ | j t t t t ƒ t j ƒ  |  _ | j |  j ƒ |  j j | ƒ |  j j d ƒ |  j j  t j j! ƒ |  j j" ƒ  j# ƒ  |  _$ |  j% |  j& t j' d ƒ |  j( ƒ d	 |  _) |  j* ƒ  |  j+ |  j, d
 ƒ ƒ |  j- ƒ  t. |  _/ |  j% |  j& t j' d ƒ |  j0 ƒ d  S(   Nt   defaultDockAreaRb  s   Ctrl+DRc  s   Create objectRd  i   s   topLevelChanged(bool)iÿÿÿÿs   Display Tables   visibilityChanged(bool)(1   Re  t   MGSimpleDockDialogR*   R¸  Rf  R    Rú  t   QToolBarR§  R5  R%  R^  R&  R¨  R©  Ræ  RW  t   setArrowTypeR   R  t	   DownArrowR  t   ToolButtonTextOnlyR`  R\  Rì  Ri  Rj  Rû  R  Rý  Rþ  Rÿ  R   Rk  RY   RO  R  Ry  Rm   Rx  RM  RP  Rˆ  R@  Rl  R   t   needUpdateAllR`  (   R   RH   R   R|  Rî  Rm  Rn  Ro  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   N  sN    	

"	

	c         C   s   t  j j |  ƒ d  S(   N(   Re  R}  Rp  (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   UnCloseNoUpdate€  s    c         C   s0   t  |  _ t j j |  ƒ t ƒ  j d d ƒ d  S(   NR±   i   (   R   R‚  Re  R}  Rp  Rc  Rz   (   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRp  ƒ  s    	c         C   sL   |  j  rH | rH t |  _  |  j t ƒ t ƒ  j d d ƒ |  j t ƒ n  d  S(   NR±   i   (   R‚  R   Rº  R   Rc  Rz   (   R   Rb   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR`  ‰  s
    	c         C   sF   |  j  rB t |  _  |  j t ƒ t ƒ  j d d ƒ |  j t ƒ n  d  S(   NR±   i   (   R‚  R   Rº  R   Rc  Rz   (   R   t   e(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt	   showEvent’  s
    		c         C   s¬   |  j  j ƒ  so t t ƒ  j |  j  ƒ ƒ d k so t t ƒ  j |  j  ƒ ƒ d k rŸ | j  t ƒ  j |  j  ƒ k rŸ |  j t ƒ t ƒ  j d d ƒ |  j t	 ƒ n	 t |  _
 d  S(   Ni    R±   i   (   Ry  t
   isFloatingR    Rñ   t   tabifiedDockWidgetsRº  R   Rc  Rz   R   R‚  (   R   RK  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRL  ›  s
    oN(   Rö   R÷   t   __doc__RP  Rr  Rx  Rv  R\  R`  Rh   R   R  t   RightDockWidgetAreaR*   Rƒ  Rp  R`  R…  RL  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRq  å  s   			4		2						R#  c           B   s    e  Z d d d  „ Z d „  Z RS(   c         C   sY   t  j j |  | ƒ |  j t  j j ƒ | r< |  j | ƒ n  |  j t j d d ƒ ƒ d  S(   Ni    (	   R    R§  R*   R¨  R©  Rb  R#  R   RÏ   (   R   RH   Rû   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR*   «  s
     c         C   sI   | j  ƒ  t j j k r; | j ƒ  |  j t j d ƒ ƒ n
 | j ƒ  d  S(   NR  (   RD  R   R  RE  RF  Rl   Rm   t   ignore(   R   R‹  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyRI  ²  s    
N(   Rö   R÷   Rh   R*   RI  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyR#  §  s   (   Rˆ  t   PyQt4R    R   R  R0  t   global_definitionsRw   Rý   Re  R¯  Rj  t   argvR  R¶   R   R+   Rq   R“   R)  R  RJ  Ra  R}  Rq  R§  R#  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/displayTable.pyt   <module>   s.   
ÿ ð ÿ ïÿ ÿ ;'8Â