blob: afe5add3e04ed9f53de53a048f0cd951fcd55af7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
******************************************************************************/
package org.eclipse.ui.internal;
/**
* The layout data class used by the <code>WorkbenchLayout</code> to arrange
* trim around the workbench edges.
* <p>
* NOTE: This class is a part of a 'work in progress' and should not be used
* without consulting the Platform UI group. No guarantees are made as to the
* stability of the API (except that the javadoc will get better...;-).
* </p>
*
*
*/
public class TrimLayoutData {
// Constants
/**
* The trim element will grow unbounded based on the amount of unused space
* in its TrimArea but will never be smaller than it's preferred size. Only
* one of <code>GROWABLE</code> or <code>SHRINKABLE</code> should be
* specified.
*/
public static final int GROWABLE = 0x1;
/**
* The trim element will shrink to the <code>shrinkableSize</code> if
* needed to fit the element into the trim but will never grow larger than
*/
public static final int SHRINKABLE = 0x2;
/**
* The trim element will grow in its 'minor' dimension (i.e. in Y if the
* trim is oriented horizontally) to match the size of the TrimArea that it
* is in.
*/
public static final int GRAB_EXCESS_MINOR = 0x4;
// Fields
public String trimId;
public String areaId;
public int flags;
public ITrimAreaChangeListener listener;
public int shrinkableSize;
public TrimLayoutData(String trimId, String areaId, int flags,
ITrimAreaChangeListener listener) {
this.trimId = trimId;
this.areaId = areaId;
this.flags = flags;
this.listener = listener;
}
public TrimLayoutData(String trimId, String areaId, int flags) {
this(trimId, areaId, flags, null);
}
public TrimLayoutData(String trimId, String areaId) {
this(trimId, areaId, 0);
}
public void setAreaId(String newAreaId) {
if (listener != null) {
listener.areaChanged(WorkbenchLayout.getOrientation(areaId),
WorkbenchLayout.getOrientation(newAreaId));
}
areaId = newAreaId;
}
}