Class AbstractLayoutAlgorithm.Zest1
java.lang.Object
org.eclipse.zest.layouts.algorithms.AbstractLayoutAlgorithm.Zest1
- All Implemented Interfaces:
LayoutAlgorithm
,LayoutAlgorithm.Zest1
,Stoppable
- Direct Known Subclasses:
CompositeLayoutAlgorithm.Zest1
,ContinuousLayoutAlgorithm
,DirectedGraphLayoutAlgorithm.Zest1
,GridLayoutAlgorithm.Zest1
,HorizontalShift
,TreeLayoutAlgorithm.Zest1
- Enclosing class:
AbstractLayoutAlgorithm
@Deprecated(since="2.0",
forRemoval=true)
public abstract static class AbstractLayoutAlgorithm.Zest1
extends Object
implements LayoutAlgorithm.Zest1, Stoppable
Deprecated, for removal: This API element is subject to removal in a future version.
No longer used in Zest 2.x. This class will be removed in a
future release.
- Since:
- 2.0
- @noextend
- This class is not intended to be subclassed by clients.
- @noreference
- This class is not intended to be referenced by clients.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.zest.layouts.LayoutAlgorithm
LayoutAlgorithm.Zest1
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Comparator
Deprecated, for removal: This API element is subject to removal in a future version.protected Filter
Deprecated, for removal: This API element is subject to removal in a future version.protected boolean
Deprecated, for removal: This API element is subject to removal in a future version.protected boolean
Deprecated, for removal: This API element is subject to removal in a future version.protected int
Deprecated, for removal: This API element is subject to removal in a future version.protected boolean
Deprecated, for removal: This API element is subject to removal in a future version.static final int
Deprecated, for removal: This API element is subject to removal in a future version.protected boolean
Deprecated, for removal: This API element is subject to removal in a future version. -
Constructor Summary
ConstructorsConstructorDescriptionZest1
(int styles) Deprecated, for removal: This API element is subject to removal in a future version.Initializes the abstract layout algorithm. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addEntity
(LayoutEntity entity) Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given entity (if it isn't in the list) to be added to the algorithm.void
addProgressListener
(ProgressListener listener) Deprecated, for removal: This API element is subject to removal in a future version.A layout algorithm could take an uncomfortable amout of time to complete.void
addRelationship
(LayoutRelationship relationship) Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given relationshp (if it isn't in the list) to be added to the algorithm.void
applyLayout
(boolean clean) Deprecated, for removal: This API element is subject to removal in a future version.Makes this algorithm perform layout computation and apply it to its context.void
applyLayout
(LayoutEntity[] entitiesToLayout, LayoutRelationship[] relationshipsToConsider, double x, double y, double width, double height, boolean asynchronous, boolean continuous) Deprecated, for removal: This API element is subject to removal in a future version.This actually applies the layoutprotected abstract void
applyLayoutInternal
(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider, double boundsX, double boundsY, double boundsWidth, double boundsHeight) Deprecated, for removal: This API element is subject to removal in a future version.Apply the layout to the given entities.protected void
defaultFitWithinBounds
(InternalNode[] entitiesToLayout, DisplayIndependentRectangle realBounds) Deprecated, for removal: This API element is subject to removal in a future version.Find an appropriate size for the given nodes, then fit them into the given bounds.protected void
defaultFitWithinBounds
(InternalNode[] entitiesToLayout, InternalRelationship[] relationships, DisplayIndependentRectangle realBounds) Deprecated, for removal: This API element is subject to removal in a future version.Find an appropriate size for the given nodes, then fit them into the given bounds.protected void
fireProgressEnded
(int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version.protected void
fireProgressEvent
(int currentStep, int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version.Fires an event to notify all of the registered ProgressListeners that another step has been completed in the algorithm.protected void
fireProgressStarted
(int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version.protected void
fireProgressUpdated
(int currentStep, int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version.protected abstract int
Deprecated, for removal: This API element is subject to removal in a future version.Gets the current layout stepdouble
Deprecated, for removal: This API element is subject to removal in a future version.Returns the width to height ratio this layout will use to set the size of the entities.protected DisplayIndependentRectangle
getLayoutBounds
(InternalNode[] entitiesToLayout, boolean includeNodeSize) Deprecated, for removal: This API element is subject to removal in a future version.Find the bounds in which the nodes are located.protected DisplayIndependentPoint
getLocalLocation
(InternalNode[] entitiesToLayout, double x, double y, DisplayIndependentRectangle realBounds) Deprecated, for removal: This API element is subject to removal in a future version.Gets the location in the layout bounds for this nodeprotected int
Deprecated, for removal: This API element is subject to removal in a future version.int
getStyle()
Deprecated, for removal: This API element is subject to removal in a future version.Gets the current layout styleprotected abstract int
Deprecated, for removal: This API element is subject to removal in a future version.Gets the total number of steps in this layoutboolean
Deprecated, for removal: This API element is subject to removal in a future version.Returns true if the layout algorithm is runningprotected abstract boolean
isValidConfiguration
(boolean asynchronous, boolean continuous) Deprecated, for removal: This API element is subject to removal in a future version.Determines if the configuration is valid for this layoutprotected abstract void
postLayoutAlgorithm
(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider) Deprecated, for removal: This API element is subject to removal in a future version.Code called after the layout algorithm endsprotected abstract void
preLayoutAlgorithm
(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider, double x, double y, double width, double height) Deprecated, for removal: This API element is subject to removal in a future version.Code called before the layout algorithm startsvoid
removeEntity
(LayoutEntity entity) Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given entity to be removed from the algorithm next time it runs.void
removeProgressListener
(ProgressListener listener) Deprecated, for removal: This API element is subject to removal in a future version.Removes the given progress listener, preventing it from receiving any more updates.void
removeRelationship
(LayoutRelationship relationship) Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given relationship to be removed from the algorithm next time it runs.void
removeRelationships
(Collection<? extends LayoutRelationship> collection) Deprecated, for removal: This API element is subject to removal in a future version.void
removeRelationships
(List<? extends LayoutRelationship> relationships) Deprecated, for removal: This API element is subject to removal in a future version.Queues up all the relationships in the list to be removed.void
setComparator
(Comparator comparator) Deprecated, for removal: This API element is subject to removal in a future version.Determines the order in which the objects should be displayed.void
setEntityAspectRatio
(double ratio) Deprecated, for removal: This API element is subject to removal in a future version.Set the width to height ratio you want the entities to usevoid
Deprecated, for removal: This API element is subject to removal in a future version.Filters the entities and relationships to apply the layout onabstract void
setLayoutArea
(double x, double y, double width, double height) Deprecated, for removal: This API element is subject to removal in a future version.void
setLayoutContext
(LayoutContext context) Deprecated, for removal: This API element is subject to removal in a future version.Sets the layout context for this algorithm.void
setStyle
(int style) Deprecated, for removal: This API element is subject to removal in a future version.Sets the current layout style.void
stop()
Deprecated, for removal: This API element is subject to removal in a future version.Stops the current layout from running.protected void
updateBendPoints
(InternalRelationship[] relationshipsToConsider) Deprecated, for removal: This API element is subject to removal in a future version.Update external bend points from the internal bendpoints list.protected InternalNode[]
updateEntities
(InternalNode[] entities) Deprecated, for removal: This API element is subject to removal in a future version.Updates the given array of entities checking if any need to be removed or added.protected void
updateLayoutLocations
(InternalNode[] nodes) Deprecated, for removal: This API element is subject to removal in a future version.Updates the layout locations so the external nodes know about the new locationsprotected InternalRelationship[]
updateRelationships
(InternalRelationship[] relationships) Deprecated, for removal: This API element is subject to removal in a future version.Updates the given array of relationships checking if any need to be removed or added.static boolean
verifyInput
(LayoutEntity[] entitiesToLayout, LayoutRelationship[] relationshipsToConsider) Deprecated, for removal: This API element is subject to removal in a future version.Verifies the endpoints of the relationships are entities in the entitiesToLayout list.
-
Field Details
-
MIN_ENTITY_SIZE
public static final int MIN_ENTITY_SIZEDeprecated, for removal: This API element is subject to removal in a future version.- See Also:
-
comparator
Deprecated, for removal: This API element is subject to removal in a future version. -
filter
Deprecated, for removal: This API element is subject to removal in a future version. -
internalContinuous
protected boolean internalContinuousDeprecated, for removal: This API element is subject to removal in a future version. -
internalAsynchronous
protected boolean internalAsynchronousDeprecated, for removal: This API element is subject to removal in a future version. -
layoutStopped
protected boolean layoutStoppedDeprecated, for removal: This API element is subject to removal in a future version. -
layout_styles
protected int layout_stylesDeprecated, for removal: This API element is subject to removal in a future version. -
resizeEntitiesAfterLayout
protected boolean resizeEntitiesAfterLayoutDeprecated, for removal: This API element is subject to removal in a future version.
-
-
Constructor Details
-
Zest1
public Zest1(int styles) Deprecated, for removal: This API element is subject to removal in a future version.Initializes the abstract layout algorithm.- See Also:
-
-
Method Details
-
removeRelationships
Deprecated, for removal: This API element is subject to removal in a future version. -
addEntity
Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given entity (if it isn't in the list) to be added to the algorithm.- Specified by:
addEntity
in interfaceLayoutAlgorithm.Zest1
- Parameters:
entity
-
-
addRelationship
Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given relationshp (if it isn't in the list) to be added to the algorithm.- Specified by:
addRelationship
in interfaceLayoutAlgorithm.Zest1
- Parameters:
relationship
-
-
removeEntity
Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given entity to be removed from the algorithm next time it runs.- Specified by:
removeEntity
in interfaceLayoutAlgorithm.Zest1
- Parameters:
entity
- The entity to remove
-
removeRelationship
Deprecated, for removal: This API element is subject to removal in a future version.Queues up the given relationship to be removed from the algorithm next time it runs.- Specified by:
removeRelationship
in interfaceLayoutAlgorithm.Zest1
- Parameters:
relationship
- The relationship to remove.
-
removeRelationships
Deprecated, for removal: This API element is subject to removal in a future version.Queues up all the relationships in the list to be removed.- Specified by:
removeRelationships
in interfaceLayoutAlgorithm.Zest1
- Parameters:
relationships
-
-
setStyle
public void setStyle(int style) Deprecated, for removal: This API element is subject to removal in a future version.Sets the current layout style. This overwrites all other layout styles. Use getStyle to get the current style.- Specified by:
setStyle
in interfaceLayoutAlgorithm.Zest1
- Parameters:
style
-
-
getStyle
public int getStyle()Deprecated, for removal: This API element is subject to removal in a future version.Gets the current layout style- Specified by:
getStyle
in interfaceLayoutAlgorithm.Zest1
- Returns:
- the layout styles for this layout
-
setLayoutArea
public abstract void setLayoutArea(double x, double y, double width, double height) Deprecated, for removal: This API element is subject to removal in a future version. -
isValidConfiguration
protected abstract boolean isValidConfiguration(boolean asynchronous, boolean continuous) Deprecated, for removal: This API element is subject to removal in a future version.Determines if the configuration is valid for this layout- Parameters:
asynchronous
-continuous
-
-
applyLayoutInternal
protected abstract void applyLayoutInternal(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider, double boundsX, double boundsY, double boundsWidth, double boundsHeight) Deprecated, for removal: This API element is subject to removal in a future version.Apply the layout to the given entities. The entities will be moved and resized based on the algorithm.- Parameters:
entitiesToLayout
- Apply the algorithm to these entitiesrelationshipsToConsider
- Only consider these relationships when applying the algorithm.boundsX
- The left side of the bounds in which the layout can place the entities.boundsY
- The top side of the bounds in which the layout can place the entities.boundsWidth
- The width of the bounds in which the layout can place the entities.boundsHeight
- The height of the bounds in which the layout can place the entities.
-
updateEntities
Deprecated, for removal: This API element is subject to removal in a future version.Updates the given array of entities checking if any need to be removed or added.- Parameters:
entities
- the current entities- Returns:
- the updated entities array
-
updateRelationships
Deprecated, for removal: This API element is subject to removal in a future version.Updates the given array of relationships checking if any need to be removed or added. Also updates the original array of relationships.- Parameters:
relationships
- the current relationships- Returns:
- the update relationships array
-
isRunning
public boolean isRunning()Deprecated, for removal: This API element is subject to removal in a future version.Returns true if the layout algorithm is running- Specified by:
isRunning
in interfaceLayoutAlgorithm.Zest1
- Returns:
- boolean if the layout algorithm is running
-
stop
public void stop()Deprecated, for removal: This API element is subject to removal in a future version.Stops the current layout from running. All layout algorithms should constantly check isLayoutRunning- Specified by:
stop
in interfaceLayoutAlgorithm.Zest1
- Specified by:
stop
in interfaceStoppable
-
preLayoutAlgorithm
protected abstract void preLayoutAlgorithm(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider, double x, double y, double width, double height) Deprecated, for removal: This API element is subject to removal in a future version.Code called before the layout algorithm starts -
postLayoutAlgorithm
protected abstract void postLayoutAlgorithm(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider) Deprecated, for removal: This API element is subject to removal in a future version.Code called after the layout algorithm ends -
getTotalNumberOfLayoutSteps
protected abstract int getTotalNumberOfLayoutSteps()Deprecated, for removal: This API element is subject to removal in a future version.Gets the total number of steps in this layout -
getCurrentLayoutStep
protected abstract int getCurrentLayoutStep()Deprecated, for removal: This API element is subject to removal in a future version.Gets the current layout step -
applyLayout
public void applyLayout(LayoutEntity[] entitiesToLayout, LayoutRelationship[] relationshipsToConsider, double x, double y, double width, double height, boolean asynchronous, boolean continuous) throws InvalidLayoutConfiguration Deprecated, for removal: This API element is subject to removal in a future version.This actually applies the layout- Specified by:
applyLayout
in interfaceLayoutAlgorithm.Zest1
- Parameters:
entitiesToLayout
- Apply the algorithm to these entitiesrelationshipsToConsider
- Only consider these relationships when applying the algorithm.x
- The left side of the bounds in which the layout can place the entities.y
- The top side of the bounds in which the layout can place the entities.width
- The width of the bounds in which the layout can place the entities.height
- The height of the bounds in which the layout can place the entities.asynchronous
- Should the algorithm run Asynchronously- Throws:
InvalidLayoutConfiguration
-
updateBendPoints
Deprecated, for removal: This API element is subject to removal in a future version.Update external bend points from the internal bendpoints list. Save the source and destination points for later use in scaling and translating- Parameters:
relationshipsToConsider
-
-
setFilter
Deprecated, for removal: This API element is subject to removal in a future version.Filters the entities and relationships to apply the layout on- Specified by:
setFilter
in interfaceLayoutAlgorithm.Zest1
-
setComparator
Deprecated, for removal: This API element is subject to removal in a future version.Determines the order in which the objects should be displayed. Note: Some algorithms force a specific order.- Specified by:
setComparator
in interfaceLayoutAlgorithm.Zest1
-
verifyInput
public static boolean verifyInput(LayoutEntity[] entitiesToLayout, LayoutRelationship[] relationshipsToConsider) Deprecated, for removal: This API element is subject to removal in a future version.Verifies the endpoints of the relationships are entities in the entitiesToLayout list. Allows other classes in this package to use this method to verify the input -
getLocalLocation
protected DisplayIndependentPoint getLocalLocation(InternalNode[] entitiesToLayout, double x, double y, DisplayIndependentRectangle realBounds) Deprecated, for removal: This API element is subject to removal in a future version.Gets the location in the layout bounds for this node- Parameters:
x
-y
-
-
defaultFitWithinBounds
protected void defaultFitWithinBounds(InternalNode[] entitiesToLayout, DisplayIndependentRectangle realBounds) Deprecated, for removal: This API element is subject to removal in a future version.Find an appropriate size for the given nodes, then fit them into the given bounds. The relative locations of the nodes to each other must be preserved. Child classes should set flag reresizeEntitiesAfterLayout to false if they want to preserve node sizes. -
defaultFitWithinBounds
protected void defaultFitWithinBounds(InternalNode[] entitiesToLayout, InternalRelationship[] relationships, DisplayIndependentRectangle realBounds) Deprecated, for removal: This API element is subject to removal in a future version.Find an appropriate size for the given nodes, then fit them into the given bounds. The relative locations of the nodes to each other must be preserved. Child classes should set flag reresizeEntitiesAfterLayout to false if they want to preserve node sizes. -
getLayoutBounds
protected DisplayIndependentRectangle getLayoutBounds(InternalNode[] entitiesToLayout, boolean includeNodeSize) Deprecated, for removal: This API element is subject to removal in a future version.Find the bounds in which the nodes are located. Using the bounds against the real bounds of the screen, the nodes can proportionally be placed within the real bounds. The bounds can be determined either including the size of the nodes or not. If the size is not included, the bounds will only be guaranteed to include the center of each node. -
setEntityAspectRatio
public void setEntityAspectRatio(double ratio) Deprecated, for removal: This API element is subject to removal in a future version.Set the width to height ratio you want the entities to use- Specified by:
setEntityAspectRatio
in interfaceLayoutAlgorithm.Zest1
-
getEntityAspectRatio
public double getEntityAspectRatio()Deprecated, for removal: This API element is subject to removal in a future version.Returns the width to height ratio this layout will use to set the size of the entities.- Specified by:
getEntityAspectRatio
in interfaceLayoutAlgorithm.Zest1
-
addProgressListener
Deprecated, for removal: This API element is subject to removal in a future version.A layout algorithm could take an uncomfortable amout of time to complete. To relieve some of the mystery, the layout algorithm will notify each ProgressListener of its progress.- Specified by:
addProgressListener
in interfaceLayoutAlgorithm.Zest1
- Specified by:
addProgressListener
in interfaceStoppable
-
removeProgressListener
Deprecated, for removal: This API element is subject to removal in a future version.Removes the given progress listener, preventing it from receiving any more updates.- Specified by:
removeProgressListener
in interfaceLayoutAlgorithm.Zest1
-
updateLayoutLocations
Deprecated, for removal: This API element is subject to removal in a future version.Updates the layout locations so the external nodes know about the new locations -
fireProgressStarted
protected void fireProgressStarted(int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version. -
fireProgressEnded
protected void fireProgressEnded(int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version. -
fireProgressUpdated
protected void fireProgressUpdated(int currentStep, int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version.- Since:
- 1.5
-
fireProgressEvent
protected void fireProgressEvent(int currentStep, int totalNumberOfSteps) Deprecated, for removal: This API element is subject to removal in a future version.Fires an event to notify all of the registered ProgressListeners that another step has been completed in the algorithm.- Parameters:
currentStep
- The current step completed.totalNumberOfSteps
- The total number of steps in the algorithm.
-
getNumberOfProgressListeners
protected int getNumberOfProgressListeners()Deprecated, for removal: This API element is subject to removal in a future version. -
setLayoutContext
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:LayoutAlgorithm
Sets the layout context for this algorithm. The receiver will unregister from its previous layout context and register to the new one (registration means for example adding listeners). After a call to this method, the receiving algorithm can compute and cache internal data related to given context and perform an initial layout.- Specified by:
setLayoutContext
in interfaceLayoutAlgorithm
- Parameters:
context
- a new layout context or null if this algorithm should not perform any layout- Since:
- 2.0
-
applyLayout
public void applyLayout(boolean clean) Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:LayoutAlgorithm
Makes this algorithm perform layout computation and apply it to its context.- Specified by:
applyLayout
in interfaceLayoutAlgorithm
- Parameters:
clean
- if true the receiver should assume that the layout context has changed significantly and recompute the whole layout even if it keeps track of changes with listeners. False can be used after dynamic layout in a context is turned back on so that layout algorithm working in background can apply accumulated changes. Static layout algorithm can ignore this call entirely if clean is false.- Since:
- 2.0
-