Class Win7GridColumnHeaderRenderer

  • All Implemented Interfaces:
    IInternalWidget, IRenderer

    public class Win7GridColumnHeaderRenderer
    extends DefaultColumnHeaderRenderer
    Column header renderer which emulates a default Win7 L&F. This implementation does not take into account any theme(s) applied to the OS and only used a pre-defined set of normalColors that seem to "mostly" match the default theme of Win7 normalColors.
    • Field Detail

      • leftMargin

        int leftMargin
      • rightMargin

        int rightMargin
      • topMargin

        int topMargin
      • bottomMargin

        int bottomMargin
      • arrowMargin

        int arrowMargin
      • imageSpacing

        int imageSpacing
      • textLayout

        private org.eclipse.swt.graphics.TextLayout textLayout
      • truncationStyle

        private int truncationStyle
    • Constructor Detail

      • Win7GridColumnHeaderRenderer

        public Win7GridColumnHeaderRenderer​(Win7PaletteProvider palette)
        Parameters:
        palette -
    • Method Detail

      • paint

        public void paint​(org.eclipse.swt.graphics.GC gc,
                          java.lang.Object value)
        Paints the visual representation of the given value on the given GC. The actual class of the value object is determined by the use of the implementing class.

        Implementors need to respect the bounds values that may have been specified. The bounds values may affect the x and y values for all drawing operations as well as the width and heights. Implementors may use a Transform to translate the coordinates of all the drawing operations, otherwise they will need to offset each draw.

        Specified by:
        paint in interface IRenderer
        Overrides:
        paint in class DefaultColumnHeaderRenderer
        Parameters:
        gc - GC to paint with
        value - the value being painted
      • drawColumnSelectedTopShadow

        protected static void drawColumnSelectedTopShadow​(org.eclipse.swt.graphics.GC graphics,
                                                          org.eclipse.swt.graphics.Rectangle bounds,
                                                          org.eclipse.swt.graphics.Color[] colors)
        Draw an additional shadow for the selected column state
        Parameters:
        graphics -
        bounds -
        colors -
      • drawColumnHeader

        protected static void drawColumnHeader​(org.eclipse.swt.graphics.GC graphics,
                                               org.eclipse.swt.graphics.Rectangle bounds,
                                               org.eclipse.swt.graphics.Color[] colors)
        Draw the column header based on the given colors
        Parameters:
        graphics -
        bounds -
        colors -
      • getTextLayout

        private void getTextLayout​(org.eclipse.swt.graphics.GC gc,
                                   GridColumn column)
      • computeControlSize

        private org.eclipse.swt.graphics.Point computeControlSize​(GridColumn column)
      • setTruncationStyle

        public void setTruncationStyle​(int truncationStyle)
        Set the truncation style to use when cell content is too large.
        Overrides:
        setTruncationStyle in class GridHeaderRenderer
        Parameters:
        truncationStyle -
        See Also:
        SWT.LEFT, SWT.CENTER, SWT.RIGHT