velamentum/source/iOS/ui/dialoge/EingabeDialog.py

99 lines
3.5 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
from velamentum.ui.dialoge.Dialog import Dialog
import dialogs
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 ---
"""
self.__ergebnis = dialogs.input_alert(self.titel, self.nachricht, self.__ergebnis if self.wertAnzeigen else '', 'Ok', True)
ergebnis = property(nenneErgebnis, doc="Die Eingabe des Benutzers.")