de.willuhn.jameica.gui.dialogs
Class PasswordDialog

java.lang.Object
  extended by de.willuhn.jameica.gui.dialogs.AbstractDialog
      extended by de.willuhn.jameica.gui.dialogs.PasswordDialog

public abstract class PasswordDialog
extends AbstractDialog

Dialog zu Passwort-Eingabe. Die Klasse ist deshalb abstract, damit sie bei der konkreten Verwendung abgeleitet wird und dort via checkPassword(String) die Eingabe geprueft werden kann. Hinweis: Diese Klasse hat einen internen Zaehler, der die Anzahl der fehlgeschlagenen Aufrufe von checkPassword(String) zaehlt. Nach 3 Versuchen wird die Funktion cancel() aufgerufen und der Dialog geschlossen.


Field Summary
static int MAX_RETRIES
          Maximale Anzahl von Fehlversuchen.
 
Fields inherited from class de.willuhn.jameica.gui.dialogs.AbstractDialog
i18n, MONITOR_CURRENT, MONITOR_PRIMARY, POSITION_CENTER, POSITION_MOUSE
 
Constructor Summary
PasswordDialog(int position)
          Erzeugt einen neuen Passwort-Dialog.
 
Method Summary
protected abstract  boolean checkPassword(java.lang.String password)
          Prueft die Eingabe des Passwortes.
protected  void extend(Container container)
          Kann von abgeleiteten Dialogen ueberschrieben werden, um den Password-Dialog noch zu erweitern.
protected  java.lang.Object getData()
          Diese Funktion wird beim Schliessen des Dialogs in open() aufgerufen und liefert die ausgewaehlten Daten zurueck.
protected  int getRemainingRetries()
          Liefert die Anzahl der moeglichen Rest-Versuche zur Eingabe bevor der Dialog abgebrochen wird.
protected  void paint(org.eclipse.swt.widgets.Composite parent)
          Muss vom abgeleiteten Dialog ueberschrieben werden.
protected  void passwordModified(java.lang.String password)
          Kann von abgeleiteten Dialogen ueberschrieben werden, um denPassword-Dialog noch zu erweitern.
protected  void setErrorText(java.lang.String text)
          Zeigt den uebergebenen Text rot markiert an.
protected  void setLabelText(java.lang.String text)
          Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Eingabe angezeigt werden soll (Optional).
protected  void setShowPassword(boolean show)
          Legt fest, ob das Passwort waehrend der Eingabe angezeigt werden soll.
 void setText(java.lang.String text)
          Speichert den anzuzeigenden Text.
 
Methods inherited from class de.willuhn.jameica.gui.dialogs.AbstractDialog
addCloseListener, addShellListener, close, getDisplay, getShell, open, setMonitor, setSideImage, setSize, setTitle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_RETRIES

public static final int MAX_RETRIES
Maximale Anzahl von Fehlversuchen.

See Also:
Constant Field Values
Constructor Detail

PasswordDialog

public PasswordDialog(int position)
Erzeugt einen neuen Passwort-Dialog.

Parameters:
position - Position des Dialogs.
See Also:
AbstractDialog.POSITION_MOUSE, AbstractDialog.POSITION_CENTER
Method Detail

setLabelText

protected void setLabelText(java.lang.String text)
Speichert den Text, der links neben dem Eingabefeld fuer die Passwort-Eingabe angezeigt werden soll (Optional).

Parameters:
text - anzuzeigender Text.

setErrorText

protected final void setErrorText(java.lang.String text)
Zeigt den uebergebenen Text rot markiert an. Diese Funktion sollte aus checkPassword(String) heraus aufgerufen werden, um dem benutzer zu zeigen, warum seine Passwort-Eingabe falsch war.

Parameters:
text - Der anzuzeigende Fehlertext.

setText

public void setText(java.lang.String text)
Speichert den anzuzeigenden Text.

Parameters:
text - anzuzeigender Text.

setShowPassword

protected void setShowPassword(boolean show)
Legt fest, ob das Passwort waehrend der Eingabe angezeigt werden soll.

Parameters:
show -

paint

protected void paint(org.eclipse.swt.widgets.Composite parent)
              throws java.lang.Exception
Description copied from class: AbstractDialog
Muss vom abgeleiteten Dialog ueberschrieben werden. In dieser Funktion soll er sich bitte malen. Sie wird anschliessend von open() ausgefuehrt.

Specified by:
paint in class AbstractDialog
Parameters:
parent - das Composite, in dem der Dialog gemalt werden soll. Hinweis: Das Composite enthaelt bereits ein einspaltiges GridLayout.
Throws:
java.lang.Exception - Kann von der abgeleiteten Klasse geworfen werden. Tut sie das, wird der Dialog nicht angezeigt.
See Also:
AbstractDialog.paint(org.eclipse.swt.widgets.Composite)

checkPassword

protected abstract boolean checkPassword(java.lang.String password)
Prueft die Eingabe des Passwortes. Hinweis: Der Dialog wird erst geschlossen, wenn diese Funktion true zurueckliefert.

Parameters:
password - das gerade eingegebene Passwort.
Returns:
true, wenn die Eingabe OK ist, andernfalls false.

extend

protected void extend(Container container)
               throws java.lang.Exception
Kann von abgeleiteten Dialogen ueberschrieben werden, um den Password-Dialog noch zu erweitern. Sie erhalten ein Composite mit einem einspaltigen Grid-Layout. Angezeigt wird die Erweiterung dann direkt ueber den beiden Buttons.

Parameters:
container - der Container.
Throws:
java.lang.Exception

passwordModified

protected void passwordModified(java.lang.String password)
Kann von abgeleiteten Dialogen ueberschrieben werden, um denPassword-Dialog noch zu erweitern. Wird jedes mal aufgerufen, wenn die Eingabe im Passwort-Feld sich aendert. Kann z. B. benutzt werden, um das Passwort noch vor dem Klick auf OK zu pruefen.

Parameters:
password -

getRemainingRetries

protected int getRemainingRetries()
Liefert die Anzahl der moeglichen Rest-Versuche zur Eingabe bevor der Dialog abgebrochen wird.

Returns:
Anzahl der Restversuche.

getData

protected java.lang.Object getData()
                            throws java.lang.Exception
Description copied from class: AbstractDialog
Diese Funktion wird beim Schliessen des Dialogs in open() aufgerufen und liefert die ausgewaehlten Daten zurueck. Die ableitende Klasse sollte hier also die Informationen rein tuen, die sie dem Aufrufer gern geben moechte.

Specified by:
getData in class AbstractDialog
Returns:
das ausgewaehlte Objekt.
Throws:
java.lang.Exception
See Also:
AbstractDialog.getData()