/******************************************************************************* * Copyright (c) 2012, 2013 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.command; import org.eclipse.nebula.widgets.nattable.coordinate.ColumnPositionCoordinate; import org.eclipse.nebula.widgets.nattable.layer.ILayer; public abstract class AbstractColumnCommand implements ILayerCommand { private ColumnPositionCoordinate columnPositionCoordinate; protected AbstractColumnCommand(ILayer layer, int columnPosition) { this.columnPositionCoordinate = new ColumnPositionCoordinate(layer, columnPosition); } protected AbstractColumnCommand(AbstractColumnCommand command) { this.columnPositionCoordinate = command.columnPositionCoordinate; } @Override public boolean convertToTargetLayer(ILayer targetLayer) { ColumnPositionCoordinate targetColumnPositionCoordinate = LayerCommandUtil .convertColumnPositionToTargetContext(this.columnPositionCoordinate, targetLayer); if (targetColumnPositionCoordinate != null) { this.columnPositionCoordinate = targetColumnPositionCoordinate; return true; } else { return false; } } public ILayer getLayer() { return this.columnPositionCoordinate.getLayer(); } public int getColumnPosition() { return this.columnPositionCoordinate.getColumnPosition(); } @Override public String toString() { return this.getClass().getSimpleName() + " columnPosition=" + this.columnPositionCoordinate.getColumnPosition(); //$NON-NLS-1$ } }