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)
void
attach(Graph g, Selection selection)
Attaches the given graph to this algorithm.static int
calcNodeDifferenceDistance(Node n, Node layoutedNode)
void
check()
Checks whether all preconditions of the current graph are satisfied.void
execute()
Executes the whole algorithm.KeyStroke
getAcceleratorKeyStroke()
Override this method to provide a accelerator hot key for the algorithm.ActionEvent
getActionEvent()
String
getCategory()
Returns the category an algorithm should assigned to.String
getDescription()
String
getMenuCategory()
Returns a path to a menu category.String
getName()
Returns the name (ID) of the algorithm.Parameter[]
getParameters()
Returns a list ofParameter
that are set for this algorithm.Set<Category>
getSetCategory()
Returns a set of categories to classify this algorithm .boolean
isLayoutAlgorithm()
A LayoutAlgorithm should return true.boolean
mayWorkOnMultipleGraphs()
void
reset()
Resets the internal state of the algorithm.void
setActionEvent(ActionEvent a)
void
setParameters(Parameter[] params)
Sets the parameters for this algorithm.boolean
showMenuIcon()
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:Algorithm
Returns the name (ID) of the algorithm. -
setParameters
Description copied from interface:Algorithm
Sets the parameters for this algorithm. Must have the same types and order as the array returned bygetParameter
.- Specified by:
setParameters
in interfaceAlgorithm
-
getParameters
Description copied from interface:Algorithm
Returns a list ofParameter
that are set for this algorithm.- Specified by:
getParameters
in interfaceAlgorithm
- Returns:
- a collection of
Parameter
that are needed by theAlgorithm
.
-
attach
Description copied from interface:Algorithm
Attaches the given graph to this algorithm. A ttaches the given Selection information to the algorithm. -
check
Description copied from interface:Algorithm
Checks whether all preconditions of the current graph are satisfied.- Specified by:
check
in interfaceAlgorithm
- Throws:
PreconditionException
- if the preconditions of the current graph are not satisfied.
-
execute
public void execute()Description copied from interface:Algorithm
Executes 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:Algorithm
Resets the internal state of the algorithm. -
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
- 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
- Returns:
- Set of Category Enums that classify this algorithm.
-
getMenuCategory
Description copied from interface:Algorithm
Returns 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:
getMenuCategory
in interfaceAlgorithm
- Returns:
-
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
- Returns:
-
showMenuIcon
public boolean showMenuIcon()Description copied from interface:Algorithm
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.- Specified by:
showMenuIcon
in 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:Algorithm
Override this method to provide a accelerator hot key for the algorithm.- Specified by:
getAcceleratorKeyStroke
in interfaceAlgorithm
- Returns:
- NULL (default) if no accelerator should be assigned for this algorithm.
-
getDescription
- Specified by:
getDescription
in interfaceAlgorithm
-
getActionEvent
- Specified by:
getActionEvent
in interfaceAlgorithm
-
setActionEvent
- Specified by:
setActionEvent
in interfaceAlgorithm
-
mayWorkOnMultipleGraphs
public boolean mayWorkOnMultipleGraphs()- Specified by:
mayWorkOnMultipleGraphs
in interfaceAlgorithm
-