Ë
    Ò—Äj�–  ã                   óê   — d dl Z d dlZd dlZd dlZd dlmZ ddlmZ ddlm	Z	 ddl
mZ  ej                  e«      Zej                  Zdadadad„ Zd„ Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Zy)é    N)Ú
SubElementé   )ÚQObjectCreator)Ú
Properties)ÚUIFilec                 óº   — d}| j                  d«      D ]D  }|j                  d«      �^ }}t        t        j                  j                  |«      }|€|}Œ@||z  }ŒF |S )z5 Convert a C++ alignment to the corresponding flags. NÚ|ú::)ÚsplitÚgetattrÚQtCoreÚQtÚAlignmentFlag)Ú	alignmentÚalign_flagsÚqt_alignÚ_Úaligns        úWC:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\PyQt6/uic/uiparser.pyÚ_parse_alignmentr   8   sa   € ð €KØ—O‘O CÖ(ˆØ—~‘~ dÓ+‰ˆˆHÜœŸ	™	×/Ñ/°Ó:ˆàÐØ‰Kà˜5Ñ ‰Kð )ð Ðó    c                 ó¼  — | j                   j                  d«      }| j                   j                  d«      }| j                   j                  d«      }|�|€|€ydt        |«      fS t        |«      }t        |«      }t        | j                   j                  dd«      «      }t        | j                   j                  dd«      «      }|€||||fS ||||t        |«      fS )	zø Return either (), (0, 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.
    ÚrowÚcolumnr   © r   Úrowspanr   Úcolspan)ÚattribÚgetr   Úint)Úelemr   r   r   r   r   s         r   Ú_layout_positionr"   H   sÑ   € ð �+‰+�/‰/˜%Ó
 €CØ�[‰[�_‰_˜XÓ&€FØ—‘—‘ Ó,€Ið €{�f�nØÐØàÔ# IÓ.Ð/Ð/ô ˆc‹(€CÜ�‹[€Fä�$—+‘+—/‘/ )¨QÓ/Ó0€GÜ�$—+‘+—/‘/ )¨QÓ/Ó0€GàÐØ�V˜W gÐ.Ð.à�˜ 'Ô+;¸IÓ+FÐGÐGr   c                   ó4   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)ÚWidgetStackNc                 óà   — t        d|j                  «       j                  «       ›d|j                  «       ›�«       | j	                  |«       t        |t        j                  «      r|| _        y y )Nzpush Ú )	ÚDEBUGÚ
metaObjectÚ	classNameÚ
objectNameÚappendÚ
isinstanceÚ	QtWidgetsÚQWidgetÚ	topwidget)ÚselfÚitems     r   ÚpushzWidgetStack.pushi   sS   € Ý˜dŸo™oÓ/×9Ñ9Õ;Ø"Ÿo™oÔ/ð1ô 	2à�‰�DÔÜ�dœI×-Ñ-Ô.Ø!ˆD�Nð /r   c                 ó¦   — t         j                  | «      }t        d|j                  «       j	                  «       ›d|j                  «       ›�«       |S )Nzpop layout r&   )ÚlistÚpopr'   r(   r)   r*   )r0   Úlayouts     r   Ú	popLayoutzWidgetStack.popLayoutp   sA   € Ü—‘˜$“ˆÝ F×$5Ñ$5Ó$7×$AÑ$AÕ$CØ$*×$5Ñ$5Ô$7ð9ô 	:àˆr   c                 óJ  — t         j                  | «      }t        d|j                  «       j	                  «       ›d|j                  «       ›�«       t        | «      D ]%  }t        |t        j                  «      sŒ|| _
         n d | _
        t        d| j                  ›�«       |S )Nzpop widget r&   znew topwidget )r4   r5   r'   r(   r)   r*   Úreversedr,   r-   r.   r/   )r0   Úwidgetr1   s      r   Ú	popWidgetzWidgetStack.popWidgetv   s�   € Ü—‘˜$“ˆÝ F×$5Ñ$5Ó$7×$AÑ$AÕ$CØ$*×$5Ñ$5Ô$7ð9ô 	:ä˜T–NˆDÜ˜$¤	× 1Ñ 1Õ2Ø!%�”Ùð #ð
 "ˆDŒNÝ D§N¢NÐ4Ô5Øˆr   c                 ó   — | d   S ©Néÿÿÿÿr   ©r0   s    r   ÚpeekzWidgetStack.peekƒ   s   € Ø�B‰xˆr   c                 ó<   — t        | d   t        j                  «      S r=   )r,   r-   ÚQLayoutr?   s    r   ÚtopIsLayoutzWidgetStack.topIsLayout†   s   € Ü˜$˜r™(¤I×$5Ñ$5Ó6Ð6r   c           	      óª  — t        | d   «      t        j                  uryt        | «      dk  ry| d   }t	        |t        j                  «      xr… t        |«      t        j
                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  t        j                  fvS )Nr>   Fé   éþÿÿÿ)Útyper-   r.   Úlenr,   ÚQMainWindowÚQStackedWidgetÚQToolBoxÚ
QTabWidgetÚQScrollAreaÚQMdiAreaÚQWizardÚQDockWidget)r0   Úparents     r   ÚtopIsLayoutWidgetzWidgetStack.topIsLayoutWidget‰   s§   € ô ��R‘‹>¤×!2Ñ!2Ñ2Øäˆt‹9�qŠ=Øà�b‘ˆä˜&¤)×"3Ñ"3Ó4ò '¼¸f»Ü×%Ñ%Ü×(Ñ(Ü×"Ñ"Ü×$Ñ$Ü×%Ñ%Ü×"Ñ"Ü×!Ñ!Ü×%Ñ%ðN'ð :'ð 	'r   )
Ú__name__Ú
__module__Ú__qualname__r/   r2   r7   r;   r@   rC   rR   r   r   r   r$   r$   g   s%   „ Ø€Iò"òòòò7ó'r   r$   c                   ó   — e Zd ZdZd„ Zy)ÚButtonGroupzM Encapsulate the configuration of a button group and its implementation.
    c                 ó    — d| _         d| _        y)z Initialise the button group. TN)Ú	exclusiveÚobjectr?   s    r   Ú__init__zButtonGroup.__init__¦   s   € ð ˆŒØˆ�r   N)rS   rT   rU   Ú__doc__r[   r   r   r   rW   rW   ¢   s   „ ñór   rW   c                   ó  — e Zd Zd„ Zd„ Zd„ Z	 	 d&d„Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zeeee
eeeeee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&ed$„ «       Z'y%)'ÚUIParserc                 óŠ   — t        |«      | _        t        | j                  |||«      | _        |a|a|a| j                  «        y ©N)r   Úfactoryr   Úwpropsr   ÚQtGuir-   Úreset)r0   Úqtcore_moduleÚqtgui_moduleÚqtwidgets_moduleÚcreatorPolicys        r   r[   zUIParser.__init__®   sA   € Ü% mÓ4ˆŒÜ  §¡¨}¸lØ ó"ˆŒð ˆØˆØ$ˆ	à�
‰
�r   c                 ó˜   — 	 | j                   |   }|dz  }|| j                   |<   d||fz  S # t        $ r d| j                   |<   |cY S w xY w)zëUIParser.uniqueName(string) -> string

        Create a unique name from a string.
        >>> p = UIParser(QtCore, QtGui, QtWidgets)
        >>> p.uniqueName("foo")
        'foo'
        >>> p.uniqueName("foo")
        'foo1'
        r   r   z%s%i)Úname_suffixesÚKeyError)r0   ÚnameÚsuffixs      r   Ú
uniqueNamezUIParser.uniqueNameº   sg   € ð	Ø×'Ñ'¨Ñ-ˆFð
 	�!‰ˆØ#)ˆ×Ñ˜4Ñ à˜˜v˜Ñ&Ð&øô ò 	Ø'(ˆD×Ñ˜tÑ$ØŠKð	ús   ‚, ¬A	ÁA	c                 óÎ   — | j                   j                  «        d | _        t	        «       | _        i | _        dddœ| _        g | _        d | _	        i | _
        y # t        $ r Y ŒHw xY w)Nr>   )ÚspacingÚmargin)rb   rd   ÚAttributeErrorÚtoplevelWidgetr$   Ústackrj   ÚdefaultsÚactionsÚcurrentActionGroupÚbutton_groupsr?   s    r   rd   zUIParser.resetÏ   s]   € Ø�[‰[×ÑÔ à"ˆÔÜ “]ˆŒ
ØˆÔØ$&°"Ñ5ˆŒØˆŒØ"&ˆÔØˆÕøô Ò#™tÐ#ús   �A Á	A$Á#A$c                 óŠ  — | j                  |j                  j                  d«      xs |dd  j                  «       «      }|€d}i }n|rd}t	        |¬«      }n|f}i }| j
                  j                  |||||¬«      }	| j                  j                  |	|«       |	j                  |«       |rt        | j                  ||	«       |	S )Nrl   r   r   )rQ   )Ú	ctor_argsÚctor_kwargsÚis_attribute)rn   r   r   ÚlowerÚdictra   ÚcreateQtObjectrb   ÚsetPropertiesÚsetObjectNameÚsetattrrs   )
r0   Ú
class_namerQ   Úbranchr|   Úparent_is_optionalÚobject_namerz   r{   Úobjs
             r   Ú_setupObjectzUIParser._setupObjectÚ   sÉ   € à—o‘oØ—‘×!Ñ! &Ó)ÒC¨Z¸¸¨^×-AÑ-AÓ-CóEˆð ˆ>ØˆIØ‰KÙØˆIÜ fÔ-‰Kà˜
ˆIØˆKà�l‰l×)Ñ)¨*°kØ#°Ø)ð *ó +ˆð 	�‰×!Ñ! # vÔ.Ø×Ñ˜+Ô&áÜ�D×'Ñ'¨°cÔ:àˆ
r   c                 ó\   — |j                  d«      D ]  }|j                  d   |k(  sŒ|c S  y )NÚpropertyrl   )Úfindallr   )r0   r!   rl   Úprops       r   ÚgetPropertyzUIParser.getPropertyõ   s0   € Ø—L‘L Ö,ˆDØ�{‰{˜6Ñ" dÓ*Ø’ð -ð r   c           
      ó  — d| _         d| _        d| _        g | _        d | _        |j
                  d   j                  dd«      }|dk(  rd}| j                  j                  }t        |t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j"                  f«      rd }| j                  j%                  | j'                  |||«      «       t        | j                  j                  t        j(                  «      rž| j+                  |d«      €=| j                  j                  j-                  t/        |j1                  d«      «      «       | j+                  |d	«      €=| j                  j                  j3                  t/        |j1                  d
«      «      «       | j5                  |«       | j                  j7                  «       }t        |t        j8                  «      r#| j;                  |d|j=                  «       «       �not        |t        j>                  «      rD| j;                  |d|jA                  «       «       | j;                  |d|jC                  «       «       �nt        |t        jD                  «      r÷| jF                  jI                  |d«      }|�Ù	 |jJ                  }|sd}	 | jN                  |   }|jT                  €‘| jV                  jY                  d|| jZ                  f¬«      |_*        t]        | jZ                  ||jT                  «       |jT                  j_                  |«       |j`                  s|jT                  jc                  d«       |jT                  je                  |«       | j                  �"|jg                  | j                  «       d | _        | j                  ji                  «       r|| j                  jk                  «       }|j
                  d   }	t        |t        jl                  «      r&|jo                  |	d   | jq                  |	«      |«       n |jr                  |g|	¢­Ž  | j                  j                  }
t        |
t        j                  «      r¹| jF                  jI                  |d«      }|�.|
ju                  ||| jF                  jI                  |d«      «       n,|
ju                  || jF                  jI                  |d«      «       | jF                  jI                  |d«      }|�"|
jw                  |
jy                  |«      |«       y y t        |
t        j                   «      r¹| jF                  jI                  |d«      }|�.|
j{                  ||| jF                  jI                  |d«      «       n,|
j{                  || jF                  jI                  |d«      «       | jF                  jI                  |d«      }|�"|
j}                  |
jy                  |«      |«       y y t        |
t        j"                  «      r|
j                  |«       y t        |
t        j                  «      r|
js                  |«       y t        |
t        j                  t        j                  f«      r|
jo                  |«       y t        |
t        j€                  «      �rztƒ        |«      t        j„                  k(  r|
j‡                  |«       y t        |t        jˆ                  «      rs| jF                  jI                  |d«      }|€|
j‹                  |«       n|
j‹                  ||«       | jF                  jI                  |d«      }|r|
j�                  |«       y y t        |t        jŽ                  «      r|
j‘                  |«       y t        |t        j’                  «      r|
j•                  |«       y t        |t        j                  «      rL| jF                  jI                  |d«      }|
j—                  t˜        jš                  j�                  |«      |«       y y y # tL        $ r |}Y �Œ„w xY w# tP        $ r tS        «       x}| jN                  |<   Y �Œ™w xY w)Nr   Úclassr
   Ú.ÚLineÚQFrameÚcolumnCountr   ÚrowCountr   ÚheaderÚhorizontalHeaderÚverticalHeaderÚbuttonGroupÚQButtonGroup)rz   Fúlayout-positionÚiconÚlabelÚtoolTipÚtitleÚtoolBarAreaÚtoolBarBreakÚdockWidgetArea)OÚcolumn_counterÚrow_counterÚitem_nrÚ	itemstackÚsorting_enabledr   Úreplacert   r/   r,   r-   rP   rN   rM   rJ   rK   rL   rO   r2   rˆ   ÚQTableWidgetr�   ÚsetColumnCountrH   r‹   ÚsetRowCountÚtraverseWidgetTreer;   Ú	QTreeViewÚhandleHeaderViewr•   Ú
QTableViewr–   r—   ÚQAbstractButtonrb   ÚgetAttributeÚstringrr   rx   rk   rW   rZ   ra   r   rs   r‚   r�   rY   ÚsetExclusiveÚ	addButtonÚsetSortingEnabledrC   r@   ÚQFormLayoutÚ	setWidgetÚ_form_layout_roleÚ	addWidgetÚaddItemÚsetItemToolTipÚindexOfÚaddTabÚsetTabToolTipÚaddPagerI   rG   r.   ÚsetCentralWidgetÚQToolBarÚ
addToolBarÚinsertToolBarBreakÚQMenuBarÚ
setMenuBarÚ
QStatusBarÚsetStatusBarÚaddDockWidgetr   r   ÚDockWidgetArea)r0   r!   Úwidget_classrQ   r:   Úbg_i18nÚbg_nameÚbgÚlayÚlpr/   r›   ÚtooltipÚtbAreaÚtbBreakÚdwAreas                   r   ÚcreateWidgetzUIParser.createWidgetü   s¹  € ØˆÔØˆÔØˆŒØˆŒØ#ˆÔà—{‘{ 7Ñ+×3Ñ3°D¸#Ó>ˆØ˜6Ò!Ø#ˆLð —‘×%Ñ%ˆÜ�fœy×4Ñ4´i×6HÑ6HÜ(×4Ñ4´i×6NÑ6NÜ(×1Ñ1´9×3GÑ3GÜ(×0Ñ0ð2ô 3ð ˆFà�
‰
�‰˜×)Ñ)¨,¸ÀÓEÔFä�d—j‘j×*Ñ*¬I×,BÑ,BÔCØ×Ñ  mÓ4Ð<Ø—
‘
×$Ñ$×3Ñ3´C¸¿¹ÀXÓ8NÓ4OÔPà×Ñ  jÓ1Ð9Ø—
‘
×$Ñ$×0Ñ0´°T·\±\À%Ó5HÓ1IÔJà×Ñ Ô%Ø—‘×%Ñ%Ó'ˆä�fœi×1Ñ1Ô2Ø×!Ñ! $¨°&·-±-³/ÖBä˜¤	× 4Ñ 4Ô5Ø×!Ñ! $Ð(:Ø×+Ñ+Ó-ô/à×!Ñ! $Ð(8Ø×)Ñ)Ó+ö-ô ˜¤	× 9Ñ 9Ô:Ø—k‘k×.Ñ.¨t°]ÓCˆGØÐ"ð&à%Ÿn™n�Gñ Ø+�GðEØ×+Ñ+¨GÑ4�Bð —9‘9Ð$Ø $§¡× ;Ñ ;¸NØ#°×0CÑ0CÐ/Fð !<ó !H�B”Iä˜D×/Ñ/°¸"¿)¹)ÔDà—I‘I×+Ñ+¨GÔ4àŸ<š<ØŸ	™	×.Ñ.¨uÔ5à—	‘	×#Ñ# FÔ+à×ÑÐ+Ø×$Ñ$ T×%9Ñ%9Ô:Ø#'ˆDÔ à�:‰:×!Ñ!Ô#Ø—*‘*—/‘/Ó#ˆCØ—‘Ð.Ñ/ˆBä˜#œy×4Ñ4Ô5Ø—‘˜b ™e T×%;Ñ%;¸BÓ%?ÀÕHà�—‘˜fÐ* rÓ*à—J‘J×(Ñ(ˆ	ä�i¤×!3Ñ!3Ô4Ø—;‘;×+Ñ+¨D°&Ó9ˆDØÐØ×!Ñ! &¨$°·±×0HÑ0HÈÈwÓ0WÕXà×!Ñ! &¨$¯+©+×*BÑ*BÀ4ÈÓ*QÔRà—k‘k×.Ñ.¨t°YÓ?ˆGØÐ"Ø×(Ñ(¨×):Ñ):¸6Ó)BÀGÕLð #ô ˜	¤9×#7Ñ#7Ô8Ø—;‘;×+Ñ+¨D°&Ó9ˆDØÐØ× Ñ  ¨¨t¯{©{×/GÑ/GÈÈgÓ/VÕWà× Ñ  ¨¯©×)AÑ)AÀ$ÈÓ)PÔQà—k‘k×.Ñ.¨t°YÓ?ˆGØÐ"Ø×'Ñ'¨	×(9Ñ(9¸&Ó(AÀ7ÕKð #ô ˜	¤9×#4Ñ#4Ô5Ø×Ñ˜fÕ%ä˜	¤9×#;Ñ#;Ô<Ø×Ñ Õ'ä˜	¤I×$9Ñ$9¼9×;PÑ;PÐ#QÔRØ×Ñ Õ'ä˜	¤9×#8Ñ#8Õ9Ü�F‹|œy×0Ñ0Ò0Ø×*Ñ*¨6Õ2Ü˜F¤I×$6Ñ$6Ô7ØŸ™×1Ñ1°$¸ÓF�à�>Ø×(Ñ(¨Õ0à×(Ñ(¨°Ô8àŸ+™+×2Ñ2°4¸ÓH�áØ×0Ñ0°Õ8ð ô ˜F¤I×$6Ñ$6Ô7Ø×$Ñ$ VÕ,Ü˜F¤I×$8Ñ$8Ô9Ø×&Ñ& vÕ.Ü˜F¤I×$9Ñ$9Ô:ØŸ™×1Ñ1°$Ð8HÓI�Ø×'Ñ'¬¯	©	×(@Ñ(@ÀÓ(HØõ ð ;ð) :øôU &ò &à%“Gð&ûô  ò EÜ7B³}ÐD�B˜×+Ñ+¨GÔ4ðEús$   Ëa Ëa" áaáaá""bâbc                 óÂ  — | j                   j                  ||dz   «      }|�|j                  |«       | j                   j                  ||dz   «      }|�|j                  |«       | j                   j                  ||dz   «      }|�|j	                  |«       | j                   j                  ||dz   «      }|�|j                  |«       | j                   j                  ||dz   «      }|�|j                  |«       | j                   j                  ||dz   «      }|�|j                  |«       | j                   j                  ||dz   «      }|�|j                  |«       y y )NÚVisibleÚCascadingSectionResizesÚDefaultSectionSizeÚHighlightSectionsÚMinimumSectionSizeÚShowSortIndicatorÚStretchLastSection)	rb   r°   Ú
setVisibleÚsetCascadingSectionResizesÚsetDefaultSectionSizeÚsetHighlightSectionsÚsetMinimumSectionSizeÚsetSortIndicatorShownÚsetStretchLastSection)r0   r!   rl   r•   Úvalues        r   r­   zUIParser.handleHeaderView�  sV  € Ø—‘×(Ñ(¨¨t°iÑ/?Ó@ˆØÐØ×Ñ˜eÔ$à—‘×(Ñ(¨¨tÐ6OÑ/OÓPˆØÐØ×-Ñ-¨eÔ4à—‘×(Ñ(¨¨tÐ6JÑ/JÓKˆØÐØ×(Ñ(¨Ô/à—‘×(Ñ(¨¨tÐ6IÑ/IÓJˆØÐØ×'Ñ'¨Ô.à—‘×(Ñ(¨¨tÐ6JÑ/JÓKˆØÐØ×(Ñ(¨Ô/à—‘×(Ñ(¨¨tÐ6IÑ/IÓJˆØÐØ×(Ñ(¨Ô/à—‘×(Ñ(¨¨tÐ6JÑ/JÓKˆØÐØ×(Ñ(¨Õ/ð r   c                 ór  — |j                  d«      }|j                  d«      }|�|€d}nt        |«      t        |«      f}| j                  j                  |dt        j
                  j                  j                  «      }t        j
                  j                  j                  |f}| j                  j                  |d«      t        j                  j                  j                  k(  r
|d   |d   f}| j                  j                  d| j                  d	«      ||z   d
¬«      }| j                   j#                  «       r}| j                   j%                  «       }|j&                  d   }	t)        |t        j*                  «      r&|j-                  |	d   | j/                  |	«      |«       y  |j0                  |g|	¢­Ž  y y )Nzproperty/size/widthzproperty/size/heightr   ÚsizeTypeÚorientationr   r   ÚQSpacerItemÚ
spacerItemF©rz   r|   rš   )Úfindtextr    rb   r�   r-   ÚQSizePolicyÚPolicyÚ	ExpandingÚMinimumr   r   ÚOrientationÚ
Horizontalra   r   rn   rt   rC   r@   r   r,   rµ   ÚsetItemr·   r¹   )
r0   r!   ÚwidthÚheightÚ	size_argsrå   ÚpolicyÚspacerrÍ   rÎ   s
             r   ÚcreateSpacerzUIParser.createSpacer¬  so  € Ø—‘Ð3Ó4ˆØ—‘Ð5Ó6ˆàˆ=˜F˜NØ‰Iä˜U›¤S¨£[Ð1ˆIà—;‘;×*Ñ*¨4°Ü×%Ñ%×,Ñ,×6Ñ6ó8ˆô ×'Ñ'×.Ñ.×6Ñ6¸ÐAˆà�;‰;×"Ñ" 4¨Ó7¼6¿9¹9×;PÑ;P×;[Ñ;[Ò[Ø˜A‘Y  q¡	Ð)ˆFà—‘×,Ñ,¨]Ø—‘ Ó-¸ÀVÑ9KØ"ð -ó $ˆð �:‰:×!Ñ!Ô#Ø—*‘*—/‘/Ó#ˆCØ—‘Ð.Ñ/ˆBä˜#œy×4Ñ4Ô5Ø—‘˜B˜q™E 4×#9Ñ#9¸"Ó#=¸vÕFà�—‘˜FÐ( RÔ(ð $r   c                 ó@  — | j                   j                  «       rdn| j                  d   }| j                  j	                  |d|«      }| j                  j	                  |d|«      }| j                  j	                  |d|«      }| j                  j	                  |d|«      }| j                  j	                  |d|«      }| j                   j                  «       r|dk  rd}|dk  rd}|dk  rd}|dk  rd}|dk\  s|dk\  s
|dk\  s|dk\  rvt        |dd	¬
«      }t        |«      t        |d«      _        t        |«      t        |d«      _        t        |«      t        |d«      _        t        |«      t        |d«      _        | j                  j	                  |d| j                  d   «      }| j                  j	                  |d|«      }	| j                  j	                  |d|«      }
|	dk\  s|
dk\  rBt        |dd¬
«      }t        |	«      t        |d«      _        t        |
«      t        |d«      _        |j                  d   }| j                   j                  «       rd }n| j                   j                  }d|j                  vr |dd  j                  «       |j                  d<   | j                   j                  | j                  |||d¬«      «       | j                  |«       | j                   j                  «       }| j!                  ||«       | j                   j                  «       r}| j                   j#                  «       }|j                  d   }t%        |t&        j(                  «      r&|j+                  |d   | j-                  |«      |«       y  |j.                  |g|¢­Ž  y y )Nr>   rq   Ú
leftMarginÚ	topMarginÚrightMarginÚbottomMarginr   rŠ   ÚpyuicMargins)rl   Únumberrp   ÚhorizontalSpacingÚverticalSpacingÚpyuicSpacingr�   rl   r   F©r…   rš   )rt   rC   ru   rb   r�   rR   r   ÚstrÚtextr   r/   r}   r2   rˆ   r«   r7   ÚconfigureLayoutr@   r,   r-   rµ   Ú	setLayoutr·   Ú	addLayout)r0   r!   rq   ÚleftÚtopÚrightÚbottomÚcmerp   ÚhorizÚvertÚ	classnamerQ   r6   Ú
top_layoutrÎ   s                   r   ÚcreateLayoutzUIParser.createLayoutÊ  s  € ð —z‘z×-Ñ-Ô/‘°T·]±]À8Ñ5LˆØ—‘×(Ñ(¨¨x¸Ó@ˆØ�{‰{×&Ñ& t¨\¸6ÓBˆØ�k‰k×%Ñ% d¨K¸Ó@ˆØ—‘×'Ñ'¨¨m¸VÓDˆØ—‘×(Ñ(¨¨~¸vÓFˆð �:‰:×'Ñ'Ô)Ø�aŠx ˜Ø�QŠw˜a˜Ø�qŠy !˜%Ø˜Šz A˜6à�1Š9˜˜qš E¨Q¢J°&¸A²+ä˜T :°NÔCˆCÜ-0°«YŒJ�s˜HÓ%Ô*Ü-0°«XŒJ�s˜HÓ%Ô*Ü-0°«ZŒJ�s˜HÓ%Ô*Ü-0°«[ŒJ�s˜HÓ%Ô*ð —+‘+×)Ñ)¨$°	Ø—‘˜iÑ(ó*ˆà—‘×'Ñ'¨Ð.AÀ7ÓKˆØ�{‰{×&Ñ& tÐ->ÀÓHˆà�AŠ:˜ šä˜T :°NÔCˆCÜ-0°«ZŒJ�s˜HÓ%Ô*Ü-0°«YŒJ�s˜HÓ%Ô*à—K‘K Ñ(ˆ	Ø�:‰:×!Ñ!Ô#Ø‰Fà—Z‘Z×)Ñ)ˆFØ˜Ÿ™Ñ$Ø"+¨A¨B -×"5Ñ"5Ó"7ˆD�K‰K˜ÑØ�
‰
�‰Ø×!Ñ! )¨V°TØ+0ð "ó 2ô	3ð 	×Ñ Ô%à—‘×%Ñ%Ó'ˆØ×Ñ˜T 6Ô*à�:‰:×!Ñ!Ô#ØŸ™Ÿ™Ó*ˆJØ—‘Ð.Ñ/ˆBä˜*¤i×&;Ñ&;Ô<Ø×$Ñ$ R¨¡U¨D×,BÑ,BÀ2Ó,FÈÕOà$�
×$Ñ$ VÐ1¨bÔ1ð $r   c                 ó’  — t        |t        j                  «      ru| j                  |d|j                  «       | j                  |d|j
                  «       | j                  |d|j                  «       | j                  |d|j                  «       y t        |t        j                  «      r| j                  |d|j                  «       y y )NÚcolumnminimumwidthÚrowminimumheightÚcolumnstretchÚ
rowstretchÚstretch)
r,   r-   ÚQGridLayoutÚsetArrayÚsetColumnMinimumWidthÚsetRowMinimumHeightÚsetColumnStretchÚsetRowStretchÚ
QBoxLayoutÚ
setStretch)r0   r!   r6   s      r   r  zUIParser.configureLayout  s�   € Ü�fœi×3Ñ3Ô4Ø�M‰M˜$Ð 4Ø×0Ñ0ô2à�M‰M˜$Ð 2Ø×.Ñ.ô0à�M‰M˜$ °×1HÑ1HÔIØ�M‰M˜$ ¨f×.BÑ.BÕCä˜¤	× 4Ñ 4Ô5Ø�M‰M˜$ 	¨6×+<Ñ+<Õ=ð 6r   c                 ó¸   — |j                   j                  |«      }|r=t        |j                  d«      «      D ]  \  }}t	        |«      }|dkD  sŒ |||«       Œ! y y )NÚ,r   )r   r   Ú	enumerater   r    )r0   r!   rl   ÚsetterÚarrayÚidxrã   s          r   r  zUIParser.setArray  sR   € Ø—‘—‘ Ó%ˆÙÜ'¨¯©°CÓ(8Ö9‘
��UÜ˜E›
�Ø˜1“9Ù˜3 Õ&ñ :ð r   c                 óœ   — | j                   dk(  r=| j                  j                  d|j                  «      | _        |j                  d«       y y )Nr   Ú__sortingEnabledF)r¤   ra   ÚinvokeÚisSortingEnabledr¦   r´   )r0   Úws     r   ÚdisableSortingzUIParser.disableSorting"  sD   € Ø�<‰<˜1ÒØ#'§<¡<×#6Ñ#6Ð7IØ×&Ñ&ó$(ˆDÔ à×Ñ Õ&ð r   c                 óx	  — | j                   j                  «       r-t        |«      |d   j                  d<   | j	                  |«       y | j                   j
                  }t        |t        j                  «      r|| j                  j                  |d«      }| j                  j                  |d«      }|r|j                  |d«       n|j                  d«       |j                  | j                  |«       �n²t        |t        j                  «      rL| j                  |«       | j!                  d||j"                  | j                  «      }|j                  |«       �nLt        |t        j$                  «      �r¤| j&                  r%| j&                  d   \  }}| j&                  d   \  }}n|}| j                  }| j(                  j+                  dd	t-        | j&                  «      z  |fd
¬«      }| j                  dk(  rH| j&                  s<| j(                  j/                  d|j0                  «      | _        |j5                  d
«       | j&                  j7                  || j                  f«       d| _        |j9                  |«      }	| j&                  dd  D ]  \  }
}|	j;                  |«      }	Œ d}|j=                  d«      D �]&  }| j                  j?                  |«      }|j                  d   }|dk(  r|dz  }|sŒ;|	jA                  ||«       ŒN|dk(  r|jC                  ||«       Œf|dk(  r|jE                  ||«       Œ~|dk(  r|jG                  ||«       Œ–|dk(  r|jI                  ||«       Œ®|dk(  r|jK                  ||«       ŒÆ|dk(  r|jM                  ||«       ŒÞ|dk(  r|jO                  ||«       Œö|dk(  r|jQ                  |«       �Œ|dk(  s�Œ|jS                  ||«       �Œ) | j	                  |«       | j&                  jU                  «       \  }| _        n�t        |t        jV                  «      rstY        |j                  d   «      }tY        |j                  d   «      }| j                  |«       | j!                  d||j"                  ||«      }|j[                  |||«       | xj                  dz  c_        y )Nr   rš   r  r›   Ú ÚQListWidgetItemr>   ÚQTreeWidgetItemzitem_%dFré   r'  r   rŠ   rl   Ú	statusTipr�   Ú	whatsThisÚfontÚ
backgroundÚ
foregroundÚflagsÚ
checkStater   r   ÚQTableWidgetItem).rt   rC   r"   r   r«   r/   r,   r-   Ú	QComboBoxrb   r�   r¹   ÚsetItemTextr¤   ÚQListWidgetr+  ÚcreateWidgetItemr1   ÚQTreeWidgetr¥   ra   r   rH   r(  r)  r¦   r´   r+   ÚtopLevelItemÚchildr‹   ÚconvertÚsetTextÚsetStatusTipÚ
setToolTipÚsetWhatsThisÚsetFontÚsetIconÚsetBackgroundÚsetForegroundÚsetFlagsÚsetCheckStater5   r¨   r    rñ   )r0   r!   r*  r  r›   r1   rQ   r   Ú
nr_in_rootÚtitmr>  Únr_in_parentr   rŒ   Úc_propÚc_prop_namer   Úcols                     r   Ú
handleItemzUIParser.handleItem(  sì  € Ø�:‰:×!Ñ!Ô#Ü0@ÀÓ0FˆD�‰G�N‰NÐ,Ñ-Ø×#Ñ# DÕ)à—
‘
×$Ñ$ˆAä˜!œY×0Ñ0Ô1Ø—{‘{×.Ñ.¨t°VÓ<�Ø—{‘{×.Ñ.¨t°VÓ<�áØ—I‘I˜d BÕ'à—I‘I˜b”Mà—‘˜dŸl™l¨DÖ1ä˜Aœy×4Ñ4Ô5Ø×#Ñ# AÔ&Ø×,Ñ,Ð->ÀÀaÇfÁfØŸ™ó&�à—	‘	˜$–ä˜Aœy×4Ñ4Õ5Ø—>’>Ø $§¡¨rÑ 2‘I�F˜AØ$(§N¡N°1Ñ$5‘M�A‘zà�FØ!%§¡�Jà—|‘|×2Ñ2Ð3DØ!¤C¨¯©Ó$7Ñ7ÀFÀ:Ø%*ð 3ó ,�ð —<‘< 1Ò$¨T¯^ª^Ø+/¯<©<×+>Ñ+>Ð?QÐST×SeÑSeÓ+f�DÔ(Ø×'Ñ'¨Ô.à—‘×%Ñ% t¨T¯\©\Ð&:Ô;Ø �”ð —~‘~ jÓ1�Ø+/¯>©>¸!¸"Ó+=Ñ'�E˜<ØŸ:™: lÓ3‘Dð ,>ð �Ø ŸL™L¨×4�DØ!Ÿ[™[×0Ñ0°Ó6�FØ"&§+¡+¨fÑ"5�Kà" fÒ,Ø !™˜Ú!Ø ŸL™L¨°Õ8Ø$¨Ò3Ø×)Ñ)¨&°&Õ9Ø$¨	Ò1ØŸ™¨°Õ7Ø$¨Ò3Ø×)Ñ)¨&°&Õ9Ø$¨Ò.ØŸ™ V¨VÕ4Ø$¨Ò.ØŸ™ V¨VÕ4Ø$¨Ò4Ø×*Ñ*¨6°6Õ:Ø$¨Ò4Ø×*Ñ*¨6°6Õ:Ø$¨Ò/ØŸ™ fÖ-Ø$¨Ô4Ø×*Ñ*¨6°6Ö:ð3 5ð6 ×'Ñ'¨Ô-Ø"&§.¡.×"4Ñ"4Ó"6‘��4•<ä˜Aœy×5Ñ5Ô6Ü˜$Ÿ+™+ eÑ,Ó-�Ü˜$Ÿ+™+ hÑ/Ó0�à×#Ñ# AÔ&Ø×,Ñ,Ð-?ÀÀqÇvÁvØ˜Só"�à—	‘	˜#˜s DÔ)à�LŠL˜AÑŽLr   c                 ó€   — | j                   j                  | j                  j                  |j                  d   f«       y )Nrl   )rv   r+   rt   r/   r   ©r0   r!   s     r   Ú	addActionzUIParser.addActionƒ  s,   € Ø�‰×Ñ˜TŸZ™Z×1Ñ1°4·;±;¸vÑ3FÐGÕHr   c                  ó<   — | D ]  }|€Œt        |t        «      rŒ y y)z; Return True if any argument appears to be an i18n string. TF)r,   r  )ÚargsÚas     r   Úany_i18nzUIParser.any_i18n†  s$   € ó ˆAØ‰}¤Z°´3Õ%7Ùð ð r   c                 óê  — | j                   j                  |dd¬«      }| j                  }|j                  |d«      }|j                  |d«      }|j                  |d«      }	|j                  |d«      }
| j	                  |||	|
«      r| j                   j                  d||«       |r|j                  |«       |r|j                  |«       |	r|j                  |	«       |
r|j                  |
«       |j                  |d«      }|r|j                  |«       |j                  |d	«      }|r|j                  |«       |j                  |d
«      }|r|j                  |«       |j                  |d«      }|r|j                  |«       |j                  |d«      }|r|j                  |«       |j                  |d«      }|r|j                  |«       |j                  |d«      }|r|j!                  |«       |S )z( Create a specific type of widget item. r1   F)r|   r  r0  r�   r1  ÚtextAlignmentr2  r›   r3  r4  r5  r6  )ra   r   rb   r�   rW  r(  r@  rA  rB  rC  ÚsetTextAlignmentrD  rE  rF  rG  rH  rI  )r0   Ú	item_typer!   ÚgetterÚgetter_argsr1   Úpropsr  Ú
status_tipÚtool_tipÚ
whats_thisÚtext_alignmentr2  r›   r3  r4  r5  Úcheck_states                     r   r;  zUIParser.createWidgetItem�  sÓ  € ð �|‰|×*Ñ*¨9°fØ"ð +ó $ˆà—‘ˆð
 × Ñ   vÓ.ˆØ×&Ñ& t¨[Ó9ˆ
Ø×$Ñ$ T¨9Ó5ˆØ×&Ñ& t¨[Ó9ˆ
à�=‰=˜˜z¨8°ZÔ@Ø�L‰L×Ñ ¨°Ô<áØ�L‰L˜ÔáØ×Ñ˜jÔ)áØ�O‰O˜HÔ%áØ×Ñ˜jÔ)à×*Ñ*¨4°ÓAˆÙØ×!Ñ! .Ô1à× Ñ   vÓ.ˆÙØ�L‰L˜Ôà× Ñ   vÓ.ˆÙØ�L‰L˜Ôà×&Ñ& t¨\Ó:ˆ
ÙØ×Ñ˜zÔ*à×&Ñ& t¨\Ó:ˆ
ÙØ×Ñ˜zÔ*à×!Ñ! $¨Ó0ˆÙØ�M‰M˜%Ô à×'Ñ'¨¨lÓ;ˆÙØ×Ñ˜{Ô+àˆr   c                 ób  — | j                   j                  }t        |t        j                  «      �r| j
                  }| j                  }|j                  |d«      }|r |j                  «       j                  ||«       |j                  |d«      }|r |j                  «       j                  ||«       |j                  |d«      }|r |j                  «       j                  ||«       |j                  |d«      }|r |j                  «       j                  ||«       |j                  |d«      }	|	r |j                  «       j                  ||	«       |j                  |d«      }
|
r |j                  «       j                  ||
«       |j                  |d«      }|r |j                  «       j                  ||«       |j                  |d«      }|r |j                  «       j!                  ||«       |j                  |d	«      }|r |j                  «       j#                  ||«       | xj                  d
z  c_        y t        |t        j$                  «      rât'        |«      dk7  rÓ|j(                  dk(  rZ| j+                  d||j,                  | j                  «      }|j/                  | j                  |«       | xj                  d
z  c_        y |j(                  dk(  rZ| j+                  d||j0                  | j2                  «      }|j5                  | j2                  |«       | xj2                  d
z  c_        y y y y )Nr  r0  r�   r1  rY  r2  r›   r3  r4  r   r   r   r7  r   )rt   r/   r,   r-   r<  rb   r¢   r�   Ú
headerItemr@  rA  rB  rC  rZ  rD  rE  rF  rG  r¨   rH   Útagr;  ÚhorizontalHeaderItemÚsetHorizontalHeaderItemÚverticalHeaderItemr£   ÚsetVerticalHeaderItem)r0   r!   r*  r^  rO  r  r_  r`  ra  rb  r2  r›   r3  r4  r1   s                  r   Ú	addHeaderzUIParser.addHeaderÌ  s§  € Ø�J‰J× Ñ ˆä�aœ×.Ñ.Õ/Ø—K‘KˆEØ×%Ñ%ˆCà×$Ñ$ T¨6Ó2ˆDÙØ—‘“×&Ñ& s¨DÔ1à×*Ñ*¨4°Ó=ˆJÙØ—‘“×+Ñ+¨C°Ô<à×(Ñ(¨¨yÓ9ˆHÙØ—‘“×)Ñ)¨#¨xÔ8à×*Ñ*¨4°Ó=ˆJÙØ—‘“×+Ñ+¨C°Ô<à"×.Ñ.¨t°_ÓEˆNÙØ—‘“×/Ñ/°°^ÔDà×$Ñ$ T¨6Ó2ˆDÙØ—‘“×&Ñ& s¨DÔ1à×$Ñ$ T¨6Ó2ˆDÙØ—‘“×&Ñ& s¨DÔ1à×*Ñ*¨4°Ó>ˆJÙØ—‘“×,Ñ,¨S°*Ô=à×*Ñ*¨4°Ó>ˆJÙØ—‘“×,Ñ,¨S°*Ô=à×Ò 1Ñ$Öä˜œ9×1Ñ1Ô2Ü�4‹y˜AŠ~Ø—8‘8˜xÒ'Ø×0Ñ0Ð1CÀTØ×2Ñ2°D×4GÑ4GóI�Dà×-Ñ-¨d×.AÑ.AÀ4ÔHØ×'Ò'¨1Ñ,Ö'Ø—X‘X Ò&Ø×0Ñ0Ð1CÀTØ×0Ñ0°$×2BÑ2BóD�Dà×+Ñ+¨D×,<Ñ,<¸dÔCØ×$Ò$¨Ñ)Ö$ð	 'ð ð 3r   c                 óš   — |j                   €y 	 t        | j                  |j                   «      j                  «        y # t        $ r Y y w xY wr`   )r  r   rs   Úraise_rr   rR  s     r   Ú	setZOrderzUIParser.setZOrder  sC   € à�9‰9ÐØð	Ü�D×'Ñ'¨¯©Ó3×:Ñ:Õ<øÜò 	áð	ús   �.> ¾	A
Á	A
c                 óZ   — | j                  d| j                  xs | j                  |«       y )NÚQAction)rˆ   rw   rs   rR  s     r   ÚcreateActionzUIParser.createAction  s)   € Ø×Ñ˜)Ø×'Ñ'Ò>¨4×+>Ñ+>Àõ	Fr   c                 ó€   — | j                  d| j                  |d¬«      }|| _        | j                  |«       d | _        y )NÚQActionGroupFr  )rˆ   rs   rw   r«   )r0   r!   Úaction_groups      r   ÚcreateActionGroupzUIParser.createActionGroup  sD   € Ø×(Ñ(¨¸×9LÑ9LØ¨ð )ó 0ˆà".ˆÔØ×Ñ Ô%Ø"&ˆÕr   )
r:   Ú	addactionr6   rö   r1   ÚactionÚactiongroupr   r   Úzorderc                 óˆ   — t        |«      D ]%  }	 | j                  |j                     } || |«       Œ' y # t        $ r Y Œ4w xY wr`   )ÚiterÚwidgetTreeItemHandlersrf  rk   )r0   r!   r>  Úhandlers       r   r«   zUIParser.traverseWidgetTree+  sI   € Ü˜$–ZˆEðØ×5Ñ5°e·i±iÑ@�ñ �D˜%Õ ñ  øô ò Ùðús   �5µ	AÁ Ac                 óº  — |j                   d   }|j                   d   }|s1|}|j                  d«      r|dd }|d   j                  «       |dd z   }| j                  ||«      | _        | j                  j                  |«       t        d| j                  j                  «       j                  «       «       | j                  j                  | j                  |«       | j                  j                  | j                  «       | j                  |«       | j                  j                  «        | j                  «        | j!                  «        | j#                  «        y)z( Handle the top-level <widget> element. r�   rl   ÚQr   Nr   ztoplevel widget is %s)r   Ú
startswithr}   ÚcreateToplevelWidgetrs   r�   r'   r(   r)   rb   r€   rt   r2   r«   r;   Ú
addActionsÚ
setBuddiesÚsetDelayedProps)r0   ÚelÚcnameÚwnames       r   Ú_handle_widgetzUIParser._handle_widget4  s  € ð —	‘	˜'Ñ"ˆØ—	‘	˜&Ñ!ˆñ ØˆEà×Ñ Ô$Ø˜a˜b˜	�à˜!‘H—N‘NÓ$ u¨Q¨R yÑ0ˆEà"×7Ñ7¸¸uÓEˆÔØ×Ñ×)Ñ)¨%Ô0ÜÐ%Ø×!Ñ!×,Ñ,Ó.×8Ñ8Ó:ô	<à�‰×!Ñ! $×"5Ñ"5°rÔ:Ø�
‰
�‰˜×+Ñ+Ô,Ø×Ñ Ô#Ø�
‰
×ÑÔØ�‰ÔØ�‰ÔØ×ÑÕr   c                 ó†  — | j                   D ]²  \  }}|dk(  r|j                  «        Œt        d||j                  «       «       t	        | j
                  |«      }t        |t        j                  «      r |j                  |j                  «       «       Œ‡t        |t        j                  «      rŒ¢|j                  |«       Œ´ y )NÚ	separatorzadd action %s to %s)rv   ÚaddSeparatorr'   r*   r   rs   r,   r-   ÚQMenurS  Ú
menuActionrc   rs  )r0   r:   Úaction_nameÚ
action_objs       r   r‚  zUIParser.addActionsP  s”   € Ø#'§<¤<ÑˆF�KØ˜kÒ)Ø×#Ñ#Õ%äÐ+¨[¸&×:KÑ:KÓ:MÔNÜ$ T×%8Ñ%8¸+ÓF�
Ü˜j¬)¯/©/Ô:Ø×$Ñ$ Z×%:Ñ%:Ó%<Õ=Ü# J´×0BÑ0BÕCØ×$Ñ$ ZÕ0ñ $0r   c                 ó�   — | j                   j                  D ]-  \  }}}}|r|j                  «       }t        ||«      } ||«       Œ/ y r`   )rb   Údelayed_propsr6   r   )r0   r:   r6   r#  rU  s        r   r„  zUIParser.setDelayedProps\  sA   € Ø,0¯K©K×,EÔ,EÑ(ˆF�F˜F DÙØŸ™›�ä˜V VÓ,ˆFÙ�4�Lñ -Fr   c                 ó  — | j                   j                  D ]F  \  }}t        d||j                  «       «       	 |j	                  t        | j                  |«      «       ŒH y # t        $ r t        d||j                  «       «       Y Œpw xY w)Nz%s is buddy of %sz1ERROR in ui spec: %s (buddy of %s) does not exist)rb   Úbuddiesr'   r*   ÚsetBuddyr   rs   rr   )r0   r:   Úbuddys      r   rƒ  zUIParser.setBuddiesd  sx   € Ø!Ÿ[™[×0Ô0‰MˆF�EÜÐ% u¨f×.?Ñ.?Ó.AÔBð2Ø—‘¤¨×(;Ñ(;¸UÓ CÕDñ 1øô "ò 2ÜÐIØ˜V×.Ñ.Ó0ö2ð2ús   ¹%A!Á!$BÂBc                  ó   — y)zc
        Reimplemented by a sub-class if it needs to know the translation
        context.
        Nr   )r0   Úcontexts     r   Ú
setContextzUIParser.setContextm  s   € ð
 	r   c                 ó˜   — t        |j                  d   «      | j                  d<   t        |j                  d   «      | j                  d<   y)z% Handle the <layoutdefault> element. rq   rp   N)r    r   ru   )r0   r…  s     r   Ú_handle_layout_defaultzUIParser._handle_layout_defaultt  s<   € ô #& b§i¡i°Ñ&9Ó":ˆ�‰�hÑÜ#& r§y¡y°Ñ';Ó#<ˆ�‰�iÒ r   c                 ó–   — d}|D ]B  }t        | j                  |j                  «      }|�| j                  j                  ||«       |}ŒD y)z  Handle the <tabstops> element. N)r   rs   r  ÚsetTabOrder)r0   r…  Ú
lastwidgetÚ	widget_elr:   s        r   Ú_handle_tab_stopszUIParser._handle_tab_stopsz  sJ   € ð ˆ
ÛˆIÜ˜T×0Ñ0°)·.±.ÓAˆFàÐ%Ø×#Ñ#×/Ñ/°
¸FÔCà‰Jñ r   c                 óª  ‡ — ˆ fd„}|D �]  }|j                  d«      }|j                  d«      \  }}|dd j                  dd«      } ||j                  d«      «      }t        ||«      }‰ j                  j                   ||j                  d	«      «      |j                  d
«      j                  d«      d   «      }	|dk(  r|j                  |	«       ŒÊ|j                  d«      }t        |«      dk(  r||d      j                  |	«       �Œ|t        |«         j                  |	«       �Œ! t        j                  j                  ‰ j                  «       y)z# Handle the <connections> element. c                 óf   •— | ‰j                   k(  r‰j                  S t        ‰j                  | «      S r`   )Úuinamers   r   )r‡   r0   s    €r   Úname2objectz1UIParser._handle_connections.<locals>.name2object‰  s.   ø€ Ø�d—k‘kÒ!Ø×*Ñ*Ð*ä˜t×2Ñ2°CÓ8Ð8r   ÚsignalÚ(Nr>   r&   r-  ÚsenderÚreceiverÚslotr   r!  r   )rê   r   r§   r   ra   ÚgetSlotÚconnectrH   Útupler   ÚQMetaObjectÚconnectSlotsByNamers   )
r0   r…  r£  Úconnr¤  Úsignal_nameÚsignal_argsr¦  Úbound_signalr¨  s
   `         r   Ú_handle_connectionszUIParser._handle_connections†  s-  ø€ ô	9ô ˆDØ—]‘] 8Ó,ˆFØ'-§|¡|°CÓ'8Ñ$ˆK˜Ø% c rÐ*×2Ñ2°3¸Ó;ˆKÙ  §¡¨xÓ!8Ó9ˆFÜ" 6¨;Ó7ˆLà—<‘<×'Ñ'©°D·M±MÀ*Ó4MÓ(NØ—M‘M &Ó)×/Ñ/°Ó4°QÑ7ó9ˆDð ˜bÒ Ø×$Ñ$ TÕ*à)×/Ñ/°Ó4�ä�{Ó# qÒ(Ø  ¨Q¡Ñ0×8Ñ8¸Ö>à ¤ {Ó!3Ñ4×<Ñ<¸TÖBð% ô( 	×Ñ×-Ñ-¨d×.AÑ.AÕBr   c           
      óÄ   — d„ }|D ]X  }|j                  d«      }| j                  j                  ||j                  d«      xs d ||j                  d«      «      «       ŒZ y)z% Handle the <customwidgets> element. c                 óÌ   — | j                  d«      r| dd } g }| j                  d«      D ](  }|dvsŒ|dk(  rt        d«      ‚|j                  |«       Œ* dj	                  |«      S )	zÀheader2module(header) -> string

            Convert paths to C++ header files to according Python modules
            >>> header2module("foo/bar/baz.h")
            'foo.bar.baz'
            z.hNrF   Ú/)r-  r�   z..z4custom widget header file name may not contain '..'.r�   )Úendswithr   ÚSyntaxErrorr+   Újoin)r•   ÚmpathÚparts      r   Úheader2modulez6UIParser._handle_custom_widgets.<locals>.header2module¨  sl   € ð �‰˜tÔ$Ø  ˜�àˆEØŸ™ SÖ)�ð ˜yÒ(Ø˜t’|ä)Ð*`ÓaÐaà—L‘L Õ&ð *ð —8‘8˜E“?Ð"r   r�   Úextendsr.   r•   N)rê   ra   ÚaddCustomWidget)r0   r…  r»  Úcustom_widgetr  s        r   Ú_handle_custom_widgetszUIParser._handle_custom_widgets¥  s^   € ò	#ó.  ˆMØ%×.Ñ.¨wÓ7ˆIØ�L‰L×(Ñ(¨Ø!×*Ñ*¨9Ó5ÒB¸Ù! -×"8Ñ"8¸Ó"BÓCõEñ  r   c                 ó   — t         ‚r`   )ÚNotImplementedError)r0   r  Ú
widgetnames      r   r�  zUIParser.createToplevelWidgetÅ  s   € Ü!Ð!r   c                 óä   — |D ]k  }|j                   dk(  sŒ|j                  d   }t        «       }|| j                  |<   | j	                  |d«      }|€ŒP|j                  d«      dk(  sŒed|_        Œm y)z$ Handle the <buttongroups> element. Úbuttongrouprl   rY   NÚboolÚfalseF)rf  r   rW   rx   r�   rê   rY   )r0   r…  Úbutton_grouprË   rÌ   rŒ   s         r   Ú_handle_button_groupszUIParser._handle_button_groupsÈ  ss   € ó ˆLØ×Ñ =Ó0Ø&×-Ñ-¨fÑ5�Ü “]�Ø.0�×"Ñ" 7Ñ+à×'Ñ'¨°kÓB�ØÑ#Ø—}‘} VÓ,°Ó7Ø',˜�ñ r   c                  ó   — y r`   r   r?   s    r   ÚfinalizezUIParser.finalizeØ  s   € Ør   c                 óh  — t        |d«      rd}nt        j                  j                  |«      }| j                  j                  |«       t        |«      }|j                  | _        |j                  | j                  _        | j                  |j                  «       |j                  �| j                  |j                  «       |j                  �| j                  |j                  «       |j                  �| j                  |j                  «       |j                   �| j#                  |j                   «       |j$                  �| j'                  |j$                  «       |j(                  �| j+                  |j(                  «       | j-                  «        | j.                  }| j1                  «        |S )NÚreadr-  )ÚhasattrÚosÚpathÚdirnamerb   Úset_base_dirr   rƒ   r¢  r˜  Úlayout_defaultrš  rx   rÈ  Úcustom_widgetsr¿  r:   rˆ  Úconnectionsr²  Ú	tab_stopsrŸ  rÊ  rs   rd   )r0   ÚfilenameÚbase_dirÚui_filer*  s        r   ÚparsezUIParser.parseÛ  sP  € Ü�8˜VÔ$Ø‰Hä—w‘w—‘ xÓ0ˆHà�‰× Ñ  Ô*ä˜Ó"ˆà×(Ñ(ˆŒØ$×/Ñ/ˆ�‰ÔØ�‰˜×*Ñ*Ô+ð
 ×!Ñ!Ð-Ø×'Ñ'¨×(>Ñ(>Ô?à× Ñ Ð,Ø×&Ñ& w×'<Ñ'<Ô=à×!Ñ!Ð-Ø×'Ñ'¨×(>Ñ(>Ô?à�>‰>Ð%Ø×Ñ §¡Ô/à×ÑÐ*Ø×$Ñ$ W×%8Ñ%8Ô9à×ÑÐ(Ø×"Ñ" 7×#4Ñ#4Ô5à�‰Œà×ÑˆØ�
‰
Œàˆr   c                 ó  — | d   dkD  r&t         j                  j                  j                  }|S | d   dk(  r&t         j                  j                  j                  }|S t         j                  j                  j
                  }|S )Né   r   )r-   rµ   ÚItemRoleÚSpanningRoleÚ	FieldRoleÚ	LabelRole)Úlayout_positionÚroles     r   r·   zUIParser._form_layout_role  sx   € à˜1Ñ Ò!Ü×(Ñ(×1Ñ1×>Ñ>ˆDð ˆð ˜QÑ 1Ò$Ü×(Ñ(×1Ñ1×;Ñ;ˆDð ˆô ×(Ñ(×1Ñ1×;Ñ;ˆDàˆr   N)TT)(rS   rT   rU   r[   rn   rd   rˆ   r�   rÓ   r­   r÷   r  r  r  r+  rP  rS  ÚstaticmethodrW  r;  rk  rn  rq  ru  r|  r«   rˆ  r‚  r„  rƒ  r˜  rš  rŸ  r²  r¿  r�  rÈ  rÊ  rÙ  r·   r   r   r   r^   r^   ­   s  „ ò
ò'ò*	 ð EIØ#óò6òQ òf0ò:)ò<B2òH
>ò'ò'òYòvIð ñó ðò:òx8*òtòFò'ð #ØØ"Ø"Ø Ø"Ø(ØØØñ
Ðò!òò8
1òò2òò=ò
 òCò>Eò@"ò-ò ò(ðT ñó ñr   r^   )ÚsysÚloggingrÎ  ÚreÚxml.etree.ElementTreer   Ú
objcreatorr   Ú
propertiesr   rØ  r   Ú	getLoggerrS   ÚloggerÚdebugr'   r   rc   r-   r   r"   r4   r$   rZ   rW   r^   r   r   r   Ú<module>rì     s~   ðóJ Û Û 	Û 	Ý ,å &Ý "Ý ð 
ˆ×	Ñ	˜8Ó	$€Ø�‰€à	€Ø€Ø€	òò Hô>8'�$ô 8'ôv�&ô ôaˆvõ ar   