Class ApplyGraphLayout
java.lang.Object
de.ipk_gatersleben.ag_nw.graffiti.plugins.layouters.apply_from_graph.ApplyGraphLayout
- All Implemented Interfaces:
Algorithm
public class ApplyGraphLayout extends Object implements Algorithm
-
Constructor Summary
Constructors Constructor Description ApplyGraphLayout() -
Method Summary
Modifier and Type Method Description static ArrayList<Node>applyLayoutFromGraphToGraph(Selection s, Graph g, Graph layoutedGraph, String commandName, boolean considerEdgeLayout)voidattach(Graph g, Selection selection)Attaches the given graph to this algorithm.static intcalcNodeDifferenceDistance(Node n, Node layoutedNode)voidcheck()Checks whether all preconditions of the current graph are satisfied.voidexecute()Executes the whole algorithm.KeyStrokegetAcceleratorKeyStroke()Override this method to provide a accelerator hot key for the algorithm.ActionEventgetActionEvent()StringgetCategory()Returns the category an algorithm should assigned to.StringgetDescription()StringgetMenuCategory()Returns a path to a menu category.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.booleanmayWorkOnMultipleGraphs()voidreset()Resets the internal state of the algorithm.voidsetActionEvent(ActionEvent a)voidsetParameters(Parameter[] params)Sets the parameters for this algorithm.booleanshowMenuIcon()Override this method to give a different look and feel to the application, and to put the plugin icon next to the menu item in the main menu bar.
-
Constructor Details
-
ApplyGraphLayout
public ApplyGraphLayout()
-
-
Method Details
-
getName
Description copied from interface:AlgorithmReturns the name (ID) of the algorithm. -
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
-
getParameters
Description copied from interface:AlgorithmReturns a list ofParameterthat are set for this algorithm.- Specified by:
getParametersin interfaceAlgorithm- Returns:
- a collection of
Parameterthat are needed by theAlgorithm.
-
attach
Description copied from interface:AlgorithmAttaches the given graph to this algorithm. A ttaches the given Selection information to the algorithm. -
check
Description copied from interface:AlgorithmChecks whether all preconditions of the current graph are satisfied.- Specified by:
checkin interfaceAlgorithm- Throws:
PreconditionException- if the preconditions of the current graph are not satisfied.
-
execute
public void execute()Description copied from interface:AlgorithmExecutes the whole algorithm. -
applyLayoutFromGraphToGraph
public static ArrayList<Node> applyLayoutFromGraphToGraph(Selection s, Graph g, Graph layoutedGraph, String commandName, boolean considerEdgeLayout)- Parameters:
layoutedGraph-- Returns:
- Nodes which are not relayouted, because they could not be found in the layouted graph
-
calcNodeDifferenceDistance
-
reset
public void reset()Description copied from interface:AlgorithmResets the internal state of the algorithm. -
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- 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- Returns:
- Set of Category Enums that classify this algorithm.
-
getMenuCategory
Description copied from interface:AlgorithmReturns a path to a menu category. This is s '.' separated string which reflects the position of this Algorithm in the Menu Hierarchy e.g. "Network.Layout" would put this algorithm in the menu 'Network' and its submenu 'Layout' If this menu is not existent it will be created If this method returns 'null' the algorithm will not appear in the menu- Specified by:
getMenuCategoryin interfaceAlgorithm- Returns:
-
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- Returns:
-
showMenuIcon
public boolean showMenuIcon()Description copied from interface:AlgorithmOverride this method to give a different look and feel to the application, and to put the plugin icon next to the menu item in the main menu bar.- Specified by:
showMenuIconin interfaceAlgorithm- Returns:
- True, if the plugin icon should be shown next to the menu item. Return FALSE (default!), if no icon should be shown in the menu.
-
getAcceleratorKeyStroke
Description copied from interface:AlgorithmOverride this method to provide a accelerator hot key for the algorithm.- Specified by:
getAcceleratorKeyStrokein interfaceAlgorithm- Returns:
- NULL (default) if no accelerator should be assigned for this algorithm.
-
getDescription
- Specified by:
getDescriptionin interfaceAlgorithm
-
getActionEvent
- Specified by:
getActionEventin interfaceAlgorithm
-
setActionEvent
- Specified by:
setActionEventin interfaceAlgorithm
-
mayWorkOnMultipleGraphs
public boolean mayWorkOnMultipleGraphs()- Specified by:
mayWorkOnMultipleGraphsin interfaceAlgorithm
-