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

../../../_images/GuiBuilder.png

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 Seite
data - 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