Class SelectionModel
- java.lang.Object
-
- org.eclipse.gef.common.adapt.IAdaptable.Bound.Impl<IViewer>
-
- org.eclipse.gef.mvc.fx.models.SelectionModel
-
- All Implemented Interfaces:
IAdaptable.Bound<IViewer>,IDisposable
public class SelectionModel extends IAdaptable.Bound.Impl<IViewer> implements IDisposable
TheSelectionModelis used to store the current viewer's selection. It represents the selection as an ordered list ofIContentParts. Thereby, it supports a multi-selection and allows to identify a primary selection (the head element of the list) that may be treated specially.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound
IAdaptable.Bound.Impl<T extends IAdaptable>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSELECTION_PROPERTYName of theselectionUnmodifiableProperty().
-
Constructor Summary
Constructors Constructor Description SelectionModel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendToSelection(java.util.List<? extends IContentPart<? extends javafx.scene.Node>> toBeAppended)Updates the current selection by adding the givenIContentParts to it, preserving already selected elements.voidappendToSelection(IContentPart<? extends javafx.scene.Node> toBeAppended)Updates the current selection by adding the givenIContentPartto it, preserving already selected elements.voidclearSelection()Clears the current selection.voiddispose()javafx.collections.ObservableList<IContentPart<? extends javafx.scene.Node>>getSelectionUnmodifiable()Returns an unmodifiable observable list of the currently selectedIContentParts.booleanisSelected(IContentPart<? extends javafx.scene.Node> contentPart)Returns whether the givenIContentPartis part of the current selection.voidprependToSelection(java.util.List<? extends IContentPart<? extends javafx.scene.Node>> toBePrepended)Updates the current selection by adding the givenIContentParts to it, preserving already selected elements.voidprependToSelection(IContentPart<? extends javafx.scene.Node> toBePrepended)Updates the current selection by adding the givenIContentPartto it, preserving already selected elements.voidremoveFromSelection(java.util.Collection<? extends IContentPart<? extends javafx.scene.Node>> contentParts)Removes the givenIContentParts from the current selection if they are contained.voidremoveFromSelection(IContentPart<? extends javafx.scene.Node> contentPart)Removes the givenIContentPartfrom the current selection if it is currently selected.javafx.beans.property.ReadOnlyListProperty<IContentPart<? extends javafx.scene.Node>>selectionUnmodifiableProperty()Returns an unmodifiable read-only list property that represents the current selection.voidsetAdaptable(IViewer adaptable)voidsetSelection(java.util.List<? extends IContentPart<? extends javafx.scene.Node>> selection)Replaces the current selection with the given list ofIContentParts.voidsetSelection(IContentPart<? extends javafx.scene.Node> newSelection)Replaces the current selection with the givenIContentPart.-
Methods inherited from class org.eclipse.gef.common.adapt.IAdaptable.Bound.Impl
adaptableProperty, getAdaptable
-
-
-
-
Field Detail
-
SELECTION_PROPERTY
public static final java.lang.String SELECTION_PROPERTY
Name of theselectionUnmodifiableProperty().- See Also:
- Constant Field Values
-
-
Method Detail
-
appendToSelection
public void appendToSelection(IContentPart<? extends javafx.scene.Node> toBeAppended)
Updates the current selection by adding the givenIContentPartto it, preserving already selected elements.If the given content part is not already selected, it will be added to the back of the given selection, otherwise it will be moved to the back. A member of the current selection that is not contained in the given list, will remain selected.
- Parameters:
toBeAppended- TheIContentPartto add to/move to the back of the current selection.
-
appendToSelection
public void appendToSelection(java.util.List<? extends IContentPart<? extends javafx.scene.Node>> toBeAppended)
Updates the current selection by adding the givenIContentParts to it, preserving already selected elements.A member of the given list that is not contained in the current selection, will be added to it. A member of the current selection that is not contained in the given list, will remain selected.
The selection order will be adjusted, so that the members of the given list are added at the back (in the order they are given), preceded by the already selected elements not contained in the given list (preserving their relative order).
- Parameters:
toBeAppended- TheIContentParts to add to/move to the back of the current selection.
-
clearSelection
public void clearSelection()
Clears the current selection.
-
dispose
public void dispose()
- Specified by:
disposein interfaceIDisposable- Since:
- 1.1
-
getSelectionUnmodifiable
public javafx.collections.ObservableList<IContentPart<? extends javafx.scene.Node>> getSelectionUnmodifiable()
Returns an unmodifiable observable list of the currently selectedIContentParts.- Returns:
- An unmodifiable observable list of the currently selected
IContentParts.
-
isSelected
public boolean isSelected(IContentPart<? extends javafx.scene.Node> contentPart)
Returns whether the givenIContentPartis part of the current selection.- Parameters:
contentPart- TheIContentPartwhich is checked for containment.- Returns:
trueif theIContentPartis contained by the current selection.
-
prependToSelection
public void prependToSelection(IContentPart<? extends javafx.scene.Node> toBePrepended)
Updates the current selection by adding the givenIContentPartto it, preserving already selected elements.If the given content part is not already selected, it will be added to the front of the given selection, otherwise it will be moved to the front. A member of the current selection that is not contained in the given list, will remain selected.
- Parameters:
toBePrepended- TheIContentPartto add to/move to the front of the current selection.
-
prependToSelection
public void prependToSelection(java.util.List<? extends IContentPart<? extends javafx.scene.Node>> toBePrepended)
Updates the current selection by adding the givenIContentParts to it, preserving already selected elements.A member of the given list that is not contained in the current selection, will be added to it. A member of the current selection that is not contained in the given list, will remain selected.
The selection order will be adjusted, so that the members of the given list are added in front (in the order they are given), followed by the already selected elements not contained in the given list (preserving their relative order).
- Parameters:
toBePrepended- TheIContentParts to add to/move to the front of the current selection.
-
removeFromSelection
public void removeFromSelection(java.util.Collection<? extends IContentPart<? extends javafx.scene.Node>> contentParts)
Removes the givenIContentParts from the current selection if they are contained. Ignores those that are not part of the current selection.- Parameters:
contentParts- TheIContentParts which are removed from the selection.
-
removeFromSelection
public void removeFromSelection(IContentPart<? extends javafx.scene.Node> contentPart)
Removes the givenIContentPartfrom the current selection if it is currently selected. Will not change the current selection otherwise.- Parameters:
contentPart- TheIContentPartthat is to be removed from the selection.
-
selectionUnmodifiableProperty
public javafx.beans.property.ReadOnlyListProperty<IContentPart<? extends javafx.scene.Node>> selectionUnmodifiableProperty()
Returns an unmodifiable read-only list property that represents the current selection.- Returns:
- An unmodifiable read-only property named
SELECTION_PROPERTY.
-
setAdaptable
public void setAdaptable(IViewer adaptable)
- Specified by:
setAdaptablein interfaceIAdaptable.Bound<IViewer>- Overrides:
setAdaptablein classIAdaptable.Bound.Impl<IViewer>
-
setSelection
public void setSelection(IContentPart<? extends javafx.scene.Node> newSelection)
Replaces the current selection with the givenIContentPart.- Parameters:
newSelection- TheIContentPartconstituting the new selection.
-
setSelection
public void setSelection(java.util.List<? extends IContentPart<? extends javafx.scene.Node>> selection)
Replaces the current selection with the given list ofIContentParts.- Parameters:
selection- The list ofIContentParts constituting the new selection.
-
-