Class NumberNodesAndEdgesAlgorithm
java.lang.Object
org.graffiti.plugin.algorithm.AbstractAlgorithm
de.ipk_gatersleben.ag_nw.graffiti.plugins.misc.graph_cleanup.NumberNodesAndEdgesAlgorithm
- All Implemented Interfaces:
UndoableEdit
,Algorithm
,ProvidesEdgeContextMenu
,ProvidesNodeContextMenu
public class NumberNodesAndEdgesAlgorithm extends AbstractAlgorithm implements ProvidesEdgeContextMenu, ProvidesNodeContextMenu
Labels all selected nodes with unique numbers. Does not touch existing
labels.
-
Constructor Summary
Constructors Constructor Description NumberNodesAndEdgesAlgorithm()
Constructs a new instance. -
Method Summary
Modifier and Type Method Description void
attach(Graph g, Selection s)
Attaches the given graph to this algorithm.void
check()
Checks whether all preconditions of the current graph are satisfied.void
execute()
Executes the whole algorithm.String
getCategory()
Returns the category an algorithm should assigned to.JMenuItem[]
getCurrentEdgeContextMenuItem(Collection<Edge> selectedEdges)
This method should be implemented, as that it returns the desired Context-MenuItem for the Plugin.JMenuItem[]
getCurrentNodeContextMenuItem(Collection<Node> selectedNodes)
This method should be implemented, as that it returns the desired Context-MenuItem for the Plugin.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.void
reset()
Resets the internal state of the algorithm.void
setParameters(Parameter[] params)
Sets the parameters for this algorithm.Methods inherited from class org.graffiti.plugin.algorithm.AbstractAlgorithm
addEdit, canRedo, canUndo, die, doesUndo, getAcceleratorKeyStroke, getActionEvent, getDescription, getMenuCategory, getPresentationName, getRedoPresentationName, getUndoPresentationName, isAlwaysExecutable, isSignificant, markExecutionDone, markRedoDone, markUndoDone, mayWorkOnMultipleGraphs, redo, replaceEdit, setActionEvent, showMenuIcon, undo
-
Constructor Details
-
NumberNodesAndEdgesAlgorithm
public NumberNodesAndEdgesAlgorithm()Constructs a new instance.
-
-
Method Details
-
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.
-
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
- Overrides:
setParameters
in classAbstractAlgorithm
- Parameters:
params
- Parameter array
-
execute
public void execute()Description copied from interface:Algorithm
Executes the whole algorithm.- Specified by:
execute
in interfaceAlgorithm
- See Also:
Algorithm.execute()
-
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
- See Also:
Algorithm.reset()
-
getName
Description copied from interface:Algorithm
Returns the name (ID) of the algorithm.- Specified by:
getName
in interfaceAlgorithm
- Returns:
- DOCUMENT ME!
- See Also:
Algorithm.getName()
-
getCurrentEdgeContextMenuItem
Description copied from interface:ProvidesEdgeContextMenu
This method should be implemented, as that it returns the desired Context-MenuItem for the Plugin. It will be added on the fly to a newly created context menu, when the user right-clicks an EditorFrame. The plugin should implement the InterfaceSelectionListener
if the menu item should be variable to the current selection. You could also return a MenuItem that contains a subMenu.- Specified by:
getCurrentEdgeContextMenuItem
in interfaceProvidesEdgeContextMenu
- Returns:
MenuItem
the menu item for the context menu
-
getParameters
Description copied from interface:Algorithm
Returns a list ofParameter
that are set for this algorithm.- Specified by:
getParameters
in interfaceAlgorithm
- Overrides:
getParameters
in classAbstractAlgorithm
- 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.- Specified by:
attach
in interfaceAlgorithm
- Overrides:
attach
in classAbstractAlgorithm
- Parameters:
g
- the graph to attach.s
- the selection to attach.
-
check
public void check()Description copied from interface:Algorithm
Checks whether all preconditions of the current graph are satisfied.- Specified by:
check
in interfaceAlgorithm
- Overrides:
check
in classAbstractAlgorithm
-
getCurrentNodeContextMenuItem
Description copied from interface:ProvidesNodeContextMenu
This method should be implemented, as that it returns the desired Context-MenuItem for the Plugin. It will be added on the fly to a newly created context menu, when the user right-clicks an EditorFrame. The plugin should implement the InterfaceSelectionListener
if the menu item should be variable to the current selection. You could also return a MenuItem that contains a subMenu.- Specified by:
getCurrentNodeContextMenuItem
in interfaceProvidesNodeContextMenu
- Returns:
MenuItem
the menu item for the context menu
-
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:
-