Package org.eclipse.gef.mvc.fx.parts
Class LayeredRootPart
- All Implemented Interfaces:
IActivatable
,IAdaptable
,IAdaptable.Bound<IViewer>
,IDisposable
,IRootPart<Group>
,IVisualPart<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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Activates the children of thisAbstractVisualPart
.protected Group
Creates the content layer visual.protected Group
Creates the feedback layer visual.protected Group
Creates the handle layer visual.protected Group
createLayer
(boolean mouseTransparent) protected void
Deactivates the children of thisAbstractVisualPart
.protected IViewer
determineViewer
(IVisualPart<? extends Node> parent, Multiset<IVisualPart<? extends Node>> anchoreds) Determines the viewer reference via the given parent or any of the given anchoreds.protected void
doAddChildVisual
(IVisualPart<? extends Node> child, int index) Performs the addition of the child's visual to thisIVisualPart
's visual.protected void
doAttachToAnchorageVisual
(IVisualPart<? extends Node> anchorage, String role) Attaches this part's visual to the visual of the given anchorage.protected Group
Creates this part's visual.protected void
doDetachFromAnchorageVisual
(IVisualPart<? extends Node> anchorage, String role) Detaches this part's visual from the visual of the given anchorage.protected void
doRefreshVisual
(Group visual) Refreshes this part's visualization based on this part's content.protected void
doRemoveChildVisual
(IVisualPart<? extends Node> child, int index) Removes the child's visual from thisIVisualPart
's visual.Returns the content layer visual.List<IContentPart<? extends Node>>
Returns all children of typeIContentPart
contained by thisIRootPart
.Returns the feedback layer visual.List<IFeedbackPart<? extends Node>>
Returns all children of typeIFeedbackPart
contained by thisIRootPart
.Returns the handle layer visual.List<IHandlePart<? extends Node>>
Returns all children of typeIHandlePart
contained by thisIRootPart
.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<Group>
-
createContentLayer
Creates the content layer visual.- Returns:
- The content layer visual.
-
createFeedbackLayer
Creates the feedback layer visual.- Returns:
- The feedback layer visual.
-
createHandleLayer
Creates the handle layer visual.- Returns:
- The handle layer visual.
-
createLayer
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<Group>
-
determineViewer
protected IViewer determineViewer(IVisualPart<? extends Node> parent, Multiset<IVisualPart<? extends 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<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<Group>
- Parameters:
child
- TheIVisualPart
being addedindex
- The child's position- See Also:
-
doAttachToAnchorageVisual
Description copied from class:AbstractVisualPart
Attaches this part's visual to the visual of the given anchorage.- Overrides:
doAttachToAnchorageVisual
in classAbstractVisualPart<Group>
- Parameters:
anchorage
- The anchorageIVisualPart
.role
- The anchorage role.
-
doCreateVisual
Description copied from class:AbstractVisualPart
Creates this part's visual.- Specified by:
doCreateVisual
in classAbstractVisualPart<Group>
- Returns:
- This part's visual.
-
doDetachFromAnchorageVisual
Description copied from class:AbstractVisualPart
Detaches this part's visual from the visual of the given anchorage.- Overrides:
doDetachFromAnchorageVisual
in classAbstractVisualPart<Group>
- Parameters:
anchorage
- The anchorageIVisualPart
.role
- The anchorage role.
-
doRefreshVisual
Description copied from class:AbstractVisualPart
Refreshes this part's visualization based on this part's content.- Specified by:
doRefreshVisual
in classAbstractVisualPart<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<Group>
- Parameters:
child
- The childIVisualPart
.index
- The index of the child whose visual is to be removed.
-
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<Group>
- Returns:
- A list containing all
IContentPart
children.
-
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<Group>
- Returns:
- A list containing all
IFeedbackPart
children.
-
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<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<Group>
- Overrides:
getRoot
in classAbstractVisualPart<Group>
- Returns:
null
or theIRootPart
-