vibefpmgui.run_monitor
The "Run" tab: progress of programs started with Run.
It is the Tests panel with different wording: programs are launched through
the same marker wrapper (vibefpmgui.test_runner), so each one's start,
end, exit code and output are known, and run times are remembered to
estimate the next run.
1"""The "Run" tab: progress of programs started with Run. 2 3It is the Tests panel with different wording: programs are launched through 4the same marker wrapper (`vibefpmgui.test_runner`), so each one's start, 5end, exit code and output are known, and run times are remembered to 6estimate the next run. 7""" 8 9from __future__ import annotations 10 11from typing import ClassVar 12 13from .test_monitor import PASSED, TestMonitor 14 15 16class RunMonitor(TestMonitor): 17 COLUMNS: ClassVar[list[str]] = ["PROGRAM", "STATUS", "TIME"] 18 ICON = "run" 19 WORDS: ClassVar[dict[str, str]] = { 20 "title": "Run", "item": "program", "items": "programs", 21 PASSED: "Finished", "passed": "finished", 22 "idle": "Run a program (toolbar Run, or Run in the Build outputs tab) to see it here.", 23 "idle_label": "Run a program to see progress", 24 "collecting": "Building… (per-file progress is in the Build tab)", 25 "collecting_label": "finding programs", 26 "after_build": "programs start after the build", 27 "none": "This project has no programs to run.", "none_label": "No programs", 28 "unlisted": "The programs could not be built or listed — see the Build tab and output.", 29 "row_tip": "Click to show only this program's output", 30 } 31 32 def __init__(self, parent=None): 33 super().__init__(parent) 34 self.setObjectName("RunMonitor") 35 self.refresh_palette()
17class RunMonitor(TestMonitor): 18 COLUMNS: ClassVar[list[str]] = ["PROGRAM", "STATUS", "TIME"] 19 ICON = "run" 20 WORDS: ClassVar[dict[str, str]] = { 21 "title": "Run", "item": "program", "items": "programs", 22 PASSED: "Finished", "passed": "finished", 23 "idle": "Run a program (toolbar Run, or Run in the Build outputs tab) to see it here.", 24 "idle_label": "Run a program to see progress", 25 "collecting": "Building… (per-file progress is in the Build tab)", 26 "collecting_label": "finding programs", 27 "after_build": "programs start after the build", 28 "none": "This project has no programs to run.", "none_label": "No programs", 29 "unlisted": "The programs could not be built or listed — see the Build tab and output.", 30 "row_tip": "Click to show only this program's output", 31 } 32 33 def __init__(self, parent=None): 34 super().__init__(parent) 35 self.setObjectName("RunMonitor") 36 self.refresh_palette()
Header with filter chips, progress bar and a table of tests. Clicking a
test emits test_selected with its name ("" to show all output).
WORDS: ClassVar[dict[str, str]] =
{'title': 'Run', 'item': 'program', 'items': 'programs', 'Passed': 'Finished', 'passed': 'finished', 'idle': 'Run a program (toolbar Run, or Run in the Build outputs tab) to see it here.', 'idle_label': 'Run a program to see progress', 'collecting': 'Building… (per-file progress is in the Build tab)', 'collecting_label': 'finding programs', 'after_build': 'programs start after the build', 'none': 'This project has no programs to run.', 'none_label': 'No programs', 'unlisted': 'The programs could not be built or listed — see the Build tab and output.', 'row_tip': "Click to show only this program's output"}
Inherited Members
- vibefpmgui.test_monitor.TestMonitor
- test_selected
- debug_requested
- word
- tests
- by_name
- current
- selected
- hover_row
- spinner_angle
- filter_status
- description
- build_percent
- jobs
- is_light
- palette_colors
- title_icon
- title
- subtitle
- chips
- progress
- progress_label
- table
- empty
- refresh_palette
- reset
- begin_listing
- start
- build_finished
- finish
- build_failed
- durations
- output_for
- feed_line
- test_started
- test_output
- test_finished
- rows
- fraction
- remaining
- time_scale
- counts
- set_filter
- update_header
- eventFilter
- refresh_fonts