|
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