|
Search this API | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object y.layout.CanonicMultiStageLayouter y.layout.orthogonal.OrthogonalGroupLayouter
public class OrthogonalGroupLayouter
This class provides a layout algorithm which produces orthogonal drawings of hierarchically grouped graphs.
Here is a sample output of the layouter.
Field Summary | |
---|---|
static Object |
EDGE_LAYOUT_DESCRIPTOR_DPKEY
DataProvider key used to retrieve EdgeLayoutDescriptor
instances for each edge in the graph. |
Fields inherited from interface y.layout.Layouter |
---|
EDGE_ID_DPKEY, NODE_ID_DPKEY, SELECTED_EDGES, SELECTED_NODES |
Constructor Summary | |
---|---|
OrthogonalGroupLayouter()
Creates a new instance of OrthogonalGroupLayouter |
Method Summary | |
---|---|
protected boolean |
canLayoutCore(LayoutGraph graph)
Subclasses have to provide information whether or not they can layout the given graph. |
protected EdgeLayoutDescriptor |
createEdgeLayoutDescriptor()
Factory method that creates the default EdgeLayoutDescriptor. |
void |
doLayout(LayoutGraph graph)
Calculates a layout for the given graph. |
protected void |
doLayoutCore(LayoutGraph graph)
Subclasses have to provide core layout code in this method. |
EdgeLayoutDescriptor |
getEdgeLayoutDescriptor()
Returns the EdgeLayoutDescriptor instance used for all those
edges, that do not have a specific layout descriptor assigned. |
int |
getGrid()
Returns the grid distance. |
double |
getLayoutQuality()
Returns the currently set layout quality. |
boolean |
isConsiderNodeLabelsEnabled()
Returns whether or not node labels are taken into account when calculating node positions (thereby preventing possible node/node label or node label/node label overlaps). |
boolean |
isIntegratedEdgeLabelingEnabled()
Returns whether integrated edge labeling is enabled. |
boolean |
isPostprocessingEnabled()
Determines if an additional postprocessing step is used that improves compactness and reduces the number of edge bends. |
void |
setComponentLayouter(LayoutStage layouter)
Note that the component layouter set here should work in such a way that isolated components inside groups should be reported separately. |
void |
setConsiderNodeLabelsEnabled(boolean enabled)
Specifies whether or not to consider node labels when calculating node positions (thereby preventing possible node/node label or node label/node label overlaps). |
void |
setEdgeLayoutDescriptor(EdgeLayoutDescriptor edgeLayoutDescriptor)
Sets the EdgeLayoutDescriptor instance used for all those
edges, that do not have a specific layout descriptor assigned. |
void |
setGrid(int grid)
Sets the grid distance. |
void |
setIntegratedEdgeLabelingEnabled(boolean enabled)
Specifies whether or not to use integrated edge labeling. |
void |
setLayoutQuality(double q)
Sets the desired layout quality. |
void |
setPostprocessingEnabled(boolean enable)
Specifies if an additional postprocessing step is used that improves compactness and reduces the number of edge bends. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Object EDGE_LAYOUT_DESCRIPTOR_DPKEY
DataProvider
key used to retrieve EdgeLayoutDescriptor
instances for each edge in the graph. Different settings will affect the routing of the edges during the layout.
Constructor Detail |
---|
public OrthogonalGroupLayouter()
Method Detail |
---|
public boolean isPostprocessingEnabled()
true
if the postprocessing step is applied and false
otherwise.public void setPostprocessingEnabled(boolean enable)
enable
- true
if the postprocessing step should be applied.protected EdgeLayoutDescriptor createEdgeLayoutDescriptor()
null
!
new EdgeLayoutDescriptor()
)public EdgeLayoutDescriptor getEdgeLayoutDescriptor()
EdgeLayoutDescriptor
instance used for all those
edges, that do not have a specific layout descriptor assigned.
OrthogonalLayouter.EDGE_LAYOUT_DESCRIPTOR_DPKEY
,
createEdgeLayoutDescriptor()
public void setEdgeLayoutDescriptor(EdgeLayoutDescriptor edgeLayoutDescriptor)
EdgeLayoutDescriptor
instance used for all those
edges, that do not have a specific layout descriptor assigned.
NullPointerException
- if the argument is null
edgeLayoutDescriptor
- the new descriptorOrthogonalLayouter.EDGE_LAYOUT_DESCRIPTOR_DPKEY
public void setConsiderNodeLabelsEnabled(boolean enabled)
label layouter
is of type LabelLayoutTranslator
and LabelLayoutTranslator.setTranslateNodeLabelsEnabled(boolean)
is set to
true
.
Note that setting this option may overwrite the currently set label layouter. Hence, to combine this option with
a generic edge labeling algorithm, the generic labeling has to be applied in an additional step after calculating the layout.
enabled
- whether to enable this featurepublic boolean isConsiderNodeLabelsEnabled()
label layouter
is of type LabelLayoutTranslator
and LabelLayoutTranslator.isTranslateNodeLabelsEnabled()
returns true
.
false
.
IllegalStateException
- if the current label layouter is not of type LabelLayoutTranslator
.
public void setIntegratedEdgeLabelingEnabled(boolean enabled)
label layouter
is of type LabelLayoutTranslator
and LabelLayoutTranslator.setTranslateEdgeLabelsEnabled(boolean)
is set to
true
enabled
- whether to enable this featurepublic boolean isIntegratedEdgeLabelingEnabled()
label layouter
is of type LabelLayoutTranslator
and
LabelLayoutTranslator.isTranslateEdgeLabelsEnabled()
returns true
. false
.
IllegalStateException
- if the current label layouter is not of type LabelLayoutTranslator
.
public void setLayoutQuality(double q)
1
) is set.
q
- a value between 0 and 1.public double getLayoutQuality()
public void setGrid(int grid)
public void setComponentLayouter(LayoutStage layouter)
IsolatedGroupComponentLayouter
can be set here.
If the component layouter should be customized, the suggested way of doing this is to
CanonicMultiStageLayouter.getComponentLayouter()
and cast it to ComponentLayouter
.
setComponentLayouter
in class CanonicMultiStageLayouter
layouter
- the new component layouter, which needs to report isolated groups separately.
E.g. IsolatedGroupComponentLayouter
public int getGrid()
protected boolean canLayoutCore(LayoutGraph graph)
CanonicMultiStageLayouter
canLayoutCore
in class CanonicMultiStageLayouter
protected void doLayoutCore(LayoutGraph graph)
CanonicMultiStageLayouter
doLayoutCore
in class CanonicMultiStageLayouter
public void doLayout(LayoutGraph graph)
CanonicMultiStageLayouter
doLayout
in interface Layouter
doLayout
in class CanonicMultiStageLayouter
|
© Copyright 2000-2013, yWorks GmbH. All rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |