GuiBuilder
Die Klasse GuiBuilder erzeugt aus html-Templates die jeweiligen Ansichten des Einsatzmonitors. Über die Methode create_page() kann die zu anzuzeigende Seite mit den zugehörigenden Daten erzeugt werden.
Templates
Zu jeder Seite, die im Einsatzmonitor angezeigt werden kann, gibt es ein Template, das sich wiederum generisch aus
.
└── dashboard.html_t
└── header.html_t
└── base.html_t
Klassendiagramm
Schnittstellen
- class src.einsatzmonitor.gui.guibuilder.Page(value)
Definiert die moeglichen Seitenanzeigen des Einsatzmonitors
- NOPAGE = 0
Keine Seite zum Anzeigen angewaehlt
- LOADING = 1
Splashscreen mit Ladebalken
- DASHBOARD = 2
Dashboard als aktive Seite
- ALARM = 3
Alarm als aktive Seite
- MUTE = 4
Mute als aktive Seite
- class src.einsatzmonitor.gui.guibuilder.GuiBuilder(callback: Optional[Callable] = None)
Generiert die Anzeige des Einsatzmonitors abhaengig des aktuellen Zustandes
Beim Instanziieren des GuiBuilders wird automatisch immer zuerst die Loading Seite generiert.
Soll mit einer anderen Ansicht gestartet werden ist immer die create_page() Methode mit der passenden Ansicht aufzurufen.
- CREW_DASHBOARD = {}
- create_page(page: src.einsatzmonitor.gui.guibuilder.Page = Page.LOADING, data: dict = {})
Generiert entsprechend der Ubergabeparameter die aktuelle Seitenansicht
Wird beim Instanziieren des Objekts eine Callback-Funktion angegeben wird diese nach der Erzeugung der neuen Ansicht aufgerufen.
- Parameters:
- page - Anwahl der Seitedata - Dictionary der Nutzdaten (Abhängig der anzuwaehlenden Seite)
- get_active_page()
Liefert die aktive Seite des Einsatzmonitors
- Returns:
- Aktuell aktive Seite als Page-Enum
- store_crew(data)
Speichert die Crew in globalem Speicher