ó
ÉÝ{Tc           @   s¨   d  Z  d d l m Z m Z d d l Z d d l Z d d l m Z d d l Z d d l	 m
 Z
 m Z d d l Z d d l m Z d „  Z d e j f d	 „  ƒ  YZ d S(
   s   
Font browser
iÿÿÿÿ(   t   QtCoret   QtGuiN(   t   minidom(   t   FONTMANAGERt   get_dispobj(   t   MGFontSelectorc           C   s   d  St  t ƒ t ƒ  _ (   N(   t   FontBrowsert   mainwint
   MAINWINDOWt   plugin_dialog(    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   initializePlugin   s    R   c           B   sk   e  Z e Z d  „  Z d
 i  d d „ Z d d „ Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z RS(   c   
      C   sé  t  | ƒ } | j d ƒ d k rj | j d ƒ d k rj | j d ƒ | j d ƒ k  rj | | j d ƒ } n  | j d ƒ d k rÒ | j d ƒ d k rÒ | j d ƒ | j d ƒ k rÒ | | j d ƒ t d ƒ  } n  t j | ƒ } x÷| j d ƒ D]æ} t  | j d ƒ ƒ } d } | j d	 ƒ } x¯ | D]§ }	 |	 j	 ƒ  j
 d
 ƒ rFq(|	 j	 ƒ  j
 d ƒ r^q(|	 j	 ƒ  j
 d ƒ rvq(|	 j	 ƒ  j
 d ƒ rŽq(|	 j	 ƒ  j
 d ƒ r¦q(t |	 j	 ƒ  ƒ d k rÁq(| |	 d	 7} q(W| j d ƒ r| d r| d | d d 7} n  | j d ƒ r3| d t  | d ƒ d 7} n  | j d ƒ r_| d d k r_| d 7} n  | j d ƒ r~| d d k sŽ| d d k r›| d 7} n  | j d ƒ rÇ| d d k rÇ| d 7} n  | j d | ƒ qñ Wx÷| j d ƒ D]æ} t  | j d ƒ ƒ } d } | j d	 ƒ } x¯ | D]§ }	 |	 j	 ƒ  j
 d
 ƒ r@q"|	 j	 ƒ  j
 d ƒ rXq"|	 j	 ƒ  j
 d ƒ rpq"|	 j	 ƒ  j
 d ƒ rˆq"|	 j	 ƒ  j
 d ƒ r q"t |	 j	 ƒ  ƒ d k r»q"| |	 d	 7} q"W| j d ƒ rÿ| d rÿ| d | d d 7} n  | j d ƒ r-| d t  | d ƒ d 7} n  | j d ƒ rY| d d k rY| d 7} n  | j d ƒ rx| d d k sˆ| d d k r•| d 7} n  | j d ƒ rÁ| d d k rÁ| d 7} n  | j d | ƒ qëW| j ƒ  t d  ƒ S(!   Ns   <spaniÿÿÿÿs   <!DOCTYPE HTML PUBLICs   </span>s   </html>t   bodyt   stylet    t   ;s   font-family:s
   font-size:s   font-weight:s   font-style:s   text-decoration:i    t   familys    font-family:'s   ';t   sizes    font-size:s   pt;t   weightt   bolds    font-weight:600;t   slantt   it   os    font-style:italic;t	   underlines    text-decoration: underline;t   spans   <?xml version="1.0" ?>(   t   strt   findt   rfindt   lenR   t   parseStringt   getElementsByTagNamet   getAttributet   splitt   stript
   startswitht   has_keyt   setAttributet   toxml(
   t   selft   _textt   fontt   textt   xmldoct   hitR   t	   new_stylet	   old_stylet   s(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   changeAllFonts&   s‚    HH //i    c         C   s4   t  j j |  | ƒ |  j d | ƒ |  j | ƒ d  S(   Nt   width(   R   t   QWidgett   __init__t   drawt	   setParams(   R%   t   parentt   paramsR/   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyR1   }   s    c         C   s+  t  j |  ƒ } |  j d d d d ƒ d } xì t j D]á } t j | } t | ƒ } | d } | j | j | d d d ƒ | j | j	 | d d d ƒ | j | j
 | d d d ƒ | j | j | d d d ƒ | j | j | d d d ƒ | j | j | d d d ƒ t |  | | ƒ q5 W|  j | ƒ d  S(   Ni    iÿÿÿÿi   i   i   i   i   (   R   t   QGridLayoutt   setContentsMarginst   FontManagert   CONTEXT_LISTt   FONT_LABELSR   t	   addWidgett   labelt	   size_spint   family_combot
   bold_checkt   italic_checkt   underline_checkt   setattrt	   setLayout(   R%   R/   t   layoutt   linet   nameR<   t   widget(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyR2   ‚   s    
c         C   sS   xL t  j D]A } t |  | d  ƒ } | r
 | j | ƒ r
 | j | | ƒ q
 q
 Wd  S(   N(   R8   R9   t   getattrt   NoneR"   R3   (   R%   R5   RF   RG   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyR3   —   s    c         C   sI   i  } x< t  j D]1 } t |  | d  ƒ } | r | j ƒ  | | <q q W| S(   N(   R8   R9   RH   RI   t	   getParams(   R%   t   parsRF   RG   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyRJ   ž   s    c         C   s   d  S(   N(    (   R%   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   help§   s    c         C   sj   t  ƒ  j |  j ƒ  ƒ t d d ƒ } x4 | D], } | j |  j | j |  j ƒ  d ƒ ƒ q, Wt j ƒ  d  S(   Nt   object_typet
   Annotationt
   annotation(	   R   t	   setparamsRJ   R   t   set_textR.   R(   t   rebuildt   UpdateDisplay(   R%   t   objsR   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   applyAllª   s
    *c         C   s   t  ƒ  j |  j ƒ  ƒ d  S(   N(   R   RP   RJ   (   R%   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   apply±   s    c         C   s   d  S(   N(    (   R%   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   resetDefaults´   s    N(   t   __name__t
   __module__t   Truet   _has_no_help_R.   RI   R1   R2   R3   RJ   RL   RU   RV   RW   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyR   #   s   	W						(   t   __doc__t   PyQt4R    R   t   ost   syst   xml.domR   R8   t   global_definitionsR   R   RR   R   R
   R0   R   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/py2/ccp4mg/qtgui/FontBrowser.pyt   <module>   s   	