Ë
    Î£jð<  ã                   óÐ   — d dl Z d dlZd dlmZmZ d dlmZmZ d dlm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZmZ d dlmZmZmZmZ  e j:                  «       Z G d„ d	e«      Zy)
é    N)ÚQtÚ
pyqtSignal)ÚQActionÚQColor)
ÚQAbstractItemViewÚ	QCheckBoxÚQHBoxLayoutÚQHeaderViewÚQMenuÚQPushButtonÚQStyleÚQTableWidgetÚQTableWidgetItemÚQWidget)ÚPARTICLE_GROUP_MAPPING)Úcalculate_particle_availabilityÚexpand_group_selections)Ú
BG_DEFAULTÚBUTTON_STYLE_ALTÚCODE_BGÚFONT_SIZE_NORMALc                   ó¨   ‡ — e Zd Z ee«      Zdˆ f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„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚConflictMatrixc                 ó˜  •— t         ‰| �  «        | j                  «       j                  t        j
                  j                  «       | j                  «       j                  t        j
                  j                  «       | j                  «       j                  t        j                  j                  t        j                  j                  z  «       | j                  t        j                  j                   «       || _        d| _        i | _        g | _        | j                  «       j+                  t        j,                  j.                  «       | j                  «       j0                  j3                  | j4                  «       | j7                  t8        j:                  j<                  «       | j?                  «       }d}|jA                  |«       y )NFé   )!ÚsuperÚ__init__ÚhorizontalHeaderÚsetSectionResizeModer
   Ú
ResizeModeÚResizeToContentsÚverticalHeaderÚsetDefaultAlignmentr   ÚAlignmentFlagÚ
AlignRightÚAlignVCenterÚsetSelectionModer   ÚSelectionModeÚNoSelectionÚsettingsÚsimple_modeÚmod_particles_cacheÚall_particles_cacheÚsetContextMenuPolicyÚContextMenuPolicyÚCustomContextMenuÚcustomContextMenuRequestedÚconnectÚshow_mod_context_menuÚsetHorizontalScrollModer   Ú
ScrollModeÚScrollPerPixelÚhorizontalScrollBarÚsetSingleStep)Úselfr*   Úh_scrollbarÚnew_pixel_stepÚ	__class__s       €úFC:\Users\pivot\Documents\cueki\casual-preloader\gui\conflict_matrix.pyr   zConflictMatrix.__init__    sF  ø€ Ü‰ÑÔØ×ÑÓ×4Ñ4´[×5KÑ5K×5\Ñ5\Ô]Ø×ÑÓ×2Ñ2´;×3IÑ3I×3ZÑ3ZÔ[Ø×ÑÓ×1Ñ1´"×2BÑ2B×2MÑ2MÔPR×P`ÑP`×PmÑPmÑ2mÔnØ×Ñœl×8Ñ8×DÑDÔEØ ˆŒØ ˆÔØ#%ˆÔ Ø#%ˆÔ Ø×ÑÓ×2Ñ2´2×3GÑ3G×3YÑ3YÔZØ×ÑÓ×8Ñ8×@Ñ@À×A[ÑA[Ô\ð 	×$Ñ$Ô%6×%AÑ%A×%PÑ%PÔQØ×.Ñ.Ó0ˆØˆØ×!Ñ! .Õ1ó    c                 ó*  ‡ ‡
— ‰ j                  «       }|j                  |«      }|dk  ry ‰ j                  |«      }|sy |j                  «       j	                  d«      d   Š
t        ‰ «      }‰ j                  ‰
«      �„‰ j                  «       j                  t        j                  j                  «      }t        |d‰ «      }|j                  j                  ˆ
ˆ fd„«       |j                  |«       |j!                  «        ‰ j                  «       j                  t        j                  j"                  «      }t        |d‰ «      }	|	j                  j                  ˆ
ˆ fd„«       |j                  |	«       |j%                  |j'                  |«      «       y )Nr   ú (zOpen mod pagec                  ó&   •— ‰j                  ‰ «      S ©N)Úopen_mod_url©Úmod_namer9   s   €€r=   Ú<lambda>z6ConflictMatrix.show_mod_context_menu.<locals>.<lambda>E   s   ø€ °×1BÑ1BÀ8Ô1Lr>   ÚDeletec                  ó:   •— ‰j                   j                  ‰ «      S rB   )Úmod_delete_requestedÚemitrD   s   €€r=   rF   z6ConflictMatrix.show_mod_context_menu.<locals>.<lambda>L   s   ø€ °×0IÑ0I×0NÑ0NÈxÔ0Xr>   )r"   ÚlogicalIndexAtÚverticalHeaderItemÚtextÚsplitr   Úget_mod_urlÚstyleÚstandardIconr   ÚStandardPixmapÚSP_FileDialogInfoViewr   Ú	triggeredr2   Ú	addActionÚaddSeparatorÚSP_TrashIconÚexecÚmapToGlobal)r9   ÚpositionÚheaderÚrowÚheader_itemÚmenuÚurl_iconÚ
url_actionÚdelete_iconÚdelete_actionrE   s   `         @r=   r3   z$ConflictMatrix.show_mod_context_menu3   s@  ù€ Ø×$Ñ$Ó&ˆØ×#Ñ# HÓ-ˆØ�Š7Øà×-Ñ-¨cÓ2ˆÙØà×#Ñ#Ó%×+Ñ+¨DÓ1°!Ñ4ˆä�T‹{ˆð ×Ñ˜HÓ%Ð1Ø—z‘z“|×0Ñ0´×1FÑ1F×1\Ñ1\Ó]ˆHÜ  ¨?¸DÓAˆJØ× Ñ ×(Ñ(Ô)LÔMØ�N‰N˜:Ô&à×ÑÔà—j‘j“l×/Ñ/´×0EÑ0E×0RÑ0RÓSˆÜ ¨X°tÓ<ˆØ×Ñ×'Ñ'Ô(XÔYØ�‰�}Ô%à�	‰	�&×$Ñ$ XÓ.Õ/r>   c                 óz   — 	 ddl m} |j                  |«      S # t        $ r t        j                  d«       Y y w xY w)Nr   )Úmod_urlszError loading mod URLs)Úcore.util.datard   ÚgetÚ	ExceptionÚlogÚ	exception)r9   rE   rd   s      r=   rO   zConflictMatrix.get_mod_urlQ   s8   € ð	Ý/Ø—<‘< Ó)Ð)øÜò 	Ü�M‰MÐ2Ô3Ùð	ús   ‚ ™:¹:c                 ó¦   — | j                  |«      }|�	 t        j                  |«       y y # t        $ r t        j                  d|› �«       Y y w xY w)NzError opening URL for )rO   Ú
webbrowserÚopenrg   rh   ri   )r9   rE   Úurls      r=   rC   zConflictMatrix.open_mod_urlY   sU   € à×Ñ˜xÓ(ˆØˆ?ðCÜ—‘ Õ$ð øô ò CÜ—‘Ð 6°x°jÐAÖBðCús   •, ¬!AÁAc                 óŽ   — | j                   r8| j                  r| j                   j                  S | j                   j                  S i S rB   )r*   r+   Úmatrix_selections_simpleÚmatrix_selections©r9   s    r=   Úload_selectionszConflictMatrix.load_selectionsb   s7   € Ø�=Š=Ø×ÒØ—}‘}×=Ñ=Ð=à—}‘}×6Ñ6Ð6Øˆ	r>   c                 ó  — i }t        d| j                  «       «      D �]B  }| j                  |«      }|st        j	                  d|› �«       Œ0|j                  «       j                  «       }t        | j                  «       «      D ]Ù  }| j                  ||«      }|sŒ|j                  «       }|sŒ+|j                  «       dkD  sŒ?|j                  d«      }|sŒS|j                  «       }	t        |	t        «      sŒt|	j                  «       sŒ…| j!                  |«      }
|
st        j	                  d|› �«       Œ±|
j                  «       j#                  d«      d   }|||<    �ŒB �ŒE t%        || j&                  | j(                  «      }|S )Né   zMissing header item for column r   z%Missing vertical header item for row r@   )ÚrangeÚcolumnCountÚhorizontalHeaderItemrh   ÚwarningrM   ÚstripÚrowCountÚ
cellWidgetÚlayoutÚcountÚitemAtÚwidgetÚ
isinstancer   Ú	isCheckedrL   rN   r   r,   r+   )r9   Ú
selectionsÚcolr]   Úcolumn_namer\   Úcell_widgetr|   Úwidget_itemÚcheckboxÚv_header_itemrE   s               r=   Ú_get_current_selections_dictz+ConflictMatrix._get_current_selections_dictj   sZ  € Øˆ
ä˜˜D×,Ñ,Ó.×/ˆCØ×3Ñ3°CÓ8ˆKÙÜ—‘Ð=¸c¸UÐCÔDØØ%×*Ñ*Ó,×2Ñ2Ó4ˆKä˜TŸ]™]›_Ö-�Ø"Ÿo™o¨c°3Ó7�ÚØ(×/Ñ/Ó1�FÚ &§,¡,£.°1Ó"4Ø&,§m¡m°AÓ&6˜Ú&Ø'2×'9Ñ'9Ó';˜HÜ)¨(´IÕ>À8×CUÑCUÕCWØ04×0GÑ0GÈÓ0L Ù'4Ü$'§K¡KÐ2WÐX[ÐW\Ð0]Ô$^Ø$,Ø+8×+=Ñ+=Ó+?×+EÑ+EÀdÓ+KÈAÑ+N Ø:B 
¨;Ñ 7Ú %ò .ð 0ô2 -Ø˜×0Ñ0°$×2BÑ2Bó
ˆ
ð Ðr>   c                 óœ   — | j                   sy | j                  «       }| j                  r|| j                   _        y || j                   _        y rB   )r*   r‰   r+   ro   rp   ©r9   r‚   s     r=   Úsave_selectionszConflictMatrix.save_selectionsŒ   s;   € Ø�}Š}Øà×6Ñ6Ó8ˆ
Ø×ÒØ5?ˆD�M‰MÕ2à.8ˆD�M‰MÕ+r>   c                 ó&   — | j                  «       }|S rB   )r‰   r‹   s     r=   Úget_selected_particlesz%ConflictMatrix.get_selected_particles–   s   € Ø×6Ñ6Ó8ˆ
ØÐr>   c                 ód   — i | _         g | _        | j                  d«       | j                  d«       y ©Nr   )r,   r-   ÚsetRowCountÚsetColumnCountrq   s    r=   Úclear_matrixzConflictMatrix.clear_matrixš   s.   € à#%ˆÔ Ø#%ˆÔ Ø×Ñ˜ÔØ×Ñ˜AÕr>   c                 óæ   — || _         | j                  r^t        | j                  j                  «       «      }| j                   r| j	                  |«       y | j                  || j                  «       y y rB   )r+   r,   ÚlistÚkeysÚupdate_matrix_simpleÚupdate_matrix_advancedr-   )r9   ÚenabledÚmodss      r=   Úset_simple_modezConflictMatrix.set_simple_mode¡   s^   € Ø"ˆÔà×#Ò#Ü˜×0Ñ0×5Ñ5Ó7Ó8ˆDØ×ÒØ×)Ñ)¨$Õ/à×+Ñ+¨D°$×2JÑ2JÕKð $r>   c                 ó    — || _         ddlm}  |«       \  }}|| _        | j                  r| j                  |«       y | j                  ||«       y )Nr   )Úget_mod_particles)r-   Úcore.util.pcf_path_walkr�   r,   r+   r—   r˜   )r9   rš   Ú	pcf_filesr�   Úmod_particlesÚ_s         r=   Úupdate_matrixzConflictMatrix.update_matrix«   sK   € à#,ˆÔ õ 	>Ù,Ó.Ñˆ�qØ#0ˆÔ à×ÒØ×%Ñ% dÕ+à×'Ñ'¨¨iÕ8r>   c                 ón  — | j                  «        t        t        j                  «       «      }| j	                  t        |«      dz   «       | j                  t        |«      «       dg|D �cg c]  }d|› d�‘Œ
 c}z   }| j                  |«       | j                  |«       | j                  ||«       y c c}w )Nrt   ú
Select AllÚ )
ÚclearContentsr•   r   r–   r’   Úlenr‘   ÚsetHorizontalHeaderLabelsÚsetVerticalHeaderLabelsÚ_setup_matrix_cells)r9   rš   ÚgroupsÚgroupÚheaderss        r=   r—   z#ConflictMatrix.update_matrix_simple¹   s¥   € Ø×ÑÔô Ô,×1Ñ1Ó3Ó4ˆð 	×ÑœC ›K¨!™OÔ,Ø×Ñœ˜T›Ô#ð  �.¹fÓ#E¹f°U a¨ w¨a¢L¸fÑ#EÑEˆØ×&Ñ& wÔ/Ø×$Ñ$ TÔ*à× Ñ   vÕ.ùò	 $Fs   Á+B2c                 ó  — | j                  «        | j                  t        |«      dz   «       | j                  t        |«      «       dg|z   }| j	                  |«       | j                  |«       | j                  ||«       y )Nrt   r¤   )r¦   r’   r§   r‘   r¨   r©   rª   )r9   rš   rŸ   r­   s       r=   r˜   z%ConflictMatrix.update_matrix_advancedÊ   ss   € Ø×ÑÔð 	×ÑœC 	›N¨QÑ.Ô/Ø×Ñœ˜T›Ô#ð  �. 9Ñ,ˆØ×&Ñ& wÔ/Ø×$Ñ$ TÔ*à× Ñ   yÕ1r>   c           	      óê  ‡ — g }‰ j                  «       }t        |«      D ]d  \  }}t        d«      }|j                  t        dt
        › d�z   «       |j                  j                  d|fˆ fd„	«       ‰ j                  |d|«       Œf t        ‰ j                  «       «      D ]Á  }|dz  dk(  rt        nt        }	‰ j                  |«      }
|
r|
j                  t        |	«      «       t        ‰ j!                  «       «      D ]b  }t#        «       }|j                  t        |	«      «       |j%                  t&        j(                  j*                  «       ‰ j-                  |||«       Œd ŒÃ t        |«      D �]&  \  }}t/        ‰ j0                  j3                  |g «      «      }t        |«      D ]í  \  }}|dz   }t5        ||‰ j6                  ||«      \  }}|sŒ*|dz  dk(  rt        nt        }	t9        «       }|j                  d	|	› d
�«       t;        |«      }|j=                  t&        j>                  j@                  «       |jC                  dddd«       ‰ jE                  ||«      }|r|jG                  |«       |jI                  |«       ‰ j                  |||«       Œï �Œ) |D ]5  }|jK                  d«       |jM                  d«       |jK                  d«       Œ7 ddl'm(} |jS                  d‰ jT                  «       y )Nr¤   z+QPushButton { padding: 4px 8px; font-size: z; }Fc                 ó&   •— ‰j                  |«      S rB   )Úselect_all_row)ÚcheckedÚrr9   s     €r=   rF   z4ConflictMatrix._setup_matrix_cells.<locals>.<lambda>à   s   ø€ È4×K^ÑK^Ð_`ÔKar>   r   é   rt   zbackground: Ú;T)ÚQTimer)+rr   Ú	enumerater   ÚsetStyleSheetr   r   Úclickedr2   ÚsetCellWidgetru   rv   r   r   rw   ÚsetBackgroundr   rz   r   ÚsetFlagsr   ÚItemFlagÚNoItemFlagsÚsetItemÚsetr,   rf   r   r+   r   r	   ÚsetAlignmentr$   ÚAlignCenterÚsetContentsMarginsÚcreate_checkboxÚappendÚ	addWidgetÚblockSignalsÚ
setCheckedÚPyQt6.QtCorer¶   Ú
singleShotÚupdate_select_all_buttons)r9   rš   ÚcolumnsÚsaved_checkboxes_to_checkÚsaved_selectionsr\   ÚmodÚselect_all_buttonrƒ   Úbg_colorr]   ÚitemÚmod_particles_setÚcol_idxr„   Úshould_enableÚshould_checkr…   r|   r‡   r¶   s   `                    r=   rª   z"ConflictMatrix._setup_matrix_cellsØ   s±  ø€ Ø$&Ð!Ø×/Ñ/Ó1Ðô " $ž‰HˆC�Ü +¨LÓ 9ÐØ×+Ñ+Ô,<ÐAmÔn~Ðmð  @Dð  @Eñ  -Eô  FØ×%Ñ%×-Ñ-¸UÀcÔ.aÔbØ×Ñ˜s AÐ'8Õ9ð	 (ô ˜×)Ñ)Ó+Ö,ˆCØ"%¨¡'¨Q¢,•w´JˆHà×3Ñ3°CÓ8ˆKÙØ×)Ñ)¬&°Ó*:Ô;ä˜TŸ]™]›_Ö-�Ü'Ó)�Ø×"Ñ"¤6¨(Ó#3Ô4Ø—‘œbŸk™k×5Ñ5Ô6Ø—‘˜S # tÕ,ñ	 .ð -ô " $Ÿ‰HˆC�Ü # D×$<Ñ$<×$@Ñ$@ÀÀbÓ$IÓ JÐä(1°'Ö(:Ñ$�˜Ø ‘k�ô /NØ˜ d×&6Ñ&6Ð8IÐK[ó/Ñ+�˜|ñ
 %Øà&)¨A¡g°¢l�7¼
�ä%›i�Ø×)Ñ)¨L¸¸
À!Ð*DÔEÜ$ [Ó1�Ø×#Ñ#¤B×$4Ñ$4×$@Ñ$@ÔAØ×)Ñ)¨!¨Q°°1Ô5à×/Ñ/°°SÓ9�áØ-×4Ñ4°XÔ>à× Ñ  Ô*Ø×"Ñ" 3¨¨[Õ9ò5 );ð (ó@ 2ˆHØ×!Ñ! $Ô'Ø×Ñ Ô%Ø×!Ñ! %Õ(ð 2õ 	(Ø×Ñ˜!˜T×;Ñ;Õ<r>   c                 óh  — d}g }t        d| j                  «       «      D ]~  }| j                  ||«      }|sŒ|j                  «       j	                  d«      j                  «       }|sŒH|j                  «       sŒY|j                  ||f«       |j                  «       sŒ}d}Œ€ | }d}|D ]f  \  }}|j                  «       }	|}
|	|
k7  sŒ|
r| j                  ||«       |j                  d«       |j                  |
«       |j                  d«       d}Œh |r!| j                  «        | j                  «        y y ©NFrt   r   T)ru   rv   r{   r|   r~   r   Ú	isEnabledrÅ   r�   Úuncheck_column_exceptrÇ   rÈ   rŒ   rË   )r9   r\   Úany_checkedÚenabled_checkboxes_in_rowrƒ   r…   r‡   rÖ   Úsomething_changedÚcurrent_stateÚtarget_states              r=   r±   zConflictMatrix.select_all_row  s,  € ØˆØ$&Ð!ô ˜˜D×,Ñ,Ó.Ö/ˆCØŸ/™/¨#¨sÓ3ˆKÚØ&×-Ñ-Ó/×6Ñ6°qÓ9×@Ñ@ÓB�Ú × 2Ñ 2Õ 4Ø-×4Ñ4°hÀ°_ÔEØ×)Ñ)Õ+Ø&*™ð 0ð '�ˆà!ÐÛ6‰MˆH�cØ$×.Ñ.Ó0ˆMØ'ˆLà Ó,ÙØ×.Ñ.¨s°CÔ8à×%Ñ% dÔ+Ø×#Ñ# LÔ1Ø×%Ñ% eÔ,Ø$(Ñ!ð 7ñ Ø× Ñ Ô"Ø×*Ñ*Õ,ð r>   c                 óÞ  — d}t        | j                  «       «      D ]¬  }t        d| j                  «       «      D ]�  }| j                  ||«      }|sŒ|j	                  «       j                  d«      j                  «       }|sŒH|j                  «       sŒY|j                  d«       |j                  d«       |j                  d«       d}Œ� Œ® |r!| j                  «        | j                  «        y y rØ   )ru   rz   rv   r{   r|   r~   r   r�   rÇ   rÈ   rŒ   rË   )r9   rÝ   r\   rƒ   r…   r‡   s         r=   Údeselect_allzConflictMatrix.deselect_all@  sÌ   € Ø!ÐÜ˜Ÿ™›Ö)ˆCÜ˜Q × 0Ñ 0Ó 2Ö3�Ø"Ÿo™o¨c°3Ó7�ÚØ*×1Ñ1Ó3×:Ñ:¸1Ó=×DÑDÓF�HÚ H×$6Ñ$6Õ$8Ø ×-Ñ-¨dÔ3Ø ×+Ñ+¨EÔ2Ø ×-Ñ-¨eÔ4Ø,0Ñ)ñ 4ð *ñ Ø× Ñ Ô"Ø×*Ñ*Õ,ð r>   c                 ó¤   — | j                  d«       t        | j                  «       «      D ]  }| j                  |«       Œ | j	                  «        y r�   )ÚresizeColumnToContentsru   rz   ÚresizeRowToContentsÚ_update_row_counts)r9   r\   s     r=   rË   z(ConflictMatrix.update_select_all_buttonsQ  s?   € à×#Ñ# AÔ&Ü˜Ÿ™›Ö)ˆCØ×$Ñ$ SÕ)ð *à×ÑÕ!r>   c           	      óh  — t        | j                  «       «      D �]  }| j                  |«      }|sŒ|j                  «       j	                  d«      d   }d}d}t        d| j                  «       «      D ]‰  }| j                  ||«      }|sŒ|j                  «       }|sŒ+|j                  «       dkD  sŒ?|j                  d«      j                  «       }	t        |	t        «      sŒo|dz  }|	j                  «       sŒ…|dz  }Œ‹ |dkD  r|j                  |› d|› d|› d�«       �Œ|j                  |«       �Œ y )Nr@   r   rt   Ú/Ú))ru   rz   rL   rM   rN   rv   r{   r|   r}   r~   r   r€   r   r�   ÚsetText)
r9   r\   Úv_headerÚ	base_nameÚtotalr²   rƒ   r…   r|   r‡   s
             r=   rå   z!ConflictMatrix._update_row_countsX  s  € Ü˜Ÿ™›×)ˆCØ×.Ñ.¨sÓ3ˆHÙØð !Ÿ™›×-Ñ-¨dÓ3°AÑ6ˆIàˆEØˆGÜ˜Q × 0Ñ 0Ó 2Ö3�Ø"Ÿo™o¨c°3Ó7�ÚØ(×/Ñ/Ó1�FÚ &§,¡,£.°1Ó"4Ø#)§=¡=°Ó#3×#:Ñ#:Ó#<˜Ü% h´	Õ:Ø! Q™J˜EØ'×1Ñ1Õ3Ø '¨1¡¡ð 4ð �qŠyØ× Ñ  I ;¨b°°	¸¸5¸'ÀÐ!CÖDà× Ñ  Ö+ñ1 *r>   c                 ó¬  — t        | j                  «       «      D ]¸  }||k7  sŒ	| j                  ||«      }|sŒ|j                  «       }|sŒ1|j	                  «       dkD  sŒE|j                  d«      j                  «       }t        |t        «      sŒu|j                  «       sŒ†|j                  d«       |j                  d«       |j                  d«       Œº y )Nr   TF)ru   rz   r{   r|   r}   r~   r   r€   r   r�   rÇ   rÈ   )r9   rƒ   Ú
target_rowr\   r…   r|   r‡   s          r=   rÚ   z$ConflictMatrix.uncheck_column_excepts  s¦   € Ü˜Ÿ™›Ö)ˆCØ�jÓ Ø"Ÿo™o¨c°3Ó7�ÚØ(×/Ñ/Ó1�FÚ &§,¡,£.°1Ó"4Ø$*§M¡M°!Ó$4×$;Ñ$;Ó$=˜Ü& x´Õ;À×@RÑ@RÕ@TØ$×1Ñ1°$Ô7Ø$×/Ñ/°Ô6Ø$×1Ñ1°%Õ8ñ *r>   c                 ó^   ‡ — t        «       }|j                  j                  ||fˆ fd„	«       |S )Nc                 ó*   •— ‰j                  | ||«      S rB   )Úon_checkbox_state_changed)Ústater³   Úcr9   s      €r=   rF   z0ConflictMatrix.create_checkbox.<locals>.<lambda>„  s   ø€ ¨×(FÑ(FÀuÈaÐQRÔ(Sr>   )r   ÚstateChangedr2   )r9   r\   rƒ   r‡   s   `   r=   rÄ   zConflictMatrix.create_checkbox€  s-   ø€ Ü“;ˆà×Ñ×%Ñ%Ø 3ÔSô	
ð ˆr>   c                 óø   — | j                  «       }t        |t        «      sy |t        j                  j
                  j                  k(  r| j                  ||«       | j                  «        | j                  «        y rB   )
Úsenderr€   r   r   Ú
CheckStateÚCheckedÚvaluerÚ   rŒ   rË   )r9   rò   r\   rƒ   r‡   s        r=   rñ   z(ConflictMatrix.on_checkbox_state_changedˆ  sZ   € à—;‘;“=ˆÜ˜(¤IÔ.Øà”B—M‘M×)Ñ)×/Ñ/Ò/Ø×&Ñ& s¨CÔ0à×ÑÔØ×&Ñ&Õ(r>   rB   )Ú__name__Ú
__module__Ú__qualname__r   ÚstrrI   r   r3   rO   rC   rr   r‰   rŒ   rŽ   r“   r›   r¢   r—   r˜   rª   r±   rá   rË   rå   rÚ   rÄ   rñ   Ú__classcell__)r<   s   @r=   r   r      s|   ø„ Ù% c›?Ðõ2ò&0ò<òCòò òD9òòòLò9ò/ò"2òA=òF#-òJ-ò""ò,ò69òö
)r>   r   ) Úloggingrk   rÉ   r   r   ÚPyQt6.QtGuir   r   ÚPyQt6.QtWidgetsr   r   r	   r
   r   r   r   r   r   r   Úcore.constantsr   Úcore.services.particlesr   r   Ú	gui.themer   r   r   r   Ú	getLoggerrh   r   © r>   r=   Ú<module>r     sQ   ðÛ Û ç 'ß '÷÷ ÷ õ 2÷÷ NÓ Mà€g×ÑÓ€ôu)�\õ u)r>   