Class NoOverlappLayoutAlgorithm
java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.layouters.expand_no_overlapp.NoOverlappLayoutAlgorithm
- All Implemented Interfaces:
UndoableEdit
,Algorithm
public class NoOverlappLayoutAlgorithm extends AbstractAlgorithm
Epands the layout to remove any overlapping of nodes.
- Author:
- Christian Klukas
-
Constructor Summary
Constructors Constructor Description NoOverlappLayoutAlgorithm()
NoOverlappLayoutAlgorithm(int space, boolean doFirstX, boolean doFirstY, boolean doXY)
-
Method Summary
Modifier and Type Method Description void
check()
Checks, if a graph was given and that the radius is positive.void
execute()
Performs the layout.String
getCategory()
Returns the category an algorithm should assigned to.String
getDescription()
The algorithm description.String
getName()
Returns the name (ID) of the algorithm.Parameter[]
getParameters()
Returns the parameter object for the radius.Set<Category>
getSetCategory()
Returns a set of categories to classify this algorithm .boolean
isLayoutAlgorithm()
A LayoutAlgorithm should return true.void
reset()
Resets the internal state of the algorithm.void
setParameters(Parameter[] params)
Sets the radius parameter to the given value.Methods inherited from class org.graffiti.plugin.algorithm.AbstractAlgorithm
addEdit, attach, canRedo, canUndo, die, doesUndo, getAcceleratorKeyStroke, getActionEvent, getMenuCategory, getPresentationName, getRedoPresentationName, getUndoPresentationName, isAlwaysExecutable, isSignificant, markExecutionDone, markRedoDone, markUndoDone, mayWorkOnMultipleGraphs, redo, replaceEdit, setActionEvent, showMenuIcon, undo
-
Constructor Details
-
NoOverlappLayoutAlgorithm
public NoOverlappLayoutAlgorithm() -
NoOverlappLayoutAlgorithm
public NoOverlappLayoutAlgorithm(int space, boolean doFirstX, boolean doFirstY, boolean doXY)
-
-
Method Details
-
reset
public void reset()Description copied from interface:Algorithm
Resets the internal state of the algorithm.- Specified by:
reset
in interfaceAlgorithm
- Overrides:
reset
in classAbstractAlgorithm
-
getName
Description copied from interface:Algorithm
Returns the name (ID) of the algorithm.- Returns:
- DOCUMENT ME!
-
getDescription
Description copied from class:AbstractAlgorithm
The algorithm description.- Specified by:
getDescription
in interfaceAlgorithm
- Overrides:
getDescription
in classAbstractAlgorithm
- Returns:
- String, could be HTML-styled.
-
check
Checks, if a graph was given and that the radius is positive.- Specified by:
check
in interfaceAlgorithm
- Overrides:
check
in classAbstractAlgorithm
- Throws:
PreconditionException
- if no graph was given during algorithm invocation or the radius is negative
-
execute
public void execute()Performs the layout. -
getParameters
Returns the parameter object for the radius.- Specified by:
getParameters
in interfaceAlgorithm
- Overrides:
getParameters
in classAbstractAlgorithm
- Returns:
- the parameter array
-
setParameters
Sets the radius parameter to the given value.- Specified by:
setParameters
in interfaceAlgorithm
- Overrides:
setParameters
in classAbstractAlgorithm
- Parameters:
params
- An array with exact one DoubleParameter.
-
getCategory
Description copied from interface:Algorithm
Returns the category an algorithm should assigned to. Return NULL if the algorithm should be sorted directly in the plugin menu.- Specified by:
getCategory
in interfaceAlgorithm
- Overrides:
getCategory
in classAbstractAlgorithm
- Returns:
- The category an algorithm should assigned to.
-
getSetCategory
Description copied from interface:Algorithm
Returns 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:
getSetCategory
in interfaceAlgorithm
- Overrides:
getSetCategory
in classAbstractAlgorithm
- Returns:
- Set of Category Enums that classify this algorithm.
-
isLayoutAlgorithm
public boolean isLayoutAlgorithm()Description copied from interface:Algorithm
A LayoutAlgorithm should return true. All other types of algorithms should return false.- Specified by:
isLayoutAlgorithm
in interfaceAlgorithm
- Overrides:
isLayoutAlgorithm
in classAbstractAlgorithm
- Returns:
-