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:
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 TableFormattertableFormatter-
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 voidaddChangeListener(TableChangeListener l)fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein Feld aenderbar ist und vom Benutzer geaendert wurde.voidaddItem(java.lang.Object object)Fuegt der Tabelle am Ende ein Element hinzu.voidaddItem(java.lang.Object object, boolean checked)Fuegt der Tabelle am Ende ein Element hinzu.voidaddItem(java.lang.Object object, int index)Fuegt der Tabelle ein Element hinzu.voidaddItem(java.lang.Object object, int index, boolean checked)Fuegt der Tabelle ein Element hinzu.protected Feature.ContextcreateFeatureEventContext(Feature.Event e, java.lang.Object data)Erzeugt den Context fuer das Feature-Event.protected java.text.CollatorgetCollator()Liefert den Collator fuer die Sortierung.protected java.lang.StringgetControlValue(org.eclipse.swt.widgets.Control control)Liefert den eingegebenen Wert im Editor.protected org.eclipse.swt.widgets.ControlgetEditorControl(int row, org.eclipse.swt.widgets.TableItem item, java.lang.String oldValue)Liefert das Editor-Control.java.util.ListgetItems()Liefert die Fach-Objekte der Tabelle.java.util.ListgetItems(boolean onlyChecked)Liefert die Fach-Objekte der Tabelle.java.lang.ObjectgetSelection()Liefert die markierten Objekte.protected java.lang.StringgetSummary()Deprecated.Bitte kuenftig stattdessenAbstractTablePart.createFeatureEventContext(de.willuhn.jameica.gui.parts.table.Feature.Event, Object)ueberschreiben und dort die addon-Daten passend fuer FeatureSummary belegen:booleanisEnabled()Prueft, ob die Tabelle aktiv ist.protected voidorderBy(int index)Sortiert die Tabelle nach der angegebenen Spaltennummer.protected voidorderBy(java.lang.String colName)Gibt an, nach welcher Spalte sortiert werden soll.voidpaint(org.eclipse.swt.widgets.Composite parent)Malt die Komponente in das angegebene Composite.protected voidrefreshSummary()Deprecated.Bitte künftigAbstractTablePart.featureEvent(Feature.Event, Object)mit dem EventFeature.Event.REFRESHverwenden.voidremoveAll()Entfernt alle Elemente aus der Tabelle.intremoveItem(java.lang.Object item)Entfernt das genannte Element aus der Tabelle.voidrestoreState()Stellt den Zustand wieder her (markierte Objekte und Scroll-Position).voidselect(java.lang.Object[] objects)Markiert die Liste der uebergebenen Objekte.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.voidsetEnabled(boolean enabled)Aktiviert oder deaktiviert die Tabelle.voidsetFormatter(TableFormatter formatter)Definiert einen optionalen Formatierer, mit dem man SWT-maessig ganze Zeilen formatieren kann.voidsetSummary(boolean show)Deprecated.Bitte stattdessenAbstractTablePart.addFeature(Feature)verwenden.voidsetTopIndex(int i)Legt fest, bis zu welchem Element gescrollt werden soll.intsize()Liefert die Anzahl der Elemente in dieser Tabelle.voidsort()Sortiert die Datensaetze in der Tabelle anhand der aktuellen Spalte neu.voidupdateItem(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) oderfalsewenn sie nicht angezeigt werden soll.
-
getItems
public java.util.List getItems() throws java.rmi.RemoteExceptionDescription copied from class:AbstractTablePartLiefert die Fach-Objekte der Tabelle.- Specified by:
getItemsin classAbstractTablePart- Returns:
- Liste der Fachobjekte.
- Throws:
java.rmi.RemoteException
-
getItems
public java.util.List getItems(boolean onlyChecked) throws java.rmi.RemoteExceptionLiefert 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:AbstractTablePartEntfernt alle Elemente aus der Tabelle.- Specified by:
removeAllin 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
DBObjectabgeleitet 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.RemoteExceptionFuegt 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.RemoteExceptionFuegt 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.RemoteExceptionFuegt 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.RemoteExceptionAktualisiert 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.RemoteExceptionFuegt 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:AbstractTablePartLiefert die Anzahl der Elemente in dieser Tabelle.- Specified by:
sizein classAbstractTablePart- Returns:
- Anzahl der Elemente.
-
paint
public void paint(org.eclipse.swt.widgets.Composite parent) throws java.rmi.RemoteExceptionDescription copied from interface:PartMalt 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:AbstractTablePartMarkiert die Liste der uebergebenen Objekte.- Specified by:
selectin classAbstractTablePart- Parameters:
objects- Liste der zu markierenden Objekte.
-
setChecked
public void setChecked(java.lang.Object[] objects, boolean checked)Description copied from class:AbstractTablePartWenn 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:
setCheckedin 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:AbstractTablePartLiefert die markierten Objekte. Die Funktion liefert je nach MarkierungObjectoderObject[].- Specified by:
getSelectionin classAbstractTablePart- Returns:
- das/die markierten Objekte.
-
refreshSummary
@Deprecated protected void refreshSummary()
Deprecated.Bitte künftigAbstractTablePart.featureEvent(Feature.Event, Object)mit dem EventFeature.Event.REFRESHverwenden.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:AbstractTablePartStellt 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:
restoreStatein 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:AbstractTablePartErzeugt den Context fuer das Feature-Event. Kann von abgeleiteten Klassen ueberschrieben werden, um weitere Informationen zum Context hinzuzufuegen.- Overrides:
createFeatureEventContextin classAbstractTablePart- Parameters:
e- das Event.data- optionale Angabe des Objektes, auf das sich das Event bezieht.- Returns:
- der Feature-Context.
-
-