Split the layout in to multiple sub-layouts. Args: *layouts (Layout): Positional arguments should be (sub) Layout instances. splitter (Union[Splitter, str]): Splitter instance or name of splitter.
(
self,
*layouts: Union["Layout", RenderableType],
splitter: Union[Splitter, str] = "column",
)
| 259 | return tree |
| 260 | |
| 261 | def split( |
| 262 | self, |
| 263 | *layouts: Union["Layout", RenderableType], |
| 264 | splitter: Union[Splitter, str] = "column", |
| 265 | ) -> None: |
| 266 | """Split the layout in to multiple sub-layouts. |
| 267 | |
| 268 | Args: |
| 269 | *layouts (Layout): Positional arguments should be (sub) Layout instances. |
| 270 | splitter (Union[Splitter, str]): Splitter instance or name of splitter. |
| 271 | """ |
| 272 | _layouts = [ |
| 273 | layout if isinstance(layout, Layout) else Layout(layout) |
| 274 | for layout in layouts |
| 275 | ] |
| 276 | try: |
| 277 | self.splitter = ( |
| 278 | splitter |
| 279 | if isinstance(splitter, Splitter) |
| 280 | else self.splitters[splitter]() |
| 281 | ) |
| 282 | except KeyError: |
| 283 | raise NoSplitter(f"No splitter called {splitter!r}") |
| 284 | self._children[:] = _layouts |
| 285 | |
| 286 | def add_split(self, *layouts: Union["Layout", RenderableType]) -> None: |
| 287 | """Add a new layout(s) to existing split. |