§
    ½ÞMh  ã                  óþ   — d Z ddl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mZmZmZmZmZmZmZmZ ddlmZmZmZmZmZmZ ddlmZmZm Z m!Z!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z( ddl)m*Z*m+Z+m,Z,m-Z-m.Z. dd	l/m0Z0m1Z1 dd
l2m3Z3 g d¢Z4dS )a…  
Command line layout definitions
-------------------------------

The layout of a command line interface is defined by a Container instance.
There are two main groups of classes here. Containers and controls:

- A container can contain other containers or controls, it can have multiple
  children and it decides about the dimensions.
- A control is responsible for rendering the actual content to a screen.
  A control can propose some dimensions, but it's the container who decides
  about the dimensions -- or when the control consumes more space -- which part
  of the control will be visible.


Container classes::

    - Container (Abstract base class)
       |- HSplit (Horizontal split)
       |- VSplit (Vertical split)
       |- FloatContainer (Container which can also contain menus and other floats)
       `- Window (Container which contains one actual control

Control classes::

    - UIControl (Abstract base class)
       |- FormattedTextControl (Renders formatted text, or a simple list of text fragments)
       `- BufferControl (Renders an input buffer.)


Usually, you end up wrapping every control inside a `Window` object, because
that's the only way to render it in a layout.

There are some prepared toolbars which are ready to use::

- SystemToolbar (Shows the 'system' input buffer, for entering system commands.)
- ArgToolbar (Shows the input 'arg', for repetition of input commands.)
- SearchToolbar (Shows the 'search' input buffer, for incremental search.)
- CompletionsToolbar (Shows the completions of the current buffer.)
- ValidationToolbar (Shows validation errors of the current buffer.)

And one prepared menu:

- CompletionsMenu

é    )Úannotationsé   )ÚAnyContainerÚColorColumnÚConditionalContainerÚ	ContainerÚDynamicContainerÚFloatÚFloatContainerÚHorizontalAlignÚHSplitÚScrollOffsetsÚVerticalAlignÚVSplitÚWindowÚWindowAlignÚWindowRenderInfoÚis_containerÚto_containerÚ	to_window)ÚBufferControlÚDummyControlÚFormattedTextControlÚSearchBufferControlÚ	UIContentÚ	UIControl)ÚAnyDimensionÚDÚ	DimensionÚis_dimensionÚmax_layout_dimensionsÚsum_layout_dimensionsÚto_dimension)ÚInvalidLayoutErrorÚLayoutÚwalk)ÚConditionalMarginÚMarginÚNumberedMarginÚPromptMarginÚScrollbarMargin)ÚCompletionsMenuÚMultiColumnCompletionsMenu)ÚScrollablePane)*r%   r$   r&   r   r   r   r"   r!   r#   r    r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r	   r.   r   r   r   r   r   r   r(   r)   r+   r'   r*   r,   r-   N)5Ú__doc__Ú
__future__r   Ú
containersr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Úcontrolsr   r   r   r   r   r   Ú	dimensionr   r   r   r    r!   r"   r#   Úlayoutr$   r%   r&   Úmarginsr'   r(   r)   r*   r+   Úmenusr,   r-   Úscrollable_paner.   Ú__all__© ó    ú^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prompt_toolkit/layout/__init__.pyú<module>r<      s=  ðð-ð -ð^ #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð(ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 5Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ?Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø +Ð +Ð +Ð +Ð +Ð +ð1ð 1ð 1€€€r:   