99 lines
3.5 KiB
Python
99 lines
3.5 KiB
Python
|
# -*- 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.")
|