/*******************************************************************************
* 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.resize.command;
import org.eclipse.nebula.widgets.nattable.command.AbstractColumnCommand;
import org.eclipse.nebula.widgets.nattable.command.ILayerCommand;
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
import org.eclipse.nebula.widgets.nattable.grid.layer.GridLayer;
import org.eclipse.nebula.widgets.nattable.layer.ILayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.util.GCFactory;
/**
* This command triggers the AutoResizeColumms command. It collects the selected
* columns from the {@link SelectionLayer} and fires the
* {@link AutoResizeColumnsCommand} on the {@link GridLayer}
*/
public class InitializeAutoResizeColumnsCommand extends AbstractColumnCommand {
private final IConfigRegistry configRegistry;
private final GCFactory gcFactory;
private final ILayer sourceLayer;
private int[] selectedColumnPositions = new int[0];
public InitializeAutoResizeColumnsCommand(ILayer layer, int columnPosition,
IConfigRegistry configRegistry, GCFactory gcFactory) {
super(layer, columnPosition);
this.configRegistry = configRegistry;
this.gcFactory = gcFactory;
this.sourceLayer = layer;
}
protected InitializeAutoResizeColumnsCommand(
InitializeAutoResizeColumnsCommand command) {
super(command);
this.configRegistry = command.configRegistry;
this.gcFactory = command.gcFactory;
this.sourceLayer = command.sourceLayer;
}
@Override
public ILayerCommand cloneCommand() {
return new InitializeAutoResizeColumnsCommand(this);
}
// Accessors
public GCFactory getGCFactory() {
return this.gcFactory;
}
public IConfigRegistry getConfigRegistry() {
return this.configRegistry;
}
public ILayer getSourceLayer() {
return this.sourceLayer;
}
public void setSelectedColumnPositions(int[] selectedColumnPositions) {
this.selectedColumnPositions = selectedColumnPositions;
}
public int[] getColumnPositions() {
return this.selectedColumnPositions;
}
}