Erste Version für iOS

unter iOS nicht unterstützt sind AudioRecorder, VideoRecorder,
SprachEingabe, VibrationsSignal. Der BildRecorder kann nur interaktiv
aufnehmen.
This commit is contained in:
Daniel Spittank 2017-02-04 16:58:47 +01:00
commit 1d272caebe
37 changed files with 1646 additions and 0 deletions

View file

View file

@ -0,0 +1,76 @@
# -*- coding: utf-8 -*-
import dialogs
class Dialog(object):
"""Die Klasse Dialog stellt einen einfachen Dialog zur Verfuegung, der eine
Nachricht anzeigen kann und nach Bestätigung durch den Benutzer wieder
verschwindet.
Attribute:
titel (Zeichenkette): Der Titel des Dialogs.
nachricht (Zeichenkette): Die Nachricht des Dialogs.
"""
def __init__(self, pTitel="Titel", pNachricht="Nachricht"):
"""Auftrag. Initialisiert den Dialog.
Parameter:
[optional] pTitel (Zeichenkette): Der Titel des Dialogs.
[optional] pNachricht (Zeichenkette): Die Nachricht des Dialogs.
"""
self.titel = pTitel
self.nachricht = pNachricht
def setzeNachricht(self, pNachricht):
"""Auftrag. Ändert die Nachricht des Dialogs.
Parameter:
pNachricht (Zeichenkette): Die Nachricht des Dialogs.
"""
self.nachricht = pNachricht
def setzeTitel(self, pTitel):
"""Auftrag. Ändert den Titel des Dialogs.
Parameter:
pTitel (Zeichenkette): Der Titel des Dialogs.
"""
self.titel = pTitel
def nenneNachricht(self):
"""Anfrage. Gibt die Nachricht des Dialogs zurück.
Parameter:
--- keine ---
Rückgabe (Zeichenkette): Die Nachricht des Dialogs.
"""
return self.titel
def nenneTitel(self):
"""Anfrage. Gibt den Titel des Dialogs zurück.
Parameter:
--- keine ---
Rückgabe (Zeichenkette): Der Titel des Dialogs.
"""
return self.titel
def zeigeNachricht(self,pNachricht):
"""Auftrag. Kurzform für das Anzeigen eines Dialogs. Setzt die neue
Nachricht und zeigt den Dialog sofort an.
Parameter:
pNachricht (Zeichenkette): Die Nachricht des Dialogs.
"""
self.nachricht = pNachricht
self.zeige()
def zeige(self):
"""Auftrag. Zeigt den Dialog an.
Parameter:
--- keine ---
"""
dialogs.alert(self.titel, self.nachricht, 'Ok', '', '', True)

View file

@ -0,0 +1,98 @@
# -*- 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.")

View file

@ -0,0 +1,131 @@
# -*- coding: utf-8 -*-
from velamentum.ui.dialoge.Dialog import Dialog
import dialogs
class EntscheidungsDialog(Dialog):
"""Die Klasse Dialog stellt einen einfachen Dialog mit zwei oder drei
Tasten als Antwortmöglichkeiten zur Verfuegung. Der Text der Tasten ist
frei wählbar.
Attribute:
titel (Zeichenkette): Der Titel des Dialogs.
nachricht (Zeichenkette): Die Nachricht des Dialogs.
ergebnis (Zahl): Die Nummer der ausgewählten Taste (1-3), 0 bei Abbruch
oder Fehler.
text1 (Zeichenkette): Der Text der ersten Taste.
text2 (Zeichenkette): Der Text der zweiten Taste.
text3 (Zeichenkette): Der Text der dritten Taste.
dreiTasten (Wahrheitswert): Anzahl der anzuzeigenden Tasten. True für
drei Tasten, False für zwei Tasten.
"""
def __init__(self, pTitel="Titel", pNachricht="Nachricht"):
"""Konstruktor. Initialisiert den EntscheidungsDialog.
Parameter:
[optional] pTitel (Zeichenkette): Der Titel des Dialogs.
[optional] pNachricht (Zeichenkette): Die Nachricht des Dialogs.
"""
Dialog.__init__(self, pTitel, pNachricht)
self.ergebnis = 0
self.text1 = "Ja"
self.text2 = "Nein"
self.text3 = "Vielleicht"
self.dreiTasten = False
def setzeText1(self, pText):
"""Auftrag. Ändert den Text der ersten Taste.
Parameter:
pText (Zeichenkette): Text der Taste.
"""
self.text1 = pText
def setzeText2(self, pText):
"""Auftrag. Ändert den Text der zweiten Taste.
Parameter:
pText (Zeichenkette): Text der Taste.
"""
self.text2 = pText
def setzeText3(self, pText):
"""Auftrag. Ändert den Text der dritten Taste.
Parameter:
pText (Zeichenkette): Text der Taste.
"""
self.text3 = pText
def setzeDreiTasten(self, pDreiTasten):
"""Auftrag. Legt fest, ob zwei oder drei Tasten angezeigt werden sollen.
Parameter:
dreiTasten (Wahrheitswert): Anzahl der anzuzeigenden Tasten.
True für drei Tasten, False für zwei Tasten.
"""
self.dreiTasten = pDreiTasten
def nenneErgebnis(self):
"""Anfrage. Gibt die Nummer der gewählten Taste (1-3) oder 0 bei einem
Abbruch oder Fehler aus.
Parameter:
--- keine ---
Rückgabe (Zahl): Fehler oder Abbruch durch den Benutzer => 0,
Taste gedrückt => Nummer der Taste (1-3).
"""
return self.ergebnis
def nenneText1(self):
"""Anfrage. Gibt den Text der ersten Taste zurück.
Parameter:
--- keine ---
Rückgabe (Zeichenkette): Der Text der ersten Taste.
"""
return self.text1
def nenneText2(self):
"""Anfrage. Gibt den Text der zweiten Taste zurück.
Parameter:
--- keine ---
Rückgabe (Zeichenkette): Der Text der zweiten Taste.
"""
return self.text2
def nenneText3(self):
"""Anfrage. Gibt den Text der dritten Taste zurück.
Parameter:
--- keine ---
Rückgabe (Zeichenkette): Der Text der dritten Taste.
"""
return self.text3
def nenneDreiTasten(self):
"""Anfrage. Gibt zurück ob zwei (False) oder drei (True) Tasten
angezeigt werden sollen.
Parameter:
--- keine ---
Rückgabe (Wahrheitswert): True, falls drei Tasten angezeigt werden
sollen, False sonst.
"""
return self.dreiTasten
def zeige(self):
"""Auftrag. Zeigt den EntscheidungsDialog an und speichert die Auswahl
im Attribut 'ergebnis'.
Parameter:
--- keine ---
"""
self.ergebnis = dialogs.alert(self.titel, self.nachricht, self.text1, self.text2, self.text3 if self.dreiTasten else '',True)

View file

@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
from velamentum.ui.dialoge.EingabeDialog import EingabeDialog
import dialogs
class PasswortDialog(EingabeDialog):
"""Die Klasse EingabeDialog (erbt Attribute und Methoden von der Klasse
EingabeDialog) stellt einen einfachen Dialog zur Eingabe von Passwörtern zur
Verfügung. Im Unterschied zum Eingabedialog wird die Zeichenkette während
der Eingabe nicht angezeigt.
Attribute:
titel (Zeichenkette): Der Titel des Dialogs.
nachricht (Zeichenkette): Die Nachricht des Dialogs.
ergebnis (Zeichenkette): Der eingegebene Text.
"""
def __init__(self, pTitel="Titel", pNachricht="Nachricht", pNurZahlen=False):
"""Konstruktor. Initialisiert den PasswortDialog.
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).
"""
EingabeDialog.__init__(self, pTitel, pNachricht, pNurZahlen=False)
def zeige(self):
"""Auftrag. Zeigt den PasswortDialog an und speichert die eingegebene
Zeichenkette im Attribut 'ergebnis'.
Parameter:
--- keine ---
"""
self.ergebnis = dialogs.password_alert(self.titel, self.nachricht,'','Ok',True)

View file