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 Details

    • 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 Details

    • 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 computed
      widthHint - 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.