de.willuhn.jameica.gui.parts
Class TablePart

java.lang.Object
  extended by de.willuhn.jameica.gui.parts.AbstractTablePart
      extended by de.willuhn.jameica.gui.parts.TablePart
All Implemented Interfaces:
Part
Direct Known Subclasses:
BackupVersionsList, CertificateList, LogList, PluginList, ServiceList

public class TablePart
extends AbstractTablePart

Erzeugt eine Standard-Tabelle.

Author:
willuhn

Field Summary
protected  TableFormatter tableFormatter
           
 
Fields inherited from class de.willuhn.jameica.gui.parts.AbstractTablePart
changeable, checkable, columns, menu, multi, rememberColWidth, rememberOrder, rememberState, selectionListeners, settings
 
Constructor Summary
TablePart(Action action)
          Erzeugt eine neue leere Standard-Tabelle auf dem uebergebenen Composite.
TablePart(de.willuhn.datasource.GenericIterator list, Action action)
          Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.
TablePart(java.util.List list, Action action)
          Erzeugt eine neue Standard-Tabelle auf dem uebergebenen Composite.
 
Method Summary
 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.
 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()
          Liefert den anzuzeigenden Summen-Text.
 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()
          Aktualisiert die Summenzeile.
 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 Status der Tabelle wieder her (Scroll-Position und markierte Objekte).
 void select(java.lang.Object o)
          Markiert das uebergebene Element.
 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)
          Legt fest, ob eine Summenzeile am Ende angezeigt werden soll.
 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.
 
Methods inherited from class de.willuhn.jameica.gui.parts.AbstractTablePart
addColumn, addColumn, addColumn, addColumn, addColumn, addSelectionListener, setCheckable, setChecked, setContextMenu, setMulti, setRememberColWidths, setRememberOrder, setRememberState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

public void setSummary(boolean show)
Legt fest, ob eine Summenzeile am Ende angezeigt werden soll.

Parameters:
show - true, wenn die Summenzeile angezeigt werden soll (Default) oder false 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 class AbstractTablePart
Returns:
Liste der Fachobjekte.
Throws:
java.rmi.RemoteException
See Also:
Entspricht getItems(true)

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 Features setCheckable(true) nur genau die Objekte geliefert werden sollen, bei denen das Haekchen gesetzt ist. Die Objekte werden genau in der angezeigten Reihenfolge zurueckgeliefert.
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 class AbstractTablePart
See Also:
AbstractTablePart.removeAll()

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

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()
Liefert die Anzahl der Elemente in dieser Tabelle.

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
See Also:
Part.paint(org.eclipse.swt.widgets.Composite)

select

public void select(java.lang.Object[] objects)
Markiert die Liste der uebergebenen Objekte.

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 class AbstractTablePart
Parameters:
objects - Liste der zu checkenden Objekte.
checked - true, wenn das Haekchen gesetzt werden soll.
See Also:
AbstractTablePart.setChecked(java.lang.Object[], boolean)

select

public void select(java.lang.Object o)
Markiert das uebergebene Element.

Parameters:
o - das zu markierende Element.

getSelection

public java.lang.Object getSelection()
Description copied from class: AbstractTablePart
Liefert die markierten Objekte. Die Funktion liefert je nach Markierung Object oder Object[].

Specified by:
getSelection in class AbstractTablePart
Returns:
das/die markierten Objekte.
See Also:
AbstractTablePart.getSelection()

refreshSummary

protected void refreshSummary()
Aktualisiert die Summenzeile.


getSummary

protected java.lang.String getSummary()
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()
Stellt den Status der Tabelle wieder her (Scroll-Position und markierte Objekte). Geschieht jedoch nur, wenn das Feature mit setRememberState(true) aktiviert wurde.


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.

orderBy

protected void orderBy(int index)
Sortiert die Tabelle nach der angegebenen Spaltennummer.

Parameters:
index - Spaltennummer.