Search in sources :

Example 21 with TextPainter

use of org.eclipse.nebula.widgets.nattable.painter.cell.TextPainter in project nebula.widgets.nattable by eclipse.

the class _000_Styled_grid method addCustomStyling.

private void addCustomStyling(NatTable natTable) {
    // Setup NatTable default styling
    // NOTE: Getting the colors and fonts from the GUIHelper ensures that
    // they are disposed properly (required by SWT)
    DefaultNatTableStyleConfiguration natTableConfiguration = new DefaultNatTableStyleConfiguration();
    natTableConfiguration.bgColor = GUIHelper.getColor(249, 172, 7);
    natTableConfiguration.fgColor = GUIHelper.getColor(30, 76, 19);
    natTableConfiguration.hAlign = HorizontalAlignmentEnum.LEFT;
    natTableConfiguration.vAlign = VerticalAlignmentEnum.TOP;
    // A custom painter can be plugged in to paint the cells differently
    natTableConfiguration.cellPainter = new PaddingDecorator(new TextPainter(), 1);
    // Setup even odd row colors - row colors override the NatTable default
    // colors
    DefaultRowStyleConfiguration rowStyleConfiguration = new DefaultRowStyleConfiguration();
    rowStyleConfiguration.oddRowBgColor = GUIHelper.getColor(254, 251, 243);
    rowStyleConfiguration.evenRowBgColor = GUIHelper.COLOR_WHITE;
    // Setup selection styling
    DefaultSelectionStyleConfiguration selectionStyle = new DefaultSelectionStyleConfiguration();
    selectionStyle.selectionFont = GUIHelper.getFont(new FontData("Verdana", 8, SWT.NORMAL));
    selectionStyle.selectionBgColor = GUIHelper.getColor(217, 232, 251);
    selectionStyle.selectionFgColor = GUIHelper.COLOR_BLACK;
    selectionStyle.anchorBorderStyle = new BorderStyle(1, GUIHelper.COLOR_DARK_GRAY, LineStyleEnum.SOLID);
    selectionStyle.anchorBgColor = GUIHelper.getColor(65, 113, 43);
    selectionStyle.selectedHeaderBgColor = GUIHelper.getColor(156, 209, 103);
    // Add all style configurations to NatTable
    natTable.addConfiguration(natTableConfiguration);
    natTable.addConfiguration(rowStyleConfiguration);
    natTable.addConfiguration(selectionStyle);
    // Column/Row header style and custom painters
    natTable.addConfiguration(new StyledRowHeaderConfiguration());
    natTable.addConfiguration(new StyledColumnHeaderConfiguration());
    // Add popup menu - build your own popup menu using the PopupMenuBuilder
    natTable.addConfiguration(new HeaderMenuConfiguration(natTable));
}
Also used : StyledRowHeaderConfiguration(org.eclipse.nebula.widgets.nattable.examples.fixtures.StyledRowHeaderConfiguration) DefaultRowStyleConfiguration(org.eclipse.nebula.widgets.nattable.grid.layer.config.DefaultRowStyleConfiguration) DefaultSelectionStyleConfiguration(org.eclipse.nebula.widgets.nattable.selection.config.DefaultSelectionStyleConfiguration) DefaultNatTableStyleConfiguration(org.eclipse.nebula.widgets.nattable.config.DefaultNatTableStyleConfiguration) BorderStyle(org.eclipse.nebula.widgets.nattable.style.BorderStyle) FontData(org.eclipse.swt.graphics.FontData) HeaderMenuConfiguration(org.eclipse.nebula.widgets.nattable.ui.menu.HeaderMenuConfiguration) StyledColumnHeaderConfiguration(org.eclipse.nebula.widgets.nattable.examples.fixtures.StyledColumnHeaderConfiguration) PaddingDecorator(org.eclipse.nebula.widgets.nattable.painter.cell.decorator.PaddingDecorator) TextPainter(org.eclipse.nebula.widgets.nattable.painter.cell.TextPainter)

Aggregations

TextPainter (org.eclipse.nebula.widgets.nattable.painter.cell.TextPainter)21 ICellPainter (org.eclipse.nebula.widgets.nattable.painter.cell.ICellPainter)11 IConfigRegistry (org.eclipse.nebula.widgets.nattable.config.IConfigRegistry)10 DefaultNatTableStyleConfiguration (org.eclipse.nebula.widgets.nattable.config.DefaultNatTableStyleConfiguration)9 IDataProvider (org.eclipse.nebula.widgets.nattable.data.IDataProvider)9 NatTable (org.eclipse.nebula.widgets.nattable.NatTable)8 AbstractRegistryConfiguration (org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration)7 DataLayer (org.eclipse.nebula.widgets.nattable.layer.DataLayer)7 BackgroundImagePainter (org.eclipse.nebula.widgets.nattable.painter.cell.BackgroundImagePainter)7 Style (org.eclipse.nebula.widgets.nattable.style.Style)7 Image (org.eclipse.swt.graphics.Image)7 DefaultColumnHeaderDataProvider (org.eclipse.nebula.widgets.nattable.grid.data.DefaultColumnHeaderDataProvider)6 HashMap (java.util.HashMap)5 CellPainterDecorator (org.eclipse.nebula.widgets.nattable.painter.cell.decorator.CellPainterDecorator)5 PaddingDecorator (org.eclipse.nebula.widgets.nattable.painter.cell.decorator.PaddingDecorator)5 SortableHeaderTextPainter (org.eclipse.nebula.widgets.nattable.sort.painter.SortableHeaderTextPainter)5 ColumnHeaderLayer (org.eclipse.nebula.widgets.nattable.grid.layer.ColumnHeaderLayer)4 ConfigRegistry (org.eclipse.nebula.widgets.nattable.config.ConfigRegistry)3 ILayer (org.eclipse.nebula.widgets.nattable.layer.ILayer)3 BeveledBorderDecorator (org.eclipse.nebula.widgets.nattable.painter.cell.decorator.BeveledBorderDecorator)3