public class MergingFoldingEdgeConverter extends AbstractFoldingEdgeConverter
IFoldingEdgeConverter
interface that will make the view
contain at most one folding edge between each pair of nodes by letting a single folding edge represent all master
edges.
This implementation by default, will have the SourcePortLocationParameter
and the TargetPortLocationParameter
properties set
to FreeNodePortLocationModel.NODE_CENTER_ANCHORED
and the BendsResettingEnabled
property set to true
.
Constructor and Description |
---|
MergingFoldingEdgeConverter()
Initializes a new instance of the
MergingFoldingEdgeConverter class. |
Modifier and Type | Method and Description |
---|---|
protected IEdge |
addFirstSeparateEdge(IFoldingEdgeFactory factory,
IFoldingView foldingView,
IEdge masterEdge,
INode viewSourceNode,
boolean sourceIsCollapsed,
INode targetSourceNode,
boolean targetIsCollapsed)
Adds the first separate edge to the source and target node pair using the
IFoldingEdgeFactory.addAsSeparateEdge(com.yworks.yfiles.graph.IPort, com.yworks.yfiles.graph.IPort)
method. |
IEdge |
addFoldingEdge(IFoldingEdgeFactory factory,
IFoldingView foldingView,
IEdge masterEdge,
INode source,
boolean sourceIsCollapsed,
INode target,
boolean targetIsCollapsed)
Tries to add the folding edge to an
existing folding edge,
considering the EdgeDirectionIgnoringEnabled property. |
boolean |
isEdgeDirectionIgnoringEnabled()
Gets a value indicating whether edge direction should be ignored for the determination of the
existing folding edges . |
void |
setEdgeDirectionIgnoringEnabled(boolean value)
Sets a value indicating whether edge direction should be ignored for the determination of the
existing folding edges . |
createEdgeStyle, createLabelLayoutParameter, createLabelStyle, createSourcePortLocationParameter, createSourcePortStyle, createTargetPortLocationParameter, createTargetPortStyle, getFoldingEdgeStyle, getLabelLayoutParameter, getLabelStyle, getSourcePortLocationParameter, getSourcePortStyle, getTargetPortLocationParameter, getTargetPortStyle, initializeFoldingEdgeBends, initializeFoldingEdgeLabels, initializeFoldingEdgePorts, initializeFoldingEdgeState, initializeFoldingEdgeStyle, isBendsResettingEnabled, isCopyingFirstLabelEnabled, isEdgeStyleCloningEnabled, isLabelLayoutParameterCloningEnabled, isLabelStyleCloningEnabled, isSourcePortLocationParameterCloningEnabled, isSourcePortStyleCloningEnabled, isTargetPortLocationParameterCloningEnabled, isTargetPortStyleCloningEnabled, setBendsResettingEnabled, setCopyingFirstLabelEnabled, setEdgeStyleCloningEnabled, setFoldingEdgeStyle, setLabelLayoutParameter, setLabelLayoutParameterCloningEnabled, setLabelStyle, setLabelStyleCloningEnabled, setSourcePortLocationParameter, setSourcePortLocationParameterCloningEnabled, setSourcePortStyle, setSourcePortStyleCloningEnabled, setTargetPortLocationParameter, setTargetPortLocationParameterCloningEnabled, setTargetPortStyle, setTargetPortStyleCloningEnabled, synchronizeLabels, updateFoldingEdgeState
public MergingFoldingEdgeConverter()
MergingFoldingEdgeConverter
class.protected IEdge addFirstSeparateEdge(IFoldingEdgeFactory factory, IFoldingView foldingView, IEdge masterEdge, INode viewSourceNode, boolean sourceIsCollapsed, INode targetSourceNode, boolean targetIsCollapsed)
IFoldingEdgeFactory.addAsSeparateEdge(com.yworks.yfiles.graph.IPort, com.yworks.yfiles.graph.IPort)
method.public IEdge addFoldingEdge(IFoldingEdgeFactory factory, IFoldingView foldingView, IEdge masterEdge, INode source, boolean sourceIsCollapsed, INode target, boolean targetIsCollapsed)
existing
folding edge,
considering the EdgeDirectionIgnoringEnabled
property.
If this is the first folding edge that connects the source and target node, this method will use the addFirstSeparateEdge(IFoldingEdgeFactory, IFoldingView, IEdge, INode, boolean, INode, boolean)
factory to create the initial representative.
addFoldingEdge
in interface IFoldingEdgeConverter
addFoldingEdge
in class AbstractFoldingEdgeConverter
factory
- The IFoldingEdgeFactory
implementation that needs to be called in order to communicate the results of this
query.foldingView
- The instance into which the folding edge is going to be inserted.masterEdge
- The edge from the MasterGraph
that needs to be
represented by a folding edge. Note that you may not return this instance.source
- The source node that belongs to the IFoldingView
graph that will act as the local view node of the actual source
node.sourceIsCollapsed
- Determines whether the source
is currently a folder node.target
- The target node that belongs to the IFoldingView
graph that will act as the local view node of the actual target
node.targetIsCollapsed
- Determines whether the target
is currently a folder node.IFoldingEdgeFactory.addAsSeparateEdge(com.yworks.yfiles.graph.IPort, com.yworks.yfiles.graph.IPort)
, or
IFoldingEdgeFactory.addToExistingFoldingEdge(IEdge)
, or null
if the edge will be excluded
from the view.public final boolean isEdgeDirectionIgnoringEnabled()
existing folding edges
.true
if edge direction should be ignored; false
otherwise.setEdgeDirectionIgnoringEnabled(boolean)
public final void setEdgeDirectionIgnoringEnabled(boolean value)
existing folding edges
.value
- true
if edge direction should be ignored; false
otherwise.isEdgeDirectionIgnoringEnabled()