aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/prompt-toolkit/py2/prompt_toolkit/layout/__init__.py
blob: 01ba850d6cb87ac470563e8d4d434c431479d983 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
""" 
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) 
       |- TokenListControl (Renders a simple list of tokens) 
       |- FillControl (Fills control with one token/character.) 
       `- 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 
 
""" 
from __future__ import unicode_literals 
 
from .containers import Float, FloatContainer, HSplit, VSplit, Window, ConditionalContainer 
from .controls import TokenListControl, FillControl, BufferControl