Package de.willuhn.jameica.gui.input
Class SelectInput
- java.lang.Object
-
- de.willuhn.jameica.gui.input.AbstractInput
-
- de.willuhn.jameica.gui.input.SelectInput
-
- Direct Known Subclasses:
PluginInput
,ReminderIntervalInput
public class SelectInput extends AbstractInput
Ist zustaendig fuer Eingabefelder des Typs "Select" aka "Combo". Wird die Combo-Box mit einer Liste vonGenericObject
s erzeugt, dann wird das Primaerattribut eines jeden Objektes angezeigt.- Author:
- willuhn
-
-
Field Summary
-
Fields inherited from interface de.willuhn.jameica.gui.input.Input
DATAKEY_TOOLTIP
-
-
Constructor Summary
Constructors Constructor Description SelectInput(de.willuhn.datasource.GenericIterator list, de.willuhn.datasource.GenericObject preselected)
Deprecated.Um Jameica von spezifischem Code aus de.willuhn.datasource zu befreien, sollte kuenftig besserSelectInput(List, Object)
verwendet werden.SelectInput(java.lang.Object[] list, java.lang.Object preselected)
Erzeugt die Combox-Box mit Beans oder Strings.SelectInput(java.util.List list, java.lang.Object preselected)
Erzeugt die Combox-Box mit Beans oder Strings.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addListener(org.eclipse.swt.widgets.Widget w, org.eclipse.swt.widgets.Listener l)
Übernimmt das eigentliche Hinzufügen des Listeners zum Widget.void
disable()
Deaktiviert das Eingabefeld.void
enable()
Aktiviert das Eingabefeld.void
focus()
Gibt diesem Eingabefeld den Focus.protected java.lang.String
format(java.lang.Object bean)
Formatiert die Bean passend fuer die Anzeige in der Combo-Box.org.eclipse.swt.widgets.Control
getControl()
Liefert das eigentliche Eingabecontrol.java.util.List
getList()
Liefert die komplette Liste der Fachobjekte in der Liste.java.lang.String
getText()
Liefert den derzeit angezeigten Text zurueck.java.lang.Object
getValue()
Liefert das ausgewaehlteGenericObject
.boolean
isEnabled()
Prueft, ob das Eingabe-Feld aktiv ist.void
setAttribute(java.lang.String name)
Legt den Namen des Attributes fest, welches von den Objekten angezeigt werden soll.void
setEditable(boolean editable)
Markiert die Combo-Box als editierbar.void
setEnabled(boolean enabled)
Aktiviert oder deaktiviert das Eingabe-Feld.void
setList(java.util.List list)
Ersetzt den Inhalt der Selectbox komplett gegen die angegebene Liste.void
setPleaseChoose(java.lang.String choose)
Optionale Angabe eines Textes, der an Position 1 angezeigt werden soll.void
setPreselected(java.lang.Object preselected)
Aendert nachtraeglich das vorausgewaehlte Element.void
setValue(java.lang.Object o)
Schreibt einen neuen Wert in das Eingabefeld.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.AbstractInput
addListener, getData, getName, getParent, getStyleBits, hasChanged, isMandatory, paint, paint, setComment, setData, setInvalidChars, setMandatory, setName, setValidChars
-
-
-
-
Constructor Detail
-
SelectInput
@Deprecated public SelectInput(de.willuhn.datasource.GenericIterator list, de.willuhn.datasource.GenericObject preselected) throws java.rmi.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:
java.rmi.RemoteException
-
SelectInput
public SelectInput(java.lang.Object[] list, java.lang.Object preselected)
Erzeugt die Combox-Box mit Beans oder Strings.- Parameters:
list
- Liste der Objekte.preselected
- das vorausgewaehlte Objekt.
-
SelectInput
public SelectInput(java.util.List list, java.lang.Object preselected)
Erzeugt die Combox-Box mit Beans oder Strings.- Parameters:
list
- Liste der Objekte.preselected
- das vorausgewaehlte Objekt.
-
-
Method Detail
-
setPreselected
public void setPreselected(java.lang.Object preselected)
Aendert nachtraeglich das vorausgewaehlte Element.- Parameters:
preselected
- neues vorausgewaehltes Element.
-
setPleaseChoose
public void setPleaseChoose(java.lang.String choose)
Optionale Angabe eines Textes, der an Position 1 angezeigt werden soll.Als Default wird
null
zurueckgeliefert.- 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:
addListener
in classAbstractInput
- Parameters:
w
- das Widget.l
- der Listener.- See Also:
AbstractInput.addListener(org.eclipse.swt.widgets.Widget, org.eclipse.swt.widgets.Listener)
-
setAttribute
public void setAttribute(java.lang.String name)
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 TypsGenericObject
der 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:Input
Liefert 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
public void setList(java.util.List list)
Ersetzt den Inhalt der Selectbox komplett gegen die angegebene Liste.- Parameters:
list
- die neue Liste der Daten.
-
getList
public java.util.List getList()
Liefert die komplette Liste der Fachobjekte in der Liste.- Returns:
- Liste der Fachobjekte.
-
format
protected java.lang.String format(java.lang.Object bean)
Formatiert die Bean passend fuer die Anzeige in der Combo-Box.- Parameters:
bean
- die Bean.- Returns:
- anzuzeigender Wert.
-
getValue
public java.lang.Object getValue()
Liefert das ausgewaehlteGenericObject
. Folglich kann der Rueckgabewert direkt nachGenericObject
gecastet werden.- Returns:
- Wert des Feldes.
- See Also:
Input.getValue()
-
getText
public java.lang.String getText()
Liefert den derzeit angezeigten Text zurueck.- Returns:
- Text.
-
focus
public void focus()
Description copied from interface:Input
Gibt diesem Eingabefeld den Focus.
-
disable
public void disable()
Description copied from interface:Input
Deaktiviert das Eingabefeld.
-
enable
public void enable()
Description copied from interface:Input
Aktiviert das Eingabefeld.
-
setEnabled
public void setEnabled(boolean enabled)
Description copied from interface:Input
Aktiviert 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
public void setValue(java.lang.Object o)
Description copied from interface:Input
Schreibt einen neuen Wert in das Eingabefeld.- Parameters:
o
- der neu anzuzeigende Wert.
-
isEnabled
public boolean isEnabled()
Description copied from interface:Input
Prueft, ob das Eingabe-Feld aktiv ist.- Returns:
- true, wenn es aktiv ist.
-
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 classAbstractInput
- Throws:
OperationCanceledException
-
-