ó
ÉÝ{Tc           @   s·  d  Z  d d l Z d d l Z d d l Z d d l m Z m Z y, e j d k rk d d l m Z e	 Z
 n  Wn e Z
 n Xd d l Z d d l Tg  d d d „ Z g  d d d d	 „ Z d
 „  Z d „  Z 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 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 S(    s{  
     qtgui/mgFileViewer.py: CCP4MG Molecular Graphics Program
     Copyright (C) 2001-2008 University of York, CCLRC
     Copyright (C) 2009-2011 University of York

     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   QtCoret   QtGuit   linux2(   t   phonon(   t   *t    c         C   sb   t  j j |  ƒ r d G|  GHn  i  t  j |  <| t  j |  d <| t  j |  d <| t  j |  d <d  S(   Ns(   mgFileViewer redefining supported formatt   ext_listt   viewert   label(   t   mgFileViewert   supported_formatst   has_key(   t   namet
   extensionsR   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   addSupportedFormat(   s    c         C   ss   t  j j |  ƒ r d G|  GHn  i  t  j |  <| t  j |  d <| t  j |  d <| t  j |  d <| t  j |  d <d  S(   Ns(   mgFileViewer redefining supported formatR   R   R   t	   arguments(   R	   t   supported_pluginsR   (   R   R   R   R   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   addSupportedPlugin2   s    c          C   s!   i  }  |  j  t j ƒ i |  d 6S(   NR   (   t   updateR	   R   (   t   plugins(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt	   getParams<   s    c         C   sn   |  j  d ƒ rj xX |  d j ƒ  D]C \ } } t | | j d g  ƒ | j d d ƒ | j d d ƒ ƒ q  Wn  d  S(   NR   R   R   R   R   (   R   t   itemsR   t   get(   t   paramst   keyt   info(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt	   setParamsC   s    R	   c           B   s+  e  Z i  Z i  Z d d  d d „ Z d „  Z d „  Z d  d d „ Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d  d  d d „ Z d  d  d „ Z d „  Z d 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 RS(    R   s   CCP4mg file viewerc         C   sÒ  t  j j |  | ƒ |  j | ƒ |  j t j j ƒ d |  _ | rR |  j	 | ƒ n  t
 j s²t d d d d g d t ƒ t d d d d	 g d
 t ƒ t d d g d t ƒ t d d d g d t ƒ t  j j ƒ  } g  } x? | D]7 } | j t | ƒ j ƒ  ƒ sÞ | j t | ƒ ƒ qÞ qÞ Wt d | d t ƒ t d d d g d t ƒ t  j j ƒ  } g  } x? | D]7 } | j t | ƒ j ƒ  ƒ sa| j t | ƒ ƒ qaqaWt d | d t ƒ n  d  |  _ d  |  _ |  j ƒ  d  S(   Nt   Windowst   textt   txtt   logs
   Text filest   coordst   pdbt   cift   ents   Coordinate filest   vectors   Vector filest   htmlt   htms
   HTML filest   movies   Movie filest   movie_phonont   mpegt   mp4s   Movie files (phonon)t   images   Image files(   R   t   QWidgett   __init__t   setWindowTitlet   setWindowFlagsR    t   Qtt   Windowt   menut   setObjectNameR	   R
   R   t   mgTextViewert   mgCoordsViewert   mgHtmlViewert   QMoviet   supportedFormatst   countt   strt   lowert   appendt   mgMovieViewert   mgMovieViewerPhonont   QImageReadert   supportedImageFormatst   mgImageViewert   Nonet
   saveWidgett   editPluginsWidgett   draw(   t   selft   parentR   t   titlet   image_formats_ct   image_formatst   im(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   V   s6    	 			c         C   sÀ  d d  l  } d } d  |  _ i  |  _ t j ƒ  } | j | ƒ |  j | | | | ƒ t j |  ƒ |  _	 xh |  j
 d ƒ D]W \ } } |  j	 j | ƒ |  j | <|  j |  j | t j d ƒ | j |  j | ƒ ƒ qu W| j |  j	 ƒ t j |  ƒ |  _ t j ƒ  } | j |  j d ƒ ƒ |  j j | ƒ | j t ƒ |  j | t j d ƒ |  j ƒ |  j |  j t j d ƒ |  j ƒ | j |  j ƒ |  j | ƒ |  j t j d d	 ƒ ƒ |  j ƒ  |  j ƒ  d  S(
   Niÿÿÿÿi    t   menuss   aboutToShow()s
   Delete tabs
   released()s   currentChanged(int)i,  iÈ   (    t   guiUtilsRA   t   tabt
   menuWidgetR   t   QVBoxLayoutt	   setMargint   setContentsMarginst   QMenuBart   menubart	   getGuiDeft   addMenut   connectR    t   SIGNALt   partialt
   updateMenut	   addWidgett
   QTabWidgett   QPushButtont   setTextt   trt   setCornerWidgett   setAutoDefaultt   Falset   closeTabt   handleTabChangedt	   setLayoutt   resizet   QSizet   showt   raise_(   RE   RL   t   margint   layoutt	   menu_namet
   menu_titlet   pb(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRD   |   s0    		6"
c         C   sJ   d d  l  } |  j | j ƒ  | j |  |  j | |  j | ƒ d d ƒd  S(   Niÿÿÿÿt   default_iconR   (   RL   RN   t   cleart   populateMenuRT   (   RE   Rk   RL   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRY   Ÿ   s    c         C   s^   | d k r" d d g d d g g S| d k rA d d d d	 d
 g S| d k rZ d d d g Sd  S(   NRK   t   Files   &Filet   Edits   &Editt   opent   savet   printt	   close_tabt   closet   findt   sept   edit_plugins(    (   RE   R   t	   pickevent(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRT   ¦   s    c         K   s  |  j  ƒ  } d } d d  l } | d k rF t d d d d d |  j ƒ S| d	 k rt t d d
 d d d |  j d d ƒ S| d k r· | r• | j ƒ  } n  t d d d d d |  j d | ƒ S| d k rú | rØ | j ƒ  } n  t d d d d d |  j d | ƒ S| d k r:t d d d d d |  j	 d d d |  j
 d |  j ƒ S| d k rzt d d d d d |  j d |  j d d d |  j ƒ S| d k r«t d d d d d |  j d |  j ƒ S| d  k rÙt d d! d d" d |  j d d ƒ S| d# k rt d d$ d d% d |  j d d ƒ Si  S(&   Ni    iÿÿÿÿRw   R   s   Close file viewert   tips   Close this file viewert   slotRs   s	   Open files   Open text, image or movie filet   icont   fileopenRt   t   Saves   Save to filet   enabledRu   t   Prints
   Print fileRx   t   Finds   Find in filet	   checkablei   t   checkedt   scales   Scale imaget   scale_to_fits   Scale image to fits   Scale image to fit the screenRv   s	   Close tabs"   Close the currently displayed fileRz   s   Edit plugin viewerss(   Choose external programs to display data(   t   currentWidgetRL   t   dictRw   t   openFilet
   isSaveablet
   handleSavet   isPrintablet   handlePrintt   openFindt   isFindFrameOpent   isCurrentWidgetTextt	   openScalet   isCurrentWidgetImaget   isScaleFrameOpent
   scaleToFitRb   t   editPlugins(   RE   R   R   t   widgetR�   RL   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   getActionDef°   s‚    
	 	 			
		
	
		c         C   s#   |  j  ƒ  r |  j ƒ  j ƒ  n  d  S(   N(   R“   Rˆ   t   fitToWindow(   RE   t   event(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   resizeEvent  s    c         C   s-   |  j  ƒ  } | r% t | t ƒ r% d Sd Sd  S(   Ni   i    (   Rˆ   t
   isinstanceR3   (   RE   R—   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‘   	  s    c         C   s-   |  j  ƒ  } | r% t | t ƒ r% d Sd Sd  S(   Ni   i    (   Rˆ   Rœ   R@   (   RE   R—   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR“     s    c         C   sn  d d  l  } |  j | j d ƒ } | s`t j |  ƒ } | j d ƒ | j d ƒ | j t j j	 ƒ t
 j ƒ  } | j |  ƒ } | j d ƒ | j | ƒ | j | ƒ | j ƒ  } | j | j ƒ g  } xt t j j ƒ  D]c \ } } d }	 x$ | d D] }
 |	 d |
 d }	 qô W| j | d	 d
 |	 d ƒ | j | ƒ q× W|  j | t j d ƒ |  j ƒ n  | j ƒ  d  S(   Niÿÿÿÿt   win_opens   CCP4mg file viewerRs   R   R   s   *.t    R   s    (t   )s"   filesSelected (const QStringList&)(   t	   mgWidgetst	   findChildt   MGFileDialogt   MGSimpleDialogR2   R-   t   setAttributeR    R/   t   WA_DeleteOnCloseR   RO   RZ   Rd   t   getFileDialogt   setFileModet   ExistingFilesR	   R
   R   R;   t   setNameFiltersRV   RW   t   handleSelectionRg   (   RE   R    t   winRj   Rs   t
   filedialogt   filter_listR   t   defnt   ext_textt   ext(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRŠ     s.     "c         C   sþ   d d  l  } d d  l } d } |  j | j d ƒ } | r¢ t | j ƒ  j ƒ  ƒ } | r¢ xE t j j	 ƒ  D]1 \ } } | j
 | | d ƒ d k rg | } qg qg Wq¢ n  x6 | D]. }	 |  j t t |	 j ƒ  ƒ d ƒ d | ƒq© W| j ƒ  }
 |
 rú |
 j ƒ  n  d  S(   NiÿÿÿÿR   Rs   R   i    s   utf-8t   format(   t   stringR    R¡   R¢   R9   R¦   t   selectedFilterR	   R
   R   Rx   Rs   t   unicodet   toUtf8t   windowRw   (   RE   t	   file_listR²   R    R±   R¬   t   filterR   R®   t   fileR«   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRª   :  s    , R   c         C   sc   t  |  ƒ } | j d | ƒ | j | ƒ |  j j | | ƒ } |  j | ƒ | j ƒ  |  j ƒ  | S(   NR   (   R3   t   loadTextR2   RM   t   addTabt   setTabIndexRg   t   mgResize(   RE   R   RG   R±   R—   t   idx(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRº   R  s    

c   
      C   s[  t  j j | ƒ } | d r- | d d } n d } d G| G| G| Gt j j ƒ  GH| s„ | rt j j | ƒ rt j j | ƒ rd } x: t j j ƒ  D]) \ } } | d j | ƒ rš | } Pqš qš Wx= t j j ƒ  D]) \ } } | d j | ƒ r× | } Pq× q× Wn  | sd } n  |  j	 | ƒ } | d k ry|  j
 j | ƒ |  j
 j | ƒ j |  j
 j | ƒ j ƒ |  j
 j | ƒ St j j | ƒ rŸ|  j | | ƒ d  St j | d |  ƒ } | j | ƒ }	 |	 d rñ| j ƒ  t ƒ  j |	 d ƒ d  S| st  j j | ƒ d } n  | j | ƒ |  j
 j | | ƒ } |  j | ƒ | j ƒ  |  j ƒ  | Sd  S(	   Ni   R   s   mgFileViewer.open filenameR   R   i    R   iÿÿÿÿ(   t   ost   patht   splitextR	   R   R   R
   R   R8   t   fileOpenInTabRM   t   setCurrentIndexR—   Rs   t   filenamet   launchRA   Rw   t   MGGUIt   WarningMessaget   splitR2   R»   R¼   Rg   R½   (
   RE   RÄ   R±   RG   R°   R   R®   R¾   R—   t   rv(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   ^  sP    
 	(

 

c   	      C   sá   t  j j | i  ƒ } | j d d ƒ } | s; d d | g Sg  } x- | j d d ƒ j ƒ  D] } | j | ƒ qZ W| j | ƒ g  } x$ | D] } | j t j | ƒ ƒ q‹ Wt j |  ƒ } | j | t j	 | ƒ ƒ |  j
 ƒ  d  S(   NR   R   iÿÿÿÿs   No viewer listed for format: R   (   R	   R   R   RÈ   R;   R    t   QStringt   QProcesst   startt   QStringListt   Close(	   RE   R±   RÄ   R   R   t   arglistt   itemt   lt   process(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÅ   –  s     iÿÿÿÿc         C   s[   | d k rW | |  j  j ƒ  k rW |  j  j | ƒ |  j d |  j  j | ƒ j ƒ  ƒ n  d  S(   Ni    s   CCP4mg file viewer: (   RM   R8   RÃ   R-   R—   t
   objectName(   RE   t   indexRÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR¼   ¬  s    !c         C   s<   |  j  s d  S|  j  j ƒ  } | d k  r, d  S|  j  j | ƒ S(   Ni    (   RM   RA   t   currentIndexR—   (   RE   R¾   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRˆ   ´  s    	  c         C   sG   | d k  r d  S|  j  j | ƒ } | s, d  S|  j d | j ƒ  ƒ d  S(   Ni    s   CCP4mg file viewer: (   RM   R—   R-   RÓ   (   RE   RÔ   R—   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRc   ¼  s      c         C   s²   |  j  j ƒ  j ƒ  } t ƒ  j ƒ  j ƒ  } t | j ƒ  | j ƒ  d ƒ } t | j ƒ  | j ƒ  d ƒ } |  j  j	 t
 j | | d |  j j ƒ  ƒ ƒ |  j	 t
 j | | ƒ ƒ d  S(   Ni2   i   (   RM   Rˆ   t   mgSizet   MGAPPLICATIONt   desktopt   sizet   mint   widtht   heightRe   R    Rf   RS   (   RE   t	   imagesizet   winsizet   reqwidtht	   reqheight(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR½   Å  s    -c         C   sX   |  j  j ƒ  } | d k  r d  S|  j  j | ƒ } | rD | j ƒ  n  |  j  j | ƒ d  S(   Ni    (   RM   RÕ   R—   Rw   t	   removeTab(   RE   R¾   R—   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRb   Ñ  s      c         C   sX   t  j j | ƒ } x? t d |  j j ƒ  ƒ D]% } |  j j | ƒ j | k r+ | Sq+ Wd S(   Ni    iÿÿÿÿ(   R¿   RÀ   t   abspatht   rangeRM   R8   R—   RÄ   (   RE   RÄ   R¾   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÂ   Û  s
    c         C   sW   |  j  ƒ  } | rS t | d d  ƒ } | rS | j ƒ  rC | j ƒ  qP | j ƒ  qS n  d  S(   Nt	   findFrame(   Rˆ   t   getattrRA   t	   isVisiblet   hideRg   (   RE   R—   Rä   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�   å  s    c         C   sA   |  j  ƒ  } | r= t | d d  ƒ } | r= | j ƒ  r= d Sn  d S(   NRä   i   i    (   Rˆ   Rå   RA   Ræ   (   RE   R—   Rä   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�   ô  s     c         C   sA   |  j  ƒ  } | r= t | d d  ƒ } | r= | j ƒ  r= d Sn  d S(   Nt
   scaleFramei   i    (   Rˆ   Rå   RA   Ræ   (   RE   R—   Rè   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR”   ý  s     c         C   sW   |  j  ƒ  } | rS t | d d  ƒ } | rS | j ƒ  rC | j ƒ  qP | j ƒ  qS n  d  S(   NRè   (   Rˆ   Rå   RA   Ræ   Rç   Rg   (   RE   R—   Rè   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR’     s    c         C   s$   |  j  ƒ  s d  S|  j ƒ  j ƒ  d  S(   N(   R“   Rˆ   R™   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR•     s     c         C   s›   |  j  j ƒ  } | d k  r d  St j ƒ  } t j | ƒ } | j ƒ  } | t j j k r— t j ƒ  } | j	 | ƒ |  j  j
 | ƒ j | ƒ | j ƒ  n  d  S(   Ni    (   RM   RÕ   R   t   QPrintert   QPrintDialogt   exec_t   QDialogt   Acceptedt   QPaintert   beginR—   R‚   t   end(   RE   R¾   t   printert   pdt   pdrett   painter(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRŽ     s     c         C   s  |  j  ƒ  } | s d  Sd d  l } d } g  } | j ƒ  } | rM | d } n  d } x& | j ƒ  D] } | d | d } q` W| r¤ | j | j ƒ  d | d ƒ n  | j |  d d	 | j ƒ  d
 | d | ƒ|  _ |  j |  j t	 j
 d ƒ |  j  ƒ  j ƒ |  j j ƒ  d  S(   NiÿÿÿÿR   i    s   *.Rž   s    (RŸ   RG   s   Save t   filterst   defaultSuffixRt   (   Rˆ   R    t
   getFileExtR;   t   getLabelt   MGSaveFileDialogRÓ   RB   RV   R    RW   R€   Rg   (   RE   R—   R    Rö   R­   R   R¯   R°   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRŒ   )  s"        ".(c         C   s,   |  j  s t |  ƒ |  _  n  |  j  j ƒ  d  S(   N(   RC   t   EditPluginst   UnClose(   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR–   :  s    	N(    t   __name__t
   __module__R
   R   RA   R,   RD   RY   RT   R˜   R›   R‘   R“   RŠ   Rª   Rº   Rs   RÅ   R¼   Rˆ   Rc   R½   Rb   RÂ   R�   R�   R”   R’   R•   RŽ   RŒ   R–   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR	   M   s:   &	#	
	S					 	8						
	
				
				t   mgAbstractViewerc           B   s\   e  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 RS(
   R   c         C   s@   t  j j |  | ƒ |  j t j j ƒ |  j d ƒ d |  _ d  S(   Ni   R   (	   R   t   QScrollAreaR,   R¤   R    R/   R¥   t   setWidgetResizableRÄ   (   RE   RF   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   K  s    c         C   s   d  S(   N(    (   RE   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   T  s    c         C   s
   t  j ƒ  S(   N(   R    Rf   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÖ   Y  s    c         C   s   d  S(   N(    (   RE   Rô   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‚   _  s    c         C   s   d  S(   N(    (   RE   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR€   d  s    c         C   s   d S(   Ni    (    (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�   i  s    c         C   s   d S(   Ni    (    (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‹   n  s    c         C   s?   x8 t  j j ƒ  D]' \ } } t |  | d ƒ r | d Sq Wg  S(   NR   R   (   R	   R
   R   Rœ   (   RE   t   formtR®   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR÷   s  s    c         C   s?   x8 t  j j ƒ  D]' \ } } t |  | d ƒ r | d Sq Wg  S(   NR   R   (   R	   R
   R   Rœ   (   RE   R  R®   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRø   |  s    (   Rü   Rý   R,   Rs   RÖ   R‚   R€   R�   R‹   R÷   Rø   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRþ   E  s   									R@   c           B   sw   e  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 RS(   R   c         C   s’   d d  l  } t j |  | ƒ t j ƒ  } t j |  ƒ |  _ | j |  j ƒ |  j | ƒ d |  _	 t j
 ƒ  |  _ | r… |  j | ƒ n  d |  _ d  S(   NiÿÿÿÿR   i    (   R    Rþ   R,   R   RO   t   QLabelR   RZ   Rd   RÄ   t   QPixmapt   pixmapRs   t   isZoomed(   RE   RF   RÄ   R    Rj   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   �  s    	 c         C   s�   |  j  sy |  j j ƒ  |  j ƒ  k s? |  j j ƒ  |  j ƒ  k rŒ |  j j |  j j |  j ƒ  t j	 j
 t j	 j ƒ ƒ qŒ n |  j j |  j ƒ d  S(   N(   R  R  RÛ   RÜ   R   t	   setPixmapt   scaledRÙ   R    R/   t   KeepAspectRatiot   SmoothTransformation(   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR™   °  s    	6:c         C   sÍ   |  j  d k rÉ |  j j ƒ  d k rÉ |  j j ƒ  d k rÉ y~ t j |  ƒ } t j ƒ  } | j |  j  ƒ | j	 t j
 j |  j  ƒ g ƒ | j | ƒ | j |  j j d ƒ ƒ | j ƒ  WqÉ d GHqÉ Xn  d  S(   NR   i    i–   s   Drag and drop failed(   RÄ   R  RÛ   RÜ   R   t   QDragR    t	   QMimeDataR]   t   setUrlst   QUrlt   fromLocalFilet   setMimeDataR  t   scaledToHeightRÌ   (   RE   Rš   t   dragt   mimeData(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   mousePressEvent»  s    9c         C   s¾   y t  j | ƒ |  _ Wn d d g SXt |  j j ƒ  ƒ } | d k rR d d g S|  j j |  j ƒ t j j	 | ƒ |  _
 |  j t j j |  j
 ƒ d ƒ |  j j ƒ  |  j |  j ƒ d g S(   Ni   s   Unable to read image filei    s   Image file apparently zero sizeiÿÿÿÿ(   R   R  R  t   intRÛ   R   R  R¿   RÀ   Râ   RÄ   R2   RÈ   Rg   t	   setWidget(   RE   RÄ   t   w(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   Ë  s    
 c         C   s   |  j  j ƒ  S(   N(   R  RÙ   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÖ   ã  s    c         C   s   | j  d d |  j ƒ d  S(   Ni    (   t
   drawPixmapR  (   RE   Rô   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‚   è  s    c         C   s   d  S(   N(    (   RE   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR€   í  s    c         C   s   d S(   Ni   (    (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�   ò  s    c         C   s   d S(   Ni   (    (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‹   ÷  s    c         C   s   |  j  j ƒ  d  S(   N(   Rè   Rg   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR’   ý  s    c         C   s   |  j  j ƒ  d  S(   N(   Rè   Rç   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt
   closeScale  s    c         C   sp   d G| GH|  j  s |  j r! d  S|  j j |  j  j |  j  j ƒ  | |  j  j ƒ  | t j j	 t j j
 ƒ ƒ d  S(   Ns   mgImageViewer.scale(   R  RÄ   R   R  R  RÛ   RÜ   R    R/   R  R	  (   RE   t   value(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR†     s    	 (   Rü   Rý   R,   R™   R  Rs   RÖ   R‚   R€   R�   R‹   R’   R  R†   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR@   ‡  s   #										t   mgPickableTextc           B   s&   e  Z d d  „ Z d „  Z d „  Z RS(   c         C   s   t  j j |  | ƒ d  S(   N(   R   t   QTextBrowserR,   (   RE   RF   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,     s    c         C   s9   |  j  ƒ  j ƒ  } |  j t j d ƒ | ƒ | j ƒ  d  S(   Nt   mouseRelease(   t
   cursorRectt   centert   emitR    RW   t   ignore(   RE   Rš   t   pos(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   mouseReleaseEvent  s    c         C   s9   |  j  ƒ  j ƒ  } |  j t j d ƒ | ƒ | j ƒ  d  S(   Nt   mouseDoubleClick(   R  R  R  R    RW   R   (   RE   Rš   R!  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   mouseDoubleClickEvent  s    N(   Rü   Rý   RA   R,   R"  R$  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR    s   	R3   c           B   s›   e  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 d
 „ Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d d  d „ Z RS(   R   c         C   sO  d d  l  } t j |  | ƒ d |  _ t j ƒ  } | j d ƒ | j d d d d ƒ t |  ƒ |  _	 |  j
 |  j	 t j d ƒ |  j ƒ |  j
 |  j	 t j d ƒ |  j ƒ | j |  j	 ƒ t j |  ƒ |  _ t j ƒ  } t j d |  ƒ } | j | ƒ |  j
 | t j d ƒ |  j ƒ | j t j d ƒ ƒ t j |  ƒ |  _ | j |  j ƒ xr d	 d
 g D]d } t j | |  ƒ } t |  d | | ƒ | j | ƒ |  j
 | t j d ƒ | j |  j | ƒ ƒ qXWt j d |  ƒ |  _ | j |  j ƒ | j d ƒ |  j j | ƒ | j |  j ƒ |  j j ƒ  d  |  _! |  j | ƒ | rK|  j" | ƒ n  d  S(   NiÿÿÿÿR   i    R  R#  RÎ   s   clicked(bool)s   Find:t   Nextt   PreviousRx   s
   Match casei   (#   RL   Rþ   R,   RÄ   R   RO   t
   setSpacingRQ   R  R   RV   R    RW   t   handleMouseClickt   handleMouseDoubleClickRZ   t   QFrameRä   t   QHBoxLayoutR\   t	   closeFindR  t	   QLineEditt   findTextt   setattrRX   Rx   t	   QCheckBoxt   findCaset
   addStretchRd   Rç   RA   t   documentRs   (   RE   RF   RÄ   RL   Rj   t   find_layoutR—   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   0  sB    	""/	c         C   sˆ   |  j  j | ƒ } | j ƒ  } | j t j j ƒ t | j ƒ  ƒ } |  j	 t
 j d ƒ | ƒ |  j | ƒ } |  j	 t
 j d ƒ | ƒ d  S(   Nt   lineClickedt   wordClicked(   R   t   cursorForPositiont   positiont   selectR   t   QTextCursort   LineUnderCursorR9   t   selectedTextR  R    RW   t   getWord(   RE   R!  t   text_cursort   text_positiont   linet   word(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR(  [  s    c         C   sˆ   |  j  j | ƒ } | j ƒ  } | j t j j ƒ t | j ƒ  ƒ } |  j	 t
 j d ƒ | ƒ |  j | ƒ } |  j	 t
 j d ƒ | ƒ d  S(   Nt   lineDoubleClickedt   wordDoubleClicked(   R   R7  R8  R9  R   R:  R;  R9   R<  R  R    RW   R=  (   RE   R!  R>  R?  R@  RA  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR)  e  s    c         C   sµ   |  j  s d St |  j  j ƒ  ƒ } | d } | } x4 | d k rh d d g j | | ƒ rh | d } q5 Wx: | t | ƒ k  r¥ d d g j | | ƒ r¥ | d } ql W| | d | !S(   NR   i   i    Rž   s   
(   R3  R9   t   toPlainTextR8   t   len(   RE   R8  R   t   fpost   lpos(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR=  o  s    	 
)/c         C   s   d GH|  j  j ƒ  d  S(   Ns   mgTextViewer.openFind(   Rä   Rg   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�   ~  s    c         C   s   |  j  j ƒ  d  S(   N(   Rä   Rç   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,  „  s    c         C   sÛ   d d g j  | ƒ r× d } | d k r^ |  j j ƒ  rO t j j t j j B} q| t j j } n |  j j ƒ  r| t j j } n  | r£ |  j j |  j	 j
 ƒ  | ƒ } n |  j j |  j	 j
 ƒ  ƒ } | r× |  j j ƒ  q× n  d  S(   NR%  R&  i    (   R8   R1  t	   isCheckedR   t   QTextDocumentt   FindBackwardt   FindCaseSensitivelyR   Rx   R.  R   t   ensureCursorVisible(   RE   t   modet   flagt   found(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRx   Š  s    ! c         C   s|   y) t  | d ƒ } | j ƒ  } | j ƒ  Wn d d g SXt j j | ƒ |  _ |  j t j j |  j ƒ d ƒ |  j	 | ƒ S(   Nt   ri   s   Error reading fileiÿÿÿÿ(
   Rs   t   readRw   R¿   RÀ   Râ   RÄ   R2   RÈ   Rº   (   RE   RÄ   t   fR   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   ±  s     i    c         C   s»   yJ | r1 t  j |  j ƒ |  _ |  j j | ƒ n t  j | |  j ƒ |  _ Wn d d g SXt  j d ƒ } | j d ƒ | j d ƒ | j d ƒ |  j j	 | ƒ |  j j
 |  j ƒ d g S(   Ni   s    Error loading text into documentt   Courieri    (   R   RI  R   R3  t   setHtmlt   QFontt	   setItalict   setBoldt   setUnderlinet   setDefaultFontt   setDocument(   RE   R   R$   t   font(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRº   À  s    c         C   s   t  j d d ƒ S(   NiX  i�  (   R    Rf   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÖ   Ô  s    c         C   sT   d } y, t  |  j d ƒ } | j ƒ  } | j ƒ  Wn d SX| j d d | ƒ d  S(   NR   RP  i   i    (   Rs   RÄ   RQ  Rw   t   drawText(   RE   Rô   R   RR  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‚   Ú  s    c         C   s/   d d  l  } | j | t |  j j ƒ  ƒ ƒ d  S(   Niÿÿÿÿ(   t   utilst   saveFileR9   R3  RD  (   RE   RÄ   R]  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR€   å  s    c         C   s   d S(   Ni   (    (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�   ì  s    c         C   s   d S(   Ni   (    (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR‹   ñ  s    c         C   sU   |  j  s d S| r& |  j  j | ƒ n+ | d k rQ |  j  j t j d d ƒ ƒ n  d S(   Ni   t   fixed_widthRS  i   i    (   R3  RY  R   RU  (   RE   R[  t   style(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   setFontö  s    	 N(   Rü   Rý   R,   R(  R)  R=  R�   R,  Rx   Rs   Rº   RÖ   R‚   R€   R�   R‹   RA   Ra  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR3   )  s   +	
	
				'						R=   c           B   s/   e  Z d  „  Z d d „ Z d „  Z d „  Z RS(   c         C   s»   y¨ t  j |  ƒ } t j ƒ  } | j |  j j ƒ  j ƒ  j ƒ  ƒ | j	 |  j j ƒ  j ƒ  g ƒ | j
 | ƒ t  j j |  j j ƒ  ƒ } | j | j d ƒ ƒ | j ƒ  Wn d GHn Xd  S(   Ni–   s   Drag and drop failed(   R   R
  R    R  R]   t   mediaObjectt   currentSourcet   urlRÀ   R  R  R  t
   grabWindowt   videoWidgett   winIdR  R  RÌ   (   RE   Rš   R  R  R  (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR    s    "R   c         C   s]  t  j |  | ƒ t j ƒ  } t r-t j j ƒ  |  _ t j j	 ƒ  |  _
 t j j |  j |  j
 ƒ | j |  j
 ƒ t j ƒ  } | j d t j j ƒ } |  j | t 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 | ƒ n  |  j | ƒ | rP|  j | ƒ n  | |  _ d  S(   Nt   Plays   clicked(bool)i    t   Stop(   Rþ   R,   R   RO   t
   havePhononR   t   Phonont   MediaObjectRb  t   VideoWidgetRf  t
   createPathRZ   t   QDialogButtonBoxt	   addButtont
   ActionRoleRV   R    RW   t	   functoolsRX   t   seekt   playt   stopRd   Rs   RÄ   (   RE   RF   RÄ   Rj   t   buttonsRm   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,     s$    ."" c         C   sb   t  s d d g S| |  _ t j j t j j | ƒ ƒ } |  j j	 | ƒ |  j j
 ƒ  j ƒ  GHd g S(   Ni   s)   No phonon available in this version of Qti    (   Rj  RÄ   R   Rk  t   MediaSourceR    R  R  Rb  t   setCurrentSourceRc  Rd  (   RE   t   fnt   media(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   /  s    
	c         C   s   |  j  j ƒ  GH|  j  j ƒ  S(   N(   Rf  RÙ   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÖ   :  s    (   Rü   Rý   R  R,   Rs   RÖ   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR=     s   		R<   c           B   s/   e  Z d  d „ Z d „  Z d „  Z d „  Z RS(   R   c         C   sn   t  j |  | ƒ d |  _ t j ƒ  } t j |  ƒ |  _ | j |  j ƒ |  j | ƒ | rj |  j	 | ƒ n  d  S(   NR   (
   Rþ   R,   RÄ   R   RO   R  R   RZ   Rd   Rs   (   RE   RF   RÄ   Rj   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   H  s    	 c         C   sV   | |  j  k rR t |  d ƒ rR t |  j d ƒ rR t |  j j ƒ rR |  j j ƒ  n  d  S(   NR&   Ru  (   RÄ   t   hasattrR&   t   callableRu  (   RE   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt	   stopMovieS  s    Bc         C   sÙ   y t  j | d |  ƒ |  _ Wn d d g SXt j j ƒ  } | rd |  j | t j d ƒ |  j ƒ n  |  j j	 ƒ  s} d d g St
 j j | ƒ |  _ |  j t
 j j |  j ƒ d ƒ |  j j |  j ƒ |  j j ƒ  d g S(   NR   i   s   Error reading movie filet   DeletingFiles   Apparently invalid movie fileiÿÿÿÿi    (   R   R6   R&   R    t   QCoreApplicationt   instanceRV   RW   R}  t   isValidR¿   RÀ   Râ   RÄ   R2   RÈ   R   t   setMovieRÌ   (   RE   RÄ   t   app(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   Y  s    "
 c         C   s   |  j  j ƒ  j ƒ  S(   N(   R&   t   currentPixmapRÙ   (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRÖ   p  s    (   Rü   Rý   R,   R}  Rs   RÖ   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR<   B  s   		R4   c           B   s   e  Z d  d „ Z RS(   R   c         C   s*   t  j |  | ƒ | r& |  j | ƒ n  d  S(   N(   R3   R,   Rs   (   RE   RF   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,     s    	 (   Rü   Rý   R,   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR4   z  s   R5   c           B   s   e  Z d  d „ Z d „  Z RS(   R   c         C   s   t  j |  | | ƒ d  S(   N(   R3   R,   (   RE   RF   RÄ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   Ä  s    c         C   s½   y) t  | d ƒ } | j ƒ  } | j ƒ  Wn d d g SXy# t j ƒ  |  _ |  j j | ƒ Wn d d g SX|  j j |  j ƒ t	 j
 j | ƒ |  _ |  j t	 j
 j |  j ƒ d ƒ d g S(   NRP  i   s   Error reading files    Error loading text into documentiÿÿÿÿi    (   Rs   RQ  Rw   R   RI  R3  RT  R   RZ  R¿   RÀ   Râ   RÄ   R2   RÈ   (   RE   RÄ   RR  R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRs   Ê  s     (   Rü   Rý   R,   Rs   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR5   ¾  s   Rú   c           B   s\   e  Z d  „  Z d „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 RS(
   c         C   s  t  j  j |  | ƒ d |  _ |  j d ƒ t j |  ƒ } | j d ƒ | j d d d d ƒ t j |  ƒ |  _	 |  j	 j
 t j j ƒ |  j ƒ  t j d |  ƒ } |  j | t j d ƒ |  j ƒ t j d |  ƒ } |  j | t j d ƒ |  j ƒ t j ƒ  } | j |  j	 d d d d ƒ | j | d d ƒ | j | d d ƒ | j | ƒ t j ƒ  } | j t j d	 |  ƒ d d ƒ t j |  ƒ |  _ |  j j d
 ƒ | j |  j d d ƒ | j t j d |  ƒ d d ƒ t j |  ƒ |  _ |  j j d ƒ | j |  j ƒ | j t j d |  ƒ d d ƒ t j |  ƒ |  _ |  j j d ƒ | j |  j d d ƒ | j t j d |  ƒ d d ƒ t j |  ƒ |  _ |  j j d ƒ | j |  j d d ƒ | j t j d |  ƒ d d ƒ t j |  ƒ |  _ |  j j d ƒ | j |  j d d ƒ | j | ƒ t j ƒ  } | j  d t j j! ƒ } | j  d t j j" ƒ }	 | j  d t j j# ƒ }
 x1 | |	 |
 g D]  } | j$ d ƒ | j% d ƒ qtW|  j |	 t j d ƒ |  j& ƒ |  j | t j d ƒ |  j' ƒ |  j |
 t j d ƒ |  j( ƒ | j | ƒ |  j) d ƒ d  S(   Niÿÿÿÿs   CCP4mg File Browser Pluginsi   s   Delete selected plugins	   clicked()s   Create new plugini    i   s   Plugin names%   A one word unique name for the plugins   File extensionssA   A comma separated list of file extensions supported by the plugint   Viewers   The command to run the viewers   Arguments to vieweri   s   The arguments to the the viewert   Labeli   s2   A label for the plugin to be used in the interfaces   Save pluginRÎ   s   Save plugin and close(*   R£   R,   t   currentR-   R   RO   R'  RQ   t   QListWidgett   selectPlugint   setSelectionModet   QAbstractItemViewt   SingleSelectiont   loadSelectPluginR\   RV   R    RW   t   deletePlugint	   handleNewt   QGridLayoutRZ   t	   addLayoutR  R-  R   t
   setToolTipR   R   R   t   plugin_labelRo  Rp  Rq  t
   RejectRolet
   AcceptRoleR`   t
   setDefaultRÎ   t   Applyt   ApplyAndCloset
   setCurrent(   RE   RF   Rj   t   delete_buttont
   new_buttont
   listLayoutt
   editLayoutt   dialog_buttonst   apply_buttont   cancel_buttont	   ok_buttont   button(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR,   ç  sh    	
c         C   s   |  j  d ƒ d  S(   Ni   (   R—  (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR˜  ,  s    i    c         C   s{  t  |  j j ƒ  ƒ } | j ƒ  j ƒ  } t | ƒ s7 d  S| d } x  | d D] } | d | } qL Wt  |  j j ƒ  ƒ j d ƒ } g  } xJ | D]B } | j d ƒ } x* | D]" } | j | j ƒ  j d ƒ ƒ q« Wq� Wt | ƒ så d  St  |  j j ƒ  ƒ }	 t  |  j	 j ƒ  ƒ }
 |
 sd  St  |  j
 j ƒ  ƒ } t | | |	 |
 | ƒ |  j ƒ  |  j t j d ƒ ƒ | rw|  j ƒ  n  d  S(   Ni    i   t   _t   ,Rž   t   .t   changed(   R9   R   R   t   stripRÈ   RE  R   R;   R“  R   R   R   R�  R  R    RW   RÎ   (   RE   Rw   R   t	   name_listRÐ   t   extensions0R   t   extentions1R°   R   R   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR—  1  s2    
 $
 c         C   s   |  j  d ƒ d  S(   Niÿÿÿÿ(   R™  (   RE   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�  O  s    c         C   sn   |  j  |  j j ƒ  ƒ } | rj t j j | ƒ rj t j | =|  j ƒ  |  j d ƒ |  j t	 j
 d ƒ ƒ n  d  S(   NiÿÿÿÿR¦  (   t   getNameFromListR‰  t
   currentRowR	   R   R   R�  R™  R  R    RW   (   RE   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRŽ  T  s    

c         C   s‹   |  j  j t ƒ |  j  j ƒ  xG t j j ƒ  D]6 \ } } | d | j d d ƒ } |  j  j | ƒ q- W|  j  j d ƒ |  j  j t	 ƒ d  S(   NRž   R   s   New plugin..(
   R‰  t   blockSignalst   TrueRo   R	   R   R   R   t   addItemRa   (   RE   R   R   R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR�  ^  s    c         C   s{  |  j  | ƒ } | s‹ |  j |  j j ƒ  d ƒ |  j j d ƒ |  j j d ƒ |  j j d ƒ |  j j d ƒ |  j	 j d ƒ d |  _
 nì |  j | ƒ t j j | i  ƒ } |  j j | ƒ | j d g  ƒ } d } x | D] } | | d } qÜ W| r
| d d !} n  |  j j | ƒ |  j j | j d d ƒ ƒ |  j j | j d d ƒ ƒ |  j	 j | j d	 d ƒ ƒ | |  _
 d  S(
   Ni   R   iÿÿÿÿR   R¤  i    R   R   R   (   R«  t   setRowR‰  R8   R   R]   R   R“  R   R   R‡  R	   R   R   (   RE   t   vidR   R   R   R¯   RÐ   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR™  k  s.      c         C   sM   | |  j  j ƒ  k r d  S|  j  j t ƒ |  j  j | ƒ |  j  j t ƒ d  S(   N(   R‰  R¬  R­  R®  t   setCurrentRowRa   (   RE   t   irow(    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR°  ˆ  s
     c         C   se   | d k  s! | |  j  j ƒ  k r% d St |  j  j | ƒ j ƒ  ƒ } | d k rS d S| j ƒ  d Sd  S(   Ni    R   s   New plugin..(   R‰  R8   R9   RÐ   R   RÈ   (   RE   R³  R   (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyR«  �  s    !(   Rü   Rý   R,   R˜  R—  R�  RŽ  R�  R™  R°  R«  (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyRú   á  s   	E			
			(   t   __doc__t   sysR¿   Rr  t   PyQt4R    R   t   platformR   R®  Rj  Ra   R£   t   global_definitionsR   R   R   R   R+   R	   Rÿ   Rþ   R@   R  R  R3   R=   R<   R4   R5   Rú   (    (    (    s?   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/mgFileViewer.pyt   <module>   s6   



		
ÿ ùBˆÙ@8D#