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 lapidares
Object
zurueck. 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 viaAbstractInput.addListener(Listener)
ein Listener angehangen werden, der beim Schliessen des Dialogs ausgeloest wird. In dessenevent.data
befindet sich dann das jeweilige Objekt. Das ist z.Bsp. beiListDialog
ein Fachobjekt aus der Datenbank oder beiCalendarDialog
einDate
-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.Control
getClientControl(org.eclipse.swt.widgets.Composite parent)
Liefert das einzubettende Eingabefeld.int
getMaxLength()
Liefert die maximale Anzahl eingebbarer Zeichen.java.lang.String
getText()
Liefert den derzeit angezeigten Text.java.lang.Object
getValue()
Liefert das Objekt, welches in dem Dialog ausgewaehlt wurde.boolean
hasChanged()
Prueft, ob sich der Wert vonInput.getValue()
seit dem letzten Aufruf vonhasChanged()
geaendert hat.void
setDialog(AbstractDialog d)
Speichert den anzuzeigenden Dialog.void
setMaxLength(int length)
Legt die maximale Anzahl eingebbarer Zeichen fest.void
setText(java.lang.String text)
Speichert den anzuzeigenden Text.void
setValue(java.lang.Object value)
WieInput.setValue(java.lang.Object)
, speichert jedoch nicht den anzuzeigenden Text sondern das FachObjekt.protected void
update()
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, 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 mittelssetDialog(AbstractDialog)
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.
-
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)
WieInput.setValue(java.lang.Object)
, 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.- Parameters:
value
- der neu anzuzeigende Wert.
-
getClientControl
public org.eclipse.swt.widgets.Control getClientControl(org.eclipse.swt.widgets.Composite parent)
Description copied from class:ButtonInput
Liefert das einzubettende Eingabefeld.- Specified by:
getClientControl
in classButtonInput
- Parameters:
parent
- Composite, in dem sich das ClientControl malen soll.- Returns:
- das fertig gemalte Control.
-
update
protected void update() throws OperationCanceledException
Description copied from class:AbstractInput
Wird 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:
update
in classButtonInput
- Throws:
OperationCanceledException
-
hasChanged
public boolean hasChanged()
Description copied from interface:Input
Prueft, ob sich der Wert vonInput.getValue()
seit dem letzten Aufruf vonhasChanged()
geaendert hat.- Specified by:
hasChanged
in interfaceInput
- Overrides:
hasChanged
in classAbstractInput
- Returns:
true
, wenn sich der Wert geaendert hat, sonstfalse
.
-
-