Class ListenableLayoutModel2D<V>

java.lang.Object
org.jgrapht.alg.drawing.model.ListenableLayoutModel2D<V>
Type Parameters:
V - the vertex type
All Implemented Interfaces:
Iterable<Map.Entry<V,Point2D>>, LayoutModel2D<V>

public class ListenableLayoutModel2D<V> extends Object implements LayoutModel2D<V>
A layout model wrapper which adds support for listeners.
Author:
Dimitrios Michail
  • Field Details

  • Constructor Details

    • ListenableLayoutModel2D

      public ListenableLayoutModel2D(LayoutModel2D<V> model)
      Create a new model
      Parameters:
      model - the underlying layout model
  • Method Details

    • getDrawableArea

      public Box2D getDrawableArea()
      Description copied from interface: LayoutModel2D
      Get the drawable area of the model.
      Specified by:
      getDrawableArea in interface LayoutModel2D<V>
      Returns:
      the drawable area of the model
    • setDrawableArea

      public void setDrawableArea(Box2D drawableArea)
      Description copied from interface: LayoutModel2D
      Set the drawable area of the model.
      Specified by:
      setDrawableArea in interface LayoutModel2D<V>
      Parameters:
      drawableArea - the drawable area to use
    • iterator

      public Iterator<Map.Entry<V,Point2D>> iterator()
      Description copied from interface: LayoutModel2D
      Get an iterator with all vertices' locations. May return an empty iterator if the model does not store locations.
      Specified by:
      iterator in interface Iterable<V>
      Specified by:
      iterator in interface LayoutModel2D<V>
      Returns:
      an iterator which returns all vertices with their locations. May return an empty iterator if the model does not store locations.
    • get

      public Point2D get(V vertex)
      Description copied from interface: LayoutModel2D
      Get the last location of a particular vertex in the model. May return null if the vertex has not been assigned a location or if the particular implementation does not store the coordinates.
      Specified by:
      get in interface LayoutModel2D<V>
      Parameters:
      vertex - the graph vertex
      Returns:
      the last location of the vertex
    • put

      public Point2D put(V vertex, Point2D point)
      Description copied from interface: LayoutModel2D
      Set the location of a vertex.
      Specified by:
      put in interface LayoutModel2D<V>
      Parameters:
      vertex - the graph vertex
      point - the location
      Returns:
      the previous location or null if the vertex did not have a previous location or if the model does not store locations
    • setFixed

      public void setFixed(V vertex, boolean fixed)
      Description copied from interface: LayoutModel2D
      Set a point as being a "fixed-point" or not. It is the model's responsibility to make sure that changing the coordinates of a fixed point by calling LayoutModel2D.put(Object, Point2D) has no effect.
      Specified by:
      setFixed in interface LayoutModel2D<V>
      Parameters:
      vertex - a vertex
      fixed - whether it is a fixed point or not.
    • isFixed

      public boolean isFixed(V vertex)
      Description copied from interface: LayoutModel2D
      Check whether a vertex is a fixed point. It is the model's responsibility to make sure that changing the coordinates of a fixed point by calling LayoutModel2D.put(Object, Point2D) has no effect.
      Specified by:
      isFixed in interface LayoutModel2D<V>
      Parameters:
      vertex - the vertex
      Returns:
      true if a fixed point, false otherwise
    • addListener

      public BiConsumer<V,Point2D> addListener(BiConsumer<V,Point2D> listener)
      Add a new listener.
      Parameters:
      listener - the listener to add
      Returns:
      the newly added listener
    • removeListener

      public boolean removeListener(BiConsumer<V,Point2D> listener)
      Remove a listener.
      Parameters:
      listener - the listener to remove
      Returns:
      true if the listener was removed, false otherwise
    • notifyListeners

      protected void notifyListeners(V vertex, Point2D point)
      Notify all registered listeners.
      Parameters:
      vertex - the vertex
      point - the vertex location