Package de.willuhn.jameica.gui.input
Class DialogInput
- java.lang.Object
-
- de.willuhn.jameica.gui.input.AbstractInput
-
- de.willuhn.jameica.gui.input.ButtonInput
-
- de.willuhn.jameica.gui.input.DialogInput
-
public class DialogInput extends ButtonInput
Eingabe-Feld, welches beim Klick auf den Button einen Dialog zur Auswahl eines Objektes oeffnet. Achtung: Der Dialog liefert beim Schliessen ein lapidaresObjectzurueck. Da das Text-Eingabefeld natuerlich nicht wissen kann, wie es das anzeigen soll, wird der Rueckgabewert des Dialogs nicht ausgewertet. Stattdessen muss an den Dialog viaaddCloseListenerein Listener angehangen werden, der beim Schliessen des Dialogs ausgeloest wird. In dessenevent.databefindet sich dann das jeweilige Objekt. Das ist z.Bsp. beiListDialogein Fachobjekt aus der Datenbank oder beiCalendarDialogeinjava.util.Date-Objekt.Hinweis: Der Listener darf nicht an das Input-Feld selbst angehangen werden, denn die werden bei jedem Focus-Wechsel ausgeloest.
- Author:
- willuhn
-
-
Field Summary
-
Fields inherited from class de.willuhn.jameica.gui.input.ButtonInput
buttonEnabled, clientControl, clientControlEnabled, value
-
Fields inherited from interface de.willuhn.jameica.gui.input.Input
DATAKEY_TOOLTIP
-
-
Constructor Summary
Constructors Constructor Description DialogInput(java.lang.String value)Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein.DialogInput(java.lang.String value, AbstractDialog d)Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.swt.widgets.ControlgetClientControl(org.eclipse.swt.widgets.Composite parent)Liefert das einzubettende Eingabefeld.intgetMaxLength()Liefert die maximale Anzahl eingebbarer Zeichen.java.lang.StringgetText()Liefert den derzeit angezeigten Text.java.lang.ObjectgetValue()Liefert das Objekt, welches in dem Dialog ausgewaehlt wurde.booleanhasChanged()Ueberschrieben, weil nur der angezeigte Text interessiert.voidsetDialog(AbstractDialog d)Speichert den anzuzeigenden Dialog.voidsetMaxLength(int length)Legt die maximale Anzahl eingebbarer Zeichen fest.voidsetText(java.lang.String text)Speichert den anzuzeigenden Text.voidsetValue(java.lang.Object value)Schreibt einen neuen Wert in das Eingabefeld.protected voidupdate()Wird immer dann aufgerufen, wenn eines der Controls des Eingabe-Feldes aktualisiert wird.-
Methods inherited from class de.willuhn.jameica.gui.input.ButtonInput
addButtonListener, disable, disableButton, disableClientControl, enable, enableButton, enableClientControl, focus, getControl, isEnabled, setButtonImage, setButtonText, setEnabled
-
Methods inherited from class de.willuhn.jameica.gui.input.AbstractInput
addListener, getData, getName, getParent, getStyleBits, isMandatory, paint, paint, setComment, setData, setInvalidChars, setMandatory, setName, setValidChars
-
-
-
-
Constructor Detail
-
DialogInput
public DialogInput(java.lang.String value)
Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein. Der dialog sollte anschliessend noch mittels setDialog() gesetzt werden. Dieser Konstruktor ist nur eine Convenience-Funktion, um den Dialog auch nach der Erzeugung des Input-Objektes setzen zu koennen.- Parameters:
value- der initial einzufuegende Wert fuer das Eingabefeld.
-
DialogInput
public DialogInput(java.lang.String value, AbstractDialog d)Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein.- Parameters:
value- der initial einzufuegende Wert fuer das Eingabefeld.d- der Dialog.
-
-
Method Detail
-
setDialog
public void setDialog(AbstractDialog d)
Speichert den anzuzeigenden Dialog.- Parameters:
d- der anzuzeigende Dialog.
-
getValue
public java.lang.Object getValue()
Liefert das Objekt, welches in dem Dialog ausgewaehlt wurde. Fuer gewoehnlich ist das ein Fach-Objekt.- Returns:
- Wert des Feldes.
- See Also:
Input.getValue()
-
getText
public java.lang.String getText()
Liefert den derzeit angezeigten Text.- Returns:
- angezeigter Text.
-
setText
public void setText(java.lang.String text)
Speichert den anzuzeigenden Text.- Parameters:
text- anzuzeigender Text.
-
setMaxLength
public void setMaxLength(int length)
Legt die maximale Anzahl eingebbarer Zeichen fest.- Parameters:
length- Maximal-Anzahl. Zulaessig sind nur Werte, die groesser als "0" sind.
-
getMaxLength
public int getMaxLength()
Liefert die maximale Anzahl eingebbarer Zeichen.- Returns:
- Anzahl der maximal eingebbaren Zeichen oder "0", wenn kein Limit definiert ist.
-
setValue
public void setValue(java.lang.Object value)
Description copied from interface:InputSchreibt einen neuen Wert in das Eingabefeld.- Parameters:
value- der neu anzuzeigende Wert.- See Also:
Speichert jedoch nicht den anzuzeigenden Text sondern das FachObjekt. Sprich: Das Objekt, welches auch geliefert wird, wenn der Dialog zur Auswahl des Objektes verwendet werden wuerde. Soll der anzuzeigende Text geaendert werden, dann bitte die Funktion setText(String) verwenden.
-
getClientControl
public org.eclipse.swt.widgets.Control getClientControl(org.eclipse.swt.widgets.Composite parent)
Description copied from class:ButtonInputLiefert das einzubettende Eingabefeld.- Specified by:
getClientControlin classButtonInput- Parameters:
parent- Composite, in dem sich das ClientControl malen soll.- Returns:
- das fertig gemalte Control.
- See Also:
ButtonInput.getClientControl(org.eclipse.swt.widgets.Composite)
-
update
protected void update() throws OperationCanceledExceptionDescription copied from class:AbstractInputWird immer dann aufgerufen, wenn eines der Controls des Eingabe-Feldes aktualisiert wird. Hier kann dann z.Bsp. geprueft werden, ob der Inhalt des Feldes korrekt ist und ggf. die Hintergrund-Farbe angepasst werden.- Overrides:
updatein classButtonInput- Throws:
OperationCanceledException- See Also:
AbstractInput.update()
-
hasChanged
public boolean hasChanged()
Ueberschrieben, weil nur der angezeigte Text interessiert.- Specified by:
hasChangedin interfaceInput- Overrides:
hasChangedin classAbstractInput- Returns:
- true, wenn sich der Wert geaendert hat, sonstfalse.
- See Also:
Input.hasChanged()
-
-