|
59 | 59 | FormattedTextControl,
|
60 | 60 | GetLinePrefixCallable,
|
61 | 61 | )
|
62 |
| -from prompt_toolkit.layout.dimension import AnyDimension, to_dimension |
| 62 | +from prompt_toolkit.layout.dimension import AnyDimension |
63 | 63 | from prompt_toolkit.layout.dimension import Dimension as D
|
64 | 64 | from prompt_toolkit.layout.margins import (
|
65 | 65 | ConditionalMargin,
|
@@ -636,31 +636,44 @@ def __init__(
|
636 | 636 | modal: bool = False,
|
637 | 637 | key_bindings: KeyBindings | None = None,
|
638 | 638 | ) -> None:
|
639 |
| - if padding is None: |
640 |
| - padding = D(preferred=0) |
641 |
| - |
642 |
| - def get(value: AnyDimension) -> D: |
643 |
| - if value is None: |
644 |
| - value = padding |
645 |
| - return to_dimension(value) |
646 |
| - |
647 |
| - self.padding_left = get(padding_left) |
648 |
| - self.padding_right = get(padding_right) |
649 |
| - self.padding_top = get(padding_top) |
650 |
| - self.padding_bottom = get(padding_bottom) |
| 639 | + self.padding = padding |
| 640 | + self.padding_left = padding_left |
| 641 | + self.padding_right = padding_right |
| 642 | + self.padding_top = padding_top |
| 643 | + self.padding_bottom = padding_bottom |
651 | 644 | self.body = body
|
652 | 645 |
|
| 646 | + def left() -> AnyDimension: |
| 647 | + if self.padding_left is None: |
| 648 | + return self.padding |
| 649 | + return self.padding_left |
| 650 | + |
| 651 | + def right() -> AnyDimension: |
| 652 | + if self.padding_right is None: |
| 653 | + return self.padding |
| 654 | + return self.padding_right |
| 655 | + |
| 656 | + def top() -> AnyDimension: |
| 657 | + if self.padding_top is None: |
| 658 | + return self.padding |
| 659 | + return self.padding_top |
| 660 | + |
| 661 | + def bottom() -> AnyDimension: |
| 662 | + if self.padding_bottom is None: |
| 663 | + return self.padding |
| 664 | + return self.padding_bottom |
| 665 | + |
653 | 666 | self.container = HSplit(
|
654 | 667 | [
|
655 |
| - Window(height=self.padding_top, char=char), |
| 668 | + Window(height=top, char=char), |
656 | 669 | VSplit(
|
657 | 670 | [
|
658 |
| - Window(width=self.padding_left, char=char), |
| 671 | + Window(width=left, char=char), |
659 | 672 | body,
|
660 |
| - Window(width=self.padding_right, char=char), |
| 673 | + Window(width=right, char=char), |
661 | 674 | ]
|
662 | 675 | ),
|
663 |
| - Window(height=self.padding_bottom, char=char), |
| 676 | + Window(height=bottom, char=char), |
664 | 677 | ],
|
665 | 678 | width=width,
|
666 | 679 | height=height,
|
|
0 commit comments