| 1234567891011121314151617181920212223242526272829 |
- from textual.app import ComposeResult
- from textual.containers import Horizontal, Vertical
- from textual.screen import ModalScreen
- from textual.widgets import Button, Label
- class OverwriteConfirmScreen(ModalScreen[bool]):
- """Screen with a dialog to confirm overwriting data."""
- def __init__(self, directory: str):
- super().__init__()
- self.directory = directory
- def compose(self) -> ComposeResult:
- with Vertical(id="dialog"):
- yield Label("[bold red]WARNING[/bold red]")
- yield Label(
- f"The output directory is not empty:\n[dim]{self.directory}[/dim]\n\nProceeding will likely overwrite existing experiment data.",
- id="warning_label",
- )
- with Horizontal(id="dialog_buttons"):
- yield Button("Cancel", variant="primary", id="btn_cancel")
- yield Button("Overwrite", variant="error", id="btn_proceed")
- def on_button_pressed(self, event: Button.Pressed) -> None:
- if event.button.id == "btn_proceed":
- self.dismiss(True)
- else:
- self.dismiss(False)
|