Hilfefenster

Aus DreamboxWIKI
Wechseln zu: Navigation, Suche
2011-11-18 curlytx help.png

Wie man in eine Extension ein Hilfefenster einbaut.

Extension-Screen anpassen

Der "HelpableScreen" nimmt uns alle Arbeit ab.

Zuerst importieren:

from Screens.HelpMenu import HelpableScreen

Jetzt den eigenen Screen von HelpableScreen ableiten:

class CurlyTx(Screen, HelpableScreen):

Der HelpableScreen muss auch initialisiert werden:

...
    def __init__(self, session, args = None):
        Screen.__init__(self, session)
        HelpableScreen.__init__(self)

Hilfetexte definieren

In der __init__ werden meist actions definiert, die wir mit Hilfetexten versehen wollen:

...
        self["actions"] = NumberActionMap(
            ["WizardActions", "ColorActions"], {
                "ok":   self.close,
                "red":    self.showSettings,
            }, -1)

In der __init__ oder einer anderen Klassenmethode definiert man jetzt die Hilfetexte für die Knöpfe.

...
        self.helpList.append((
                self["actions"], "WizardActions",
                [("down", _("Scroll page contents down"))]))
        self.helpList.append((
                self["actions"], "ColorActions",
                [("red", _("Show program settings"))]))
  • 1. Tupelparameter ist die vorher definierte NumberActionMap
  • 2. Parameter ist der ActionTyp, zu dem der Knopf gehört (hier: "WizardActions" oder "ColorActions")
  • 3. Parameter ist eine Liste mit einem Tupel:
    • Knopfname
    • Hilfetext


Das war es schon! Ruft man den Screen auf und drückt die Hilfe-Taste auf der Fernbedienung, erscheint ein Hilfefenster wie oben im Screenshot zu sehen.