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