de.willuhn.jameica.gui.parts
Class AbstractTablePart

java.lang.Object
  extended by de.willuhn.jameica.gui.parts.AbstractTablePart
All Implemented Interfaces:
Part
Direct Known Subclasses:
TablePart, TreePart

public abstract class AbstractTablePart
extends java.lang.Object
implements Part

Abstrakte Basis-Klasse von Tabellen-aehnlichen Parts.


Field Summary
protected  boolean changeable
           
protected  boolean checkable
           
protected  java.util.Vector 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
AbstractTablePart()
           
 
Method Summary
 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 addSelectionListener(org.eclipse.swt.widgets.Listener l)
          Fuegt der Tabelle einen Listener hinzu, der ausgeloest wird, wenn ein oder mehrere Elemente markiert wurden.
abstract  java.util.List getItems()
          Liefert die Fach-Objekte der Tabelle.
abstract  java.lang.Object getSelection()
          Liefert die markierten Objekte.
abstract  void removeAll()
          Entfernt alle Elemente aus der Tabelle.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.willuhn.jameica.gui.Part
paint
 

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.Vector 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
Constructor Detail

AbstractTablePart

public AbstractTablePart()
Method Detail

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 Parameter true ist, dann sollte der Tabelle via addChangeListener 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 Parameter true ist, dann sollte der Tabelle via addChangeListener 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 Markierung Object oder Object[].

Returns:
das/die markierten Objekte.

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.

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.

setCheckable

public void setCheckable(boolean checkable)
Legt fest, ob jede Zeile der Tabelle mit einer Checkbox versehen werden soll. Ist dies der Fall, liefert getItems 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.