Class HeaderLayout

java.lang.Object
org.eclipse.swt.widgets.Layout

class HeaderLayout
extends AbstractGridRowLayout
  • Field Summary

    Fields inherited from class org.eclipse.nebula.widgets.compositetable.AbstractGridRowLayout

    CELL_BORDER_WIDTH
  • Constructor Summary

    Constructors 
    Constructor Description
    HeaderLayout()
    Constructor HeaderLayout.
    HeaderLayout​(int[] weights)
    Constructor HeaderLayout.
    HeaderLayout​(int[] weights, boolean fittingHorizontally)
    Construct a HeaderLayout, specifying both the weights and the fittingHorizontally property.
  • Method Summary

    Modifier and Type Method Description
    (package private) void addColumnControlListener​(ColumnControlListener l)  
    protected org.eclipse.swt.graphics.Point computeColumnSize​(org.eclipse.swt.widgets.Widget columnObject, int wHint, int hHint, boolean flush)
    Compute and return the preferred size of the specified column object, passing the usual SWT wHint, hHint, and flush parameters.
    protected int computeMaxHeight​(org.eclipse.swt.widgets.Composite rowOrHeader)
    Return the maximum desired height of each of the row or header's children.
    protected org.eclipse.swt.graphics.Point computeSize​(org.eclipse.swt.widgets.Composite child, int wHint, int hHint, boolean flushCache)  
    protected org.eclipse.swt.widgets.Widget getColumnAt​(org.eclipse.swt.widgets.Composite rowOrHeader, int offset)
    Return the SWT Widget representing the specified column.
    protected int getNumColumns​(org.eclipse.swt.widgets.Composite rowOrHeader)
    Return the number of columns in the specified row or header.
    int[] getWeights()
    Method getWeights.
    protected void layout​(org.eclipse.swt.widgets.Composite child, boolean flushCache)  
    (package private) void removeColumnControlListener​(ColumnControlListener l)  
    protected void setBounds​(org.eclipse.swt.widgets.Widget columnObject, int left, int top, int width, int height)
    Set the bounds of the specified column object.
    AbstractGridRowLayout setWeights​(int[] weights)
    Method setWeights.
    protected void storeLastWidths​(org.eclipse.swt.widgets.Table table)  

    Methods inherited from class org.eclipse.swt.widgets.Layout

    flushCache

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • HeaderLayout

      public HeaderLayout()
      Constructor HeaderLayout. The default constructor. If you use this constructor, you must manually specify the column weights, and possibly, the fittingHorizontally property value.
    • HeaderLayout

      public HeaderLayout​(int[] weights)
      Constructor HeaderLayout. Construct a HeaderLayout, specifying the column weights. By default, fittingHorizontally is false.
      Parameters:
      weights - int[] The amount of weight desired for each column in the table. If fittingHorizontally is set to true, the sum of all weights must be 100 and each weight indicates the percentage of the whole table that each column will occupy. If fittingHorizontally is set to false, each weight is the minimum width of the column in pixels. If the table is narrower than can fit all widths, CompositeTable will display a horizontal scroll bar. If the table is wider than can fit all widths, the columns are scaled so that the entire table fills the desired space and the ratios of the column widths remains constant. fittingHorizontally defaults to false.
    • HeaderLayout

      public HeaderLayout​(int[] weights, boolean fittingHorizontally)
      Construct a HeaderLayout, specifying both the weights and the fittingHorizontally property.
      Parameters:
      weights - int[] The amount of weight desired for each column in the table. If fittingHorizontally is set to true, the sum of all weights must be 100 and each weight indicates the percentage of the whole table that each column will occupy. If fittingHorizontally is set to false, each weight is the minimum width of the column in pixels. If the table is narrower than can fit all widths, CompositeTable will display a horizontal scroll bar. If the table is wider than all minimum column widths, the columns will be scaled so that the ratios of the actual widths remains constant and all columns fit exactly in the available space. fittingHorizontally defaults to false.
      fittingHorizontally - If true, the weights are interpreted as percentages and the column widths are scaled so that each column occupies the percentage of the total width indicated by its weight. If false, the weights are interpreted as minimum column widths. If the table is narrower than can accommodate those widths, CompositeTable will display a horizontal scroll bar. If the table is wider than all minimum column widths, the columns will be scaled so that the ratios of the actual widths remains constant and all columns fit exactly in the available space.
  • Method Details

    • computeSize

      protected org.eclipse.swt.graphics.Point computeSize​(org.eclipse.swt.widgets.Composite child, int wHint, int hHint, boolean flushCache)
      Overrides:
      computeSize in class AbstractGridRowLayout
    • layout

      protected void layout​(org.eclipse.swt.widgets.Composite child, boolean flushCache)
      Overrides:
      layout in class AbstractGridRowLayout
    • storeLastWidths

      protected void storeLastWidths​(org.eclipse.swt.widgets.Table table)
    • getWeights

      public int[] getWeights()
      Description copied from class: AbstractGridRowLayout
      Method getWeights. If isFittingHorizontally, returns an array representing the percentage of the total width each column is allocated or null if no weights have been specified.

      If !isFittingHorizontally, returns an array where each element is the minimum width in pixels of the corresponding column.

      Overrides:
      getWeights in class AbstractGridRowLayout
      Returns:
      the current weights array or null if no weights have been specified.
    • setWeights

      public AbstractGridRowLayout setWeights​(int[] weights)
      Description copied from class: AbstractGridRowLayout
      Method setWeights. If isFittingHorizontally, specifies an array representing the percentage of the total width each column is allocated or null if no weights have been specified.

      If !isFittingHorizontally, specifies an array where each element is the minimum width in pixels of the corresponding column.

      This property is ignored if the programmer has set a layout manager on the header and/or the row prototype objects.

      The number of elements in the array must match the number of columns and if isFittingHorizontally, the sum of all elements must equal 100. If either of these constraints is not true, this property will be ignored and all columns will be created equal in width.

      Overrides:
      setWeights in class AbstractGridRowLayout
      Parameters:
      weights - the weights to use if the CompositeTable is automatically laying out controls.
      Returns:
      this
    • computeMaxHeight

      protected int computeMaxHeight​(org.eclipse.swt.widgets.Composite rowOrHeader)
      Description copied from class: AbstractGridRowLayout
      Return the maximum desired height of each of the row or header's children.
      Specified by:
      computeMaxHeight in class AbstractGridRowLayout
      Parameters:
      rowOrHeader - The row or header Composite
      Returns:
      int the maximum desired height of each of the row or header's children.
    • computeColumnSize

      protected org.eclipse.swt.graphics.Point computeColumnSize​(org.eclipse.swt.widgets.Widget columnObject, int wHint, int hHint, boolean flush)
      Description copied from class: AbstractGridRowLayout
      Compute and return the preferred size of the specified column object, passing the usual SWT wHint, hHint, and flush parameters.
      Specified by:
      computeColumnSize in class AbstractGridRowLayout
      Parameters:
      columnObject - The column object
      wHint - SWT.DEFAULT or a preferred width as an int
      hHint - SWT.DEFAULT or a preferred height as an int
      flush - If any cached size should be flushed and recomputed.
      Returns:
      Point the preferred size.
    • getColumnAt

      protected org.eclipse.swt.widgets.Widget getColumnAt​(org.eclipse.swt.widgets.Composite rowOrHeader, int offset)
      Description copied from class: AbstractGridRowLayout
      Return the SWT Widget representing the specified column.
      Specified by:
      getColumnAt in class AbstractGridRowLayout
      Parameters:
      rowOrHeader - The header or row object
      offset - The column's offset.
      Returns:
      The SWT Widget.
    • getNumColumns

      protected int getNumColumns​(org.eclipse.swt.widgets.Composite rowOrHeader)
      Description copied from class: AbstractGridRowLayout
      Return the number of columns in the specified row or header.
      Specified by:
      getNumColumns in class AbstractGridRowLayout
      Parameters:
      rowOrHeader - The row or header object.
      Returns:
      int the number of columns in the specified row or header.
    • setBounds

      protected void setBounds​(org.eclipse.swt.widgets.Widget columnObject, int left, int top, int width, int height)
      Description copied from class: AbstractGridRowLayout
      Set the bounds of the specified column object. Any of the parameters may be ignored if necessary (for example, a real Table header will ignore the top and height parameters).
      Specified by:
      setBounds in class AbstractGridRowLayout
      Parameters:
      columnObject - The column object to place
      left - The column's left coordinate
      top - The column's top coordinate
      width - The column's width
      height - The column's height
    • addColumnControlListener

      void addColumnControlListener​(ColumnControlListener l)
    • removeColumnControlListener

      void removeColumnControlListener​(ColumnControlListener l)