Package org.eclipse.gef.mvc.fx.parts
Class AbstractContentPart<V extends javafx.scene.Node>
- java.lang.Object
-
- org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<V>
-
- org.eclipse.gef.mvc.fx.parts.AbstractContentPart<V>
-
- Type Parameters:
V- The visualNodeused by thisAbstractContentPart.
- All Implemented Interfaces:
IActivatable,IAdaptable,IAdaptable.Bound<IViewer>,IDisposable,IContentPart<V>,IVisualPart<V>
public abstract class AbstractContentPart<V extends javafx.scene.Node> extends AbstractVisualPart<V> implements IContentPart<V>
TheAbstractContentPartis anIContentPartimplementation that binds the VR type parameter (visual root type) toNode.
-
-
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.IContentPart
CONTENT_ANCHORAGES_PROPERTY, CONTENT_CHILDREN_PROPERTY, CONTENT_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 Constructor Description AbstractContentPart()Creates a newAbstractContentPart.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddContentChild(java.lang.Object contentChild, int index)Inserts the given contentChild as a child to this part's content, so that it will be returned by subsequent calls toIContentPart.getContentChildrenUnmodifiable().voidattachToContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Attaches this part's content to the given contentAnchorage under the specified role, so that it will be returned by subsequent calls toIContentPart.getContentAnchoragesUnmodifiable().ReadOnlySetMultimapProperty<java.lang.Object,java.lang.String>contentAnchoragesUnmodifiableProperty()Returns an unmodifiable read-only set-multimap property containing the content anchorages.javafx.beans.property.ReadOnlyListProperty<java.lang.Object>contentChildrenUnmodifiableProperty()Returns an unmodfiable read-only property containing the content children.javafx.beans.property.ObjectProperty<java.lang.Object>contentProperty()A writable property representing theIContentPart's content.voiddetachFromContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Detaches this part's content from the given contentAnchorage under the specified role, so that it will no longer be returned by subsequent calls toIContentPart.getContentAnchoragesUnmodifiable().protected voiddoAddContentChild(java.lang.Object contentChild, int index)Adds the given contentChild to this part's content children, so that it will no longer be returned by subsequent calls todoGetContentChildren().protected voiddoAttachToContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Attaches this part's content to the given contentAnchorage under the specified role, so that it will be returned by subsequent calls todoGetContentAnchorages().protected voiddoDetachFromContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Detaches this part's content from the given contentAnchorage under the specified role, so that it will no longer be returned by subsequent calls todoGetContentAnchorages().protected abstract SetMultimap<? extends java.lang.Object,java.lang.String>doGetContentAnchorages()Hook method to return the current list of content anchorages.protected abstract java.util.List<? extends java.lang.Object>doGetContentChildren()Hook method to return the current list of content children.protected voiddoRemoveContentChild(java.lang.Object contentChild)Removes the given contentChild from this part's content children, so that it will no longer be returned by subsequent calls todoGetContentChildren().protected voiddoReorderContentChild(java.lang.Object contentChild, int newIndex)Rearranges the given contentChild to the new index position.java.lang.ObjectgetContent()Returns this part's content.ObservableSetMultimap<java.lang.Object,java.lang.String>getContentAnchoragesUnmodifiable()Returns an unmodifiableObservableSetMultimapthat contains the content objects that are to be regarded as anchorages of thisIContentPart's content (IContentPart.getContent()) with an (optional) role qualifier for each anchorage-anchored link that has to be established.javafx.collections.ObservableList<java.lang.Object>getContentChildrenUnmodifiable()Returns an unmodifiableObservableListthat contains the content children.booleanisFocusable()Returnstrueif policies and other parts of the application are allowed to assign focus to this part by changing theFocusModel.booleanisSelectable()Returnstrueif policies and other parts of the application are allowed to add this part to the selection maintained by theSelectionModel.voidrefreshContentAnchorages()Triggers a re-computation of the content anchorages of thisIContentPart.voidrefreshContentChildren()Triggers a re-computation of the content children of thisIContentPart.protected voidregister(IViewer viewer)Called when a link to theIVieweris obtained.protected voidregisterAtContentPartMap(IViewer viewer, java.lang.Object content)Registers the model in theIViewer.getContentPartMap().voidremoveContentChild(java.lang.Object contentChild)Removes the given contentChild from this part's content children, so that it will no longer be returned by subsequent calls toIContentPart.getContentChildrenUnmodifiable().voidreorderContentChild(java.lang.Object contentChild, int newIndex)Rearranges the given contentChild to the new index position.voidsetContent(java.lang.Object content)Set the primary content object that this EditPart represents.protected voidunregister(IViewer viewer)Called when the link to theIVieweris lost.protected voidunregisterFromContentPartMap(IViewer viewer, java.lang.Object content)Unregisters the model in theIViewer.getContentPartMap().-
Methods inherited from class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart
activate, activateAdapters, activateChildren, activeProperty, adaptableProperty, adaptersProperty, addChild, addChild, addChildren, addChildren, anchoragesUnmodifiableProperty, anchoredsUnmodifiableProperty, attachAnchored, attachToAnchorage, attachToAnchorage, childrenUnmodifiableProperty, deactivate, deactivateAdapters, deactivateChildren, detachAnchored, detachFromAnchorage, detachFromAnchorage, determineViewer, dispose, doActivate, doAddChildVisual, doAttachToAnchorageVisual, doCreateVisual, doDeactivate, doDetachFromAnchorageVisual, doRefreshVisual, doRemoveChildVisual, getAdaptable, getAdapter, getAdapter, getAdapter, getAdapterKey, getAdapters, getAdapters, getAdapters, getAnchoragesUnmodifiable, getAnchoredsUnmodifiable, getBehaviors, getChildrenUnmodifiable, getHandlers, getParent, getPolicies, getRoot, getVisual, isActive, isRefreshVisual, parentProperty, refreshVisual, refreshVisualProperty, registerAtVisualPartMap, removeChild, removeChildren, reorderChild, setAdaptable, setAdapter, setAdapter, setAdapter, setAdapter, setParent, setRefreshVisual, 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, getRoot, getViewer, getVisual, isRefreshVisual, parentProperty, refreshVisual, refreshVisualProperty, removeChild, removeChildren, reorderChild, setParent, setRefreshVisual
-
-
-
-
Constructor Detail
-
AbstractContentPart
public AbstractContentPart()
Creates a newAbstractContentPart.
-
-
Method Detail
-
addContentChild
public final void addContentChild(java.lang.Object contentChild, int index)Inserts the given contentChild as a child to this part's content, so that it will be returned by subsequent calls toIContentPart.getContentChildrenUnmodifiable().Delegates to
doAddContentChild(Object, int), which is to be overwritten by subclasses.- Specified by:
addContentChildin interfaceIContentPart<V extends javafx.scene.Node>- Parameters:
contentChild- AnObjectwhich should be added as a child to this part's content.index- The index at which the contentChild should be added.
-
attachToContentAnchorage
public final void attachToContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Attaches this part's content to the given contentAnchorage under the specified role, so that it will be returned by subsequent calls toIContentPart.getContentAnchoragesUnmodifiable().Delegates to
doAttachToContentAnchorage(Object, String), which is to be overwritten by subclasses.- Specified by:
attachToContentAnchoragein interfaceIContentPart<V extends javafx.scene.Node>- Parameters:
contentAnchorage- AnObjectto which this part's content should be attached to.role- The role under which the attachment is to be established.
-
contentAnchoragesUnmodifiableProperty
public ReadOnlySetMultimapProperty<java.lang.Object,java.lang.String> contentAnchoragesUnmodifiableProperty()
Description copied from interface:IContentPartReturns an unmodifiable read-only set-multimap property containing the content anchorages.- Specified by:
contentAnchoragesUnmodifiablePropertyin interfaceIContentPart<V extends javafx.scene.Node>- Returns:
- An unmodifiable read-only set-multimap property.
- See Also:
IContentPart.getContentAnchoragesUnmodifiable(),IContentPart.attachToContentAnchorage(Object, String),IContentPart.detachFromContentAnchorage(Object, String)
-
contentChildrenUnmodifiableProperty
public javafx.beans.property.ReadOnlyListProperty<java.lang.Object> contentChildrenUnmodifiableProperty()
Description copied from interface:IContentPartReturns an unmodfiable read-only property containing the content children.- Specified by:
contentChildrenUnmodifiablePropertyin interfaceIContentPart<V extends javafx.scene.Node>- Returns:
- An unmodifiable read-only property named
IContentPart.CONTENT_CHILDREN_PROPERTY.
-
contentProperty
public final javafx.beans.property.ObjectProperty<java.lang.Object> contentProperty()
Description copied from interface:IContentPartA writable property representing theIContentPart's content.- Specified by:
contentPropertyin interfaceIContentPart<V extends javafx.scene.Node>- Returns:
- A writable property named
IContentPart.CONTENT_PROPERTY.
-
detachFromContentAnchorage
public final void detachFromContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Detaches this part's content from the given contentAnchorage under the specified role, so that it will no longer be returned by subsequent calls toIContentPart.getContentAnchoragesUnmodifiable().Delegates to
doDetachFromContentAnchorage(Object, String), which is to be overwritten by subclasses.- Specified by:
detachFromContentAnchoragein interfaceIContentPart<V extends javafx.scene.Node>- Parameters:
contentAnchorage- AnObjectfrom which this part's content should be detached from.role- The role under which the attachment is established.
-
doAddContentChild
protected void doAddContentChild(java.lang.Object contentChild, int index)Adds the given contentChild to this part's content children, so that it will no longer be returned by subsequent calls todoGetContentChildren().- Parameters:
contentChild- AnObjectwhich should be removed from this part's content children.index- The index of the contentChild that is removed.
-
doAttachToContentAnchorage
protected void doAttachToContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Attaches this part's content to the given contentAnchorage under the specified role, so that it will be returned by subsequent calls todoGetContentAnchorages().- Parameters:
contentAnchorage- AnObjectto which this part's content should be attached to.role- The role under which the attachment is to be established.
-
doDetachFromContentAnchorage
protected void doDetachFromContentAnchorage(java.lang.Object contentAnchorage, java.lang.String role)Detaches this part's content from the given contentAnchorage under the specified role, so that it will no longer be returned by subsequent calls todoGetContentAnchorages().- Parameters:
contentAnchorage- AnObjectfrom which this part's content should be detached from.role- The role under which the attachment is established.
-
doGetContentAnchorages
protected abstract SetMultimap<? extends java.lang.Object,java.lang.String> doGetContentAnchorages()
Hook method to return the current list of content anchorages. Has to be overwritten by clients.- Returns:
- The current list of content anchorages.
-
doGetContentChildren
protected abstract java.util.List<? extends java.lang.Object> doGetContentChildren()
Hook method to return the current list of content children. Has to be overwritten by clients.- Returns:
- The current list of content children.
-
doRemoveContentChild
protected void doRemoveContentChild(java.lang.Object contentChild)
Removes the given contentChild from this part's content children, so that it will no longer be returned by subsequent calls todoGetContentChildren().- Parameters:
contentChild- AnObjectwhich should be removed from this part's content children.
-
doReorderContentChild
protected void doReorderContentChild(java.lang.Object contentChild, int newIndex)Rearranges the given contentChild to the new index position.- Parameters:
contentChild- TheObjectwhich is to be reordered.newIndex- The index to which the content child is to be reordered.
-
getContent
public java.lang.Object getContent()
Description copied from interface:IContentPartReturns this part's content.- Specified by:
getContentin interfaceIContentPart<V extends javafx.scene.Node>- Returns:
- This part's content.
- See Also:
IContentPart.getContent()
-
getContentAnchoragesUnmodifiable
public ObservableSetMultimap<java.lang.Object,java.lang.String> getContentAnchoragesUnmodifiable()
Description copied from interface:IContentPartReturns an unmodifiableObservableSetMultimapthat contains the content objects that are to be regarded as anchorages of thisIContentPart's content (IContentPart.getContent()) with an (optional) role qualifier for each anchorage-anchored link that has to be established.In case of a connection, one anchorage could have the "START" role, and another the "END" role. Using the role mechanism, the same anchorage may also have both roles, which can, for instance, be used for self connections.
- Specified by:
getContentAnchoragesUnmodifiablein interfaceIContentPart<V extends javafx.scene.Node>- Returns:
- An unmodifiable
ObservableSetMultimapof the content anchorages with a role to qualify each anchorage-anchored link. If there is only a single anchorage-anchored link to a respective anchorage, its role may be left undefined (i.e. the map will contain an entry of the form (anchorage,null)).
-
getContentChildrenUnmodifiable
public javafx.collections.ObservableList<java.lang.Object> getContentChildrenUnmodifiable()
Description copied from interface:IContentPartReturns an unmodifiableObservableListthat contains the content children.- Specified by:
getContentChildrenUnmodifiablein interfaceIContentPart<V extends javafx.scene.Node>- Returns:
- A
Listof all of this part's content children.
-
isFocusable
public boolean isFocusable()
Description copied from interface:IContentPartReturnstrueif policies and other parts of the application are allowed to assign focus to this part by changing theFocusModel. Otherwise returnsfalse.- Specified by:
isFocusablein interfaceIContentPart<V extends javafx.scene.Node>- Returns:
trueif policies and other parts of the application are allowed to assign focus to this part by changing theFocusModel, otherwisefalse.
-
isSelectable
public boolean isSelectable()
Description copied from interface:IContentPartReturnstrueif policies and other parts of the application are allowed to add this part to the selection maintained by theSelectionModel. Otherwise returnsfalse.- Specified by:
isSelectablein interfaceIContentPart<V extends javafx.scene.Node>- Returns:
trueif policies and other parts of the application are allowed to add this part to the selection maintained by theSelectionModel, otherwisefalse.
-
refreshContentAnchorages
public void refreshContentAnchorages()
Description copied from interface:IContentPartTriggers a re-computation of the content anchorages of thisIContentPart.- Specified by:
refreshContentAnchoragesin interfaceIContentPart<V extends javafx.scene.Node>
-
refreshContentChildren
public void refreshContentChildren()
Description copied from interface:IContentPartTriggers a re-computation of the content children of thisIContentPart.- Specified by:
refreshContentChildrenin interfaceIContentPart<V extends javafx.scene.Node>
-
register
protected void register(IViewer viewer)
Description copied from class:AbstractVisualPartCalled when a link to theIVieweris obtained. Registers thisIVisualPartfor its "main" visual (i.e. the one returned byAbstractVisualPart.getVisual()) at theIViewer.getVisualPartMap()of the givenIViewer. To simplify matters, thisIVisualPartonly has to register itself for its "main" visual, i.e. if the "main" visual contains a number of children visuals, it does not need to register itself for those children visuals. Therefore, if the visualization changes dynamically, the registration at the visual-part-map does not need to be updated. Consequently, when looking up anIVisualPartfor a given visual in the visual-part-map, it is required to walk up the visual hierarchy until a registered visual is found.- Overrides:
registerin classAbstractVisualPart<V extends javafx.scene.Node>- Parameters:
viewer- TheIViewerto register at.
-
registerAtContentPartMap
protected void registerAtContentPartMap(IViewer viewer, java.lang.Object content)
Registers the model in theIViewer.getContentPartMap(). Subclasses should only extend this method if they need to register this EditPart in additional ways.- Parameters:
viewer- The viewer to register at.content- The content to register.
-
removeContentChild
public final void removeContentChild(java.lang.Object contentChild)
Removes the given contentChild from this part's content children, so that it will no longer be returned by subsequent calls toIContentPart.getContentChildrenUnmodifiable().Delegates to
doRemoveContentChild(Object), which is to be overwritten by subclasses.- Specified by:
removeContentChildin interfaceIContentPart<V extends javafx.scene.Node>- Parameters:
contentChild- AnObjectwhich should be removed from this part's content children.
-
reorderContentChild
public void reorderContentChild(java.lang.Object contentChild, int newIndex)Rearranges the given contentChild to the new index position. Fires property change events usingIContentPart.CONTENT_CHILDREN_PROPERTYasproperty name.Delegates to
doReorderContentChild(Object, int), which is to be overwritten by subclasses.- Specified by:
reorderContentChildin interfaceIContentPart<V extends javafx.scene.Node>- Parameters:
contentChild- TheObjectwhich is to be reordered.newIndex- The index to which the content child is to be reordered.
-
setContent
public void setContent(java.lang.Object content)
Set the primary content object that this EditPart represents. This method is used by anIContentPartFactorywhen creating anIContentPart.- Specified by:
setContentin interfaceIContentPart<V extends javafx.scene.Node>- Parameters:
content- The new content for this part.- See Also:
IContentPart.setContent(Object)
-
unregister
protected void unregister(IViewer viewer)
Description copied from class:AbstractVisualPartCalled when the link to theIVieweris lost. Unregisters thisIVisualPartfor its "main" visual (i.e. the one returned byAbstractVisualPart.getVisual()) from theIViewer.getVisualPartMap()of the givenIViewer. To simplify matters, thisIVisualPartonly has to unregister itself for its "main" visual, i.e. if the "main" visual contains a number of children visuals, it does not need to unregister itself for those children visuals. Therefore, if the visualization changes dynamically, the registration at the visual-part-map does not need to be updated. Consequently, when looking up anIVisualPartfor a given visual in the visual-part-map, it is required to walk up the visual hierarchy until a registered visual is found.- Overrides:
unregisterin classAbstractVisualPart<V extends javafx.scene.Node>- Parameters:
viewer- TheIViewerto unregister from.
-
unregisterFromContentPartMap
protected void unregisterFromContentPartMap(IViewer viewer, java.lang.Object content)
Unregisters the model in theIViewer.getContentPartMap(). Subclasses should only extend this method if they need to unregister this EditPart in additional ways.- Parameters:
viewer- The viewer to unregister from.content- The content to unregister.
-
-