/******************************************************************************* * 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.test.fixture.layer; import org.eclipse.nebula.widgets.nattable.grid.GridRegion; import org.eclipse.nebula.widgets.nattable.layer.CompositeLayer; /** * Fixture for the CompositeLayer with 2 rows and 2 columns * * <pre> * {@code * | | * | | * Corner 7 | Col Header * | | * v | |<-Hidden-> * --------------|------|----------- * <---- 5 ----->|<-2-->|<--3-----> * ^ | * | |<---- 5 --------> * Row 7 | Body * Header | | * v | * } * </pre> */ public class CompositeLayerFixture extends CompositeLayer { private static final int ROW_COUNT = 2; private static final int COLUMN_COUNT = 2; public DataLayerFixture cornerLayer; public DataLayerFixture colHeaderLayer; public DataLayerFixture rowHeaderLayer; public ViewportLayerFixture bodyLayer; public CompositeLayerFixture() { super(COLUMN_COUNT, ROW_COUNT); this.cornerLayer = new DataLayerFixture(5, 5); setChildLayer(GridRegion.CORNER, this.cornerLayer, 0, 0); this.colHeaderLayer = new DataLayerFixture(25, 5); setChildLayer(GridRegion.COLUMN_HEADER, this.colHeaderLayer, 1, 0); this.rowHeaderLayer = new DataLayerFixture(10, 5); setChildLayer(GridRegion.ROW_HEADER, this.rowHeaderLayer, 0, 1); this.bodyLayer = new ViewportLayerFixture(); setChildLayer(GridRegion.BODY, this.bodyLayer, 1, 1); } /** * Fixture with all columns equal width and all rows equal height */ public CompositeLayerFixture(int width, int height) { super(COLUMN_COUNT, ROW_COUNT); this.cornerLayer = new DataLayerFixture(width, height); setChildLayer(GridRegion.CORNER, this.cornerLayer, 0, 0); this.colHeaderLayer = new DataLayerFixture(width, height); setChildLayer(GridRegion.COLUMN_HEADER, this.colHeaderLayer, 1, 0); this.rowHeaderLayer = new DataLayerFixture(width, height); setChildLayer(GridRegion.ROW_HEADER, this.rowHeaderLayer, 0, 1); this.bodyLayer = new ViewportLayerFixture(width, height); setChildLayer(GridRegion.BODY, this.bodyLayer, 1, 1); } }