gsgr.menu

Module for menu management.

Also supplies run class, being a menu item.

class gsgr.menu.MenuItem(display_as, color=10)

Bases: object

Parameter:
  • display_as (int | str) – Symbol oder Bild, welches von der LED-Matrix angezeigt wird, um anzuzeigen, welches Menüelement ausgewählt ist. Setzt display_as.

  • color (int) – Farbe der Statuslampe, um zu zeigen, welches Menüelement ausgewählt ist. Setzt color. Ist „white“, wenn nich angegeben..

display_as

Type:    Union[int, str]

Symbol oder Bild, welches von der LED-Matrix angezeigt wird, um anzuzeigen, welches Menüelement ausgewählt ist.

color

Type:    int

Farbe der Statuslampe, um zu zeigen, welches Menüelement ausgewählt ist.

update(first=False)
Rückgabetyp:

bool

class gsgr.menu.ActionMenuItem(action, display_as, color_=10)

Bases: MenuItem

Parameter:
  • display_as (int | str) – Symbol oder Bild, welches von der LED-Matrix angezeigt wird, um anzuzeigen, welches Menüelement ausgewählt ist. Setzt display_as.

  • color – Farbe der Statuslampe, um zu zeigen, welches Menüelement ausgewählt ist. Setzt color. Ist „white“, wenn nich angegeben..

  • action – Callback, der ausgeführt wird, wenn das Menüelement gewählt wird. Setzt action.

action

Type:    None

Funktion, die ausgeführt werden soll, falls das Menüelement gewählt wird.

run()

callback unter Berücksichtigung von prepare() und cleanup().

Rückgabetyp:

None

prepare()

Wird direkt vor action ausgeführt.

Rückgabetyp:

None

set_action(func=None)

Setter-Funktion für action.

Parameter:

func – Funktion, die als Callback festgelegt werden soll. Falls nicht angegeben, wird eine decorator-Funktion zurückgegeben.

cleanup()

Wird direkt nach action ausgeführt.

Rückgabetyp:

None

stop()

Hilfsfunktion um die Ausführung der Callback-Funktuion vorzeitig zu stoppen.

Raises:

StopRun

class gsgr.menu.Menu(items=None, swap_buttons=False, focus=0)

Bases: object

Ein geerellen Menü, welches MenuItem s enthält

Parameter:
  • items (list | None) – Eine Liste aller MenuItem s die bereits im Menü sein sollen. Wenn nicht angegeben, keine.

  • swap_buttons – Ob die Funktionen der beiden Buttons getauscht werden sollen. Wenn nicht angegeben, False.

items

Type:    list

Eine Liste aller MenuItem s im Menü

swap_buttons

Type:    bool

Ob die Funktionen der beiden Buttons getauscht werden sollen

position

Type:    int

Position des aktuell ausgewählten MenuItem s

add_item(item)

Ein Element zum Menü hinzufügen

Parameter:

item – Hinzuzufügendes Element

Rückgabetyp:

None

async choose(exit_on_charge=False)

Menü zeigen und ein Menü-Element wählen lassen.

Rückgabe:

Das gewählte Menü-Element

exit()

Funktion um choose() vorzeitig zu beenden.

Raises:

ExitMenu

class gsgr.menu.ActionMenu(items=None, swap_buttons=False, focus=0)

Bases: Menu

Parameter:
  • items (list | None) – Eine Liste aller MenuItem s die bereits im Menü sein sollen. Wenn nicht angegeben, keine.

  • swap_buttons – Ob die Funktionen der beiden Buttons getauscht werden sollen. Wenn nicht angegeben, False.

items

Type:    list[ActionMenuItem]

Eine List aller ActionMenuItem s im Menü

async choose_and_run(exit_on_charge=False)

Menü zeigen und ein Menü-Element wählen lassen, wessen Callback dann ausgeführt wird

Rückgabetyp:

None

Rückgabe:

Das gewählte Element

async loop(autoscroll=False, exit_on_charge=False)

Endlos immer wieder Menü zeigen und ein Menü-Element wählen lassen, welches dann ausgeführt wird.

Parameter:

autoscroll – Ob nach dem erfolgreichen Ausführen eines Callbacks automatisch weitergeblättert werden soll.

Rückgabetyp:

None