Package de.willuhn.jameica.gui.parts
Class AbstractTablePart
java.lang.Object
de.willuhn.jameica.gui.parts.AbstractTablePart
- All Implemented Interfaces:
Part
Abstrakte Basis-Klasse von Tabellen-aehnlichen Parts.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
Hilfsklasse zum Kapseln eines einzelnen Elements in der Tabelle. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Action
protected boolean
protected boolean
protected ContextMenu
protected boolean
protected boolean
protected boolean
protected boolean
protected List
<org.eclipse.swt.widgets.Listener> protected static final Settings
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Fuegt der Tabelle eine neue Spalte hinzu.void
Fuegt der Tabelle eine neue Spalte hinzu.void
Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.void
Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.void
Fuegt der Tabelle eine neue Spalte hinzu und dazu noch einen Formatierer.void
addFeature
(Feature feature) Fuegt ein Feature hinzu.void
addFeature
(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 List
asList
(de.willuhn.datasource.GenericIterator iterator) Hilfsmethode, um dieRemoteException
im Konstruktor zu vermeiden.protected Feature.Context
createFeatureEventContext
(Feature.Event e, Object data) Erzeugt den Context fuer das Feature-Event.void
featureEvent
(Feature.Event e, Object data) Loest ein Feature-Event aus.<T> T
getFeature
(Class<? extends Feature> type) Liefert die Instanz des Features, insofern es hinzugefuegt wurde.abstract List
getItems()
Liefert die Fach-Objekte der Tabelle.abstract Object
Liefert die markierten Objekte.boolean
hasEvent
(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
Entfernt alle Elemente aus der Tabelle.void
removeFeature
(Class<? extends Feature> type) Entfernt das Feature.void
Stellt den Zustand wieder her (markierte Objekte und Scroll-Position).void
Markiert das uebergebene Element.abstract void
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
(Object[] objects, boolean checked) Wenn die Tabelle mit Checkboxen versehen ist, kann man damit bei einem Element das Haeckchen setzen oder entfernen.void
setChecked
(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 Details
-
changeable
protected boolean changeable -
rememberColWidth
protected boolean rememberColWidth -
rememberOrder
protected boolean rememberOrder -
rememberState
protected boolean rememberState -
columns
-
settings
-
multi
protected boolean multi -
checkable
protected boolean checkable -
selectionListeners
-
action
-
Constructor Details
-
AbstractTablePart
ct.- Parameters:
action
- die Default-Action.
-
-
Method Details
-
addFeature
Fuegt ein Feature hinzu.- Parameters:
feature
- das Feature.
-
addFeature
Fuegt ein Feature anhand des Klassennamens hinzu.- Parameters:
featureName
- der Klassen-Name des Features.
-
removeFeature
Entfernt das Feature.- Parameters:
type
- das zu entfernende Feature.
-
getFeature
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
Prueft, ob das angegebene Feature das Event behandelt.- Parameters:
type
- das Feature.e
- das Event.- Returns:
true
, wenn das Feature dieses Event behandelt.
-
featureEvent
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
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
Fuegt der Tabelle eine neue Spalte hinzu.- Parameters:
title
- Name der Spaltenueberschrift.field
- Name des Feldes aus dem dbObject, der angezeigt werden soll.
-
addColumn
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
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
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:
-
addColumn
Fuegt der Tabelle eine neue Spalte hinzu.- Parameters:
col
- das Spalten-Objekt.
-
setContextMenu
Fuegt ein KontextMenu hinzu.- Parameters:
menu
- das anzuzeigende Menu.
-
getItems
Liefert die Fach-Objekte der Tabelle.- Returns:
- Liste der Fachobjekte.
- Throws:
RemoteException
-
getSelection
- Returns:
- das/die markierten Objekte.
-
select
Markiert die Liste der uebergebenen Objekte.- Parameters:
objects
- Liste der zu markierenden Objekte.
-
select
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
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
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
Hilfsmethode, um dieRemoteException
im Konstruktor zu vermeiden.- Parameters:
iterator
- zu konvertierender Iterator.- Returns:
- Liste mit den Objekten.
-