Package org.eclipse.ui.forms.widgets
Class LayoutCache
- java.lang.Object
-
- org.eclipse.ui.forms.widgets.LayoutCache
-
public class LayoutCache extends Object
Caches the preferred sizes of an array of controls- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description LayoutCache()
Creates an empty layout cacheLayoutCache(Control[] controls)
Creates a cache for the given array of controls
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Point
computeSize(int controlIndex, int widthHint, int heightHint)
Computes the preferred size of the nth controlvoid
flush()
Flushes the cache.void
flush(int controlIndex)
Flushes the cache for the given control.SizeCache
getCache(int idx)
Returns the size cache for the given controlvoid
setControls(Control[] controls)
Sets the controls that are being cached here.
-
-
-
Constructor Detail
-
LayoutCache
public LayoutCache()
Creates an empty layout cache
-
LayoutCache
public LayoutCache(Control[] controls)
Creates a cache for the given array of controls- Parameters:
controls
- controls to cache
-
-
Method Detail
-
getCache
public SizeCache getCache(int idx)
Returns the size cache for the given control- Parameters:
idx
- control's index- Returns:
- the size cache for the given control
-
setControls
public void setControls(Control[] controls)
Sets the controls that are being cached here. If these are the same controls that were used last time, this method does nothing. Otherwise, the cache is flushed and a new cache is created for the new controls.- Parameters:
controls
- new controls to cache
-
computeSize
public Point computeSize(int controlIndex, int widthHint, int heightHint)
Computes the preferred size of the nth control- Parameters:
controlIndex
- index of the control whose size will be computedwidthHint
- width of the control (or SWT.DEFAULT if unknown)heightHint
- height of the control (or SWT.DEFAULT if unknown)- Returns:
- the preferred size of the control
-
flush
public void flush(int controlIndex)
Flushes the cache for the given control. This should be called if exactly one of the controls has changed but the remaining controls remain unmodified- Parameters:
controlIndex
- index of control to flush
-
flush
public void flush()
Flushes the cache.
-
-