Class AbstractPart<V extends javafx.scene.Node,O extends org.eclipse.emf.ecore.EObject,C extends org.eclipse.emf.ecore.EObject>

java.lang.Object
org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<V>
org.eclipse.gef.mvc.fx.parts.AbstractContentPart<V>
com.amalgamasimulation.graphicaleditor.parts.AbstractContentPart<V>
com.amalgamasimulation.graphicaleditor.parts.AbstractPart<V,O,C>
All Implemented Interfaces:
IHighlightPropertyOwnerPart, ITransparentPropertyOwnerPart, org.eclipse.gef.common.activate.IActivatable, org.eclipse.gef.common.adapt.IAdaptable, org.eclipse.gef.common.adapt.IAdaptable.Bound<org.eclipse.gef.mvc.fx.viewer.IViewer>, org.eclipse.gef.common.dispose.IDisposable, org.eclipse.gef.mvc.fx.parts.IContentPart<V>, org.eclipse.gef.mvc.fx.parts.IResizableContentPart<V>, org.eclipse.gef.mvc.fx.parts.ITransformableContentPart<V>, org.eclipse.gef.mvc.fx.parts.IVisualPart<V>
Direct Known Subclasses:
AbstractArcPart, AbstractConnectionLinkPart, AbstractLocatablePart

public abstract class AbstractPart<V extends javafx.scene.Node,O extends org.eclipse.emf.ecore.EObject,C extends org.eclipse.emf.ecore.EObject> extends AbstractContentPart<V> implements org.eclipse.gef.mvc.fx.parts.ITransformableContentPart<V>, org.eclipse.gef.mvc.fx.parts.IResizableContentPart<V>, ITransparentPropertyOwnerPart, IHighlightPropertyOwnerPart
  • Property Summary

    Properties inherited from class org.eclipse.gef.mvc.fx.parts.AbstractContentPart

    contentAnchoragesUnmodifiable, contentChildrenUnmodifiable, content

    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.IContentPart

    contentAnchoragesUnmodifiable, contentChildrenUnmodifiable, content

    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

    org.eclipse.gef.common.adapt.IAdaptable.Bound<A extends org.eclipse.gef.common.adapt.IAdaptable>

    Nested classes/interfaces inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound

    org.eclipse.gef.common.adapt.IAdaptable.Bound.Impl<T extends org.eclipse.gef.common.adapt.IAdaptable>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.eclipse.core.databinding.observable.list.IObservableList<Object>
     
    protected org.eclipse.core.databinding.observable.value.IObservableValue<C>
     
    protected org.eclipse.core.databinding.observable.value.IObservableValue<O>
     
    protected javafx.scene.paint.Color
     
    protected boolean
     
    protected org.eclipse.core.databinding.observable.value.IValueChangeListener<Boolean>
     
    protected boolean
     
     

    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.ITransformableContentPart

    TRANSFORM_PROVIDER_KEY, TRANSFORM_PROVIDER_ROLE

    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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    convertXToModel(double shiftedLogicalX)
     
    double
    convertXToTarget(double shiftedMapX)
     
    double
    convertYToModel(double shiftedLogicalY)
     
    double
    convertYToTarget(double shiftedMapY)
     
    void
     
    protected abstract V
     
    protected com.google.common.collect.SetMultimap<? extends Object,String>
     
    protected List<? extends Object>
     
    protected void
     
     
    abstract org.eclipse.emf.ecore.EStructuralFeature
     
    double
     
    double
    getContainerX(C container)
     
    double
     
    double
    getContainerY(C container)
     
     
    javafx.scene.paint.Color
     
    protected double
     
    protected double
     
    protected AbstractLocatablePart<?,?,?>
     
    org.eclipse.gef.geometry.planar.Dimension
     
    final void
    highlight(javafx.scene.paint.Color highlightColor)
     
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    protected void
    onDoRefreshVisual(O content, C container)
     
    abstract void
    onHighlight(javafx.scene.paint.Color highlightColor)
     
    void
    onPartSelectionChange(boolean selected)
     
    protected void
    onSetContent(O model)
     
    protected void
     
    abstract void
     
    protected void
    setConnectionsVisible(boolean visible)
     
    void
     
    void
    setParent(org.eclipse.gef.mvc.fx.parts.IVisualPart<? extends javafx.scene.Node> newParent)
     
    void
    setTransparent(boolean transparent)
     
    void
    setVisualSize(org.eclipse.gef.geometry.planar.Dimension totalSize)
     
    final void
     

    Methods inherited from class org.eclipse.gef.mvc.fx.parts.AbstractContentPart

    addContentChild, attachToContentAnchorage, contentAnchoragesUnmodifiableProperty, contentChildrenUnmodifiableProperty, contentProperty, detachFromContentAnchorage, doAddContentChild, doAttachToContentAnchorage, doDetachFromContentAnchorage, doRemoveContentChild, doReorderContentChild, getContentAnchoragesUnmodifiable, getContentChildrenUnmodifiable, isFocusable, isSelectable, refreshContentAnchorages, refreshContentChildren, register, registerAtContentPartMap, removeContentChild, reorderContentChild, unregister, unregisterFromContentPartMap

    Methods inherited from class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart

    activate, activateAdapters, activeProperty, adaptableProperty, adaptersProperty, anchoragesUnmodifiableProperty, anchoredsUnmodifiableProperty, attachAnchored, attachToAnchorage, attachToAnchorage, childrenUnmodifiableProperty, deactivate, deactivateAdapters, detachAnchored, detachFromAnchorage, detachFromAnchorage, determineViewer, doActivate, doAddChildVisual, doAttachToAnchorageVisual, doDeactivate, doDetachFromAnchorageVisual, doRemoveChildVisual, getAdaptable, getAdapter, getAdapter, getAdapter, getAdapterKey, getAdapters, getAdapters, getAdapters, getAnchoragesUnmodifiable, getAnchoredsUnmodifiable, getBehaviors, getHandlers, getParent, getPolicies, getRoot, getVisual, isActive, isRefreshVisual, parentProperty, refreshVisual, refreshVisualProperty, registerAtVisualPartMap, setAdaptable, setAdapter, setAdapter, setAdapter, setAdapter, 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.mvc.fx.parts.IContentPart

    addContentChild, attachToContentAnchorage, contentAnchoragesUnmodifiableProperty, contentChildrenUnmodifiableProperty, contentProperty, detachFromContentAnchorage, getContentAnchoragesUnmodifiable, getContentChildrenUnmodifiable, isFocusable, isSelectable, refreshContentAnchorages, refreshContentChildren, removeContentChild, reorderContentChild

    Methods inherited from interface org.eclipse.gef.mvc.fx.parts.IResizableContentPart

    getContentSize, setContentSize

    Methods inherited from interface org.eclipse.gef.mvc.fx.parts.ITransformableContentPart

    getContentTransform, getVisualTransform, setContentTransform, setVisualTransform

    Methods inherited from interface com.amalgamasimulation.graphicaleditor.parts.ITransparentPropertyOwnerPart

    updateOpacity

    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, setRefreshVisual
  • Field Details

    • contentObservable

      protected org.eclipse.core.databinding.observable.value.IObservableValue<O extends org.eclipse.emf.ecore.EObject> contentObservable
    • containerObservable

      protected org.eclipse.core.databinding.observable.value.IObservableValue<C extends org.eclipse.emf.ecore.EObject> containerObservable
    • connectionPortsObservable

      protected org.eclipse.core.databinding.observable.list.IObservableList<Object> connectionPortsObservable
    • showConnectionsListener

      protected org.eclipse.core.databinding.observable.value.IValueChangeListener<Boolean> showConnectionsListener
    • viewer

      protected InfiniteCanvasViewer viewer
    • transparent

      protected boolean transparent
    • selected

      protected boolean selected
    • highlightColor

      protected javafx.scene.paint.Color highlightColor
  • Constructor Details

    • AbstractPart

      public AbstractPart()
  • Method Details

    • getContainerStructuralFeature

      public abstract org.eclipse.emf.ecore.EStructuralFeature getContainerStructuralFeature()
    • doCreateVisual

      protected abstract V doCreateVisual()
      Specified by:
      doCreateVisual in class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<V extends javafx.scene.Node>
    • highlight

      public final void highlight(javafx.scene.paint.Color highlightColor)
      Specified by:
      highlight in interface IHighlightPropertyOwnerPart
    • unhighlight

      public final void unhighlight()
      Specified by:
      unhighlight in interface IHighlightPropertyOwnerPart
    • isHighlighted

      public boolean isHighlighted()
      Specified by:
      isHighlighted in interface IHighlightPropertyOwnerPart
    • onHighlight

      public abstract void onHighlight(javafx.scene.paint.Color highlightColor)
    • onUnhighlight

      public abstract void onUnhighlight()
    • getHighlightColor

      public javafx.scene.paint.Color getHighlightColor()
    • isPartSelectable

      public boolean isPartSelectable(ActionModel actionModel)
    • getContainerX

      public double getContainerX(C container)
    • getContainerY

      public double getContainerY(C container)
    • onDoRefreshVisual

      protected void onDoRefreshVisual(O content, C container)
    • onSetContent

      protected void onSetContent(O model)
    • setConnectionsVisible

      protected void setConnectionsVisible(boolean visible)
    • setParent

      public void setParent(org.eclipse.gef.mvc.fx.parts.IVisualPart<? extends javafx.scene.Node> newParent)
      Specified by:
      setParent in interface org.eclipse.gef.mvc.fx.parts.IVisualPart<V extends javafx.scene.Node>
      Overrides:
      setParent in class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<V extends javafx.scene.Node>
    • onPartSelectionChange

      public void onPartSelectionChange(boolean selected)
    • isPartSelected

      public boolean isPartSelected()
    • setTransparent

      public void setTransparent(boolean transparent)
    • getVisualSize

      public org.eclipse.gef.geometry.planar.Dimension getVisualSize()
      Specified by:
      getVisualSize in interface org.eclipse.gef.mvc.fx.parts.IResizableContentPart<V extends javafx.scene.Node>
    • setVisualSize

      public void setVisualSize(org.eclipse.gef.geometry.planar.Dimension totalSize)
      Specified by:
      setVisualSize in interface org.eclipse.gef.mvc.fx.parts.IResizableContentPart<V extends javafx.scene.Node>
    • isTransparent

      public boolean isTransparent()
      Specified by:
      isTransparent in interface ITransparentPropertyOwnerPart
    • doGetContentChildren

      protected List<? extends Object> doGetContentChildren()
      Specified by:
      doGetContentChildren in class org.eclipse.gef.mvc.fx.parts.AbstractContentPart<V extends javafx.scene.Node>
    • getContainer

      public C getContainer()
    • getContainerX

      public double getContainerX()
    • getContainerY

      public double getContainerY()
    • getContent

      public O getContent()
      Specified by:
      getContent in interface org.eclipse.gef.mvc.fx.parts.IContentPart<V extends javafx.scene.Node>
      Overrides:
      getContent in class org.eclipse.gef.mvc.fx.parts.AbstractContentPart<V extends javafx.scene.Node>
    • doRefreshVisual

      protected void doRefreshVisual(V visual)
      Specified by:
      doRefreshVisual in class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<V extends javafx.scene.Node>
    • doGetContentAnchorages

      protected com.google.common.collect.SetMultimap<? extends Object,String> doGetContentAnchorages()
      Specified by:
      doGetContentAnchorages in class org.eclipse.gef.mvc.fx.parts.AbstractContentPart<V extends javafx.scene.Node>
    • setContent

      public void setContent(Object model)
      Specified by:
      setContent in interface org.eclipse.gef.mvc.fx.parts.IContentPart<V extends javafx.scene.Node>
      Overrides:
      setContent in class org.eclipse.gef.mvc.fx.parts.AbstractContentPart<V extends javafx.scene.Node>
    • onSetContentInternal

      protected void onSetContentInternal(Object model)
    • dispose

      public void dispose()
      Specified by:
      dispose in interface org.eclipse.gef.common.dispose.IDisposable
      Overrides:
      dispose in class org.eclipse.gef.mvc.fx.parts.AbstractVisualPart<V extends javafx.scene.Node>
    • getOffsetNodeX

      protected double getOffsetNodeX(Object node)
    • getOffsetNodeY

      protected double getOffsetNodeY(Object node)
    • getPart

      protected AbstractLocatablePart<?,?,?> getPart(Object o)
    • convertXToModel

      public double convertXToModel(double shiftedLogicalX)
    • convertYToModel

      public double convertYToModel(double shiftedLogicalY)
    • convertXToTarget

      public double convertXToTarget(double shiftedMapX)
    • convertYToTarget

      public double convertYToTarget(double shiftedMapY)