# -*- coding: utf-8 -*- from velamentum.ui.dialoge.Dialog import Dialog from velamentum.android import * class EingabeDialog(Dialog): """Die Klasse EingabeDialog (erbt Attribute und Methoden von der Klasse Dialog) stellt einen einfachen Dialog zur Eingabe von Zeichenketten zur Verfügung. Attribute: titel (Zeichenkette): Der Titel des Dialogs. nachricht (Zeichenkette): Die Nachricht des Dialogs. ergebnis (Zeichenkette): Der eingegebene Text. nurZahlen (Wahrheitswert): Nur Zahlen als Eingabe erlauben. wertAnzeigen (Wahrheitswert): Den aktuellen Wert im Eingabefeld anzeigen. """ def __init__(self, pTitel="EingabeDialog", pNachricht="Nachricht", pNurZahlen=False, pWertAnzeigen=False): """Konstruktor. Initialisiert den EingabeDialog. Parameter: [optional] pTitel (Zeichenkette): Der Titel des Dialogs. [optional] pNachricht (Zeichenkette): Die Nachricht des Dialogs. [optional] pNurZahlen (Wahrheitswert): Nur Zahlen als Eingabe erlauben (Standardwert: False). [optional] pWertAnzeigen (Wahrheitswert): Den aktuellen Wert im Eingabefeld anzeigen (Standardwert: False). """ Dialog.__init__(self, pTitel, pNachricht) self.__ergebnis = '' self.nurZahlen = pNurZahlen self.wertAnzeigen = pWertAnzeigen def nenneErgebnis(self): """Anfrage. Gibt die eingegebene Zeichenkette zurück. Parameter: --- keine --- Rückgabe (Zeichenkette): Die eingegebene Zeichenkette. """ if self.__ergebnis == '' and self.nurZahlen: self.__ergebnis = 0 return int(self.__ergebnis) if self.nurZahlen else self.__ergebnis def nenneNurZahlen(self): """Anfrage. Gibt zurück, ob nur Zahlen als Eingabe zugelassen sind. Parameter: --- keine --- Rückgabe (Wahrheitswert): Sollen nur Zahlen als Eingabe zugelassen sein? """ return self.nurZahlen def nenneWertAnzeigen(self): """Anfrage. Gibt zurück, ob der aktuelle Wert im Eingabefeld angezeigt werden soll. Parameter: --- keine --- Rückgabe (Wahrheitswert): Soll der aktuelle Wert bei der Eingabe angezeigt werden? """ return self.wertAnzeigen def setzeNurZahlen(self, pNurZahlen): """Auftrag. Legt fest, ob nur Zahlen als Eingabe zugelassen sind. Parameter: pNurZahlen (Wahrheitswert): Sollen nur Zahlen als Eingabe zugelassen sein? """ self.nurZahlen = pNurZahlen def setzeWertAnzeigen(self, pWertAnzeigen): """Auftrag. Legt fest, ob der aktuelle Wert bei der Eingabe angezeigt werden soll. Parameter: pWertAnzeigen (Wahrheitswert): Soll der aktuelle Wert bei der Eingabe angezeigt werden? """ self.nurZahlen = pWertAnzeigen def zeige(self): """Auftrag. Zeigt den EingabeDialog an und speichert die eingegebene Zeichenkette im Attribut 'ergebnis'. Parameter: --- keine --- """ androide.dialogCreateInput(self.titel, self.nachricht, self.__ergebnis if self.wertAnzeigen else '', 'number' if self.nurZahlen else 'text') androide.dialogSetPositiveButtonText('Ok') androide.dialogShow() self.__ergebnis = androide.dialogGetResponse().result['value'] ergebnis = property(nenneErgebnis, doc="Die Eingabe des Benutzers.")