Merge pull request #656 from Textualize/center-layout

center layout
This commit is contained in:
Will McGugan
2022-08-09 11:58:39 +01:00
committed by GitHub
13 changed files with 211 additions and 31 deletions

28
sandbox/will/center.py Normal file
View File

@@ -0,0 +1,28 @@
from textual.app import App
from textual.widgets import Static
class CenterApp(App):
CSS = """
Screen {
layout: center;
overflow: auto auto;
}
Static {
border: wide $primary;
background: $panel;
width: 50;
height: 20;
margin: 1 2;
content-align: center middle;
}
"""
def compose(self):
yield Static("Hello World!")
app = CenterApp()

55
sandbox/will/center2.py Normal file
View File

@@ -0,0 +1,55 @@
from textual.app import App
from textual.layout import Vertical, Center
from textual.widgets import Static
class CenterApp(App):
CSS = """
#sidebar {
dock: left;
width: 32;
height: 100%;
border-right: vkey $primary;
}
#bottombar {
dock: bottom;
height: 12;
width: 100%;
border-top: hkey $primary;
}
#hello {
border: wide $primary;
width: 40;
height: 16;
margin: 2 4;
}
#sidebar.hidden {
width: 0;
}
Static {
background: $panel;
color: $text-panel;
content-align: center middle;
}
"""
def on_mount(self) -> None:
self.bind("t", "toggle_class('#sidebar', 'hidden')")
def compose(self):
yield Static("Sidebar", id="sidebar")
yield Vertical(
Static("Bottom bar", id="bottombar"),
Center(
Static("Hello World!", id="hello"),
),
)
app = CenterApp(log_verbosity=3)