Class GraphTreeLayout
java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.layouters.tree_simple.GraphTreeLayout
- All Implemented Interfaces:
UndoableEdit,Algorithm
public class GraphTreeLayout extends AbstractAlgorithm
An implementation of a tree layout algorithm.
- Author:
- Joerg Bartelheimer
-
Constructor Summary
Constructors Constructor Description GraphTreeLayout()Constructs a new GraphTreeLayout algorithm instance. -
Method Summary
Modifier and Type Method Description voidcheck()Checks whether all preconditions of the current graph are satisfied.voidcomputeAppropriateDepth(Node startNode)Initialize the appropriate level of each nodevoidexecute()Executes the whole algorithm.StringgetCategory()Returns the category an algorithm should assigned to.StringgetName()Returns the name (ID) of the algorithm.Parameter[]getParameters()Returns a list ofParameterthat are set for this algorithm.Set<Category>getSetCategory()Returns a set of categories to classify this algorithm .booleanisLayoutAlgorithm()A LayoutAlgorithm should return true.booleanrootedTree(Node rootNode)Check whether the tree is rooted.voidsetParameters(Parameter[] params)Sets the parameters for this algorithm.Methods inherited from class org.graffiti.plugin.algorithm.AbstractAlgorithm
addEdit, attach, canRedo, canUndo, die, doesUndo, getAcceleratorKeyStroke, getActionEvent, getDescription, getMenuCategory, getPresentationName, getRedoPresentationName, getUndoPresentationName, isAlwaysExecutable, isSignificant, markExecutionDone, markRedoDone, markUndoDone, mayWorkOnMultipleGraphs, redo, replaceEdit, reset, setActionEvent, showMenuIcon, undo
-
Constructor Details
-
GraphTreeLayout
public GraphTreeLayout()Constructs a new GraphTreeLayout algorithm instance.
-
-
Method Details
-
check
Description copied from interface:AlgorithmChecks whether all preconditions of the current graph are satisfied.- Specified by:
checkin interfaceAlgorithm- Overrides:
checkin classAbstractAlgorithm- Throws:
PreconditionException- if the preconditions of the current graph are not satisfied.- See Also:
Algorithm.check()
-
rootedTree
Check whether the tree is rooted. -
computeAppropriateDepth
Initialize the appropriate level of each node -
getParameters
Description copied from interface:AlgorithmReturns a list ofParameterthat are set for this algorithm.- Specified by:
getParametersin interfaceAlgorithm- Overrides:
getParametersin classAbstractAlgorithm- Returns:
- a collection of
Parameterthat are needed by theAlgorithm. - See Also:
Algorithm.getParameters()
-
setParameters
Description copied from interface:AlgorithmSets the parameters for this algorithm. Must have the same types and order as the array returned bygetParameter.- Specified by:
setParametersin interfaceAlgorithm- Overrides:
setParametersin classAbstractAlgorithm- Parameters:
params- Parameter array
-
execute
public void execute()Description copied from interface:AlgorithmExecutes the whole algorithm.- See Also:
The given graph must have at least one node.
-
getName
Description copied from interface:AlgorithmReturns the name (ID) of the algorithm.- Returns:
- DOCUMENT ME!
- See Also:
Algorithm.getName()
-
getCategory
Description copied from interface:AlgorithmReturns the category an algorithm should assigned to. Return NULL if the algorithm should be sorted directly in the plugin menu.- Specified by:
getCategoryin interfaceAlgorithm- Overrides:
getCategoryin classAbstractAlgorithm- Returns:
- The category an algorithm should assigned to.
-
getSetCategory
Description copied from interface:AlgorithmReturns a set of categories to classify this algorithm . e.g. return new HashSet(Arrays.asList( Category.GRAPH, Category.NODE )); is an algorithm, working on graphs and more specific on nodes - Specified by:
getSetCategoryin interfaceAlgorithm- Overrides:
getSetCategoryin classAbstractAlgorithm- Returns:
- Set of Category Enums that classify this algorithm.
-
isLayoutAlgorithm
public boolean isLayoutAlgorithm()Description copied from interface:AlgorithmA LayoutAlgorithm should return true. All other types of algorithms should return false.- Specified by:
isLayoutAlgorithmin interfaceAlgorithm- Overrides:
isLayoutAlgorithmin classAbstractAlgorithm- Returns:
-