ó
    ‰*£h*(  ã                  ó  • S r SSKJr  SSKJrJrJrJ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  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  \(       a  SSKJr  SSKJr  SSK J!r!J"r"  SSKJ#r#   " S S\5      r$ " S S5      r%g)z=Run-related proxy objects for python-docx, Run in particular.é    )Úannotations)ÚIOÚTYPE_CHECKINGÚIteratorÚcast)ÚDrawing)ÚWD_STYLE_TYPE)ÚWD_BREAK)Ú
CT_Drawing)ÚCT_LastRenderedPageBreak)ÚInlineShape)Ú
StoryChild)ÚCharacterStyle)ÚFont)ÚRenderedPageBreakN)ÚWD_UNDERLINE)ÚCT_RÚCT_Text)ÚLengthc                  óö  ^ • \ rS rSrSrSU 4S jjr\R                  4SS jjr  S       SS jjr	SS jr
SS jr\SS j5       r\R                  SS	 j5       rS
 r\S S j5       r\S!S j5       r\SS j5       r\R                  SS j5       rS"S jrS#S jr\S$S j5       r\R                  S%S j5       r\S&S j5       r\R                  SS j5       r\S'S j5       r\R                  S(S j5       rSrU =r$ ))ÚRuné   a5  Proxy object wrapping `<w:r>` element.

Several of the properties on Run take a tri-state value, |True|, |False|, or |None|.
|True| and |False| correspond to on and off respectively. |None| indicates the
property is not specified directly on the run and its effective value is taken from
the style hierarchy.
c                óN   >• [         TU ]  U5        U=U l        =U l        U l        g ©N)ÚsuperÚ__init__Ú_rÚ_elementÚelement)ÚselfÚrÚparentÚ	__class__s      €ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docx/text/run.pyr   ÚRun.__init__"   s%   ø€ Ü‰Ñ˜Ô Ø12Ð2ˆŒÐ2�$”- $¥,ó    c                ó,  • [         R                  S[         R                  S[         R                  S[         R                  S[         R
                  S[         R                  S0U   u  p#U R                  R                  5       nUb  X$l	        Ub  X4l
        gg)zéAdd a break element of `break_type` to this run.

`break_type` can take the values `WD_BREAK.LINE`, `WD_BREAK.PAGE`, and
`WD_BREAK.COLUMN` where `WD_BREAK` is imported from `docx.enum.text`.
`break_type` defaults to `WD_BREAK.LINE`.
©NN)ÚpageN)ÚcolumnN)ÚtextWrappingÚleft)r+   Úright)r+   ÚallN)r
   ÚLINEÚPAGEÚCOLUMNÚLINE_CLEAR_LEFTÚLINE_CLEAR_RIGHTÚLINE_CLEAR_ALLr   Úadd_brÚtypeÚclear)r    Ú
break_typeÚtype_r7   Úbrs        r$   Ú	add_breakÚRun.add_break&   s„   € ô �M‰M˜<Ü�M‰M˜>Ü�O‰OÐ-Ü×$Ñ$Ð&>Ü×%Ñ%Ð'@Ü×#Ñ#Ð%<ð
ð ñ‰ˆð �W‰W�^‰^ÓˆØÑØŒGØÑØ�Hð r&   c                ó†   • U R                   R                  XU5      nU R                  R                  U5        [	        U5      $ )a�  Return |InlineShape| containing image identified by `image_path_or_stream`.

The picture is added to the end of this run.

`image_path_or_stream` can be a path (a string) or a file-like object containing
a binary image.

If neither width nor height is specified, the picture appears at
its native size. If only one is specified, it is used to compute a scaling
factor that is then applied to the unspecified dimension, preserving the aspect
ratio of the image. The native size of the picture is calculated using the dots-
per-inch (dpi) value specified in the image file, defaulting to 72 dpi if no
value is specified, as is often the case.
)ÚpartÚnew_pic_inliner   Úadd_drawingr   )r    Úimage_path_or_streamÚwidthÚheightÚinlines        r$   Úadd_pictureÚRun.add_picture;   s8   € ð( —‘×)Ñ)Ð*>ÀvÓNˆØ�‰×Ñ˜FÔ#Ü˜6Ó"Ð"r&   c                ó8   • U R                   R                  5         g)z[Add a ``<w:tab/>`` element at the end of the run, which Word interprets as a
tab character.N)r   Úadd_tab©r    s    r$   rH   ÚRun.add_tabS   s   € ð 	�‰�‰Õr&   c                óN   • U R                   R                  U5      n[        U5      $ )zÞReturns a newly appended |_Text| object (corresponding to a new ``<w:t>``
child element) to the run, containing `text`.

Compare with the possibly more friendly approach of assigning text to the
:attr:`Run.text` property.
)r   Úadd_tÚ_Text)r    ÚtextÚts      r$   Úadd_textÚRun.add_textX   s   € ð �G‰G�M‰M˜$ÓˆÜ�Q‹xˆr&   c                ó.   • U R                   R                  $ )zçRead/write tri-state value.

When |True|, causes the text of the run to appear in bold face. When |False|,
the text unconditionally appears non-bold. When |None| the bold setting for this
run is inherited from the style hierarchy.
©ÚfontÚboldrI   s    r$   rU   ÚRun.boldb   s   € ð �y‰y�~‰~Ðr&   c                ó$   • XR                   l        g r   rS   ©r    Úvalues     r$   rU   rV   l   s   € à�	‰	�r&   c                ó:   • U R                   R                  5         U $ )z_Return reference to this run after removing all its content.

All run formatting is preserved.
)r   Úclear_contentrI   s    r$   r7   Ú	Run.clearp   s   € ð
 	�‰×ÑÔØˆr&   c                ó@   • [        U R                  R                  5      $ )a  `True` when one or more rendered page-breaks occur in this run.

Note that "hard" page-breaks inserted by the author are not included. A hard
page-break gives rise to a rendered page-break in the right position so if those
were included that page-break would be "double-counted".

It would be very rare for multiple rendered page-breaks to occur in a single
run, but it is possible.
)Úboolr   ÚlastRenderedPageBreaksrI   s    r$   Úcontains_page_breakÚRun.contains_page_breakx   s   € ô �D—G‘G×2Ñ2Ó3Ð3r&   c                ó,   • [        U R                  5      $ )zsThe |Font| object providing access to the character formatting properties for
this run, such as font name and size.)r   r   rI   s    r$   rT   ÚRun.font…   s   € ô �D—M‘MÓ"Ð"r&   c                ó.   • U R                   R                  $ )zéRead/write tri-state value.

When |True|, causes the text of the run to appear in italics. When |False|, the
text unconditionally appears non-italic. When |None| the italic setting for this
run is inherited from the style hierarchy.
©rT   ÚitalicrI   s    r$   rf   Ú
Run.italic‹   s   € ð �y‰y×ÑÐr&   c                ó$   • XR                   l        g r   re   rX   s     r$   rf   rg   •   s   € à �	‰	Õr&   c              #  ó  #   • U R                   R                   Hf  n[        U[        5      (       a  Uv •  M  [        U[        5      (       a  [        X5      v •  MB  [        U[        5      (       d  MY  [        X5      v •  Mh     g7f)aÏ  Generate the content-items in this run in the order they appear.

NOTE: only content-types currently supported by `python-docx` are generated. In
this version, that is text and rendered page-breaks. Drawing is included but
currently only provides access to its XML element (CT_Drawing) on its
`._drawing` attribute. `Drawing` attributes and methods may be expanded in
future releases.

There are a number of element-types that can appear inside a run, but most of
those (w:br, w:cr, w:noBreakHyphen, w:t, w:tab) have a clear plain-text
equivalent. Any contiguous range of such elements is generated as a single
`str`. Rendered page-break and drawing elements are generated individually. Any
other elements are ignored.
N)r   Úinner_content_itemsÚ
isinstanceÚstrr   r   r   r   )r    Úitems     r$   Úiter_inner_contentÚRun.iter_inner_content™   s^   é € ð —G‘G×/Ô/ˆDÜ˜$¤×$Ñ$Ø”
Ü˜DÔ":×;Ñ;Ü'¨Ó3Ô3Ü˜D¤*×-Ó-Ü˜dÓ)Ô)ò 0ùs   ‚A,BÁ2Bc                óp   • U R                   R                  U5        UR                   R                  U5        g)zšMark the range of runs from this run to `last_run` (inclusive) as belonging to a comment.

`comment_id` identfies the comment that references this range.
N)r   Ú insert_comment_range_start_aboveÚ,insert_comment_range_end_and_reference_below)r    Úlast_runÚ
comment_ids      r$   Úmark_comment_rangeÚRun.mark_comment_range°   s*   € ð 	�‰×0Ñ0°Ô<ð 	�‰×@Ñ@ÀÕLr&   c                óž   • U R                   R                  n[        [        U R                  R                  U[        R                  5      5      $ )a9  Read/write.

A |CharacterStyle| object representing the character style applied to this run.
The default character style for the document (often `Default Character Font`) is
returned if the run has no directly-applied character style. Setting this
property to |None| removes any directly-applied character style.
)r   Ústyler   r   r>   Ú	get_styler	   Ú	CHARACTER)r    Ústyle_ids     r$   rx   Ú	Run.style¼   s5   € ð —7‘7—=‘=ˆÜ”N D§I¡I×$7Ñ$7¸Ä-×BYÑBYÓ$ZÓ[Ð[r&   c                óx   • U R                   R                  U[        R                  5      nX R                  l        g r   )r>   Úget_style_idr	   rz   r   rx   )r    Ústyle_or_namer{   s      r$   rx   r|   È   s'   € à—9‘9×)Ñ)¨-¼×9PÑ9PÓQˆØ �‰�r&   c                ó.   • U R                   R                  $ )aÊ  String formed by concatenating the text equivalent of each run.

Each `<w:t>` element adds the text characters it contains. A `<w:tab/>` element
adds a `\t` character. A `<w:cr/>` or `<w:br>` element each add a `\n`
character. Note that a `<w:br>` element can indicate a page break or column
break as well as a line break. Only line-break `<w:br>` elements translate to
a `\n` character. Others are ignored. All other content child elements, such as
`<w:drawing>`, are ignored.

Assigning text to this property has the reverse effect, translating each `\t`
character to a `<w:tab/>` element and each `\n` or `\r` character to a
`<w:cr/>` element. Any existing run content is replaced. Run formatting is
preserved.
©r   rN   rI   s    r$   rN   ÚRun.textÍ   s   € ð  �w‰w�|‰|Ðr&   c                ó$   • XR                   l        g r   r�   )r    rN   s     r$   rN   r‚   ß   s   € à�‰�r&   c                ó.   • U R                   R                  $ )a[  The underline style for this |Run|.

Value is one of |None|, |True|, |False|, or a member of :ref:`WdUnderline`.

A value of |None| indicates the run has no directly-applied underline value and
so will inherit the underline value of its containing paragraph. Assigning
|None| to this property removes any directly-applied underline value.

A value of |False| indicates a directly-applied setting of no underline,
overriding any inherited value.

A value of |True| indicates single underline.

The values from :ref:`WdUnderline` are used to specify other outline styles such
as double, wavy, and dotted.
©rT   Ú	underlinerI   s    r$   r†   ÚRun.underlineã   s   € ð$ �y‰y×"Ñ"Ð"r&   c                ó$   • XR                   l        g r   r…   rX   s     r$   r†   r‡   ÷   s   € à#�	‰	Õr&   )r   r   r   )r!   r   r"   zt.ProvidesStoryPart)r8   r
   r(   )rA   zstr | IO[bytes]rB   úint | Length | NonerC   r‰   Úreturnr   )rŠ   ÚNone)rN   rl   )rŠ   úbool | None)rY   rŒ   )rŠ   r^   )rŠ   r   )rŠ   z+Iterator[str | Drawing | RenderedPageBreak])rs   r   rt   ÚintrŠ   r‹   )rŠ   r   )r   zstr | CharacterStyle | None)rŠ   rl   )rŠ   úbool | WD_UNDERLINE | None)rY   rŽ   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r
   r/   r;   rE   rH   rP   ÚpropertyrU   Úsetterr7   r`   rT   rf   rn   ru   rx   rN   r†   Ú__static_attributes__Ú__classcell__©r#   s   @r$   r   r      sp  ø† ñ÷3ð 08¯}©}ö ð0 &*Ø&*ð	#à-ð#ð #ð#ð $ð	#ð
 
õ#ô0ô
ð óó ðð 
‡[�[óó ðòð ó
4ó ð
4ð ó#ó ð#ð
 ó ó ð ð ‡]�]ó!ó ð!ô*ô.
Mð ó	\ó ð	\ð ‡\�\ó!ó ð!ð óó ðð" 
‡[�[óó ðð ó#ó ð#ð& ×Ñó$ó ö$r&   r   c                  ó0   ^ • \ rS rSrSrSU 4S jjrSrU =r$ )rM   éü   z&Proxy object wrapping `<w:t>` element.c                ó6   >• [         [        U ]  5         Xl        g r   )r   rM   r   Ú_t)r    Út_elmr#   s     €r$   r   Ú_Text.__init__ÿ   s   ø€ ÜŒe�TÑ#Ô%Ø�r&   )rœ   )r�   r   )r�   r�   r‘   r’   r“   r   r–   r—   r˜   s   @r$   rM   rM   ü   s   ø† Ù0÷õ r&   rM   )&r“   Ú
__future__r   Útypingr   r   r   r   Údocx.drawingr   Údocx.enum.styler	   Údocx.enum.textr
   Údocx.oxml.drawingr   Údocx.oxml.text.pagebreakr   Ú
docx.shaper   Údocx.sharedr   Údocx.styles.styler   Údocx.text.fontr   Údocx.text.pagebreakr   Ú
docx.typesÚtypesrO   r   Údocx.oxml.text.runr   r   r   r   rM   © r&   r$   Ú<module>r¯      sW   ðÙ Cå "ç 4Ó 4å  Ý )Ý #Ý (Ý =Ý "Ý "Ý ,Ý Ý 1æÝÝ+ß0Ý"ô`$ˆ*ô `$÷Fò r&   