/******************************************************************************* * Copyright (c) 2012 Original authors and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Original authors and others - initial API and implementation ******************************************************************************/ package org.eclipse.nebula.widgets.nattable.grid.layer.config; import org.eclipse.nebula.widgets.nattable.config.AggregateConfiguration; import org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditBindings; import org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditConfiguration; import org.eclipse.nebula.widgets.nattable.export.config.DefaultExportBindings; import org.eclipse.nebula.widgets.nattable.grid.GridRegion; import org.eclipse.nebula.widgets.nattable.grid.cell.AlternatingRowConfigLabelAccumulator; import org.eclipse.nebula.widgets.nattable.grid.layer.GridLayer; import org.eclipse.nebula.widgets.nattable.layer.CompositeLayer; import org.eclipse.nebula.widgets.nattable.print.config.DefaultPrintBindings; /** * Sets up features handled at the grid level. Added by {@link GridLayer} */ public class DefaultGridLayerConfiguration extends AggregateConfiguration { public DefaultGridLayerConfiguration(CompositeLayer gridLayer) { addAlternateRowColoringConfig(gridLayer); addEditingHandlerConfig(); addEditingUIConfig(); addPrintUIBindings(); addExcelExportUIBindings(); } protected void addExcelExportUIBindings() { addConfiguration(new DefaultExportBindings()); } protected void addPrintUIBindings() { addConfiguration(new DefaultPrintBindings()); } protected void addEditingUIConfig() { addConfiguration(new DefaultEditBindings()); } protected void addEditingHandlerConfig() { addConfiguration(new DefaultEditConfiguration()); } protected void addAlternateRowColoringConfig(CompositeLayer gridLayer) { addConfiguration(new DefaultRowStyleConfiguration()); gridLayer.setConfigLabelAccumulatorForRegion( GridRegion.BODY, new AlternatingRowConfigLabelAccumulator(gridLayer .getChildLayerByRegionName(GridRegion.BODY))); } }