Package de.willuhn.jameica.gui.parts
Class TablePart
- java.lang.Object
-
- de.willuhn.jameica.gui.parts.AbstractTablePart
-
- de.willuhn.jameica.gui.parts.TablePart
-
- All Implemented Interfaces:
Part
- Direct Known Subclasses:
AttachmentListPart
,BackupVersionsList
,CertificateList
,LogList
,RepositoryList
public class TablePart extends AbstractTablePart
Erzeugt eine Standard-Tabelle.- Author:
- willuhn
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.willuhn.jameica.gui.parts.AbstractTablePart
AbstractTablePart.AbstractTableItem
-
-
Field Summary
Fields Modifier and Type Field Description protected TableFormatter
tableFormatter
-
Fields inherited from class de.willuhn.jameica.gui.parts.AbstractTablePart
action, changeable, checkable, columns, menu, multi, rememberColWidth, rememberOrder, rememberState, selectionListeners, settings
-
-
Constructor Summary
Constructors Constructor Description TablePart(de.willuhn.datasource.GenericIterator list, Action action)
Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.TablePart(Action action)
Erzeugt eine neue leere Standard-Tabelle auf dem uebergebenen Composite.TablePart(java.util.List list, Action action)
Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addChangeListener(TableChangeListener l)
fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein Feld aenderbar ist und vom Benutzer geaendert wurde.void
addItem(java.lang.Object object)
Fuegt der Tabelle am Ende ein Element hinzu.void
addItem(java.lang.Object object, boolean checked)
Fuegt der Tabelle am Ende ein Element hinzu.void
addItem(java.lang.Object object, int index)
Fuegt der Tabelle ein Element hinzu.void
addItem(java.lang.Object object, int index, boolean checked)
Fuegt der Tabelle ein Element hinzu.protected Feature.Context
createFeatureEventContext(Feature.Event e, java.lang.Object data)
Erzeugt den Context fuer das Feature-Event.protected java.text.Collator
getCollator()
Liefert den Collator fuer die Sortierung.protected java.lang.String
getControlValue(org.eclipse.swt.widgets.Control control)
Liefert den eingegebenen Wert im Editor.protected org.eclipse.swt.widgets.Control
getEditorControl(int row, org.eclipse.swt.widgets.TableItem item, java.lang.String oldValue)
Liefert das Editor-Control.java.util.List
getItems()
Liefert die Fach-Objekte der Tabelle.java.util.List
getItems(boolean onlyChecked)
Liefert die Fach-Objekte der Tabelle.java.lang.Object
getSelection()
Liefert die markierten Objekte.protected java.lang.String
getSummary()
Deprecated.Bitte kuenftig stattdessenAbstractTablePart.createFeatureEventContext(de.willuhn.jameica.gui.parts.table.Feature.Event, Object)
ueberschreiben und dort die addon-Daten passend fuer FeatureSummary belegen:boolean
isEnabled()
Prueft, ob die Tabelle aktiv ist.protected void
orderBy(int index)
Sortiert die Tabelle nach der angegebenen Spaltennummer.protected void
orderBy(java.lang.String colName)
Gibt an, nach welcher Spalte sortiert werden soll.void
paint(org.eclipse.swt.widgets.Composite parent)
Malt die Komponente in das angegebene Composite.protected void
refreshSummary()
Deprecated.Bitte künftigAbstractTablePart.featureEvent(Feature.Event, Object)
mit dem EventFeature.Event.REFRESH
verwenden.void
removeAll()
Entfernt alle Elemente aus der Tabelle.int
removeItem(java.lang.Object item)
Entfernt das genannte Element aus der Tabelle.void
restoreState()
Stellt den Zustand wieder her (markierte Objekte und Scroll-Position).void
select(java.lang.Object[] objects)
Markiert die Liste der uebergebenen Objekte.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
setEnabled(boolean enabled)
Aktiviert oder deaktiviert die Tabelle.void
setFormatter(TableFormatter formatter)
Definiert einen optionalen Formatierer, mit dem man SWT-maessig ganze Zeilen formatieren kann.void
setSummary(boolean show)
Deprecated.Bitte stattdessenAbstractTablePart.addFeature(Feature)
verwenden.void
setTopIndex(int i)
Legt fest, bis zu welchem Element gescrollt werden soll.int
size()
Liefert die Anzahl der Elemente in dieser Tabelle.void
sort()
Sortiert die Datensaetze in der Tabelle anhand der aktuellen Spalte neu.void
updateItem(java.lang.Object oldVersion, java.lang.Object newVersion)
Aktualisiert ein einzelnes Objekt in der Tabelle.-
Methods inherited from class de.willuhn.jameica.gui.parts.AbstractTablePart
addColumn, addColumn, addColumn, addColumn, addColumn, addFeature, addFeature, addSelectionListener, asList, featureEvent, getFeature, hasEvent, isMulti, removeFeature, select, setCheckable, setChecked, setContextMenu, setMulti, setRememberColWidths, setRememberOrder, setRememberState
-
-
-
-
Field Detail
-
tableFormatter
protected TableFormatter tableFormatter
-
-
Constructor Detail
-
TablePart
public TablePart(Action action)
Erzeugt eine neue leere Standard-Tabelle auf dem uebergebenen Composite.- Parameters:
action
- die beim Doppelklick auf ein Element ausgefuehrt wird.
-
TablePart
public TablePart(de.willuhn.datasource.GenericIterator list, Action action)
Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.- Parameters:
list
- Liste mit Objekten, die angezeigt werden soll.action
- die beim Doppelklick auf ein Element ausgefuehrt wird.
-
TablePart
public TablePart(java.util.List list, Action action)
Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.- Parameters:
list
- Liste mit Objekten, die angezeigt werden soll.action
- die beim Doppelklick auf ein Element ausgefuehrt wird.
-
-
Method Detail
-
setFormatter
public void setFormatter(TableFormatter formatter)
Definiert einen optionalen Formatierer, mit dem man SWT-maessig ganze Zeilen formatieren kann.- Parameters:
formatter
- Formatter.
-
addChangeListener
public void addChangeListener(TableChangeListener l)
fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein Feld aenderbar ist und vom Benutzer geaendert wurde.- Parameters:
l
- der Listener.
-
setSummary
@Deprecated public void setSummary(boolean show)
Deprecated.Bitte stattdessenAbstractTablePart.addFeature(Feature)
verwenden.Legt fest, ob eine Summenzeile am Ende angezeigt werden soll.- Parameters:
show
-true
, wenn die Summenzeile angezeigt werden soll (Default) oderfalse
wenn sie nicht angezeigt werden soll.
-
getItems
public java.util.List getItems() throws java.rmi.RemoteException
Description copied from class:AbstractTablePart
Liefert die Fach-Objekte der Tabelle.- Specified by:
getItems
in classAbstractTablePart
- Returns:
- Liste der Fachobjekte.
- Throws:
java.rmi.RemoteException
-
getItems
public java.util.List getItems(boolean onlyChecked) throws java.rmi.RemoteException
Liefert die Fach-Objekte der Tabelle.- Parameters:
onlyChecked
-true
, falls bei Aktivierung des FeaturessetCheckable(true)
nur genau die Objekte geliefert werden sollen, bei denen das Haekchen gesetzt ist. Die Objekte werden genau in der angezeigten Reihenfolge zurueckgeliefert.- Returns:
- die Liste der Objekte.
- Throws:
java.rmi.RemoteException
-
setTopIndex
public void setTopIndex(int i)
Legt fest, bis zu welchem Element gescrollt werden soll.- Parameters:
i
- Index des Elementes, welches nach dem Scrollen als erstes angezeigt werden soll.
-
removeAll
public void removeAll()
Description copied from class:AbstractTablePart
Entfernt alle Elemente aus der Tabelle.- Specified by:
removeAll
in classAbstractTablePart
-
removeItem
public int removeItem(java.lang.Object item)
Entfernt das genannte Element aus der Tabelle.Wurde die Tabelle mit einer Liste von Objekten erzeugt, die von
DBObject
abgeleitet sind, muss das Loeschen nicht manuell vorgenommen werden. Die Tabelle fuegt in diesem Fall automatisch jedem Objekt einen Listener hinzu, der beim Loeschen des Objektes benachrichtigt wird. Die Tabelle entfernt das Element dann selbstaendig.- Parameters:
item
- zu entfernendes Element.- Returns:
- die Position des entfernten Objektes oder -1 wenn es nicht gefunden wurde.
-
addItem
public void addItem(java.lang.Object object) throws java.rmi.RemoteException
Fuegt der Tabelle am Ende ein Element hinzu.- Parameters:
object
- hinzuzufuegendes Element.- Throws:
java.rmi.RemoteException
-
addItem
public void addItem(java.lang.Object object, boolean checked) throws java.rmi.RemoteException
Fuegt der Tabelle am Ende ein Element hinzu.- Parameters:
object
- hinzuzufuegendes Element.checked
-true
, wenn die Tabelle checkable ist und das Objekt gecheckt sein soll.- Throws:
java.rmi.RemoteException
-
addItem
public void addItem(java.lang.Object object, int index) throws java.rmi.RemoteException
Fuegt der Tabelle ein Element hinzu.- Parameters:
object
- hinzuzufuegendes Element.index
- Position, an der es eingefuegt werden soll.- Throws:
java.rmi.RemoteException
-
updateItem
public void updateItem(java.lang.Object oldVersion, java.lang.Object newVersion) throws java.rmi.RemoteException
Aktualisiert ein einzelnes Objekt in der Tabelle.- Parameters:
oldVersion
- das alte Objekt.newVersion
- das neue Objekt, welches den Platz des vorherigen einnehmen soll.- Throws:
java.rmi.RemoteException
-
addItem
public void addItem(java.lang.Object object, int index, boolean checked) throws java.rmi.RemoteException
Fuegt der Tabelle ein Element hinzu.- Parameters:
object
- hinzuzufuegendes Element.index
- Position, an der es eingefuegt werden soll.checked
- true, wenn die Tabelle checkable ist und das Objekt gecheckt sein soll.- Throws:
java.rmi.RemoteException
-
size
public int size()
Description copied from class:AbstractTablePart
Liefert die Anzahl der Elemente in dieser Tabelle.- Specified by:
size
in classAbstractTablePart
- Returns:
- Anzahl der Elemente.
-
paint
public void paint(org.eclipse.swt.widgets.Composite parent) throws java.rmi.RemoteException
Description copied from interface:Part
Malt die Komponente in das angegebene Composite.- Parameters:
parent
- das Composite.- Throws:
java.rmi.RemoteException
-
select
public void select(java.lang.Object[] objects)
Description copied from class:AbstractTablePart
Markiert die Liste der uebergebenen Objekte.- Specified by:
select
in classAbstractTablePart
- Parameters:
objects
- Liste der zu markierenden Objekte.
-
setChecked
public void setChecked(java.lang.Object[] objects, boolean checked)
Description copied from class:AbstractTablePart
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.
- Overrides:
setChecked
in classAbstractTablePart
- Parameters:
objects
- Liste der zu checkenden Objekte.checked
- true, wenn das Haekchen gesetzt werden soll.
-
getSelection
public java.lang.Object getSelection()
Description copied from class:AbstractTablePart
Liefert die markierten Objekte. Die Funktion liefert je nach MarkierungObject
oderObject
[].- Specified by:
getSelection
in classAbstractTablePart
- Returns:
- das/die markierten Objekte.
-
refreshSummary
@Deprecated protected void refreshSummary()
Deprecated.Bitte künftigAbstractTablePart.featureEvent(Feature.Event, Object)
mit dem EventFeature.Event.REFRESH
verwenden.Aktualisiert die Summenzeile.
-
getSummary
@Deprecated protected java.lang.String getSummary()
Deprecated.Bitte kuenftig stattdessenAbstractTablePart.createFeatureEventContext(de.willuhn.jameica.gui.parts.table.Feature.Event, Object)
ueberschreiben und dort die addon-Daten passend fuer FeatureSummary belegen:protected Context createFeatureEventContext(Feature.Event e, Object data) { Context ctx = super.createFeatureEventContext(e, data); if (this.hasEvent(FeatureSummary.class,e)) ctx.addon.put(FeatureSummary.CTX_KEY_TEXT,"Anzuzeigender Summentext"); return ctx; }
Liefert den anzuzeigenden Summen-Text. Kann von abgeleiteten Klassen ueberschrieben werde, um etwas anderes anzuzeigen.- Returns:
- anzuzeigender Text oder null, wenn nichts angezeigt werden soll.
-
orderBy
protected void orderBy(java.lang.String colName)
Gibt an, nach welcher Spalte sortiert werden soll.- Parameters:
colName
- Name der Spalte
-
sort
public void sort()
Sortiert die Datensaetze in der Tabelle anhand der aktuellen Spalte neu.
-
restoreState
public void restoreState()
Description copied from class:AbstractTablePart
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.- Overrides:
restoreState
in classAbstractTablePart
-
setEnabled
public void setEnabled(boolean enabled)
Aktiviert oder deaktiviert die Tabelle.- Parameters:
enabled
-true
, wenn sie aktiv sein soll.
-
isEnabled
public boolean isEnabled()
Prueft, ob die Tabelle aktiv ist.- Returns:
true
, wenn sie aktiv ist.
-
getCollator
protected java.text.Collator getCollator()
Liefert den Collator fuer die Sortierung.- Returns:
- der Collator fuer die Sortierung.
-
orderBy
protected void orderBy(int index)
Sortiert die Tabelle nach der angegebenen Spaltennummer.- Parameters:
index
- Spaltennummer.
-
getEditorControl
protected org.eclipse.swt.widgets.Control getEditorControl(int row, org.eclipse.swt.widgets.TableItem item, java.lang.String oldValue)
Liefert das Editor-Control.- Parameters:
row
- die Spalte.item
- das Tabellen-Element.oldValue
- der bisherige Wert.- Returns:
- der Editor oder
null
, wenn das Bearbeiten nicht erlaubt werden soll.
-
getControlValue
protected java.lang.String getControlValue(org.eclipse.swt.widgets.Control control)
Liefert den eingegebenen Wert im Editor.- Parameters:
control
- das Control des Editors.- Returns:
- der eingegebene Wert.
-
createFeatureEventContext
protected Feature.Context createFeatureEventContext(Feature.Event e, java.lang.Object data)
Description copied from class:AbstractTablePart
Erzeugt den Context fuer das Feature-Event. Kann von abgeleiteten Klassen ueberschrieben werden, um weitere Informationen zum Context hinzuzufuegen.- Overrides:
createFeatureEventContext
in classAbstractTablePart
- Parameters:
e
- das Event.data
- optionale Angabe des Objektes, auf das sich das Event bezieht.- Returns:
- der Feature-Context.
-
-