Class TreePart

All Implemented Interfaces:
Part
Direct Known Subclasses:
BookmarkTreePart, SearchResultPart

public class TreePart extends AbstractTablePart
Erzeugt einen Baum. Dabei werden alle Kind-Objekte rekursiv dargestellt.
  • Constructor Details

    • TreePart

      public TreePart(Object object, Action action)
      Erzeugt einen neuen Tree basierend auf dem uebergebenen Objekt.
      Parameters:
      object - Das Objekt, fuer das der Baum erzeugt werden soll.
      action - Action, die bei der Auswahl eines Elements ausgeloest werden soll.
    • TreePart

      public TreePart(de.willuhn.datasource.GenericIterator list, Action action)
      Erzeugt einen neuen Tree basierend auf der uebergebenen Liste von Objekten des Typs GenericObject/GenericObjectNode.
      Parameters:
      list - Liste mit Objekten, fuer die der Baum erzeugt werden soll.
      action - Action, die bei der Auswahl eines Elements ausgeloest werden soll.
    • TreePart

      public TreePart(List list, Action action)
      Erzeugt einen neuen Tree basierend auf der uebergebenen Liste.
      Parameters:
      list - Liste mit Objekten.
      action - Action, die bei der Auswahl eines Elements ausgeloest werden soll.
  • Method Details

    • createFeatureEventContext

      protected Feature.Context createFeatureEventContext(Feature.Event e, 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 class AbstractTablePart
      Parameters:
      e - das Event.
      data - optionale Angabe des Objektes, auf das sich das Event bezieht.
      Returns:
      der Feature-Context.
      See Also:
    • setList

      public void setList(de.willuhn.datasource.GenericIterator list)
      Speichert die Liste der anzuzeigenden Daten.
      Parameters:
      list - Liste der anzuzeigenden Daten.
    • setList

      public void setList(List list)
      Speichert die Liste der anzuzeigenden Daten.
      Parameters:
      list - Liste der anzuzeigenden Daten.
    • setRootObject

      public void setRootObject(Object node)
      Alternativ zu setList: Speichert das Root-Element.
      Parameters:
      node - das Root-Element.
    • setFormatter

      public void setFormatter(TreeFormatter formatter)
      Definiert einen optionalen Formatierer, mit dem man SWT-maessig ganze Zeilen formatieren kann.
      Parameters:
      formatter - Formatter.
    • setExpanded

      public void setExpanded(boolean expanded)
      Legt fest, ob der Baum per Default komplett geoeffnet oder geschlossen sein soll. Standard: Alle geoeffnet.
      Parameters:
      expanded -
    • paint

      public void paint(org.eclipse.swt.widgets.Composite parent) throws RemoteException
      Description copied from interface: Part
      Malt die Komponente in das angegebene Composite.
      Parameters:
      parent - das Composite.
      Throws:
      RemoteException
      See Also:
    • 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 mit setRememberState(true) aktiviert wurde. Das ist eine Dummy-Implementierung, die in den abgeleiteten Klassen ueberschrieben werden kann.
      Overrides:
      restoreState in class AbstractTablePart
      See Also:
    • setExpanded

      public void setExpanded(Object object, boolean expanded)
      Klappt das Element auf oder zu.
      Parameters:
      object - das Objekt.
      expanded - true, wenn es aufgeklappt sein soll, sonst false.
    • setExpanded

      public void setExpanded(Object object, boolean expanded, boolean recursive)
      Klappt das Element auf oder zu.
      Parameters:
      object - das Objekt.
      expanded - true, wenn es aufgeklappt sein soll, sonst false.
      recursive - true, wenn auch alle Kinder aufgeklappt werden sollen.
    • getSelection

      public 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:
    • select

      public void select(Object[] objects)
      Description copied from class: AbstractTablePart
      Markiert die Liste der uebergebenen Objekte.
      Specified by:
      select in class AbstractTablePart
      Parameters:
      objects - Liste der zu markierenden Objekte.
      See Also:
    • handleMouseDown

      protected void handleMouseDown(org.eclipse.swt.events.MouseEvent event)
      Wird bei MouseDown ausgeloest.
      Parameters:
      event - das ausgeloeste Event.
    • handleMouseUp

      protected void handleMouseUp(org.eclipse.swt.events.MouseEvent event)
      Wird bei MouseUp ausgeloest.
      Parameters:
      event - das ausgeloeste Event.
    • handleSingleClick

      protected void handleSingleClick(org.eclipse.swt.events.MouseEvent event)
      Wird bei Singleklick ausgeloest.
      Parameters:
      event - das ausgeloeste Event.
    • handleDoubleClick

      protected void handleDoubleClick(org.eclipse.swt.events.MouseEvent event)
      Wird bei Doppelklick ausgeloest.
      Parameters:
      event - das ausgeloeste Event.
    • getChildren

      protected List getChildren(Object o)
      Liefert die Kinder des angegebenen Fach-Objektes. Die Default-Implementierung prueft, ob das Objekt vom Typ GenericObjectNode ist und ruft dessen "getChildren"-Funktion auf. Andernfalls liefert die Funktion NULL. Will man also ein TreePart mit Objekten fuellen, die nicht vom Typ GenericObjectNode sind, dann kann man diese Methode hier ueberschreiben und selbst die Kind-Elemente laden.
      Parameters:
      o - das Element, zu dem die Kinder geladen werden sollen.
      Returns:
      die Liste der Kinder oder NULL.
    • getItems

      public List getItems() throws RemoteException
      Liefert nur die Liste der Elemente der obersten Hirachie-Ebene. Falls der Tree mit Checkboxen versehen ist, wird eine Liste aller selektierten Items zurueckgeliefert - diese enthaelt auch Kind-Objekte, insofern deren Checkbox aktiviert ist.
      Specified by:
      getItems in class AbstractTablePart
      Returns:
      Liste der Fachobjekte.
      Throws:
      RemoteException
      See Also:
    • setChecked

      public void setChecked(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:
    • removeAll

      public void removeAll()
      Description copied from class: AbstractTablePart
      Entfernt alle Elemente aus der Tabelle.
      Specified by:
      removeAll in class AbstractTablePart
      See Also:
    • size

      public int size()
      Description copied from class: AbstractTablePart
      Liefert die Anzahl der Elemente in dieser Tabelle.
      Specified by:
      size in class AbstractTablePart
      Returns:
      Anzahl der Elemente.
      See Also: