/*******************************************************************************
* 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.layer.config;
import org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration;
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;
import org.eclipse.nebula.widgets.nattable.layer.cell.ColumnOverrideLabelAccumulator;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.style.editor.command.DisplayColumnStyleEditorCommandHandler;
/**
* Registers the {@link DisplayColumnStyleEditorCommandHandler}
*
*/
public class ColumnStyleChooserConfiguration extends
AbstractRegistryConfiguration {
private AbstractLayer bodyLayer;
private ColumnOverrideLabelAccumulator labelAccumulator;
private final SelectionLayer selectionLayer;
public ColumnStyleChooserConfiguration(AbstractLayer bodyLayer,
SelectionLayer selectionLayer) {
this.bodyLayer = bodyLayer;
this.selectionLayer = selectionLayer;
this.labelAccumulator = new ColumnOverrideLabelAccumulator(bodyLayer);
bodyLayer.setConfigLabelAccumulator(this.labelAccumulator);
}
@Override
public void configureRegistry(IConfigRegistry configRegistry) {
DisplayColumnStyleEditorCommandHandler columnChooserCommandHandler = new DisplayColumnStyleEditorCommandHandler(
this.selectionLayer, this.labelAccumulator, configRegistry);
this.bodyLayer.registerCommandHandler(columnChooserCommandHandler);
}
}