blob: fb3a4a1df9a49713a7c3e8dd245a76ed1ee62286 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 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.forms.widgets;
import org.eclipse.swt.widgets.Composite;
/**
* Classes that extend abstract class Layout and implement this interface can
* take part in layout computation of the TableWrapLayout manager. This layout
* uses alternative algorithm that computes columns before rows. It allows it
* to 'flow' wrapped text proportionally (similar to the way web browser
* renders tables). Custom layout managers that implement this interface will
* allow TableWrapLayout to properly compute width hint to pass.
*
* @see TableWrapLayout
* @see ColumnLayout
* @since 3.0
*/
public interface ILayoutExtension {
/**
* Computes the minimum width of the parent. All widgets capable of word
* wrapping should return the width of the longest word that cannot be
* broken any further.
*
* @param parent the parent composite
* @param changed <code>true</code> if the cached information should be
* flushed, <code>false</code> otherwise.
* @return the minimum width of the parent composite
*/
public int computeMinimumWidth(Composite parent, boolean changed);
/**
* Computes the maximum width of the parent. All widgets capable of word
* wrapping should return the length of the entire text with wrapping
* turned off.
*
* @param parent the parent composite
* @param changed <code>true</code> if the cached information
* should be flushed, <code>false</code> otherwise.
* @return the maximum width of the parent composite
*/
public int computeMaximumWidth(Composite parent, boolean changed);
}