Package de.willuhn.jameica.gui.parts
Class TreePart
- java.lang.Object
-
- de.willuhn.jameica.gui.parts.AbstractTablePart
-
- de.willuhn.jameica.gui.parts.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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class de.willuhn.jameica.gui.parts.AbstractTablePart
AbstractTablePart.AbstractTableItem
-
-
Field Summary
-
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 TreePart(de.willuhn.datasource.GenericIterator list, Action action)
Erzeugt einen neuen Tree basierend auf der uebergebenen Liste von Objekten des Typs GenericObject/GenericObjectNode.TreePart(java.lang.Object object, Action action)
Erzeugt einen neuen Tree basierend auf dem uebergebenen Objekt.TreePart(java.util.List list, Action action)
Erzeugt einen neuen Tree basierend auf der uebergebenen Liste.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Feature.Context
createFeatureEventContext(Feature.Event e, java.lang.Object data)
Erzeugt den Context fuer das Feature-Event.protected java.util.List
getChildren(java.lang.Object o)
Liefert die Kinder des angegebenen Fach-Objektes.java.util.List
getItems()
Liefert nur die Liste der Elemente der obersten Hirachie-Ebene.java.lang.Object
getSelection()
Liefert die markierten Objekte.protected void
handleDoubleClick(org.eclipse.swt.events.MouseEvent event)
Wird bei Doppelklick ausgeloest.protected void
handleMouseDown(org.eclipse.swt.events.MouseEvent event)
Wird bei MouseDown ausgeloest.protected void
handleMouseUp(org.eclipse.swt.events.MouseEvent event)
Wird bei MouseUp ausgeloest.protected void
handleSingleClick(org.eclipse.swt.events.MouseEvent event)
Wird bei Singleklick ausgeloest.void
paint(org.eclipse.swt.widgets.Composite parent)
Malt die Komponente in das angegebene Composite.void
removeAll()
Entfernt alle Elemente 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
setExpanded(boolean expanded)
Legt fest, ob der Baum per Default komplett geoeffnet oder geschlossen sein soll.void
setExpanded(java.lang.Object object, boolean expanded)
Klappt das Element auf oder zu.void
setExpanded(java.lang.Object object, boolean expanded, boolean recursive)
Klappt das Element auf oder zu.void
setFormatter(TreeFormatter formatter)
Definiert einen optionalen Formatierer, mit dem man SWT-maessig ganze Zeilen formatieren kann.void
setList(de.willuhn.datasource.GenericIterator list)
Speichert die Liste der anzuzeigenden Daten.void
setList(java.util.List list)
Speichert die Liste der anzuzeigenden Daten.void
setRootObject(java.lang.Object node)
Alternativ zu setList: Speichert das Root-Element.int
size()
Liefert die Anzahl der Elemente in dieser 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
-
-
-
-
Constructor Detail
-
TreePart
public TreePart(java.lang.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(java.util.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 Detail
-
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.
- See Also:
AbstractTablePart.createFeatureEventContext(de.willuhn.jameica.gui.parts.table.Feature.Event, java.lang.Object)
-
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(java.util.List list)
Speichert die Liste der anzuzeigenden Daten.- Parameters:
list
- Liste der anzuzeigenden Daten.
-
setRootObject
public void setRootObject(java.lang.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 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)
-
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
- See Also:
AbstractTablePart.restoreState()
-
setExpanded
public void setExpanded(java.lang.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(java.lang.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 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.
- See Also:
AbstractTablePart.getSelection()
-
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.- See Also:
AbstractTablePart.select(java.lang.Object[])
-
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 java.util.List getChildren(java.lang.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 java.util.List getItems() throws java.rmi.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 classAbstractTablePart
- Returns:
- Liste der Fachobjekte.
- Throws:
java.rmi.RemoteException
- See Also:
AbstractTablePart.getItems()
-
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.- See Also:
AbstractTablePart.setChecked(java.lang.Object[], boolean)
-
removeAll
public void removeAll()
Description copied from class:AbstractTablePart
Entfernt alle Elemente aus der Tabelle.- Specified by:
removeAll
in classAbstractTablePart
- See Also:
AbstractTablePart.removeAll()
-
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.
- See Also:
AbstractTablePart.size()
-
-