Class AbstractLayoutTask

java.lang.Object
org.cytoscape.work.AbstractTask
org.cytoscape.view.layout.AbstractLayoutTask
All Implemented Interfaces:
Task
Direct Known Subclasses:
AbstractPartitionLayoutTask

public abstract class AbstractLayoutTask extends AbstractTask
This is a basic implementation of a LayoutAlgorithm Task that does some bookkeeping, but primarily delegates to the doLayout() method. Extensions of this class are meant to operate on the CyNetworkView provided to the constructor (and is available as a protected member variable).

Cytoscape Backwards Compatibility (Abstract Class): This class is abstract and meant to be extended by users. This means that we may add methods for minor version updates. Methods will only be removed for major version updates.

Module: layout-api

To use this in your app, include the following dependency in your POM:

<dependency>
    <groupId>org.cytoscape</groupId>
    <artifactId>layout-api</artifactId>
</dependency>
  • Field Details

    • LAYOUT_ALGORITHM

      protected static final String LAYOUT_ALGORITHM
      The table column name that provides the layout algorithm name.
      See Also:
    • networkView

      protected final CyNetworkView networkView
      The network view that the layout will be applied to.
    • nodesToLayOut

      protected final Set<View<CyNode>> nodesToLayOut
      The node views that will be laid out by the algorithm.
    • layoutAttribute

      protected final String layoutAttribute
      The attribute to be used for this layout. May be null and/or ignored.
    • undo

      protected final UndoSupport undo
      Undo support for the task.
    • recenter

      protected boolean recenter
      Determines whether the resulting set of nodes should be moved back to their original centroid after being laid out.
  • Constructor Details

    • AbstractLayoutTask

      public AbstractLayoutTask(String displayName, CyNetworkView networkView, Set<View<CyNode>> nodesToLayOut, String layoutAttribute, UndoSupport undo)
      Constructor.
      Parameters:
      displayName - The name of the layout algorithm.
      networkView - The network view that the layout algorithm will be applied to.
      nodesToLayOut - The set of nodes to be laid out.
      layoutAttribute - The name of the attribute to use for the layout. May be null or empty.
  • Method Details

    • run

      public final void run(TaskMonitor taskMonitor)
      This method is called when the Task begins execution. This method should not be called by the programmer, as it will be called by the TaskManager.
      Specified by:
      run in interface Task
      Specified by:
      run in class AbstractTask
      Parameters:
      taskMonitor - The TaskMonitor provided by TaskManager. to allow the Task to modify its user interface.
    • doLayout

      protected abstract void doLayout(TaskMonitor taskMonitor)
      This method is designed to actually encapsulate the layout algorithm. It will be called from within the run() method of the task.
      Parameters:
      taskMonitor - Provided to allow updates to the task status.