Files
Terminal-DAW/src/ui/widgets/sidebar.py

36 lines
997 B
Python

from textual.containers import Vertical, VerticalScroll, Horizontal
from textual.widgets import Button, ListView
from textual.app import ComposeResult
from ui.widgets.channel import Channel
class Sidebar(Vertical):
DEFAULT_CSS = """
Sidebar {
dock: left;
background: $surface;
width: 43;
border-right: tall $surface-lighten-1;
padding: 1;
margin-top: 1;
#add-channel {
min-width: 100%;
margin: 1
}
}
"""
def compose(self) -> ComposeResult:
with VerticalScroll(id="channels"):
for i, channel in enumerate(self.app.project.channels):
yield Channel(
i,
channel.name,
channel.mute,
channel.solo,
channel.pan,
channel.volume
)
yield Button("+ New Channel", variant="success", id="add-channel")