Search in sources :

Example 1 with ILayer

use of net.sourceforge.nattable.layer.ILayer in project translationstudio8 by heartsome.

the class DefaultGridLayer method init.

protected void init(IUniqueIndexLayer bodyDataLayer, IUniqueIndexLayer columnHeaderDataLayer, IUniqueIndexLayer rowHeaderDataLayer, IUniqueIndexLayer cornerDataLayer) {
    // Body
    this.bodyDataLayer = bodyDataLayer;
    DefaultBodyLayerStack bodyLayer = new DefaultBodyLayerStack(bodyDataLayer);
    SelectionLayer selectionLayer = bodyLayer.getSelectionLayer();
    // Column header
    this.columnHeaderDataLayer = columnHeaderDataLayer;
    ILayer columnHeaderLayer = new ColumnHeaderLayer(columnHeaderDataLayer, bodyLayer, selectionLayer);
    // Row header
    this.rowHeaderDataLayer = rowHeaderDataLayer;
    ILayer rowHeaderLayer = new RowHeaderLayer(rowHeaderDataLayer, bodyLayer, selectionLayer);
    // Corner
    this.cornerDataLayer = cornerDataLayer;
    ILayer cornerLayer = new CornerLayer(cornerDataLayer, rowHeaderLayer, columnHeaderLayer);
    setBodyLayer(bodyLayer);
    setColumnHeaderLayer(columnHeaderLayer);
    setRowHeaderLayer(rowHeaderLayer);
    setCornerLayer(cornerLayer);
}
Also used : SelectionLayer(net.sourceforge.nattable.selection.SelectionLayer) ILayer(net.sourceforge.nattable.layer.ILayer) DefaultBodyLayerStack(net.sourceforge.nattable.layer.stack.DefaultBodyLayerStack)

Example 2 with ILayer

use of net.sourceforge.nattable.layer.ILayer in project translationstudio8 by heartsome.

the class LayerCommandUtil method convertPositionToTargetContext.

public static PositionCoordinate convertPositionToTargetContext(PositionCoordinate positionCoordinate, ILayer targetLayer) {
    ILayer layer = positionCoordinate.getLayer();
    if (layer == targetLayer) {
        return positionCoordinate;
    }
    int columnPosition = positionCoordinate.getColumnPosition();
    int underlyingColumnPosition = layer.localToUnderlyingColumnPosition(columnPosition);
    if (underlyingColumnPosition < 0) {
        return null;
    }
    int rowPosition = positionCoordinate.getRowPosition();
    int underlyingRowPosition = layer.localToUnderlyingRowPosition(rowPosition);
    if (underlyingRowPosition < 0) {
        return null;
    }
    ILayer underlyingLayer = layer.getUnderlyingLayerByPosition(columnPosition, rowPosition);
    if (underlyingLayer == null) {
        return null;
    }
    return convertPositionToTargetContext(new PositionCoordinate(underlyingLayer, underlyingColumnPosition, underlyingRowPosition), targetLayer);
}
Also used : ILayer(net.sourceforge.nattable.layer.ILayer) ColumnPositionCoordinate(net.sourceforge.nattable.coordinate.ColumnPositionCoordinate) RowPositionCoordinate(net.sourceforge.nattable.coordinate.RowPositionCoordinate) PositionCoordinate(net.sourceforge.nattable.coordinate.PositionCoordinate)

Example 3 with ILayer

use of net.sourceforge.nattable.layer.ILayer in project translationstudio8 by heartsome.

the class GroupColumnReorderCommandHandler method doCommand.

@Override
protected boolean doCommand(ColumnReorderCommand command) {
    int fromColumnPosition = command.getFromColumnPosition();
    int toColumnPosition = command.getToColumnPosition();
    if (fromColumnPosition == -1 || toColumnPosition == -1) {
        System.err.println("Invalid reorder positions, fromPosition: " + fromColumnPosition + ", toPosition: " + toColumnPosition);
    }
    ILayer underlyingLayer = columnGroupReorderLayer.getUnderlyingLayer();
    int fromColumnIndex = underlyingLayer.getColumnIndexByPosition(fromColumnPosition);
    int toColumnIndex = underlyingLayer.getColumnIndexByPosition(toColumnPosition);
    MoveDirectionEnum moveDirection = ColumnGroupUtils.getMoveDirection(fromColumnPosition, toColumnPosition);
    String leftEdgeGroupName = null;
    String rightEdgeGroupName = null;
    if (MoveDirectionEnum.RIGHT == moveDirection) {
        rightEdgeGroupName = movedToLeftEdgeOfAGroup(toColumnPosition, toColumnIndex);
    }
    if (MoveDirectionEnum.LEFT == moveDirection) {
        leftEdgeGroupName = movedToRightEdgeOfAGroup(toColumnPosition, toColumnIndex);
    }
    if (updateModel(fromColumnIndex, toColumnIndex, leftEdgeGroupName, rightEdgeGroupName)) {
        return underlyingLayer.doCommand(command);
    } else {
        return false;
    }
}
Also used : MoveDirectionEnum(net.sourceforge.nattable.selection.SelectionLayer.MoveDirectionEnum) ILayer(net.sourceforge.nattable.layer.ILayer)

Example 4 with ILayer

use of net.sourceforge.nattable.layer.ILayer in project translationstudio8 by heartsome.

the class GroupMultiColumnReorderCommandHandler method doCommand.

@Override
protected boolean doCommand(MultiColumnReorderCommand command) {
    int toColumnPosition = command.getToColumnPosition();
    ILayer underlyingLayer = columnGroupReorderLayer.getUnderlyingLayer();
    int toColumnIndex = underlyingLayer.getColumnIndexByPosition(toColumnPosition);
    List<Integer> fromColumnPositions = command.getFromColumnPositions();
    ColumnGroupModel model = columnGroupReorderLayer.getModel();
    if (updateModel(underlyingLayer, toColumnIndex, fromColumnPositions, model)) {
        return underlyingLayer.doCommand(command);
    } else {
        return false;
    }
}
Also used : ILayer(net.sourceforge.nattable.layer.ILayer) ColumnGroupModel(net.sourceforge.nattable.group.ColumnGroupModel)

Example 5 with ILayer

use of net.sourceforge.nattable.layer.ILayer in project translationstudio8 by heartsome.

the class ReorderColumnsAndGroupsCommandHandler method doCommand.

/**
	 * Check if any column belongs to a group. If yes, add all columns in that group.
	 * Assumes that the 'toLocation' is not inside another group
	 */
@Override
protected boolean doCommand(ReorderColumnsAndGroupsCommand command) {
    final ILayer underlyingLayer = columnGroupReorderLayer.getUnderlyingLayer();
    List<String> groupsProcessed = new ArrayList<String>();
    List<Integer> fromColumnPositions = command.getFromColumnPositions();
    List<Integer> fromColumnPositionsWithGroupColumns = new ArrayList<Integer>();
    for (Integer fromColumnPosition : fromColumnPositions) {
        int fromColumnIndex = underlyingLayer.getColumnIndexByPosition(fromColumnPosition.intValue());
        ColumnGroupModel model = columnGroupReorderLayer.getModel();
        if (model.isPartOfAGroup(fromColumnIndex)) {
            String groupName = model.getColumnGroupNameForIndex(fromColumnIndex);
            if (!groupsProcessed.contains(groupName)) {
                groupsProcessed.add(groupName);
                fromColumnPositionsWithGroupColumns.addAll(columnGroupReorderLayer.getColumnGroupPositions(fromColumnIndex));
            }
        } else {
            fromColumnPositionsWithGroupColumns.add(fromColumnPosition);
        }
    }
    return underlyingLayer.doCommand(new MultiColumnReorderCommand(columnGroupReorderLayer, fromColumnPositionsWithGroupColumns, command.getToColumnPosition()));
}
Also used : MultiColumnReorderCommand(net.sourceforge.nattable.reorder.command.MultiColumnReorderCommand) ILayer(net.sourceforge.nattable.layer.ILayer) ArrayList(java.util.ArrayList) ColumnGroupModel(net.sourceforge.nattable.group.ColumnGroupModel)

Aggregations

ILayer (net.sourceforge.nattable.layer.ILayer)20 PositionCoordinate (net.sourceforge.nattable.coordinate.PositionCoordinate)3 SelectionLayer (net.sourceforge.nattable.selection.SelectionLayer)3 NatTable (net.sourceforge.nattable.NatTable)2 ColumnPositionCoordinate (net.sourceforge.nattable.coordinate.ColumnPositionCoordinate)2 RowPositionCoordinate (net.sourceforge.nattable.coordinate.RowPositionCoordinate)2 IDisplayConverter (net.sourceforge.nattable.data.convert.IDisplayConverter)2 IDataValidator (net.sourceforge.nattable.data.validate.IDataValidator)2 ColumnGroupModel (net.sourceforge.nattable.group.ColumnGroupModel)2 CellStyleProxy (net.sourceforge.nattable.style.CellStyleProxy)2 IStyle (net.sourceforge.nattable.style.IStyle)2 Rectangle (org.eclipse.swt.graphics.Rectangle)2 Control (org.eclipse.swt.widgets.Control)2 ArrayList (java.util.ArrayList)1 Language (net.heartsome.cat.common.locale.Language)1 AutoResizeCurrentRowsCommandHandler (net.heartsome.cat.ts.ui.xliffeditor.nattable.handler.AutoResizeCurrentRowsCommandHandler)1 UpdateDataAndAutoResizeCommandHandler (net.heartsome.cat.ts.ui.xliffeditor.nattable.handler.UpdateDataAndAutoResizeCommandHandler)1 HorizontalViewportLayer (net.heartsome.cat.ts.ui.xliffeditor.nattable.layer.HorizontalViewportLayer)1 RowHeightCalculator (net.heartsome.cat.ts.ui.xliffeditor.nattable.layer.RowHeightCalculator)1 VerticalViewportLayer (net.heartsome.cat.ts.ui.xliffeditor.nattable.layer.VerticalViewportLayer)1