/*
* Copyright 2016 Nokia Solutions and Networks
* Licensed under the Apache License, Version 2.0,
* see license.txt file for details.
*/
package org.robotframework.red.nattable.configs;
import org.eclipse.nebula.widgets.nattable.config.CellConfigAttributes;
import org.eclipse.nebula.widgets.nattable.config.DefaultNatTableStyleConfiguration;
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
import org.eclipse.nebula.widgets.nattable.data.convert.DefaultDisplayConverter;
import org.eclipse.nebula.widgets.nattable.painter.cell.TextPainter;
import org.eclipse.nebula.widgets.nattable.painter.cell.decorator.PaddingDecorator;
import org.eclipse.nebula.widgets.nattable.style.HorizontalAlignmentEnum;
import org.eclipse.nebula.widgets.nattable.style.VerticalAlignmentEnum;
import org.robotframework.ide.eclipse.main.plugin.tableeditor.TableThemes.TableTheme;
/**
* @author Michal Anglart
*
*/
public class GeneralTableStyleConfiguration extends DefaultNatTableStyleConfiguration {
public GeneralTableStyleConfiguration(final TableTheme theme, final TextPainter textPainter) {
this.bgColor = theme.getBodyBackgroundOddRowBackground();
this.fgColor = theme.getBodyForeground();
this.hAlign = HorizontalAlignmentEnum.LEFT;
this.vAlign = VerticalAlignmentEnum.TOP;
this.cellPainter = new PaddingDecorator(textPainter, 2, 2, 2, 5);
}
@Override
public void configureRegistry(final IConfigRegistry configRegistry) {
super.configureRegistry(configRegistry);
configRegistry.registerConfigAttribute(CellConfigAttributes.DISPLAY_CONVERTER, new DefaultDisplayConverter() {
@Override
public Object displayToCanonicalValue(final Object destinationValue) {
return destinationValue == null ? null : destinationValue.toString();
}
});
}
}