/******************************************************************************* * 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); }