ó
    ˆ*£h²  ã                  óî   • S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
Jr  SSKJrJr  SSKJr  SS	KJrJrJrJrJr   " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)z@Custom element classes for top-level chart-related XML elements.é    )Úannotations)Úcast)Ú	parse_xml)ÚCT_Title)ÚnsdeclsÚqn)ÚST_StyleÚ	XsdString)ÚCT_TextBody)ÚBaseOxmlElementÚOneAndOnlyOneÚRequiredAttributeÚ
ZeroOrMoreÚ	ZeroOrOnec                  óÔ   • \ rS rSr% SrSr\" S\SS S9r\" S\S	S S9r\	" S
5      r
\" S\SS S9r\" S\5      rS\S'   \S 5       r\R$                  S 5       r\SS j5       rS rSrg)ÚCT_Charté   z`c:chart` custom element class.)úc:titleúc:autoTitleDeletedzc:pivotFmtszc:view3Dzc:floorz
c:sideWallz
c:backWallú
c:plotAreaúc:legendzc:plotVisOnlyzc:dispBlanksAszc:showDLblsOverMaxúc:extLstr   é   N©Ú
successorsr   é   r   r   é	   úr:idÚstrÚrIdc                ó$   • U R                   nUc  gg)z;
True if this chart has a legend defined, False otherwise.
FT)Úlegend)Úselfr"   s     ÚR/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pptx/oxml/chart/chart.pyÚ
has_legendÚCT_Chart.has_legend-   s   € ð
 —‘ˆØ‰>ØØó    c                ó~   • [        U5      SL a  U R                  5         gU R                  c  U R                  5         gg)a  
Add, remove, or leave alone the ``<c:legend>`` child element depending
on current state and *bool_value*. If *bool_value* is |True| and no
``<c:legend>`` element is present, a new default element is added.
When |False|, any existing legend element is removed.
FN)ÚboolÚ_remove_legendr"   Ú_add_legend)r#   Ú
bool_values     r$   r%   r&   7   s8   € ô �
Ó˜uÒ$Ø×ÑÕ!à�{‰{Ñ"Ø× Ñ Õ"ð #r'   c                ól   • [        [        [        S[        S5       S[        S5       SU  S35      5      $ )zReturn a new `c:chart` element.z	<c:chart ÚcÚ Úrz r:id="z"/>)r   r   r   r   )r    s    r$   Ú	new_chartÚCT_Chart.new_chartE   s7   € ô ”Hœi¨)´G¸C³L°>ÀÄ7È3Ã<À.ÐPWÐX[ÐW\Ð\_Ð(`ÓaÓbÐbr'   c                ó,   • [         R                  " 5       $ ©N)r   Ú	new_title©r#   s    r$   Ú
_new_titleÚCT_Chart._new_titleJ   s   € Ü×!Ò!Ó#Ð#r'   © )r    r   Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú_tag_seqr   ÚtitleÚautoTitleDeletedr   ÚplotArear"   r   r
   r    Ú__annotations__Úpropertyr%   ÚsetterÚstaticmethodr1   r7   Ú__static_attributes__r9   r'   r$   r   r      s¨   ‡ Ù)ð€Hñ �i¨H°Q°R¨LÑ9€EÙ Ð!5À(È1È2À,ÑOÐÙ˜\Ó*€HÙ�z¨h°q°r¨lÑ;€FÙ  ¨Ó3€CˆÓ3àñó ðð ×Ññ#ó ð#ð ócó ðcõ$r'   r   c                  óð   • \ rS rSrSrSr\" S\SS S9r\" S\S	S S9r\	" S
5      r
\" S\SS S9r\" S\SS S9rC\S 5       r\S 5       r\S 5       rS r\S 5       r\S 5       r\S 5       rS rS rSrg)ÚCT_ChartSpaceéN   z,`c:chartSpace` root element of a chart part.)ú
c:date1904zc:langzc:roundedCornersúc:stylezc:clrMapOvrzc:pivotSourcezc:protectionúc:chartzc:spPrúc:txPrúc:externalDatazc:printSettingszc:userShapesr   rL   r   Nr   rM   é   rN   rO   é
   rP   é   c                óB   • U R                   R                  R                  $ r4   )ÚchartrC   Ú	catAx_lstr6   s    r$   rV   ÚCT_ChartSpace.catAx_lsth   ó   € à�z‰z×"Ñ"×,Ñ,Ð,r'   c                ó:   • U R                   nUc  gUR                  $ )zª
Return |True| if the `c:date1904` child element resolves truthy,
|False| otherwise. This value indicates whether date number values
are based on the 1900 or 1904 epoch.
F)Údate1904Úval)r#   rZ   s     r$   Ú	date_1904ÚCT_ChartSpace.date_1904l   s    € ð —=‘=ˆØÑØØ�|‰|Ðr'   c                ó$   • U R                  S5      $ )Nzc:chart/c:plotArea/c:dateAx)Úxpathr6   s    r$   Ú
dateAx_lstÚCT_ChartSpace.dateAx_lstx   s   € à�z‰zÐ7Ó8Ð8r'   c                ó6   • U R                   R                  5       $ )z>Return the `c:title` grandchild, newly created if not present.)rU   Úget_or_add_titler6   s    r$   rc   ÚCT_ChartSpace.get_or_add_title|   s   € à�z‰z×*Ñ*Ó,Ð,r'   c                ó.   • U R                   R                  $ )zK
Return the required `c:chartSpace/c:chart/c:plotArea` grandchild
element.
)rU   rC   r6   s    r$   rC   ÚCT_ChartSpace.plotArea€   s   € ð �z‰z×"Ñ"Ð"r'   c                óB   • U R                   R                  R                  $ r4   )rU   rC   Ú	valAx_lstr6   s    r$   rh   ÚCT_ChartSpace.valAx_lstˆ   rX   r'   c                ó:   • U R                   nUc  gUR                  $ )z�
The string in the required ``r:id`` attribute of the
`<c:externalData>` child, or |None| if no externalData element is
present.
N)ÚexternalDatar    ©r#   rk   s     r$   Úxlsx_part_rIdÚCT_ChartSpace.xlsx_part_rIdŒ   s$   € ð ×(Ñ(ˆØÑØØ×ÑÐr'   c                óf   • U R                  5       nUR                  SS9  U R                  U5        U$ )z]
Always add a ``<c:autoUpdate val="0"/>`` child so auto-updating
behavior is off by default.
F)r[   )Ú_new_externalDataÚ_add_autoUpdateÚ_insert_externalDatarl   s     r$   Ú_add_externalDataÚCT_ChartSpace._add_externalData˜   s7   € ð
 ×-Ñ-Ó/ˆØ×$Ñ$¨Ð$Ñ/Ø×!Ñ! ,Ô/ØÐr'   c                ó,   • [         R                  " 5       $ r4   )r   Únew_txPrr6   s    r$   Ú	_new_txPrÚCT_ChartSpace._new_txPr¢   s   € Ü×#Ò#Ó%Ð%r'   r9   )r;   r<   r=   r>   r?   r@   r   rZ   Ústyler   rU   ÚtxPrrk   rE   rV   r\   r`   rc   rC   rh   rm   rs   rw   rH   r9   r'   r$   rJ   rJ   N   sé   † Ù6ð€Hñ  ˜°(¸1¸2°,Ñ?€HÙ�i¨H°Q°R¨LÑ9€EÙ˜)Ó$€EÙ�X¨(°2°3¨-Ñ8€DÙÐ-¸(À2À3¸-ÑH€LØàñ-ó ð-ð ñ	ó ð	ð ñ9ó ð9ò-ð ñ#ó ð#ð ñ-ó ð-ð ñ	 ó ð	 òõ&r'   rJ   c                  ó:   • \ rS rSrSr\" S5      r\" S\5      r	Sr
g)ÚCT_ExternalDataé¦   ze
`<c:externalData>` element, defining link to embedded Excel package part
containing the chart data.
zc:autoUpdater   r9   N)r;   r<   r=   r>   r?   r   Ú
autoUpdater   r
   r    rH   r9   r'   r$   r|   r|   ¦   s   † ññ
 ˜>Ó*€JÙ
˜F IÓ
.ƒCr'   r|   c                  ó”   • \ rS rSrSr\" S5      r\" S5      rS rS r	\
S 5       r\
S 5       r\
S	 5       r\
S
 5       r\
S 5       rSrg)ÚCT_PlotAreaé°   z
``<c:plotArea>`` element.
zc:catAxzc:valAxc              #  óp   #   • U R                  5        H  nUR                  5        H  nUv •  M	     M      g7f)zÏ
Generate each of the `c:ser` elements in this chart, ordered first by
the document order of the containing xChart element, then by their
ordering within the xChart element (not necessarily document order).
N)Úiter_xChartsÚ	iter_sers)r#   ÚxChartÚsers      r$   r„   ÚCT_PlotArea.iter_sers¸   s2   é € ð ×'Ñ'Ö)ˆFØ×'Ñ'Ö)�Ø”	ó *ò *ùs   ‚46c              #  óª  #   • [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S	5      [        S
5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      4nU R                  5        H  nUR                  U;  a  M  Uv •  M     g7f)z1
Generate each xChart child element in document.
zc:area3DChartzc:areaChartzc:bar3DChartz
c:barChartzc:bubbleChartzc:doughnutChartzc:line3DChartzc:lineChartzc:ofPieChartzc:pie3DChartz
c:pieChartzc:radarChartzc:scatterChartzc:stockChartzc:surface3DChartzc:surfaceChartN)r   ÚiterchildrenÚtag)r#   Ú	plot_tagsÚchilds      r$   rƒ   ÚCT_PlotArea.iter_xChartsÂ   s»   é € ô
 ˆÓÜˆ}ÓÜˆ~ÓÜˆ|ÓÜˆÓÜÐ Ó!ÜˆÓÜˆ}ÓÜˆ~ÓÜˆ~ÓÜˆ|ÓÜˆ~ÓÜÐÓ Üˆ~ÓÜÐ!Ó"ÜÐÓ ð!
ˆ	ð& ×&Ñ&Ö(ˆEØ�y‰y 	Ó)ÙØŒKò )ùs   ‚CCc                óR   • U R                   S   nUR                  nU(       d  gUS   $ )z‹
Return the last `<c:ser>` element in the last xChart element, based
on series order (not necessarily the same element as document order).
éÿÿÿÿN)ÚxChartsÚsers)r#   Úlast_xChartr‘   s      r$   Úlast_serÚCT_PlotArea.last_serÞ   s,   € ð —l‘l 2Ñ&ˆØ×ÑˆÞØØ�B‰xˆr'   c                ó–   • U R                    Vs/ s H  oR                  R                  PM     nnU(       d  g[        U5      S-   $ s  snf )z“
Return the next available `c:ser/c:idx` value within the scope of
this chart, the maximum idx value found on existing series,
incremented by one.
r   r   )r‘   Úidxr[   Úmax)r#   ÚsÚidx_valss      r$   Únext_idxÚCT_PlotArea.next_idxê   s<   € ð (,§y¢yÓ1¢y !—E‘E—I”I¡yˆÐ1ÞØÜ�8‹}˜qÑ Ð ùò 2ó   �Ac                ó–   • U R                    Vs/ s H  oR                  R                  PM     nnU(       d  g[        U5      S-   $ s  snf )z—
Return the next available `c:ser/c:order` value within the scope of
this chart, the maximum order value found on existing series,
incremented by one.
r   r   )r‘   Úorderr[   r—   )r#   r˜   Ú
order_valss      r$   Ú
next_orderÚCT_PlotArea.next_orderö   s<   € ð ,0¯9ª9Ó5ª9 a—g‘g—k”k©9ˆ
Ð5ÞØÜ�:‹ Ñ"Ð"ùò 6rœ   c                ó4   • [        U R                  5       5      $ )zß
Return a sequence containing all the `c:ser` elements in this chart,
ordered first by the document order of the containing xChart element,
then by their ordering within the xChart element (not necessarily
document order).
)Útupler„   r6   s    r$   r‘   ÚCT_PlotArea.sers  s   € ô �T—^‘^Ó%Ó&Ð&r'   c                ó4   • [        U R                  5       5      $ )z^
Return a sequence containing all the `c:{x}Chart` elements in this
chart, in document order.
)r£   rƒ   r6   s    r$   r�   ÚCT_PlotArea.xCharts  s   € ô �T×&Ñ&Ó(Ó)Ð)r'   r9   N)r;   r<   r=   r>   r?   r   ÚcatAxÚvalAxr„   rƒ   rE   r“   rš   r    r‘   r�   rH   r9   r'   r$   r€   r€   °   s‹   † ññ �yÓ!€EÙ�yÓ!€Eòòð8 ñ	ó ð	ð ñ	!ó ð	!ð ñ	#ó ð	#ð ñ'ó ð'ð ñ*ó ó*r'   r€   c                  ó*   • \ rS rSrSr\" S\5      rSrg)ÚCT_Stylei  z1
``<c:style>`` element; defines the chart style.
r[   r9   N)	r;   r<   r=   r>   r?   r   r	   r[   rH   r9   r'   r$   rª   rª     s   † ññ ˜E 8Ó
,ƒCr'   rª   N)r?   Ú
__future__r   Útypingr   Ú	pptx.oxmlr   Úpptx.oxml.chart.sharedr   Úpptx.oxml.nsr   r   Úpptx.oxml.simpletypesr	   r
   Úpptx.oxml.textr   Úpptx.oxml.xmlchemyr   r   r   r   r   r   rJ   r|   r€   rª   r9   r'   r$   Ú<module>r³      sj   ðÙ Få "å å Ý +ß $ß 5Ý &÷õ ô6$ˆô 6$ôrU&�Oô U&ôp/�oô /ôb*�/ô b*ôJ-ˆõ -r'   