blob: bd213d810e6a15b6368da3552e99a9691d96ba79 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012, 2020 Original authors and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Original authors and others - initial API and implementation
******************************************************************************/
package org.eclipse.nebula.widgets.nattable.selection.command;
import org.eclipse.nebula.widgets.nattable.command.AbstractRowCommand;
import org.eclipse.nebula.widgets.nattable.coordinate.ColumnPositionCoordinate;
import org.eclipse.nebula.widgets.nattable.layer.ILayer;
public class SelectRowGroupsCommand extends AbstractRowCommand {
private ColumnPositionCoordinate columnPositionCoordinate;
private final boolean withShiftMask;
private final boolean withControlMask;
private boolean moveAnchorToTopOfGroup = false;
private int rowPositionToMoveIntoViewport = -1;
public SelectRowGroupsCommand(ILayer layer, int columnPosition,
int rowPosition, boolean withShiftMask, boolean withControlMask,
boolean moveAnchortoTopOfGroup) {
this(layer, columnPosition, rowPosition, withShiftMask,
withControlMask, moveAnchortoTopOfGroup, -1);
}
public SelectRowGroupsCommand(ILayer layer, int columnPosition,
int rowPosition, boolean withShiftMask, boolean withControlMask,
boolean moveAnchortoTopOfGroup, int rowPositionToMoveIntoViewport) {
this(layer, columnPosition, rowPosition, withShiftMask, withControlMask);
this.moveAnchorToTopOfGroup = moveAnchortoTopOfGroup;
this.rowPositionToMoveIntoViewport = rowPositionToMoveIntoViewport;
}
public SelectRowGroupsCommand(ILayer layer, int columnPosition,
int rowPosition, boolean withShiftMask, boolean withControlMask) {
super(layer, rowPosition);
this.withShiftMask = withShiftMask;
this.withControlMask = withControlMask;
this.columnPositionCoordinate = new ColumnPositionCoordinate(layer,
columnPosition);
}
protected SelectRowGroupsCommand(SelectRowGroupsCommand command) {
super(command);
this.columnPositionCoordinate = command.columnPositionCoordinate;
this.withShiftMask = command.withShiftMask;
this.withControlMask = command.withControlMask;
}
public int getColumnPosition() {
return this.columnPositionCoordinate.getColumnPosition();
}
public boolean isWithShiftMask() {
return this.withShiftMask;
}
public boolean isWithControlMask() {
return this.withControlMask;
}
@Override
public SelectRowGroupsCommand cloneCommand() {
return new SelectRowGroupsCommand(this);
}
public boolean isMoveAnchorToTopOfGroup() {
return this.moveAnchorToTopOfGroup;
}
public int getRowPositionToMoveIntoViewport() {
return this.rowPositionToMoveIntoViewport;
}
}