Class LayoutCache


  • public class LayoutCache
    extends java.lang.Object
    Caches the preferred sizes of an array of controls
    Since:
    3.0
    • Constructor Summary

      Constructors 
      Constructor Description
      LayoutCache()
      Creates an empty layout cache
      LayoutCache​(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 control
      void 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 control
      void setControls​(Control[] controls)
      Sets the controls that are being cached here.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 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.