ó
ã¶xTc           @   s—  d  d l  Z  d  d l Z d  d l Z d  d l Z y d  d l m Z m Z Wnƒ e k
 rÏ y d  d l	 m Z m Z WqÐ e k
 rË y d  d l
 m Z m Z WqÌ e k
 rÇ d  d l m Z m Z qÌ XqÐ Xn Xd  d l m Z d  d l m Z d  d l m Z e j e ƒ Z e j Z e  j d k  r3d	 „  Z n  d a d a d
 „  Z d „  Z d e f d „  ƒ  YZ d e  f d „  ƒ  YZ! d e  f d „  ƒ  YZ" d S(   iÿÿÿÿN(   t   parset
   SubElement(   t   NoSuchWidgetError(   t   QObjectCreator(   t
   Propertiesi   i   i    c         c   s4   x- t  t |  ƒ d d d ƒ D] } |  | Vq Wd  S(   Ni   iÿÿÿÿ(   t   xranget   len(   t   seqt   i(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   reversedC   s    #c         C   sj   d } x] |  j d ƒ D]L } | j d ƒ \ } } t t j | ƒ } | d k rX | } q | | O} q W| S(   s5    Convert a C++ alignment to the corresponding flags. t   |s   ::N(   t   Nonet   splitt   getattrt   QtCoret   Qt(   t	   alignmentt   align_flagst   qt_alignt   _t   align(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   _parse_alignmentK   s    	c         C   sî   |  j  j d ƒ } |  j  j d ƒ } |  j  j d ƒ } | d k sN | d k rk | d k r^ d St | ƒ f St | ƒ } t | ƒ } t |  j  j d d ƒ ƒ } t |  j  j d d ƒ ƒ } | d k rÕ | | | | f S| | | | t | ƒ f S(	   sõ    Return either (), (alignment), (row, column, rowspan, colspan) or
    (row, column, rowspan, colspan, alignment) depending on the type of layout
    and its configuration.  The result will be suitable to use as arguments to
    the layout.
    t   rowt   columnR   t   rowspani   t   colspanN(    (   t   attribt   getR   R   t   int(   t   elemR   R   R   R   R   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   _layout_position[   s    t   WidgetStackc           B   s;   e  Z d Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sU   t  d | j ƒ  j ƒ  | j ƒ  f ƒ |  j | ƒ t | t j ƒ rQ | |  _ n  d  S(   Ns
   push %s %s(	   t   DEBUGt
   metaObjectt	   classNamet
   objectNamet   appendt
   isinstancet   QtGuit   QWidgett	   topwidget(   t   selft   item(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   push|   s
    c         C   s9   t  j |  ƒ } t d | j ƒ  j ƒ  | j ƒ  f ƒ | S(   Ns   pop layout %s %s(   t   listt   popR    R!   R"   R#   (   R)   t   layout(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt	   popLayoutƒ   s    c         C   sŒ   t  j |  ƒ } t d | j ƒ  j ƒ  | j ƒ  f ƒ x< t |  ƒ D]% } t | t j	 ƒ rB | |  _
 PqB qB Wd  |  _
 t d |  j
 f ƒ | S(   Ns   pop widget %s %ss   new topwidget %s(   R,   R-   R    R!   R"   R#   R	   R%   R&   R'   R(   R   (   R)   t   widgetR*   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt	   popWidget‰   s    		c         C   s   |  d S(   Niÿÿÿÿ(    (   R)   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   peek–   s    c         C   s   t  |  d t j ƒ S(   Niÿÿÿÿ(   R%   R&   t   QLayout(   R)   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   topIsLayout™   s    N(	   t   __name__t
   __module__R   R(   R+   R/   R1   R2   R4   (    (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR   z   s   				t   ButtonGroupc           B   s   e  Z d  Z d „  Z RS(   sM    Encapsulate the configuration of a button group and its implementation.
    c         C   s   t  |  _ d |  _ d S(   s    Initialise the button group. N(   t   Truet	   exclusiveR   t   object(   R)   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   __init__¡   s    	(   R5   R6   t   __doc__R;   (    (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR7   �   s   t   UIParserc           B   s£  e  Z d  „  Z d „  Z d „  Z e d „ Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z i	 e d 6e d 6e d 6e
 d 6e d 6e d 6e d 6e d 6e d 6Z d „  Z d „  Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z d# „  Z d$ „  Z  d% „  Z! d& „  Z" d' „  Z# d( „  Z$ d) „  Z% d* „  Z& d+ d, „ Z' e d- „  ƒ Z( RS(.   c         C   sA   t  | ƒ |  _ t |  j | | ƒ |  _ | a | a |  j ƒ  d  S(   N(   R   t   factoryR   t   wpropsR   R&   t   reset(   R)   t   QtCoreModulet   QtGuiModulet   creatorPolicy(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR;   ©   s
    c         C   sX   y |  j  | } Wn t k
 r2 d |  j  | <| SX| d 7} | |  j  | <d | | f S(   sà   UIParser.uniqueName(string) -> string

        Create a unique name from a string.
        >>> p = UIParser(QtCore, QtGui)
        >>> p.uniqueName("foo")
        'foo'
        >>> p.uniqueName("foo")
        'foo1'
        i    i   s   %s%i(   t   name_suffixest   KeyError(   R)   t   namet   suffix(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt
   uniqueName³   s    

c         C   s‹   y |  j  j ƒ  Wn t k
 r$ n Xd  |  _ t ƒ  |  _ i  |  _ i d d 6d d 6|  _ g  |  _	 d  |  _
 g  |  _ i  |  _ t |  _ d  S(   Ni   t   spacingi    t   margin(   R?   R@   t   AttributeErrorR   t   toplevelWidgetR   t   stackRD   t   defaultst   actionst   currentActionGroupt	   resourcest   button_groupst   Falset   layout_widget(   R)   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR@   È   s      						c         C   s¤   |  j  | j j d ƒ p% | d j ƒ  ƒ } | d  k r@ d } n	 | f } |  j j | | | | ƒ } |  j j | | ƒ | j	 | ƒ | r  t
 |  j | | ƒ n  | S(   NRF   i   (    (   RH   R   R   t   lowerR   R>   t   createQObjectR?   t   setPropertiest   setObjectNamet   setattrRL   (   R)   t   clsnamet   parentt   brancht   is_attributeRF   t   argst   obj(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   setupObjectÕ   s    +		c         C   s5   x. | j  d ƒ D] } | j d | k r | Sq Wd  S(   Nt   propertyRF   (   t   findallR   R   (   R)   R   RF   t   prop(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   getPropertyâ   s    c      	   C   sõ  d |  _  d |  _ d |  _ g  |  _ d  |  _ | j d j d d ƒ } | d k r[ d } n  |  j j	 } t
 | t j t j t j t j t j t j t j f ƒ r© d  } n  | d k rå | d  k	 rå t
 | t j ƒ sâ t |  _ qâ qå n  |  j j |  j | | | ƒ ƒ t
 |  j j	 t j ƒ r™|  j | d ƒ d  k rY|  j j	 j t | j d	 ƒ ƒ ƒ n  |  j | d
 ƒ d  k r™|  j j	 j t | j d ƒ ƒ ƒ q™n  |  j | ƒ |  j j ƒ  } t  |  _ t
 | t j! ƒ rì|  j" | d | j# ƒ  ƒ n9t
 | t j$ ƒ r3|  j" | d | j% ƒ  ƒ |  j" | d | j& ƒ  ƒ nò t
 | t j' ƒ r%|  j( j) | d ƒ } | d  k	 r%y | j* } Wn t+ k
 rŒ| } n X|  j, | } | j- d  k r|  j. j/ d | |  j0 f ƒ | _- t1 |  j0 | | j- ƒ | j- j2 | ƒ | j3 s| j- j4 t  ƒ qn  | j- j5 | ƒ q%n  |  j d  k	 rP| j6 |  j ƒ d  |  _ n  |  j j7 ƒ  rÃ|  j j8 ƒ  } | j d }	 t
 | t j9 ƒ r°| j: |	 d |  j; |	 ƒ | ƒ qÃ| j< | |	 Œ n  |  j j	 }
 t
 |
 t j ƒ r†|  j( j) | d ƒ } | d  k	 r'|
 j= | | |  j( j) | d ƒ ƒ n |
 j= | |  j( j) | d ƒ ƒ |  j( j) | d ƒ } | d  k	 rñ|
 j> |
 j? | ƒ | ƒ qñnkt
 |
 t j ƒ r=|  j( j) | d ƒ } | d  k	 rÞ|
 j@ | | |  j( j) | d ƒ ƒ n |
 j@ | |  j( j) | d ƒ ƒ |  j( j) | d ƒ } | d  k	 rñ|
 jA |
 j? | ƒ | ƒ qñn´t
 |
 t j ƒ r_|
 jB | ƒ n’t
 |
 t j ƒ r�|
 j< | ƒ npt
 |
 t j t j f ƒ r¬|
 j: | ƒ nEt
 |
 t j ƒ rñtC | ƒ t jD k rã|
 jE | ƒ qñt
 | t jF ƒ rd|  j( j) | d ƒ } | d  k r&|
 jG | ƒ n |
 jG | | ƒ |  j( j) | d ƒ } | rî|
 jH | ƒ qîqñt
 | t jI ƒ r†|
 jJ | ƒ qñt
 | t jK ƒ r¨|
 jL | ƒ qñt
 | t j ƒ rñ|  j( j) | d ƒ } |
 jM tN jO jP | ƒ | ƒ qñn  d  S(   Ni    t   classs   ::t   .t   Linet   QFrameR'   t   columnCountR   t   rowCountR   t   headert   horizontalHeadert   verticalHeadert   buttonGroupt   QButtonGroups   layout-positiont   icont   labelt   toolTipt   titlet   toolBarAreat   toolBarBreakt   dockWidgetArea(Q   t   column_countert   row_countert   item_nrt	   itemstackR   t   sorting_enabledR   t   replaceRM   R(   R%   R&   t   QDockWidgett   QMdiAreat   QScrollAreat   QStackedWidgett   QToolBoxt
   QTabWidgett   QWizardt   QMainWindowR8   RT   R+   R`   t   QTableWidgetRd   t   setColumnCountR   Rb   t   setRowCountt   traverseWidgetTreeR1   RS   t	   QTreeViewt   handleHeaderViewRk   t
   QTableViewRl   Rm   t   QAbstractButtonR?   t   getAttributet   stringRK   RR   R:   R>   RV   RL   RY   RX   R9   t   setExclusivet	   addButtont   setSortingEnabledR4   R2   t   QFormLayoutt	   setWidgett   _form_layout_rolet	   addWidgett   addItemt   setItemToolTipt   indexOft   addTabt   setTabToolTipt   addPaget   typeR'   t   setCentralWidgett   QToolBart
   addToolBart   insertToolBarBreakt   QMenuBart
   setMenuBart
   QStatusBart   setStatusBart   addDockWidgetR   R   t   DockWidgetArea(   R)   R   t   widget_classR[   R0   t   bg_i18nt   bg_namet   bgt   layt   lpR(   Rp   t   tooltipt   tbAreat   tbBreakt   dwArea(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createWidgeté   sÊ    							%(	
	#%%c         C   sw  |  j  j | | d ƒ } | d  k	 r5 | j | ƒ n  |  j  j | | d ƒ } | d  k	 rj | j | ƒ n  |  j  j | | d ƒ } | d  k	 rŸ | j | ƒ n  |  j  j | | d ƒ } | d  k	 rÔ | j | ƒ n  |  j  j | | d ƒ } | d  k	 r	| j | ƒ n  |  j  j | | d ƒ } | d  k	 r>| j | ƒ n  |  j  j | | d ƒ } | d  k	 rs| j	 | ƒ n  d  S(   Nt   Visiblet   CascadingSectionResizest   DefaultSectionSizet   HighlightSectionst   MinimumSectionSizet   ShowSortIndicatort   StretchLastSection(
   R?   R�   R   t
   setVisiblet   setCascadingSectionResizest   setDefaultSectionSizet   setHighlightSectionst   setMinimumSectionSizet   setSortIndicatorShownt   setStretchLastSection(   R)   R   RF   Rk   t   value(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRŠ   z  s*    c   
      C   sa  | j  d ƒ } | j  d ƒ } | d  k s6 | d  k r? d } n t | ƒ t | ƒ f } |  j j | d t j j ƒ } t j j | f } |  j j | d ƒ t	 j
 j k r¿ | d | d f } n  |  j j d |  j d ƒ | | d	 t ƒ} |  j j ƒ  r]|  j j ƒ  } | j d
 }	 t | t j ƒ rJ| j |	 d |  j |	 ƒ | ƒ q]| j | |	 Œ n  d  S(   Ns   property/size/widths   property/size/heightt   sizeTypet   orientationi   i    t   QSpacerItemt
   spacerItemR]   s   layout-position(    (   t   findtextR   R   R?   Rd   R&   t   QSizePolicyt	   Expandingt   MinimumR   R   t
   HorizontalR>   RV   RH   RS   RM   R4   R2   R   R%   R’   t   setItemR”   R–   (
   R)   R   t   widtht   heightt	   size_argsRÁ   t   policyt   spacerR«   R¬   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createSpacer—  s&    	!	#c         C   s¤  |  j  j | d d ƒ } |  j  j | d d ƒ } |  j  j | d d ƒ } |  j  j | d d ƒ } d d d „ } | | ƒ \ } } | | | | ƒ \ } } | | | | ƒ \ } } | | | | ƒ \ } } | d k r•| d	 k r| d k rt | d
 d d ƒ}	 t | ƒ t |	 d ƒ _ qøt | d
 d d ƒ}
 t | ƒ t |
 d ƒ _ t | ƒ t |
 d ƒ _ t | ƒ t |
 d ƒ _ t | ƒ t |
 d ƒ _ nc |  j rø|  j  j | d d ƒ } | d k  rìt | d
 d d ƒ}	 d t |	 d ƒ _ n  t |  _ n  |  j  j | d d ƒ } |  j  j | d d ƒ } | d k s@| d k rˆt | d
 d d ƒ}
 t | ƒ t |
 d ƒ _ t | ƒ t |
 d ƒ _ n  | j d } |  j j	 ƒ  r­d  } n |  j j } d | j k râ| d j ƒ  | j d <n  |  j j |  j | | | ƒ ƒ |  j | ƒ |  j j ƒ  } |  j | | ƒ |  j j	 ƒ  r |  j j ƒ  } | j d } t | t j ƒ r�| j | d |  j | ƒ | ƒ q | j | | Œ n  d  S(   Nt
   leftMarginiÿÿÿÿt	   topMargint   rightMargint   bottomMarginiþÿÿÿi    c         S   sM   |  d k rC | d 7} | d k r+ |  } qC | |  k rC d } qC n  | | f S(   Ni    i   iþÿÿÿiÿÿÿÿ(    (   t   mt   so_fart   nr(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   comp_propertyÃ  s    
	i   Ra   RF   RJ   t   numbert   pyuicContentsMarginst   0t   horizontalSpacingt   verticalSpacingt   pyuicSpacingRe   i   s   layout-position(   R?   Rd   R   t   strt   textRT   RS   R   RM   R4   R   R(   RU   R+   R`   Rˆ   R/   t   configureLayoutR2   R%   R&   R’   t	   setLayoutR”   t	   addLayout(   R)   R   t   leftt   topt   rightt   bottomRØ   RJ   t
   nr_marginst   met   cmet   horizt   vertt	   classnameR[   R.   t
   top_layoutR¬   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createLayoutµ  s\    		#c         C   sœ   t  | t j ƒ rm |  j | d | j ƒ |  j | d | j ƒ |  j | d | j ƒ |  j | d | j ƒ n+ t  | t j ƒ r˜ |  j | d | j	 ƒ n  d  S(   Nt   columnminimumwidtht   rowminimumheightt   columnstretcht
   rowstretcht   stretch(
   R%   R&   t   QGridLayoutt   setArrayt   setColumnMinimumWidtht   setRowMinimumHeightt   setColumnStretcht   setRowStretcht
   QBoxLayoutt
   setStretch(   R)   R   R.   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRá   	  s    

c         C   sm   | j  j | ƒ } | ri xN t | j d ƒ ƒ D]4 \ } } t | ƒ } | d k r. | | | ƒ q. q. Wn  d  S(   Nt   ,i    (   R   R   t	   enumerateR   R   (   R)   R   RF   t   settert   arrayt   idxRÀ   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRö     s    "c         C   s>   |  j  d k r: |  j j d | j ƒ |  _ | j t ƒ n  d  S(   Ni    t   __sortingEnabled(   Ry   R>   t   invoket   isSortingEnabledR{   R‘   RS   (   R)   t   w(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   disableSorting  s    c         C   s`  |  j  j ƒ  r6 t | ƒ | d j d <|  j | ƒ n&|  j  j } t | t j ƒ rº |  j	 j
 | d ƒ } |  j	 j
 | d ƒ } | r— | j | d ƒ n | j d ƒ | j |  j | ƒ n“t | t j ƒ r|  j | ƒ |  j d | | j |  j ƒ } | j | ƒ nFt | t j ƒ rÔ|  j rK|  j d \ } } |  j d \ } } n | } |  j } |  j j d d	 t |  j ƒ | f t ƒ } |  j d k rÉ|  j rÉ|  j j d
 | j ƒ |  _ | j t ƒ n  |  j j | |  j f ƒ d |  _ | j | ƒ }	 x* |  j d D] \ }
 } |	 j | ƒ }	 qWd } x|| j d ƒ D]k} |  j	 j  | ƒ } | j d } | d k r”| d 7} | r¨|	 j! | | ƒ q¨q=| d k r³| j" | | ƒ q=| d k rÒ| j# | | ƒ q=| d k rñ| j$ | | ƒ q=| d k r| j% | | ƒ q=| d k r/| j& | | ƒ q=| d k rN| j' | | ƒ q=| d k rm| j( | | ƒ q=| d k r‰| j) | ƒ q=| d k r=| j* | | ƒ q=q=W|  j | ƒ |  j j+ ƒ  \ } |  _ ny t | t j, ƒ rMt- | j d ƒ } t- | j d ƒ } |  j | ƒ |  j d | | j | | ƒ } | j. | | | ƒ n  |  j d 7_ d  S(   Ni    s   layout-positionRà   Rp   t    t   QListWidgetItemiÿÿÿÿt   QTreeWidgetItems   item_%dR  i   Ra   RF   t	   statusTipRr   t	   whatsThist   fontt
   backgroundt
   foregroundt   flagst
   checkStateR   R   t   QTableWidgetItem(/   RM   R4   R   R   Rˆ   R(   R%   R&   t	   QComboBoxR?   Rd   R–   t   setItemTextRy   t   QListWidgetR  t   createWidgetItemR*   t   QTreeWidgetRz   R>   RV   R   RS   R  R  R{   R‘   R$   t   topLevelItemt   childRb   t   convertt   setTextt   setStatusTipt
   setToolTipt   setWhatsThist   setFontt   setIcont   setBackgroundt   setForegroundt   setFlagst   setCheckStateR-   R…   R   RÊ   (   R)   R   R  Rà   Rp   R*   R[   R   t
   nr_in_roott   titmR  t   nr_in_parentR   Rc   t   c_propt   c_prop_nameR   t   col(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt
   handleItem#  sˆ    			
c         C   s'   |  j  j |  j j | j d f ƒ d  S(   NRF   (   RO   R$   RM   R(   R   (   R)   R   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt	   addAction}  s    c          G   s5   x. |  D]& } | d k	 r t | t ƒ r t Sq Wt S(   s;    Return True if any argument appears to be an i18n string. N(   R   R%   Rß   R8   RS   (   R^   t   a(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   any_i18n€  s    c         G   s  |  j  j | d d t ƒ } |  j } | j | d ƒ } | j | d ƒ } | j | d ƒ }	 | j | d ƒ }
 |  j | | |	 |
 ƒ r� |  j  j d | | ƒ n  | r³ | j | ƒ n  | rÉ | j | ƒ n  |	 rß | j	 |	 ƒ n  |
 rõ | j
 |
 ƒ n  | j | d ƒ } | r| j | ƒ n  | j | d ƒ } | rE| j | ƒ n  | j | d ƒ } | rm| j | ƒ n  | j | d	 ƒ } | r•| j | ƒ n  | j | d
 ƒ } | r½| j | ƒ n  | j | d ƒ } | rå| j | ƒ n  | j | d ƒ } | r| j | ƒ n  | S(   s(    Create a specific type of widget item. R*   Rà   R
  Rr   R  t   textAlignmentR  Rp   R  R  R  R  (    (   R>   RV   RS   R?   Rd   R-  R  R  R  R  R  t   setTextAlignmentR  R  R   R!  R"  R#  (   R)   t	   item_typeR   t   gettert   getter_argsR*   t   propsRà   t
   status_tipt   tool_tipt
   whats_thist   text_alignmentR  Rp   R  R  R  t   check_state(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR  Š  sL    	c         C   sÍ  |  j  j } t | t j ƒ rû|  j } |  j } | j | d ƒ } | ra | j ƒ  j	 | | ƒ n  | j | d ƒ } | r’ | j ƒ  j
 | | ƒ n  | j | d ƒ } | rÃ | j ƒ  j | | ƒ n  | j | d ƒ } | rô | j ƒ  j | | ƒ n  | j | d ƒ }	 |	 r%| j ƒ  j | |	 ƒ n  | j | d ƒ }
 |
 rV| j ƒ  j | |
 ƒ n  | j | d ƒ } | r‡| j ƒ  j | | ƒ n  | j | d ƒ } | r¸| j ƒ  j | | ƒ n  | j | d	 ƒ } | ré| j ƒ  j | | ƒ n  |  j d
 7_ nÎ t | t j ƒ rÉt | ƒ d k rÉ| j d k rq|  j d | | j |  j ƒ } | j |  j | ƒ |  j d
 7_ qÆ| j d k rÆ|  j d | | j |  j ƒ } | j |  j | ƒ |  j d
 7_ qÆqÉn  d  S(   NRà   R
  Rr   R  R.  R  Rp   R  R  i   i    R   R  R   (   RM   R(   R%   R&   R  R?   Rw   Rd   t
   headerItemR  R  R  R  R/  R  R  R   R!  R…   R   t   tagR  t   horizontalHeaderItemt   setHorizontalHeaderItemt   verticalHeaderItemRx   t   setVerticalHeaderItem(   R)   R   R  R3  R)  Rà   R4  R5  R6  R7  R  Rp   R  R  R*   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt	   addHeaderÅ  sX    		c         C   s#   |  j  d |  j p |  j | ƒ d  S(   Nt   QAction(   R`   RP   RL   (   R)   R   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createActionÿ  s    c         C   s;   |  j  d |  j | ƒ } | |  _ |  j | ƒ d  |  _ d  S(   Nt   QActionGroup(   R`   RL   RP   Rˆ   R   (   R)   R   t   action_group(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createActionGroup  s    	R0   t	   addactionR.   RÏ   R*   t   actiont   actiongroupR   R   c         C   sS   xL t  | ƒ D]> } y |  j | j } Wn t k
 r= q n X| |  | ƒ q Wd  S(   N(   t   itert   widgetTreeItemHandlersR:  RE   (   R)   R   R  t   handler(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRˆ     s    c         C   s  | j  d } | j  d } | s] | } | j d ƒ rB | d } n  | d j ƒ  | d } n  |  j | | ƒ |  _ |  j j | ƒ t d |  j j ƒ  j ƒ  ƒ |  j	 j
 |  j | ƒ |  j j |  j ƒ |  j | ƒ |  j j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  d  S(   NRe   RF   t   Qi   i    s   toplevel widget is %s(   R   t
   startswithRU   t   createToplevelWidgetRL   RX   R    R!   R"   R?   RW   RM   R+   Rˆ   R1   t
   addActionst
   setBuddiest   setDelayedProps(   R)   R   t   cnamet   wname(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createUserInterface  s$    

c         C   s©   x¢ |  j  D]— \ } } | d k r/ | j ƒ  q
 t d | | j ƒ  ƒ t |  j | ƒ } t | t j ƒ r | j	 | j
 ƒ  ƒ q
 t | t j ƒ s
 | j	 | ƒ q
 q
 Wd  S(   Nt	   separators   add action %s to %s(   RO   t   addSeparatorR    R#   R   RL   R%   R&   t   QMenuR+  t
   menuActionRB  (   R)   R0   t   action_namet
   action_obj(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRN  8  s    c         C   sU   xN |  j  j D]@ \ } } } } | r4 | j ƒ  } n  t | | ƒ } | | ƒ q Wd  S(   N(   R?   t   delayed_propsR.   R   (   R)   R0   R.   Rÿ   R^   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRP  D  s
    c         C   s~   xw |  j  j D]i \ } } t d | | j ƒ  ƒ y | j t |  j | ƒ ƒ Wq t k
 ru t d | | j ƒ  ƒ q Xq Wd  S(   Ns   %s is buddy of %ss1   ERROR in ui spec: %s (buddy of %s) does not exist(   R?   t   buddiesR    R#   t   setBuddyR   RL   RK   (   R)   R0   t   buddy(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRO  L  s    c         C   sT   t  d | j ƒ | j } | d  k r. d } n  | |  _ | |  j _ |  j | ƒ d  S(   Ns   uiname is %sR  (   R    Rà   R   t   uinameR?   t
   setContext(   R)   R   RF   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRí   U  s    			c         C   s   d S(   sc   
        Reimplemented by a sub-class if it needs to know the translation
        context.
        N(    (   R)   t   context(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR_  `  s    c         C   s8   t  | j d ƒ |  j d <t  | j d ƒ |  j d <d  S(   NRJ   RI   (   R   R   RN   (   R)   R   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   readDefaultsg  s    c         C   sX   d  } xK | D]C } t |  j | j ƒ } | d  k	 rJ |  j j | | ƒ n  | } q Wd  S(   N(   R   R   RL   Rà   t   setTabOrder(   R)   R   t
   lastwidgett   widget_elemR0   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   setTaborderk  s    c         C   s‡   x€ | j  d ƒ D]o } | j j d ƒ } | r | j d ƒ r t j j | d  |  j ƒ } | |  j k r |  j j	 | ƒ q q q Wd S(   sk   
        Read a "resources" tag and add the module to import to the parser's
        list of them.
        t   includet   locations   .qrciüÿÿÿN(
   t   getiteratorR   R   t   endswitht   ost   patht   basenamet   _resource_suffixRQ   R$   (   R)   R   Rf  t   loct   mname(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   readResourcesu  s    c            s¨   ‡  f d †  } x t  | ƒ D]q } t j j | | j d ƒ ƒ t j | j d ƒ ƒ ˆ  j j | | j d ƒ ƒ | j d ƒ j d ƒ d ƒ ƒ q Wt j	 j
 ˆ  j ƒ d  S(   Nc            s*   |  ˆ  j  k r ˆ  j St ˆ  j |  ƒ Sd  S(   N(   R^  RL   R   (   R_   (   R)   (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   name2object…  s    t   sendert   signalt   receivert   slott   (i    (   RH  R   t   QObjectt   connectRÅ   t   SIGNALR>   t   getSlotR   t   QMetaObjectt   connectSlotsByNameRL   (   R)   R   Rq  t   conn(    (   R)   sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   createConnections„  s    $c         C   s…   d „  } xu t  | ƒ D]g } | j d ƒ } | j d ƒ rI t | ƒ ‚ n  |  j j | | j d ƒ pg d | | j d ƒ ƒ ƒ q Wd  S(   Nc         S   s€   |  j  d ƒ r |  d  }  n  g  } xN |  j d ƒ D]= } | d k r2 | d k r_ t d ƒ ‚ n  | j | ƒ q2 q2 Wd j | ƒ S(	   sÀ   header2module(header) -> string

            Convert paths to C++ header files to according Python modules
            >>> header2module("foo/bar/baz.h")
            'foo.bar.baz'
            s   .hiþÿÿÿt   /R  Rf   s   ..s4   custom widget header file name may not contain '..'.(   R  Rf   (   Ri  R   t   SyntaxErrorR$   t   join(   Rk   t   mpatht   part(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   header2module’  s    Re   t   Q3t   extendsR'   Rk   (   RH  RÅ   RL  R   R>   t   addCustomWidget(   R)   R   R„  t   custom_widgetRí   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   customWidgets‘  s    	c         C   s
   t  ‚ d  S(   N(   t   NotImplementedError(   R)   Rí   t
   widgetname(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyRM  ±  s    c         C   s’   x‹ t  | ƒ D]} } | j d k r | j d } t ƒ  } | |  j | <|  j | d ƒ } | d  k	 rŠ | j d ƒ d k r‡ t | _	 q‡ qŠ q q Wd  S(   Nt   buttongroupRF   R9   t   boolt   false(
   RH  R:  R   R7   RR   Rd   R   RÅ   RS   R9   (   R)   R   t   button_groupR©   Rª   Rc   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   buttonGroups´  s    	c         C   s   d  S(   N(    (   R)   (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   finalizeÂ  s    R  c      	   C   s!  |  j  j | ƒ | |  _ d |  j f d |  j f d |  j f d |  j f d |  j f d |  j f d |  j	 f d |  j
 f f } t | ƒ } | j ƒ  j d	 } t d
 | f ƒ | d k sÁ t ‚ x< | D]4 \ } } | j | ƒ }	 |	 d  k	 rÈ | |	 ƒ qÈ qÈ W|  j ƒ  |  j }
 |  j ƒ  |
 S(   Nt   layoutdefaultRe   t   buttongroupst   customwidgetsR0   t   connectionst   tabstopsRQ   t   versions   UI version is %ss   4.0(   s   4.0(   R?   t   set_base_dirRm  Ra  Rí   R�  R‰  RS  R~  Re  Rp  R    t   getrootR   R    t   AssertionErrort   findR   R‘  RL   R@   (   R)   t   filenamet   resource_suffixt   base_dirt   branchHandlerst   documentR—  t   tagnamet   actorR   R  (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR    Å  s,    	
	
c         C   sN   |  d d k r t  j j } n+ |  d d k r> t  j j } n t  j j } | S(   Ni   i   (   R&   R’   t   SpanningRolet	   FieldRolet	   LabelRole(   t   layout_positiont   role(    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR”   æ  s    ()   R5   R6   R;   RH   R@   R8   R`   Rd   R±   RŠ   RÐ   Rï   Rá   Rö   R  R*  R+  t   staticmethodR-  R  R?  RA  RD  RI  Rˆ   RS  RN  RP  RO  Rí   R_  Ra  Re  Rp  R~  R‰  RM  R�  R‘  R    R”   (    (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyR=   ¨   s\   	
				‘			T				Z	
	;	:		
											
			 			!(   i   i   i    (#   t   syst   loggingt   os.pathRj  t   ret   xml.etree.ElementTreeR    R   t   ImportErrort   ElementTreet   elementtree.ElementTreet   PyQt4.elementtree.ElementTreet   PyQt4.uic.exceptionsR   t   PyQt4.uic.objcreatorR   t   PyQt4.uic.propertiesR   t	   getLoggerR5   t   loggert   debugR    t   version_infoR	   R   R   R&   R   R   R,   R   R:   R7   R=   (    (    (    sT   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/python2.7/site-packages/PyQt4/uic/uiparser.pyt   <module>)   s6   "			#