§
    ‡Ûg>%  ã                   óš   — d Z ddlmZ ddlmZmZmZmZm	Z
 ddlmZ ddlmZ ddlmZmZ ddd	d
ddœZddddddœZej        j        Zdd„ZdS )zHModule that provides a GUI-based editor for Matplotlib's figure options.é    )Úchain)ÚcbookÚcmÚcolorsÚmarkersÚimage)ÚQtGui)Ú_formlayout)ÚDateConverterÚnum2dateÚSolidÚDashedÚDashDotÚDottedÚNone)ú-z--z-.ú:r   ÚDefaultzSteps (Pre)zSteps (Mid)zSteps (Post))Údefaultz	steps-preÚstepsz	steps-midz
steps-postNc                 óæ	  ‡ ‡‡‡‡‡‡‡‡‡‡— dŠd„ Š‰ j         Šˆ ˆfd„‰                     ¦   «         D ¦   «         Šd‰                      ¦   «         f‰gt          j        ˆˆfd„‰                     ¦   «         D ¦   «         ¦  «        ¢d‘}d„ ‰                     ¦   «         D ¦   «         Šd„ ‰                     ¦   «         D ¦   «         Šg Š‰                      ¦   «         D ]4}|                     ¦   «         }|d	k    rŒ‰                     ||f¦  «         Œ5g }d
„ }‰D �]­\  }}t          j	        t          j
        |                     ¦   «         |                     ¦   «         ¦  «        d¬¦  «        }t          j	        t          j
        |                     ¦   «         |                     ¦   «         ¦  «        d¬¦  «        }t          j	        t          j
        |                     ¦   «         |                     ¦   «         ¦  «        d¬¦  «        }	d|f‰dd |t          |                     ¦   «         ¦  «        fd |t"          |                     ¦   «         ¦  «        fd|                     ¦   «         fd|f‰dd |t(          |                     ¦   «         ¦  «        fd|                     ¦   «         fd|	fd|fg}
|                     |
|dg¦  «         �Œ¯t/          |¦  «        Šg Šg ‰ j        ¢‰ j        ¢D ]H}|                     ¦   «         }|d	k    s|                     ¦   «         €Œ1‰                     ||f¦  «         ŒIg }d„ t7          t8          j                             ¦   «         ¦  «        D ¦   «         }‰D ]ê\  }}|                     ¦   «         }|t8          j                             ¦   «         vr||j         fg|¢}| !                    ¦   «         \  }}d|fd|j         g|z   fd|fd|fg}tE          |d¦  «        rOd„ t7          tF          j$        ¦  «        D ¦   «         }|                     d | %                    ¦   «         g|¢f¦  «         |                     ||dg¦  «         Œët/          |¦  «        Š|d!dfg}|r|                     |d"df¦  «         |r|                     |d#df¦  «         ˆ ˆˆˆˆˆˆˆfd$„}tM          j'        |d%|tQ          j)        tU          tW          j,        d&d'¦  «        ¦  «        ¦  «        |¬(¦  «         dS ))zEdit matplotlib figure options)NNc                 ó€   — t          |t          ¦  «        rt          t          | ¦  «        S t          t          | ¦  «        S )z.Convert axis limits for correct input editors.)Ú
isinstancer   Úmapr   Úfloat)ÚlimÚ	converters     úa/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/backends/qt_editor/figureoptions.pyÚconvert_limitsz#figure_edit.<locals>.convert_limits#   s2   € å�i¥Ñ/Ô/ð 	&Ý•x Ñ%Ô%Ð%å•5˜#‰ŒÐó    c                 óˆ   •— i | ]>\  }}|t           ‰ t          ‰d |› d�¦  «        ¦   «         |j        ¦  «        ¦  «        “Œ?S ©Úget_r   )ÚtupleÚgetattrr   )Ú.0ÚnameÚaxisÚaxesr   s      €€r   ú
<dictcomp>zfigure_edit.<locals>.<dictcomp>+   sn   ø€ ð ð ð ñ ˆD�$ð 	�e�N�NØ+�G�DÐ* Ð*Ð*Ð*Ñ+Ô+Ñ-Ô-¨t¬~ñ
ô 
ñ ô ðð ð r    ÚTitlec                 ó  •— g | ]€\  }}d d|                      ¦   «         › d�fd‰|         d         fd‰|         d         fd|                     ¦   «                              ¦   «         fd|                     ¦   «         d	d
ddgf‰f‘Œ�S )Nz<b>z	-Axis</b>ÚMinr   ÚMaxé   ÚLabelÚScaleÚlinearÚlogÚsymlogÚlogit)ÚtitleÚ	get_labelÚget_textÚ	get_scale)r&   r'   r(   Úaxis_limitsÚseps      €€r   ú
<listcomp>zfigure_edit.<locals>.<listcomp>4   sµ   ø€ ð 
ð 
ð 
ñ ��dð Ð4˜TŸZšZ™\œ\Ð4Ð4Ð4Ð5Ø˜ DÔ)¨!Ô,Ð-Ø˜ DÔ)¨!Ô,Ð-Ø˜$Ÿ.š.Ñ*Ô*×3Ò3Ñ5Ô5Ð6Ø˜4Ÿ>š>Ñ+Ô+Ø# U¨H°gð?ð @àðð
ð 
ð 
r    )z(Re-)Generate automatic legendFc                 ó$   — i | ]\  }}||j         “ŒS © )r   ©r&   r'   r(   s      r   r*   zfigure_edit.<locals>.<dictcomp>D   s0   € ð ð ð áˆD�$ð 	ˆdŒnðð ð r    c                 ó>   — i | ]\  }}||                      ¦   «         “ŒS r>   )Ú	get_unitsr?   s      r   r*   zfigure_edit.<locals>.<dictcomp>H   s8   € ð ð ð áˆD�$ð 	ˆd�nŠnÑÔðð ð r    Ú
_nolegend_c                 ó  — || vri | ¥|t          |¦  «        i¥} d„ |                      ¦   «         D ¦   «         }d„ |                     ¦   «         D ¦   «         }|| |                  }|gt          |                     ¦   «         d„ ¬¦  «        z   S )aâ  
        Prepare entry for FormLayout.

        *d* is a mapping of shorthands to style names (a single style may
        have multiple shorthands, in particular the shorthands `None`,
        `"None"`, `"none"` and `""` are synonyms); *init* is one shorthand
        of the initial style.

        This function returns an list suitable for initializing a
        FormLayout combobox, namely `[initial_name, (shorthand,
        style_name), (shorthand, style_name), ...]`.
        c                 ó   — i | ]\  }}||“Œ	S r>   r>   )r&   Úshortr'   s      r   r*   z5figure_edit.<locals>.prepare_data.<locals>.<dictcomp>g   s   € Ð?Ð?Ð?¡k e¨T�d˜EÐ?Ð?Ð?r    c                 ó   — i | ]\  }}||“Œ	S r>   r>   )r&   r'   rE   s      r   r*   z5figure_edit.<locals>.prepare_data.<locals>.<dictcomp>i   s   € ÐHÐHÐH¡k d¨E�e˜TÐHÐHÐHr    c                 ó   — | d         S )Nr/   r>   )Úshort_and_names    r   ú<lambda>z3figure_edit.<locals>.prepare_data.<locals>.<lambda>o   s   € °.ÀÔ2C€ r    )Úkey)ÚstrÚitemsÚsorted)ÚdÚinitÚ
name2shortÚ
short2nameÚcanonical_inits        r   Úprepare_dataz!figure_edit.<locals>.prepare_dataV   s­   € ð �qˆ=ˆ=Ø&�1Ð&�d�C ™IœIÐ&Ð&ˆAð @Ð?°Q·W²W±Y´YÐ?Ñ?Ô?ˆ
àHÐH°Z×5EÒ5EÑ5GÔ5GÐHÑHÔHˆ
à# A d¤GÔ,ˆàÐ Ý�z×'Ò'Ñ)Ô)ØCÐCðEñ Eô EñEð 	Fr    T)Ú
keep_alphar0   )Nz<b>Line</b>z
Line stylez
Draw styleÚWidthzColor (RGBA))Nz<b>Marker</b>ÚStyleÚSizezFace color (RGBA)zEdge color (RGBA)Ú Nc                 ó   — g | ]	\  }}||f‘Œ
S r>   r>   )r&   r'   Úcmaps      r   r<   zfigure_edit.<locals>.<listcomp>•   s    € ÐJÐJÐJ™j˜d Dˆd�Dˆ\ÐJÐJÐJr    ÚColormapz
Min. valuez
Max. valueÚget_interpolationc                 ó   — g | ]}||f‘ŒS r>   r>   )r&   r'   s     r   r<   zfigure_edit.<locals>.<listcomp>¢   s/   € ð Nð Nð NØ!%��t�ðNð Nð Nr    ÚInterpolationÚAxesÚCurveszImages, etc.c           
      ó�  •— ˆ&fd„‰(D ¦   «         }|                       d¦  «        }‰*r|                       d¦  «        ng }‰+r|                       d¦  «        ng }| rt          d¦  «        ‚|                      d¦  «        }‰&                     |¦  «         |                      ¦   «         }t          ‰(                     ¦   «         ¦  «        D ]Ç\  }\  }}	|d|z           }
|d|z  dz            }|d|z  dz            }|d|z  dz            }|	                     ¦   «         |k    r t          ‰&d|› d	�¦  «        |¦  «         |	                     |
|d
¬¦  «         |	                     |¦  «         ‰'|         |	_	        |	 
                    ‰)|         ¦  «         ŒÈt          |¦  «        D �]\  }}‰,|         d         }|\	  }}}}}}}}}|                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |¦  «         t          j        |¦  «        }|                     d¦  «         |                     |¦  «         |dk    rT|                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |¦  «         �Œt          |¦  «        D ]³\  }}‰-|         d         }t/          |¦  «        dk    r|\  }}}}} |                     | ¦  «         nt/          |¦  «        dk    r|\  }}}}|                     |¦  «         |                     t5          j        |¦  «        ¦  «          |j        t;          ||g¦  «        Ž  Œ´|r\d}!d}"‰&j        �$‰&                     ¦   «         }#|#j         du}!|#j!        }"‰& "                    |"¬¦  «        }$|$r|$ #                    |!¦  «         ‰& $                    ¦   «         }%|%j%         &                    ¦   «          ‰(D ]I} t          ‰&d|› d�¦  «        ¦   «         ||         k    r!|%j%        j'         (                    ¦   «           dS ŒJdS )zA callback to apply changes.c           
      óJ   •— i | ]}| t          ‰d |› d�¦  «        ¦   «         “Œ S r"   )r%   )r&   r'   r)   s     €r   r*   z7figure_edit.<locals>.apply_callback.<locals>.<dictcomp>³   sJ   ø€ ð 
ð 
ð 
àð Ð1•'˜$Ð 0 tÐ 0Ð 0Ð 0Ñ1Ô1Ñ3Ô3ð
ð 
ð 
r    r   zUnexpected fieldé   r/   é   é   Úset_ÚscaleF)ÚautoNÚnoneé   )Úncolsr#   r   ))ÚpopÚ
ValueErrorÚ	set_titleÚ	enumeraterL   r9   r%   Ú_set_limÚset_label_textr   Ú	set_unitsÚ	set_labelÚset_linestyleÚset_drawstyleÚset_linewidthÚmcolorsÚto_rgbaÚ	set_alphaÚ	set_colorÚ
set_markerÚset_markersizeÚset_markerfacecolorÚset_markeredgecolorÚlenÚset_interpolationÚset_cmapr   Úget_cmapÚset_climrM   Úlegend_Ú
get_legendÚ
_draggableÚ_ncolsÚlegendÚset_draggableÚ
get_figureÚcanvasÚdrawÚtoolbarÚpush_current).ÚdataÚorig_limitsÚgeneralÚcurvesÚ	mappablesr6   Úgenerate_legendÚir'   r(   Úaxis_minÚaxis_maxÚ
axis_labelÚ
axis_scaleÚindexÚcurveÚlineÚlabelÚ	linestyleÚ	drawstyleÚ	linewidthÚcolorÚmarkerÚ
markersizeÚmarkerfacecolorÚmarkeredgecolorÚrgbaÚmappable_settingsÚmappablerZ   ÚlowÚhighÚinterpolationÚ	draggablerk   Ú
old_legendÚ
new_legendÚfigurer)   Úaxis_converterÚaxis_mapÚ
axis_unitsÚ	has_curveÚhas_smÚlabeled_linesÚlabeled_mappabless.                                         €€€€€€€€r   Úapply_callbackz#figure_edit.<locals>.apply_callback±   s©  ø€ ð
ð 
ð 
ð 
à ð
ñ 
ô 
ˆð
 —(’(˜1‘+”+ˆØ )Ð1�—’˜!‘”�¨rˆØ#)Ð1�D—H’H˜Q‘K”K�K¨rˆ	Øð 	1ÝÐ/Ñ0Ô0Ð0à—’˜A‘”ˆØ�Š�uÑÔÐØ!Ÿ+š+™-œ-ˆå(¨¯ªÑ)9Ô)9Ñ:Ô:ð 	-ð 	-‰OˆA‰|��dØ˜q ™s”|ˆHØ˜q ™s Q™wÔ'ˆHØ   1¡ q¡Ô)ˆJØ   1¡ q¡Ô)ˆJØ�~Š~ÑÔ :Ò-Ð-Ø1•˜Ð0 TÐ0Ð0Ð0Ñ1Ô1°*Ñ=Ô=Ð=à�MŠM˜( H°5ˆMÑ9Ô9Ð9Ø×Ò 
Ñ+Ô+Ð+ð ,¨DÔ1ˆDŒNØ�NŠN˜: dÔ+Ñ,Ô,Ð,Ð,õ & fÑ-Ô-ð 	:ñ 	:‰LˆE�5Ø  Ô'¨Ô*ˆDà16ñ/ˆU�I˜y¨)°U¸FÀJØ˜oØ�NŠN˜5Ñ!Ô!Ð!Ø×Ò˜yÑ)Ô)Ð)Ø×Ò˜yÑ)Ô)Ð)Ø×Ò˜yÑ)Ô)Ð)Ý”? 5Ñ)Ô)ˆDØ�NŠN˜4Ñ Ô Ð Ø�NŠN˜4Ñ Ô Ð Ø˜ÒÐØ—’ Ñ'Ô'Ð'Ø×#Ò# JÑ/Ô/Ð/Ø×(Ò(¨Ñ9Ô9Ð9Ø×(Ò(¨Ñ9Ô9Ð9ùõ )2°)Ñ(<Ô(<ð 		4ð 		4Ñ$ˆEÐ$Ø(¨Ô/°Ô2ˆHÝÐ$Ñ%Ô%¨Ò*Ð*Ø8IÑ5��t˜S $¨Ø×*Ò*¨=Ñ9Ô9Ð9Ð9ÝÐ&Ñ'Ô'¨1Ò,Ð,Ø):Ñ&��t˜S $Ø×Ò˜uÑ%Ô%Ð%Ø×Ò�bœk¨$Ñ/Ô/Ñ0Ô0Ð0ØˆHÔ�v s¨D kÑ2Ô2Ð3Ð3Ð3ð ð 		4ØˆIØˆEØŒ|Ð'Ø!Ÿ_š_Ñ.Ô.�
Ø&Ô1¸Ð=�	Ø"Ô)�ØŸš¨5˜Ñ1Ô1ˆJØð 4Ø×(Ò(¨Ñ3Ô3Ð3ð —’Ñ"Ô"ˆØŒ×ÒÑÔÐØð 	ð 	ˆDØ.�w�tÐ- DÐ-Ð-Ð-Ñ.Ô.Ñ0Ô0°KÀÔ4EÒEÐEØ”Ô%×2Ò2Ñ4Ô4Ð4Ø��ð Fð	ð 	r    zFigure optionsÚimageszqt4_editor_options.svg)r6   ÚparentÚiconÚapply)-Ú	_axis_maprL   Ú	get_titler   Úfrom_iterableÚ	get_linesr7   Úappendrw   Úto_hexrx   Ú	get_colorÚ	get_alphaÚget_markeredgecolorÚget_markerfacecolorÚ
LINESTYLESÚget_linestyleÚ
DRAWSTYLESÚget_drawstyleÚget_linewidthÚMARKERSÚ
get_markerÚget_markersizeÚboolr¸   ÚcollectionsÚ	get_arrayrM   r   Ú
_colormapsr‚   Úvaluesr'   Úget_climÚhasattrÚmimageÚinterpolations_namesr\   r
   Úfeditr	   ÚQIconrK   r   Ú_get_data_path)r)   r¹   r‘   rœ   r�   r’   rS   r¡   ÚecÚfcÚ	curvedatar¨   r“   ÚcmapsrZ   r©   rª   ÚmappabledataÚinterpolationsÚdatalistr·   r°   r:   r±   r²   r   r³   r´   rµ   r¶   r;   s   `                    @@@@@@@@@@r   Úfigure_editrá      s"  øøøøøøøøøøø€ à
€Cðð ð ð Œ~€Hðð ð ð ð ð #Ÿ.š.Ñ*Ô*ð	ñ ô €Kð 
�$—.’.Ñ"Ô"Ð#Øðõ 
Ô	ð 
ð 
ð 
ð 
ð 
ð 'ŸnšnÑ.Ô.ð
ñ 
ô 
ñ 
ô 
ðð 	2ð€Gð&ð à"Ÿ.š.Ñ*Ô*ðñ ô €Nðð à"Ÿ.š.Ñ*Ô*ðñ ô €Jð €MØ—’Ñ Ô ð ,ð ,ˆØ—’Ñ Ô ˆØ�LÒ Ð ØØ×Ò˜e T˜]Ñ+Ô+Ð+Ð+Ø€FðFð Fð Fð6 %ð .ñ .‰ˆˆtÝ”ÝŒO˜DŸNšNÑ,Ô,¨d¯nªnÑ.>Ô.>Ñ?Ô?Øðñ ô ˆõ Œ^ÝŒO˜D×4Ò4Ñ6Ô6¸¿ºÑ8HÔ8HÑIÔIØðñ ô ˆõ Œ^ÝŒO˜D×4Ò4Ñ6Ô6¸¿ºÑ8HÔ8HÑIÔIØðñ ô ˆð �eÐØØ!Ø˜<˜<­
°D×4FÒ4FÑ4HÔ4HÑIÔIÐJØ˜<˜<­
°D×4FÒ4FÑ4HÔ4HÑIÔIÐJØ�d×(Ò(Ñ*Ô*Ð+Ø˜UÐ#ØØ#Ø�l�l¥7¨D¯OªOÑ,=Ô,=Ñ>Ô>Ð?Ø�T×(Ò(Ñ*Ô*Ð+Ø  "Ð%Ø  "Ð%ð'ˆ	ð 	�Š�y %¨Ð,Ñ-Ô-Ð-Ñ-å�V‘”€Ið ÐØ5�d”kÐ5 DÔ$4Ð5ð 4ð 4ˆØ×"Ò"Ñ$Ô$ˆØ�LÒ Ð  H×$6Ò$6Ñ$8Ô$8Ð$@ØØ× Ò  %¨Ð!2Ñ3Ô3Ð3Ð3Ø€IØJÐJ­Fµ2´=×3FÒ3FÑ3HÔ3HÑ,IÔ,IÐJÑJÔJ€EØ,ð 4ð 4‰ˆˆxØ× Ò Ñ"Ô"ˆØ•r”}×+Ò+Ñ-Ô-Ð-Ð-Ø˜DœIÐ&Ð/¨Ð/ˆEØ×%Ò%Ñ'Ô'‰	ˆˆTà�eÐØ˜$œ)˜ uÑ,Ð-Ø˜3ÐØ˜4Ð ð	
ˆõ �8Ð0Ñ1Ô1ð 	BðNð NÝ)/µÔ0KÑ)LÔ)LðNñ Nô NˆNà×ÒØØ×+Ò+Ñ-Ô-Ð?°Ð?ð!Añ Bô Bð Bð 	×Ò˜,¨¨rÐ2Ñ3Ô3Ð3Ð3å�)‰_Œ_€Fà˜& "Ð%Ð&€HØð 0Ø�Š˜ ¨2Ð.Ñ/Ô/Ð/Øð 9Ø�Š˜ N°BÐ7Ñ8Ô8Ð8ðPð Pð Pð Pð Pð Pð Pð Pð Pð Pð Pð Põd ÔØÐ(°ÝŒ[Ý•Ô$ XÐ/GÑHÔHÑIÔIñKô Kàð	ñ ô ð ð ð r    )N)Ú__doc__Ú	itertoolsr   Ú
matplotlibr   r   r   rw   r   r   rÕ   Úmatplotlib.backends.qt_compatr	   Úmatplotlib.backends.qt_editorr
   Úmatplotlib.datesr   r   rÆ   rÈ   ÚMarkerStylerË   rá   r>   r    r   ú<module>ré      sî   ðð OÐ Nà Ð Ð Ð Ð Ð Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ /Ð /Ð /Ð /Ð /Ð /Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4àØØØØð	ð €
ð Ø¨ØØ ð	"ð "€
ð Ô
Ô
%€ðið ið ið ið ið ir    