from textual.app import App, ComposeResult from textual.widgets import Button, Header, Label, Footer from .screens.dashboard import DashboardScreen from .screens.preparation import PreparationScreen from .screens.memorizor import MemScreen from .screens.nucleon_creator import NucleonCreatorScreen from .screens.precache import PrecachingScreen class HeurAMSApp(App): TITLE = "潜进" SUB_TITLE = "启发式先进记忆调度器" BINDINGS = [("q", "quit", "退出"), ("d", "toggle_dark", "改变色调"), ("1", "app.push_screen('dashboard')", "仪表盘"), ("2", "app.push_screen('precache_all')", "缓存管理"), ("3", "app.push_screen('nucleon_creator')", "创建新单元"), ] SCREENS = { "dashboard": DashboardScreen, "nucleon_creator": NucleonCreatorScreen, "precache_all": PrecachingScreen, } def on_mount(self) -> None: self.push_screen("dashboard") def on_button_pressed(self, event: Button.Pressed) -> None: self.exit(event.button.id) def environment_check(): from heurams.context import working_var app = HeurAMSApp() app.run()