1 /******************************************************************************* 2 * Copyright (c) 2004, 2006 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 12 package org.eclipse.ui.internal.layout; 13 14 import org.eclipse.swt.widgets.Control; 15 16 /** 17 * Layouts that implement this interface are capable of caching the 18 * sizes of child controls in a manner that allows the information 19 * for a single control to be flushed without affecting the remaining 20 * controls. These layouts will ignore the "changed" arguments to layout(...) 21 * and computeSize(...), however they will flush their cache for individual 22 * controls when the flush(...) method is called. 23 * <p> 24 * This allows for much more efficient layouts, since most of the cache 25 * can be reused when a child control changes. 26 * </p> 27 * 28 * @since 3.0 29 */ 30 public interface ICachingLayout { 31 /** 32 * Flushes cached data for the given control 33 */ 34 public void flush(Control dirtyControl); 35 } 36