Class DialogInput
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 via AbstractInput.addListener(Listener)
ein Listener angehangen werden, der beim Schliessen des Dialogs ausgeloest
wird. In dessen event.data
befindet sich dann das jeweilige
Objekt. Das ist z.Bsp. bei ListDialog
ein Fachobjekt aus der
Datenbank oder bei CalendarDialog
ein 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
ConstructorsConstructorDescriptionDialogInput
(String value) Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein.DialogInput
(String value, AbstractDialog d) Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein. -
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.swt.widgets.Control
getClientControl
(org.eclipse.swt.widgets.Composite parent) Liefert das einzubettende Eingabefeld.int
Liefert die maximale Anzahl eingebbarer Zeichen.getText()
Liefert den derzeit angezeigten Text.getValue()
Liefert das Objekt, welches in dem Dialog ausgewaehlt wurde.boolean
Prueft, ob sich der Wert vonInput.getValue()
seit dem letzten Aufruf vonhasChanged()
geaendert hat.void
Speichert den anzuzeigenden Dialog.void
setMaxLength
(int length) Legt die maximale Anzahl eingebbarer Zeichen fest.void
Speichert den anzuzeigenden Text.void
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 Details
-
DialogInput
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
Erzeugt ein neues Eingabefeld und schreibt den uebergebenen Wert rein.- Parameters:
value
- der initial einzufuegende Wert fuer das Eingabefeld.d
- der Dialog.
-
-
Method Details
-
setDialog
Speichert den anzuzeigenden Dialog.- Parameters:
d
- der anzuzeigende Dialog.
-
getValue
Liefert das Objekt, welches in dem Dialog ausgewaehlt wurde. Fuer gewoehnlich ist das ein Fach-Objekt.- Returns:
- Wert des Feldes.
-
getText
Liefert den derzeit angezeigten Text.- Returns:
- angezeigter Text.
-
setText
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
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
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
.
-