Package org.eclipse.gef.mvc.fx.parts
Class LayeredRootPart
java.lang.Object
org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<javafx.scene.Group>
org.eclipse.gef.mvc.fx.parts.LayeredRootPart
- All Implemented Interfaces:
IActivatable
,IAdaptable
,IAdaptable.Bound<IViewer>
,IDisposable
,IRootPart<javafx.scene.Group>
,IVisualPart<javafx.scene.Group>
public class LayeredRootPart
extends AbstractVisualPart<javafx.scene.Group>
implements IRootPart<javafx.scene.Group>
The
LayeredRootPart
is an IRootPart
that manages a number of
layers for the visualization, namely, the content layer, feedback layer, and
handle layer. The visuals of the different IVisualPart
s are inserted
into these layers depending on their type, i.e. IContentPart
visuals
are inserted into the content layer, IFeedbackPart
visuals are
inserted into the feedback layer, and IHandlePart
visuals are
inserted into the handle layer.
The layers are stacked on top of each other with the content layer at the bottom and the handle layer at the top. The feedback layer in the middle is mouse transparent, i.e. you cannot interact with the visuals in this layer.
-
Property Summary
Properties inherited from class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart
active, adaptable, adapters, anchoragesUnmodifiable, anchoredsUnmodifiable, childrenUnmodifiable, parent, refreshVisual
Properties inherited from interface org.eclipse.gef.common.activate.IActivatable
active
Properties inherited from interface org.eclipse.gef.common.adapt.IAdaptable
adapters
Properties inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound
adaptable
Properties inherited from interface org.eclipse.gef.mvc.fx.parts.IVisualPart
anchoragesUnmodifiable, anchoredsUnmodifiable, childrenUnmodifiable, parent, refreshVisual
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.gef.common.adapt.IAdaptable
IAdaptable.Bound<A extends IAdaptable>
Nested classes/interfaces inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound
IAdaptable.Bound.Impl<T extends IAdaptable>
-
Field Summary
Fields inherited from interface org.eclipse.gef.common.activate.IActivatable
ACTIVE_PROPERTY
Fields inherited from interface org.eclipse.gef.common.adapt.IAdaptable
ADAPTERS_PROPERTY
Fields inherited from interface org.eclipse.gef.mvc.fx.parts.IVisualPart
ANCHORAGES_PROPERTY, ANCHOREDS_PROPERTY, CHILDREN_PROPERTY, PARENT_PROPERTY, REFRESH_VISUAL_PROPERTY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Activates the children of thisAbstractVisualPart
.protected javafx.scene.Group
Creates the content layer visual.protected javafx.scene.Group
Creates the feedback layer visual.protected javafx.scene.Group
Creates the handle layer visual.protected javafx.scene.Group
createLayer
(boolean mouseTransparent) Creates aGroup
and sets itsNode.pickOnBoundsProperty()
tofalse
.protected void
Deactivates the children of thisAbstractVisualPart
.protected IViewer
determineViewer
(IVisualPart<? extends javafx.scene.Node> parent, Multiset<IVisualPart<? extends javafx.scene.Node>> anchoreds) Determines the viewer reference via the given parent or any of the given anchoreds.protected void
doAddChildVisual
(IVisualPart<? extends javafx.scene.Node> child, int index) Performs the addition of the child's visual to thisIVisualPart
's visual.protected void
doAttachToAnchorageVisual
(IVisualPart<? extends javafx.scene.Node> anchorage, String role) Attaches this part's visual to the visual of the given anchorage.protected javafx.scene.Group
Creates this part's visual.protected void
doDetachFromAnchorageVisual
(IVisualPart<? extends javafx.scene.Node> anchorage, String role) Detaches this part's visual from the visual of the given anchorage.protected void
doRefreshVisual
(javafx.scene.Group visual) Refreshes this part's visualization based on this part's content.protected void
doRemoveChildVisual
(IVisualPart<? extends javafx.scene.Node> child, int index) Removes the child's visual from thisIVisualPart
's visual.javafx.scene.Group
Returns the content layer visual.List<IContentPart<? extends javafx.scene.Node>>
Returns all children of typeIContentPart
contained by thisIRootPart
.javafx.scene.Group
Returns the feedback layer visual.List<IFeedbackPart<? extends javafx.scene.Node>>
Returns all children of typeIFeedbackPart
contained by thisIRootPart
.javafx.scene.Group
Returns the handle layer visual.List<IHandlePart<? extends javafx.scene.Node>>
Returns all children of typeIHandlePart
contained by thisIRootPart
.IRootPart<? extends javafx.scene.Node>
getRoot()
Returns theIRootPart
.Methods inherited from class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart
activate, activateAdapters, activeProperty, adaptableProperty, adaptersProperty, addChild, addChild, addChildren, addChildren, anchoragesUnmodifiableProperty, anchoredsUnmodifiableProperty, attachAnchored, attachToAnchorage, attachToAnchorage, childrenUnmodifiableProperty, deactivate, deactivateAdapters, detachAnchored, detachFromAnchorage, detachFromAnchorage, dispose, doActivate, doDeactivate, getAdaptable, getAdapter, getAdapter, getAdapter, getAdapterKey, getAdapters, getAdapters, getAdapters, getAnchoragesUnmodifiable, getAnchoredsUnmodifiable, getBehaviors, getChildrenUnmodifiable, getHandlers, getParent, getPolicies, getVisual, isActive, isRefreshVisual, parentProperty, refreshVisual, refreshVisualProperty, register, registerAtVisualPartMap, removeChild, removeChildren, reorderChild, setAdaptable, setAdapter, setAdapter, setAdapter, setAdapter, setParent, setRefreshVisual, unregister, unregisterFromVisualPartMap, unsetAdapter
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.gef.common.activate.IActivatable
activate, activeProperty, deactivate, isActive
Methods inherited from interface org.eclipse.gef.common.adapt.IAdaptable
adaptersProperty, getAdapter, getAdapter, getAdapter, getAdapterKey, getAdapters, getAdapters, getAdapters, setAdapter, setAdapter, setAdapter, setAdapter, unsetAdapter
Methods inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound
adaptableProperty, getAdaptable, setAdaptable
Methods inherited from interface org.eclipse.gef.common.dispose.IDisposable
dispose
Methods inherited from interface org.eclipse.gef.mvc.fx.parts.IVisualPart
addChild, addChild, addChildren, addChildren, anchoragesUnmodifiableProperty, anchoredsUnmodifiableProperty, attachAnchored, attachToAnchorage, attachToAnchorage, childrenUnmodifiableProperty, detachAnchored, detachFromAnchorage, detachFromAnchorage, getAnchoragesUnmodifiable, getAnchoredsUnmodifiable, getBehaviors, getChildrenUnmodifiable, getHandlers, getParent, getPolicies, getViewer, getVisual, isRefreshVisual, parentProperty, refreshVisual, refreshVisualProperty, removeChild, removeChildren, reorderChild, setParent, setRefreshVisual
-
Constructor Details
-
LayeredRootPart
public LayeredRootPart()Default constructor.
-
-
Method Details
-
activateChildren
protected void activateChildren()Description copied from class:AbstractVisualPart
Activates the children of thisAbstractVisualPart
.- Overrides:
activateChildren
in classAbstractVisualPart<javafx.scene.Group>
-
createContentLayer
protected javafx.scene.Group createContentLayer()Creates the content layer visual.- Returns:
- The content layer visual.
-
createFeedbackLayer
protected javafx.scene.Group createFeedbackLayer()Creates the feedback layer visual.- Returns:
- The feedback layer visual.
-
createHandleLayer
protected javafx.scene.Group createHandleLayer()Creates the handle layer visual.- Returns:
- The handle layer visual.
-
createLayer
protected javafx.scene.Group createLayer(boolean mouseTransparent) Creates aGroup
and sets itsNode.pickOnBoundsProperty()
tofalse
. Does also set itsNode.mouseTransparentProperty()
to the given value.- Parameters:
mouseTransparent
- The value for the layer'sNode.mouseTransparentProperty()
.- Returns:
- The created layer.
-
deactivateChildren
protected void deactivateChildren()Description copied from class:AbstractVisualPart
Deactivates the children of thisAbstractVisualPart
.- Overrides:
deactivateChildren
in classAbstractVisualPart<javafx.scene.Group>
-
determineViewer
protected IViewer determineViewer(IVisualPart<? extends javafx.scene.Node> parent, Multiset<IVisualPart<? extends javafx.scene.Node>> anchoreds) Description copied from class:AbstractVisualPart
Determines the viewer reference via the given parent or any of the given anchoreds.- Overrides:
determineViewer
in classAbstractVisualPart<javafx.scene.Group>
- Parameters:
parent
- The parent to obtain the viewer from.anchoreds
- The anchoreds to alternatively obtain the viewer from.- Returns:
- The viewer, if it could be determined via the parent or any of the anchoreds.
-
doAddChildVisual
Description copied from class:AbstractVisualPart
Performs the addition of the child's visual to thisIVisualPart
's visual.- Overrides:
doAddChildVisual
in classAbstractVisualPart<javafx.scene.Group>
- Parameters:
child
- TheIVisualPart
being addedindex
- The child's position- See Also:
-
doAttachToAnchorageVisual
protected void doAttachToAnchorageVisual(IVisualPart<? extends javafx.scene.Node> anchorage, String role) Description copied from class:AbstractVisualPart
Attaches this part's visual to the visual of the given anchorage.- Overrides:
doAttachToAnchorageVisual
in classAbstractVisualPart<javafx.scene.Group>
- Parameters:
anchorage
- The anchorageIVisualPart
.role
- The anchorage role.
-
doCreateVisual
protected javafx.scene.Group doCreateVisual()Description copied from class:AbstractVisualPart
Creates this part's visual.- Specified by:
doCreateVisual
in classAbstractVisualPart<javafx.scene.Group>
- Returns:
- This part's visual.
-
doDetachFromAnchorageVisual
protected void doDetachFromAnchorageVisual(IVisualPart<? extends javafx.scene.Node> anchorage, String role) Description copied from class:AbstractVisualPart
Detaches this part's visual from the visual of the given anchorage.- Overrides:
doDetachFromAnchorageVisual
in classAbstractVisualPart<javafx.scene.Group>
- Parameters:
anchorage
- The anchorageIVisualPart
.role
- The anchorage role.
-
doRefreshVisual
protected void doRefreshVisual(javafx.scene.Group visual) Description copied from class:AbstractVisualPart
Refreshes this part's visualization based on this part's content.- Specified by:
doRefreshVisual
in classAbstractVisualPart<javafx.scene.Group>
- Parameters:
visual
- This part's visual.
-
doRemoveChildVisual
Description copied from class:AbstractVisualPart
Removes the child's visual from thisIVisualPart
's visual.- Overrides:
doRemoveChildVisual
in classAbstractVisualPart<javafx.scene.Group>
- Parameters:
child
- The childIVisualPart
.index
- The index of the child whose visual is to be removed.
-
getContentLayer
public javafx.scene.Group getContentLayer()Returns the content layer visual. The content layer visual is created in case it was not created before.- Returns:
- The content layer visual.
- See Also:
-
getContentPartChildren
Description copied from interface:IRootPart
Returns all children of typeIContentPart
contained by thisIRootPart
.- Specified by:
getContentPartChildren
in interfaceIRootPart<javafx.scene.Group>
- Returns:
- A list containing all
IContentPart
children.
-
getFeedbackLayer
public javafx.scene.Group getFeedbackLayer()Returns the feedback layer visual. The feedback layer visual is created in case it was not created before.- Returns:
- The feedback layer visual.
- See Also:
-
getFeedbackPartChildren
Description copied from interface:IRootPart
Returns all children of typeIFeedbackPart
contained by thisIRootPart
.- Specified by:
getFeedbackPartChildren
in interfaceIRootPart<javafx.scene.Group>
- Returns:
- A list containing all
IFeedbackPart
children.
-
getHandleLayer
public javafx.scene.Group getHandleLayer()Returns the handle layer visual. The handle layer visual is created in case it was not created before.- Returns:
- The handle layer visual.
- See Also:
-
getHandlePartChildren
Description copied from interface:IRootPart
Returns all children of typeIHandlePart
contained by thisIRootPart
.- Specified by:
getHandlePartChildren
in interfaceIRootPart<javafx.scene.Group>
- Returns:
- A list containing all
IHandlePart
children.
-
getRoot
Description copied from interface:IVisualPart
Returns theIRootPart
. This method should only be called internally or by helpers such as edit policies. The root can be used to get the viewer.- Specified by:
getRoot
in interfaceIVisualPart<javafx.scene.Group>
- Overrides:
getRoot
in classAbstractVisualPart<javafx.scene.Group>
- Returns:
null
or theIRootPart
-