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 class
AbstractTablePart.AbstractTableItem
Hilfsklasse zum Kapseln eines einzelnen Elements in der Tabelle.
-
Field Summary
Fields Modifier and Type Field Description protected Action
action
protected boolean
changeable
protected boolean
checkable
protected java.util.List<Column>
columns
protected ContextMenu
menu
protected boolean
multi
protected boolean
rememberColWidth
protected boolean
rememberOrder
protected boolean
rememberState
protected java.util.List<org.eclipse.swt.widgets.Listener>
selectionListeners
protected static Settings
settings
-
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 void
addColumn(Column col)
Fuegt der Tabelle eine neue Spalte hinzu.void
addColumn(java.lang.String title, java.lang.String field)
Fuegt der Tabelle eine neue Spalte hinzu.void
addColumn(java.lang.String title, java.lang.String field, Formatter f)
Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.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.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.void
addFeature(Feature feature)
Fuegt ein Feature hinzu.void
addFeature(java.lang.String featureName)
Fuegt ein Feature anhand des Klassennamens hinzu.void
addSelectionListener(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.List
asList(de.willuhn.datasource.GenericIterator iterator)
Hilfsmethode, um dieRemoteException
im Konstruktor zu vermeiden.protected Feature.Context
createFeatureEventContext(Feature.Event e, java.lang.Object data)
Erzeugt den Context fuer das Feature-Event.void
featureEvent(Feature.Event e, java.lang.Object data)
Loest ein Feature-Event aus.<T> T
getFeature(java.lang.Class<? extends Feature> type)
Liefert die Instanz des Features, insofern es hinzugefuegt wurde.abstract java.util.List
getItems()
Liefert die Fach-Objekte der Tabelle.abstract java.lang.Object
getSelection()
Liefert die markierten Objekte.boolean
hasEvent(java.lang.Class<? extends Feature> type, Feature.Event e)
Prueft, ob das angegebene Feature das Event behandelt.boolean
isMulti()
Liefert true, wenn mehrere Elemente gleichzeitig markiert werden koennen.abstract void
removeAll()
Entfernt alle Elemente aus der Tabelle.void
removeFeature(java.lang.Class<? extends Feature> type)
Entfernt das Feature.void
restoreState()
Stellt den Zustand wieder her (markierte Objekte und Scroll-Position).void
select(java.lang.Object o)
Markiert das uebergebene Element.abstract void
select(java.lang.Object[] objects)
Markiert die Liste der uebergebenen Objekte.void
setCheckable(boolean checkable)
Legt fest, ob jede Zeile der Tabelle mit einer Checkbox versehen werden soll.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.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.void
setContextMenu(ContextMenu menu)
Fuegt ein KontextMenu hinzu.void
setMulti(boolean multi)
Legt fest, ob mehrere Elemente gleichzeitig markiert werden koennen.void
setRememberColWidths(boolean remember)
Legt fest, ob sich die Tabelle die Spaltenbreiten merken soll.void
setRememberOrder(boolean remember)
Legt fest, ob sich die Tabelle die Sortierreihenfolge merken soll.void
setRememberState(boolean remember)
Legt fest, ob sich die Tabelle die zuletzt markierten Objekte samt der Scrollposition merken soll.abstract int
size()
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 Parametertrue
ist, 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 Parametertrue
ist, 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.RemoteException
Liefert 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 MarkierungObject
oderObject
[].- 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 dieRemoteException
im Konstruktor zu vermeiden.- Parameters:
iterator
- zu konvertierender Iterator.- Returns:
- Liste mit den Objekten.
-
-