Class SelectInput
java.lang.Object
de.willuhn.jameica.gui.input.AbstractInput
de.willuhn.jameica.gui.input.SelectInput
- Direct Known Subclasses:
PluginInput, ReminderIntervalInput
Ist zustaendig fuer Eingabefelder des Typs "Select" aka "Combo".
Wird die Combo-Box mit einer Liste von
GenericObjects erzeugt,
dann wird das Primaerattribut eines jeden Objektes angezeigt.- Author:
- willuhn
-
Field Summary
Fields inherited from interface Input
DATAKEY_TOOLTIP -
Constructor Summary
ConstructorsConstructorDescriptionSelectInput(de.willuhn.datasource.GenericIterator list, de.willuhn.datasource.GenericObject preselected) Deprecated.SelectInput(Object[] list, Object preselected) Erzeugt die Combox-Box mit Beans oder Strings.SelectInput(List list, Object preselected) Erzeugt die Combox-Box mit Beans oder Strings. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddListener(org.eclipse.swt.widgets.Widget w, org.eclipse.swt.widgets.Listener l) Übernimmt das eigentliche Hinzufügen des Listeners zum Widget.voiddisable()Deaktiviert das Eingabefeld.voidenable()Aktiviert das Eingabefeld.voidfocus()Gibt diesem Eingabefeld den Focus.protected StringFormatiert die Bean passend fuer die Anzeige in der Combo-Box.org.eclipse.swt.widgets.ControlLiefert das eigentliche Eingabecontrol.getList()Liefert die komplette Liste der Fachobjekte in der Liste.getText()Liefert den derzeit angezeigten Text zurueck.getValue()Liefert das ausgewaehlteGenericObject.booleanPrueft, ob das Eingabe-Feld aktiv ist.voidsetAttribute(String name) Legt den Namen des Attributes fest, welches von den Objekten angezeigt werden soll.voidsetEditable(boolean editable) Markiert die Combo-Box als editierbar.voidsetEnabled(boolean enabled) Aktiviert oder deaktiviert das Eingabe-Feld.voidErsetzt den Inhalt der Selectbox komplett gegen die angegebene Liste.voidsetPleaseChoose(String choose) Optionale Angabe eines Textes, der an Position 1 angezeigt werden soll.voidsetPreselected(Object preselected) Aendert nachtraeglich das vorausgewaehlte Element.voidSchreibt einen neuen Wert in das Eingabefeld.Methods inherited from class AbstractInput
addListener, getData, getName, getParent, getStyleBits, hasChanged, isMandatory, paint, paint, setComment, setData, setInvalidChars, setMandatory, setName, setValidChars, update
-
Constructor Details
-
SelectInput
@Deprecated public SelectInput(de.willuhn.datasource.GenericIterator list, de.willuhn.datasource.GenericObject preselected) throws RemoteException Deprecated.Um Jameica von spezifischem Code aus de.willuhn.datasource zu befreien, sollte kuenftig besserSelectInput(List, Object)verwendet werden. Damit kann die Anwendung spaeter auch auf ein anderes Persistierungsframework umgestellt werden.Erzeugt eine neue Combo-Box und schreibt die Werte der uebergebenen Liste rein.- Parameters:
list- Liste von Objekten.preselected- das Object, welches vorselektiert sein soll. Optional.- Throws:
RemoteException
-
SelectInput
-
SelectInput
-
-
Method Details
-
setPreselected
Aendert nachtraeglich das vorausgewaehlte Element.- Parameters:
preselected- neues vorausgewaehltes Element.
-
setPleaseChoose
Optionale Angabe eines Textes, der an Position 1 angezeigt werden soll.Als Default wird
nullzurueckgeliefert.- Parameters:
choose- Anzuzeigender "Bitte wählen..."-Text.
-
addListener
protected void addListener(org.eclipse.swt.widgets.Widget w, org.eclipse.swt.widgets.Listener l) Description copied from class:AbstractInputÜbernimmt das eigentliche Hinzufügen des Listeners zum Widget.- Overrides:
addListenerin classAbstractInput- Parameters:
w- das Widget.l- der Listener.- See Also:
-
setAttribute
Legt den Namen des Attributes fest, welches von den Objekten angezeigt werden soll. Bei herkoemmlichen Beans wird also ein Getter mit diesem Namen aufgerufen. Wird kein Attribut angegeben, wird bei Objekten des TypsGenericObjectder Wert des Primaer-Attributes angezeigt, andernfalls der Wert vonObject.toString().- Parameters:
name- Name des anzuzeigenden Attributes (muss viaGenericObject.getAttribute(String)abrufbar sein).
-
getControl
public org.eclipse.swt.widgets.Control getControl()Description copied from interface:InputLiefert das eigentliche Eingabecontrol. Es muss von jeder abgeleiteten Klasse implementiert werden und das Eingabe-Feld zurueckliefern.Da der Implementierer das Composite benoetigt, in dem das Control positioniert werden soll, kann er sich der Methode
AbstractInput.getParent()in dieser Klasse bedienen.- Returns:
- das zu zeichnende Control.
-
setList
Ersetzt den Inhalt der Selectbox komplett gegen die angegebene Liste.- Parameters:
list- die neue Liste der Daten.
-
getList
Liefert die komplette Liste der Fachobjekte in der Liste.- Returns:
- Liste der Fachobjekte.
-
format
-
getValue
Liefert das ausgewaehlteGenericObject. Folglich kann der Rueckgabewert direkt nachGenericObjectgecastet werden.- Returns:
- Wert des Feldes.
- See Also:
-
getText
-
focus
-
disable
-
enable
-
setEnabled
public void setEnabled(boolean enabled) Description copied from interface:InputAktiviert oder deaktiviert das Eingabe-Feld.- Parameters:
enabled- true, wenn es aktiv sein soll.
-
setEditable
public void setEditable(boolean editable) Markiert die Combo-Box als editierbar.Wenn diese Option aktiviert ist, wird jedoch in
getValue()generell der angezeigte Text zurueckgeliefert statt des Fachobjektes. Hintergrund: Normalerweise wird die Combo-Box ja mit einer Liste von Fachobjekten/Beans gefuellt. Abhaengig von der Auswahl wird dann das zugehoerige dahinterstehende Objekt zurueckgeliefert. Bei Freitext-Eingabe existiert jedoch kein solches. Daher wird in diesem Fall der eingebene Text zurueckgeliefert.- Parameters:
editable-
-
setValue
-
isEnabled
public boolean isEnabled()Description copied from interface:InputPrueft, ob das Eingabe-Feld aktiv ist.- Returns:
- true, wenn es aktiv ist.
-
SelectInput(List, Object)verwendet werden.