Package de.willuhn.jameica.gui.parts
Class AbstractTablePart
- java.lang.Object
-
- de.willuhn.jameica.gui.parts.AbstractTablePart
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAbstractTablePart.AbstractTableItemHilfsklasse zum Kapseln eines einzelnen Elements in der Tabelle.
-
Field Summary
Fields Modifier and Type Field Description protected Actionactionprotected booleanchangeableprotected booleancheckableprotected java.util.List<Column>columnsprotected ContextMenumenuprotected booleanmultiprotected booleanrememberColWidthprotected booleanrememberOrderprotected booleanrememberStateprotected java.util.List<org.eclipse.swt.widgets.Listener>selectionListenersprotected static Settingssettings
-
Constructor Summary
Constructors Constructor Description AbstractTablePart(Action action)ct.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddColumn(Column col)Fuegt der Tabelle eine neue Spalte hinzu.voidaddColumn(java.lang.String title, java.lang.String field)Fuegt der Tabelle eine neue Spalte hinzu.voidaddColumn(java.lang.String title, java.lang.String field, Formatter f)Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.voidaddColumn(java.lang.String title, java.lang.String field, Formatter f, boolean changeable)Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.voidaddColumn(java.lang.String title, java.lang.String field, Formatter f, boolean changeable, int align)Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.voidaddFeature(Feature feature)Fuegt ein Feature hinzu.voidaddFeature(java.lang.String featureName)Fuegt ein Feature anhand des Klassennamens hinzu.voidaddSelectionListener(org.eclipse.swt.widgets.Listener l)Fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein oder mehrere Elemente markiert wurden.protected static java.util.ListasList(de.willuhn.datasource.GenericIterator iterator)Hilfsmethode, um dieRemoteExceptionim Konstruktor zu vermeiden.protected Feature.ContextcreateFeatureEventContext(Feature.Event e, java.lang.Object data)Erzeugt den Context fuer das Feature-Event.voidfeatureEvent(Feature.Event e, java.lang.Object data)Loest ein Feature-Event aus.<T> TgetFeature(java.lang.Class<? extends Feature> type)Liefert die Instanz des Features, insofern es hinzugefuegt wurde.abstract java.util.ListgetItems()Liefert die Fach-Objekte der Tabelle.abstract java.lang.ObjectgetSelection()Liefert die markierten Objekte.booleanhasEvent(java.lang.Class<? extends Feature> type, Feature.Event e)Prueft, ob das angegebene Feature das Event behandelt.booleanisMulti()Liefert true, wenn mehrere Elemente gleichzeitig markiert werden koennen.abstract voidremoveAll()Entfernt alle Elemente aus der Tabelle.voidremoveFeature(java.lang.Class<? extends Feature> type)Entfernt das Feature.voidrestoreState()Stellt den Zustand wieder her (markierte Objekte und Scroll-Position).voidselect(java.lang.Object o)Markiert das uebergebene Element.abstract voidselect(java.lang.Object[] objects)Markiert die Liste der uebergebenen Objekte.voidsetCheckable(boolean checkable)Legt fest, ob jede Zeile der Tabelle mit einer Checkbox versehen werden soll.voidsetChecked(java.lang.Object[] objects, boolean checked)Wenn die Tabelle mit Checkboxen versehen ist, kann man damit bei einem Element das Haeckchen setzen oder entfernen.voidsetChecked(java.lang.Object o, boolean checked)Wenn die Tabelle mit Checkboxen versehen ist, kann man damit bei einem Element das Haeckchen setzen oder entfernen.voidsetContextMenu(ContextMenu menu)Fuegt ein KontextMenu hinzu.voidsetMulti(boolean multi)Legt fest, ob mehrere Elemente gleichzeitig markiert werden koennen.voidsetRememberColWidths(boolean remember)Legt fest, ob sich die Tabelle die Spaltenbreiten merken soll.voidsetRememberOrder(boolean remember)Legt fest, ob sich die Tabelle die Sortierreihenfolge merken soll.voidsetRememberState(boolean remember)Legt fest, ob sich die Tabelle die zuletzt markierten Objekte samt der Scrollposition merken soll.abstract intsize()Liefert die Anzahl der Elemente in dieser Tabelle.
-
-
-
Field Detail
-
menu
protected ContextMenu menu
-
changeable
protected boolean changeable
-
rememberColWidth
protected boolean rememberColWidth
-
rememberOrder
protected boolean rememberOrder
-
rememberState
protected boolean rememberState
-
columns
protected java.util.List<Column> columns
-
settings
protected static final Settings settings
-
multi
protected boolean multi
-
checkable
protected boolean checkable
-
selectionListeners
protected java.util.List<org.eclipse.swt.widgets.Listener> selectionListeners
-
action
protected Action action
-
-
Constructor Detail
-
AbstractTablePart
public AbstractTablePart(Action action)
ct.- Parameters:
action- die Default-Action.
-
-
Method Detail
-
addFeature
public void addFeature(Feature feature)
Fuegt ein Feature hinzu.- Parameters:
feature- das Feature.
-
addFeature
public void addFeature(java.lang.String featureName)
Fuegt ein Feature anhand des Klassennamens hinzu.- Parameters:
featureName- der Klassen-Name des Features.
-
removeFeature
public void removeFeature(java.lang.Class<? extends Feature> type)
Entfernt das Feature.- Parameters:
type- das zu entfernende Feature.
-
getFeature
public <T> T getFeature(java.lang.Class<? extends Feature> type)
Liefert die Instanz des Features, insofern es hinzugefuegt wurde.- Parameters:
type- der Typ des Features.- Returns:
- das Feature oder
null, wenn es nicht existiert.
-
hasEvent
public boolean hasEvent(java.lang.Class<? extends Feature> type, Feature.Event e)
Prueft, ob das angegebene Feature das Event behandelt.- Parameters:
type- das Feature.e- das Event.- Returns:
true, wenn das Feature dieses Event behandelt.
-
featureEvent
public void featureEvent(Feature.Event e, java.lang.Object data)
Loest ein Feature-Event aus.- Parameters:
e- das Event.data- optionale Angabe des Datensatzes, auf den sich das Event bezieht.
-
size
public abstract int size()
Liefert die Anzahl der Elemente in dieser Tabelle.- Returns:
- Anzahl der Elemente.
-
createFeatureEventContext
protected Feature.Context createFeatureEventContext(Feature.Event e, java.lang.Object data)
Erzeugt den Context fuer das Feature-Event. Kann von abgeleiteten Klassen ueberschrieben werden, um weitere Informationen zum Context hinzuzufuegen.- Parameters:
e- das Event.data- optionale Angabe des Objektes, auf das sich das Event bezieht.- Returns:
- der Feature-Context.
-
addColumn
public void addColumn(java.lang.String title, java.lang.String field)Fuegt der Tabelle eine neue Spalte hinzu.- Parameters:
title- Name der Spaltenueberschrift.field- Name des Feldes aus dem dbObject, der angezeigt werden soll.
-
addColumn
public void addColumn(java.lang.String title, java.lang.String field, Formatter f)Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.- Parameters:
title- Name der Spaltenueberschrift.field- Name des Feldes aus dem dbObject, der angezeigt werden soll.f- Formatter, der fuer die Anzeige des Wertes verwendet werden soll.
-
addColumn
public void addColumn(java.lang.String title, java.lang.String field, Formatter f, boolean changeable)Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.- Parameters:
title- Name der Spaltenueberschrift.field- Name des Feldes aus dem dbObject, der angezeigt werden soll.f- Formatter, der fuer die Anzeige des Wertes verwendet werden soll.changeable- legt fest, ob die Werte in dieser Spalte direkt editierbar sein sollen. Wenn der Parametertrueist, dann sollte der Tabelle viaTablePart.addChangeListener(TableChangeListener)ein Listener hinzugefuegt werden, der benachrichtigt wird, wenn der Benutzer einen Wert geaendert hat. Es ist anschliessend Aufgabe des Listeners, den geaenderten Wert im Fachobjekt zu uebernehmen.
-
addColumn
public void addColumn(java.lang.String title, java.lang.String field, Formatter f, boolean changeable, int align)Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.- Parameters:
title- Name der Spaltenueberschrift.field- Name des Feldes aus dem dbObject, der angezeigt werden soll.f- Formatter, der fuer die Anzeige des Wertes verwendet werden soll.changeable- legt fest, ob die Werte in dieser Spalte direkt editierbar sein sollen. Wenn der Parametertrueist, dann sollte der Tabelle viaTablePart.addChangeListener(TableChangeListener)ein Listener hinzugefuegt werden, der benachrichtigt wird, wenn der Benutzer einen Wert geaendert hat. Es ist anschliessend Aufgabe des Listeners, den geaenderten Wert im Fachobjekt zu uebernehmen.align- die Ausrichtung- See Also:
Column.ALIGN_AUTO,Column.ALIGN_CENTER,Column.ALIGN_LEFT,Column.ALIGN_RIGHT
-
addColumn
public void addColumn(Column col)
Fuegt der Tabelle eine neue Spalte hinzu.- Parameters:
col- das Spalten-Objekt.
-
setContextMenu
public void setContextMenu(ContextMenu menu)
Fuegt ein KontextMenu hinzu.- Parameters:
menu- das anzuzeigende Menu.
-
getItems
public abstract java.util.List getItems() throws java.rmi.RemoteExceptionLiefert die Fach-Objekte der Tabelle.- Returns:
- Liste der Fachobjekte.
- Throws:
java.rmi.RemoteException
-
getSelection
public abstract java.lang.Object getSelection()
Liefert die markierten Objekte. Die Funktion liefert je nach MarkierungObjectoderObject[].- Returns:
- das/die markierten Objekte.
-
select
public abstract void select(java.lang.Object[] objects)
Markiert die Liste der uebergebenen Objekte.- Parameters:
objects- Liste der zu markierenden Objekte.
-
select
public void select(java.lang.Object o)
Markiert das uebergebene Element.- Parameters:
o- das zu markierende Element.
-
setRememberColWidths
public void setRememberColWidths(boolean remember)
Legt fest, ob sich die Tabelle die Spaltenbreiten merken soll.- Parameters:
remember-true, wenn sie sich die Spaltenbreiten merken soll.
-
setRememberOrder
public void setRememberOrder(boolean remember)
Legt fest, ob sich die Tabelle die Sortierreihenfolge merken soll.- Parameters:
remember-true, wenn sie sich die Reihenfolge merken soll.
-
setRememberState
public void setRememberState(boolean remember)
Legt fest, ob sich die Tabelle die zuletzt markierten Objekte samt der Scrollposition merken soll.- Parameters:
remember-true, wenn sich die Tabelle Selektion und Position merken soll.
-
restoreState
public void restoreState()
Stellt den Zustand wieder her (markierte Objekte und Scroll-Position). Geschieht jedoch nur, wenn das Feature mitsetRememberState(true)aktiviert wurde. Das ist eine Dummy-Implementierung, die in den abgeleiteten Klassen ueberschrieben werden kann.
-
setMulti
public void setMulti(boolean multi)
Legt fest, ob mehrere Elemente gleichzeitig markiert werden koennen. Default: False.- Parameters:
multi- true, wenn mehrere Elemente gleichzeitig markiert werden koennen.
-
isMulti
public boolean isMulti()
Liefert true, wenn mehrere Elemente gleichzeitig markiert werden koennen.- Returns:
- true, wenn mehrere Elemente gleichzeitig markiert werden koennen.
-
setCheckable
public void setCheckable(boolean checkable)
Legt fest, ob jede Zeile der Tabelle mit einer Checkbox versehen werden soll. Ist dies der Fall, liefertgetItems()nur noch die aktiven Elemente zurueck. Default: false- Parameters:
checkable-
-
setChecked
public void setChecked(java.lang.Object[] objects, boolean checked)Wenn die Tabelle mit Checkboxen versehen ist, kann man damit bei einem Element das Haeckchen setzen oder entfernen.Hinweis: Dies hier ist eine leere Dummy-Implementierung. Sie muss von abgeleiteten Klassen ueberschrieben werden.
- Parameters:
objects- Liste der zu checkenden Objekte.checked- true, wenn das Haekchen gesetzt werden soll.
-
setChecked
public void setChecked(java.lang.Object o, boolean checked)Wenn die Tabelle mit Checkboxen versehen ist, kann man damit bei einem Element das Haeckchen setzen oder entfernen.- Parameters:
o- das zu checkende Element.checked- true, wenn das Haekchen gesetzt werden soll.
-
addSelectionListener
public void addSelectionListener(org.eclipse.swt.widgets.Listener l)
Fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein oder mehrere Elemente markiert wurden.- Parameters:
l- der Listener.
-
removeAll
public abstract void removeAll()
Entfernt alle Elemente aus der Tabelle.
-
asList
protected static java.util.List asList(de.willuhn.datasource.GenericIterator iterator)
Hilfsmethode, um dieRemoteExceptionim Konstruktor zu vermeiden.- Parameters:
iterator- zu konvertierender Iterator.- Returns:
- Liste mit den Objekten.
-
-