/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.uberfire.ext.wires.core.grids.client.widget.context;
import java.util.List;
import org.uberfire.ext.wires.core.grids.client.model.GridColumn;
import org.uberfire.ext.wires.core.grids.client.model.GridData;
import org.uberfire.ext.wires.core.grids.client.widget.grid.renderers.grids.GridRenderer;
/**
* The context of a Grid's cell header during the rendering phase.
*/
public class GridHeaderColumnRenderContext {
private final List<GridColumn<?>> allColumns;
private final List<GridColumn<?>> blockColumns;
private final int columnIndex;
private final GridData model;
private final GridRenderer renderer;
public GridHeaderColumnRenderContext(final List<GridColumn<?>> allColumns,
final List<GridColumn<?>> blockColumns,
final int columnIndex,
final GridData model,
final GridRenderer renderer) {
this.allColumns = allColumns;
this.blockColumns = blockColumns;
this.columnIndex = columnIndex;
this.model = model;
this.renderer = renderer;
}
/**
* Returns all columns in the block, some of which may not be visible or rendered within the Viewport.
* @return
*/
public List<GridColumn<?>> getAllColumns() {
return allColumns;
}
/**
* Returns the columns to render for the block.
* @return
*/
public List<GridColumn<?>> getBlockColumns() {
return blockColumns;
}
/**
* Returns the index of the column, in BlockColumns, being rendered.
* @return
*/
public int getColumnIndex() {
return columnIndex;
}
/**
* Returns the data model for the Grid Widget to which the Column relates.
* @return
*/
public GridData getModel() {
return model;
}
/**
* Returns the Renderer for the Grid Widget.
* @return
*/
public GridRenderer getRenderer() {
return renderer;
}
}