/*******************************************************************************
* Copyright 2005, 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;
import org.eclipse.zest.layouts.constraints.LayoutConstraint;
/**
* This represents a single entity, providing the layout algorithms with
* a common interface to run on.
*
* @author Casey Best
* @author Ian Bull
* @author Chris Bennett
*/
public interface LayoutEntity extends Comparable, LayoutItem {
public final static String ATTR_PREFERRED_WIDTH = "tree-preferred-width";
public final static String ATTR_PREFERRED_HEIGHT = "tree-preferred-height";
public void setLocationInLayout (double x, double y);
public void setSizeInLayout (double width, double height);
public double getXInLayout();
public double getYInLayout();
public double getWidthInLayout();
public double getHeightInLayout();
public Object getLayoutInformation();
public void setLayoutInformation(Object internalEntity);
/**
* Classes should update the specified layout constraint if recognized
* @return
*/
public void populateLayoutConstraint(LayoutConstraint constraint);
}