blob: b75c19eb98962844d6198149dc34991b1e97fd7c [file] [log] [blame]
/*******************************************************************************
* Copyright 2006, CHISEL Group, University of Victoria, Victoria, BC, Canada.
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: The Chisel Group, University of Victoria
*******************************************************************************/
package org.eclipse.zest.layouts.algorithms;
import org.eclipse.zest.layouts.InvalidLayoutConfiguration;
import org.eclipse.zest.layouts.LayoutAlgorithm;
import org.eclipse.zest.layouts.dataStructures.InternalNode;
import org.eclipse.zest.layouts.dataStructures.InternalRelationship;
public class CompositeLayoutAlgorithm extends AbstractLayoutAlgorithm {
LayoutAlgorithm[] algorithms = null;
public CompositeLayoutAlgorithm(int styles, LayoutAlgorithm[] algoirthms) {
super(styles);
this.algorithms = algoirthms;
}
public CompositeLayoutAlgorithm(LayoutAlgorithm[] algoirthms) {
this(0, algoirthms);
}
protected void applyLayoutInternal(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider, double boundsX, double boundsY, double boundsWidth, double boundsHeight) {
for (int i = 0; i < algorithms.length; i++) {
try {
algorithms[i].applyLayout(entitiesToLayout, relationshipsToConsider, boundsX, boundsY, boundsWidth, boundsHeight, this.internalAsynchronous, this.internalContinuous);
} catch (InvalidLayoutConfiguration e) {
e.printStackTrace();
}
}
for (int i = 0; i < entitiesToLayout.length; i++) {
entitiesToLayout[i].getLayoutEntity().setLocationInLayout(entitiesToLayout[i].getXInLayout(), entitiesToLayout[i].getYInLayout());
}
//updateLayoutLocations(entitiesToLayout);
}
protected int getCurrentLayoutStep() {
// TODO Auto-generated method stub
return 0;
}
protected int getTotalNumberOfLayoutSteps() {
// TODO Auto-generated method stub
return 0;
}
protected boolean isValidConfiguration(boolean asynchronous, boolean continuous) {
// TODO Auto-generated method stub
return true;
}
protected void postLayoutAlgorithm(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider) {
// TODO Auto-generated method stub
}
protected void preLayoutAlgorithm(InternalNode[] entitiesToLayout, InternalRelationship[] relationshipsToConsider, double x, double y, double width, double height) {
// TODO Auto-generated method stub
}
public void setLayoutArea(double x, double y, double width, double height) {
// TODO Auto-generated method stub
}
}